feat: initial project setup with scenarios, database and web ui

Add complete mockupAWS platform for AWS cost estimation:
- FastAPI backend with scenario management
- PostgreSQL database schema for scenarios, metrics, logs
- AWS pricing table with real pricing data
- React frontend dashboard (planned)
- PII detection and token counting
- Report generation (PDF/CSV)
- Complete test suite with pytest
- Docker Compose setup
- Documentation: README, PRD, Architecture
- OpenCode configuration (.opencode/)
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-07 12:52:18 +02:00
parent b539134280
commit 59e5cf48f0
23 changed files with 2982 additions and 29 deletions

224
prompt/prompt-zero.md Normal file
View File

@@ -0,0 +1,224 @@
# Prompt Zero: [NOME_PROGETTO] - Project Kickoff
## 🎯 Missione
Sviluppare **[NOME_PROGETTO]**, [descrizione breve del progetto - da personalizzare].
**Repository:** `[ROOT_PROGETTO]`
**PRD:** `[ROOT_PROGETTO]/export/prd.md`
---
## 📊 Stato Attuale
-**PRD Completo**: Requisiti funzionali e non funzionali definiti
-**Team Configurato**: Agenti specializzati pronti
-**Nessun Codice**: Progetto da zero
-**Nessuna Specifica Tecnica**: Da creare
---
## 👥 Team di Sviluppo
| Agente | Ruolo | File Config |
|--------|-------|-------------|
| `@spec-architect` | Definisce specifiche e architettura | `.opencode/agents/spec-architect.md` |
| `@tdd-developer` | Implementazione TDD | `.opencode/agents/tdd-developer.md` |
| `@git-manager` | Gestione commit Git | `.opencode/agents/git-manager.md` |
---
## 🔄 Workflow Obbligatorio
```
┌─────────────────────────────────────────────────────────────┐
│ FASE 1: SPECIFICA │
│ @spec-architect │
│ └── Legge PRD → Crea architecture.md, kanban.md │
│ │
│ ↓ │
│ │
│ FASE 2: IMPLEMENTAZIONE │
│ @tdd-developer │
│ └── RED → GREEN → REFACTOR per ogni task │
│ │
│ ↓ │
│ │
│ FASE 3: COMMIT │
│ @git-manager │
│ └── Commit atomico + Conventional Commits │
└─────────────────────────────────────────────────────────────┘
```
---
## 🚀 Task Iniziale: Fase 1 - Specifica
**AGENTE:** `@spec-architect`
**OBIETTIVO:** Analizzare il PRD e creare le specifiche tecniche dettagliate.
### Azioni Richieste
1. **Leggere** `[ROOT_PROGETTO]/export/prd.md`
2. **Creare** la struttura di output:
```
[ROOT_PROGETTO]/export/
├── prd.md # Requisiti prodotti (estratto/dettaglio)
├── architecture.md # Architettura sistema
├── kanban.md # Task breakdown
└── progress.md # Tracciamento progresso
```
3. **Produrre** `architecture.md` con:
- Stack tecnologico dettagliato
- Struttura cartelle progetto
- Diagrammi flusso dati
- Schema database completo (DDL)
- Interfacce API (OpenAPI specs)
- Sicurezza (cifratura, autenticazione)
4. **Produrre** `kanban.md` con:
- Task breakdown per Fase 1 (MVP)
- Stima complessità
- Dipendenze tra task
- Regola "little often": task < 2 ore
5. **Inizializzare** `progress.md` con:
- Feature corrente: "Fase 1 - MVP"
- Stato: "🔴 Pianificazione"
- Percentuale: 0%
### Criteri di Accettazione
- [ ] Architecture.md completo con tutte le sezioni
- [ ] Kanban.md con task pronti per @tdd-developer
- [ ] Progress.md inizializzato
- [ ] Tutti i path usano `[ROOT_PROGETTO]/`
---
## 📋 Requisiti Chiave (Dal PRD)
### Funzionalità MVP (Fase 1)
[DA PERSONALIZZARE - Inserire le funzionalità principali del progetto]
1. **[Feature 1]**
- [Dettaglio 1]
- [Dettaglio 2]
2. **[Feature 2]**
- [Dettaglio 1]
- [Dettaglio 2]
### Stack Tecnologico (Esempio)
- **Backend:** [Linguaggio/Framework]
- **Database:** [Tipo database]
- **Frontend:** [Tecnologia frontend]
- **Auth:** [Metodo autenticazione]
- **Task Background:** [Scheduler]
---
## 🛡️ Vincoli e Best Practices
### Sicurezza (Critico)
- [Requisito sicurezza 1]
- [Requisito sicurezza 2]
- SQL injection prevention
- XSS prevention
- CSRF protection
- Rate limiting
### Qualità
- Test coverage ≥ 90%
- TDD obbligatorio
- Conventional commits
- Commit atomici
### Organizzazione
- Task "little often" (< 2 ore)
- Documentazione in `/export/`
- Bug complessi in `/docs/bug_ledger.md`
---
## 📁 Struttura Progetto Attesa
```
[ROOT_PROGETTO]/
├── prd.md # Product Requirements
├── prompt/
│ └── prompt-zero.md # Questo file
├── .opencode/
│ ├── agents/ # Configurazioni agenti
│ └── skills/ # Skill condivise
├── export/ # Output spec-driven (da creare)
│ ├── prd.md
│ ├── architecture.md
│ ├── kanban.md
│ └── progress.md
├── docs/ # Documentazione (da creare)
│ ├── bug_ledger.md
│ └── architecture.md
├── src/ # Codice sorgente (da creare)
│ └── [nome_package]/
│ ├── __init__.py
│ ├── main.py
│ ├── config.py
│ └── ...
├── tests/ # Test suite (da creare)
│ ├── unit/
│ ├── integration/
│ └── conftest.py
├── requirements.txt / package.json
└── README.md
```
---
## ✅ Checklist Pre-Sviluppo
- [ ] @spec-architect ha letto questo prompt
- [ ] Cartella `export/` creata
- [ ] `architecture.md` creato con schema DB
- [ ] `kanban.md` creato con task Fase 1
- [ ] `progress.md` inizializzato
---
## 🎬 Prossima Azione
**@spec-architect**: Inizia analizzando il PRD in `export/prd.md` e crea le specifiche tecniche in `export/`.
**NON iniziare l'implementazione** finché le specifiche non sono approvate.
---
## 📞 Note per il Team
- **Domande sul PRD?** Leggi prima `export/prd.md` completamente
- **Ambiguità?** Chiedi prima di procedere
- **Vincoli tecnici?** Documentali in `architecture.md`
- **Task troppo grandi?** Spezza in task più piccoli
---
**Data Creazione:** YYYY-MM-DD
**Versione:** 1.0
**Stato:** Pronto per kickoff
---
## 📝 Note per l'Utente
Questo è un template. Per usarlo:
1. **Sostituisci** `[NOME_PROGETTO]` con il nome reale
2. **Descrivi** il progetto nella sezione Missione
3. **Personalizza** la sezione "Requisiti Chiave" con i tuoi requisiti
4. **Aggiorna** lo stack tecnologico
5. **Definisci** gli scope dei commit pertinenti al tuo progetto