From 18ce380a6d4ed13755150000acc7047ad5dbfc71 Mon Sep 17 00:00:00 2001 From: Luca Sacchi Ricciardi Date: Tue, 7 Apr 2026 13:11:49 +0200 Subject: [PATCH] docs: add team kickoff prompt for Fase 1 development --- prompt/prompt-kickoff-fase1.md | 347 +++++++++++++++++++++++++++++++++ 1 file changed, 347 insertions(+) create mode 100644 prompt/prompt-kickoff-fase1.md diff --git a/prompt/prompt-kickoff-fase1.md b/prompt/prompt-kickoff-fase1.md new file mode 100644 index 0000000..0583a31 --- /dev/null +++ b/prompt/prompt-kickoff-fase1.md @@ -0,0 +1,347 @@ +# 🚀 TEAM KICKOFF - mockupAWS Fase 1 + +## 📢 Comunicazione Ufficiale + +**Data:** 2026-04-07 +**Fase:** 1 - Database & Backend Core +**Status:** ✅ Architettura Completa - Pronti per Sviluppo + +--- + +## ✅ Cosa è stato completato + +L'agente **@spec-architect** ha completato l'analisi e le specifiche tecniche: + +### Documentazione Pronta +- ✅ **PRD v0.2.0** - Requisiti completi +- ✅ **architecture.md** - Architettura dettagliata con: + - Schema database completo (DDL SQL pronto) + - API specifications (OpenAPI) + - Diagrammi flusso dati + - Piano sicurezza +- ✅ **kanban.md** - 32 task breakdown, stimate, priorizzate +- ✅ **progress.md** - Tracking inizializzato + +### Team Configurato +- ✅ 6 agenti specializzati configurati in `.opencode/agents/` +- ✅ Ogni agente ha ruoli, responsabilità e constraints definiti + +--- + +## 🎯 OBIETTIVO FASE 1 + +**Deadline:** End of Week 1 +**Goal:** Database PostgreSQL funzionante + API CRUD base + +**Deliverables:** +1. Database schema completo (5 tabelle) +2. Alembic migrations funzionanti +3. SQLAlchemy models + Pydantic schemas +4. Repository layer +5. Scenario CRUD API +6. Test coverage > 60% + +--- + +## 👥 ASSEGNAZIONI TASK + +### @db-engineer - DATABASE (Priorità P1) + +**Task immediate:** +1. **DB-001** - Alembic Setup (Stima: S) + - Installare alembic e asyncpg + - Configurare per SQLAlchemy 2.0 async + - Testare connessione + +2. **DB-002** - Migration Scenarios Table (Stima: M) + - Creare tabella scenarios con tutti i campi + - Aggiungere indexes e constraints + - Testare migrazione + +3. **DB-003** - Migration Logs Table (Stima: M) + - Creare tabella scenario_logs + - Foreign key a scenarios + +4. **DB-004** - Migration Metrics Table (Stima: M) + - Creare tabella scenario_metrics + +5. **DB-005** - Migration Pricing Table (Stima: M) + - Creare tabella aws_pricing + +6. **DB-006** - Migration Reports Table (Stima: S) + - Creare tabella reports + +7. **DB-007** - Seed AWS Pricing Data (Stima: M) + - Popolare con prezzi reali AWS + - SQS, Lambda, Bedrock per us-east-1 + +**📖 Riferimenti:** +- Schema SQL: `export/architecture.md` sezione 3.2 +- Prezzi: `export/prd.md` sezione 4.3 (tabella prezzi) +- Config agente: `.opencode/agents/db-engineer.md` + +**⚠️ IMPORTANTE:** +- Usare UUID come primary keys +- Includere created_at/updated_at su tutte le tabelle +- Creare indexes su colonne di query frequenti +- Testare ogni migrazione con `alembic upgrade +1` + +--- + +### @backend-dev - BACKEND CORE (Priorità P1) + +**Task immediate:** +1. **BE-001** - Database Connection (Stima: M) + - Creare `backend/src/core/database.py` + - Configurare async SQLAlchemy engine + - Creare dependency `get_db()` per FastAPI + +2. **BE-002** - SQLAlchemy Models (Stima: L) + - Creare tutti i modelli in `backend/src/models/` + - Base model, Scenario, ScenarioLog, ScenarioMetric, AwsPricing, Report + - Definire relationships + +3. **BE-003** - Pydantic Schemas (Stima: M) + - Creare schemas in `backend/src/schemas/` + - ScenarioCreate, ScenarioUpdate, ScenarioResponse, etc. + +4. **BE-004** - Base Repository (Stima: M) + - Creare `backend/src/repositories/base.py` + - Implementare Generic Repository pattern + - Metodi: get(), list(), create(), update(), delete() + +5. **BE-005** - Scenario Repository (Stima: M) + - Creare `backend/src/repositories/scenario_repo.py` + - Metodi specifici per scenario + +6. **BE-015** - API Dependencies (Stima: M) + - Creare `backend/src/api/deps.py` + - Configurare exception handlers + - Definire custom exceptions + +7. **BE-016** - Scenarios API (Stima: L) + - Implementare CRUD endpoints + - POST/GET/PUT/DELETE /api/v1/scenarios + - Lifecycle endpoints (start, stop, archive) + +**📖 Riferimenti:** +- Architettura: `export/architecture.md` sezioni 4, 5, 7, 8 +- API Specs: `export/architecture.md` sezione 4 +- Codice esistente: `src/main.py`, `src/profiler.py` +- Config agente: `.opencode/agents/backend-dev.md` + +**⚠️ IMPORTANTE:** +- Usare type hints ovunque +- TDD: scrivere test prima o insieme al codice +- Async/await per tutte le operazioni I/O +- Repository pattern obbligatorio + +--- + +### @frontend-dev - PREPARAZIONE (Priorità P2) + +**Task preparazione:** +1. Setup ambiente React: + ```bash + mkdir -p /home/google/Sources/LucaSacchiNet/mockupAWS/frontend + cd /home/google/Sources/LucaSacchiNet/mockupAWS/frontend + npm create vite@latest . -- --template react-ts + npm install + npm install tailwindcss postcss autoprefixer + npx tailwindcss init -p + npm install @tanstack/react-query axios recharts lucide-react clsx tailwind-merge + npm install -D @types/node + ``` + +2. Installare shadcn/ui: + ```bash + npx shadcn-ui@latest init + ``` + +3. Preparare mock data per sviluppo UI + +**📖 Riferimenti:** +- Stack: `export/architecture.md` sezione 7.2 +- Config agente: `.opencode/agents/frontend-dev.md` + +**⚠️ NOTA:** Il frontend verrà sviluppato in Fase 2. Per ora preparare solo l'ambiente. + +--- + +### @devops-engineer - DOCKER BASE (Priorità P2) + +**Task preparazione:** +1. Creare `docker-compose.yml` base: + - Servizio PostgreSQL + - Volume per persistenza + - Health check + +2. Preparare `backend/Dockerfile`: + - Multi-stage build + - Python 3.11-slim + - Uvicorn entrypoint + +3. Preparare `frontend/Dockerfile`: + - Node 20-alpine + - Nginx per serving + +**📖 Riferimenti:** +- Config agente: `.opencode/agents/devops-engineer.md` + +--- + +### @qa-engineer - TEST PLAN (Priorità P2) + +**Task preparazione:** +1. Creare `docs/test_plan.md` con: + - Unit test strategy + - Integration test plan + - E2E test scenarios + +2. Preparare fixtures per pytest: + - Database fixture con rollback + - Mock data fixtures + +**📖 Riferimenti:** +- Config agente: `.opencode/agents/qa-engineer.md` + +--- + +## 🔄 WORKFLOW GIORNALIERO + +### Daily Routine +1. **Mattina:** Leggere `export/progress.md` per stato attuale +2. **Durante il giorno:** Aggiornare progresso su task assegnate +3. **Fine giornata:** Aggiornare `export/progress.md` con: + - Task completate + - Blocchi riscontrati + - Decisioni prese + +### Comunicazione +- **Domande tecniche:** Riferirsi a `export/architecture.md` +- **Task details:** Riferirsi a `export/kanban.md` +- **Blocchi:** Aggiungere a `export/kanban.md` sezione BLOCKED +- **Decisioni:** Documentare in `export/progress.md` + +### Git Workflow +- **Branch:** `feature/DB-001-alembic-setup` +- **Commits:** Conventional commits + - `feat: add alembic configuration` + - `feat: create scenarios table migration` + - `test: add scenario repository tests` +- **PR:** Una feature = una PR + +--- + +## 📊 CRITERI DI SUCCESSO FASE 1 + +La Fase 1 è completata quando TUTTI questi criteri sono soddisfatti: + +### Database ✅ +- [ ] Alembic configurato e funzionante +- [ ] 5 tabelle create con migrazioni +- [ ] Indexes creati +- [ ] Seed dati pricing popolati +- [ ] `alembic upgrade head` esegue senza errori + +### Backend ✅ +- [ ] SQLAlchemy models completi +- [ ] Pydantic schemas validati +- [ ] Repository layer funzionante +- [ ] API CRUD scenari testate +- [ ] Gestione stati (draft→running→completed) funzionante + +### Testing ✅ +- [ ] Unit tests per repositories +- [ ] Integration tests per API +- [ ] Test coverage > 60% +- [ ] Tutti i test passanti + +### Documentazione ✅ +- [ ] API documentate (OpenAPI visibile su /docs) +- [ ] README aggiornato con istruzioni setup + +--- + +## 🚨 COMANDI UTILI + +### Database +```bash +# Setup database locale +docker run -d --name mockupaws-postgres \ + -e POSTGRES_DB=mockupaws \ + -e POSTGRES_USER=app \ + -e POSTGRES_PASSWORD=changeme \ + -p 5432:5432 postgres:15-alpine + +# Alembic commands +cd /home/google/Sources/LucaSacchiNet/mockupAWS/backend +uv run alembic revision --autogenerate -m "create scenarios table" +uv run alembic upgrade head +uv run alembic downgrade -1 +``` + +### Backend +```bash +# Setup +cd /home/google/Sources/LucaSacchiNet/mockupAWS +uv add sqlalchemy alembic asyncpg pydantic-settings + +# Test +uv run pytest -v +uv run pytest --cov=src --cov-report=html + +# Run +uv run uvicorn src.main:app --reload +``` + +### Frontend +```bash +cd /home/google/Sources/LucaSacchiNet/mockupAWS/frontend +npm install +npm run dev +``` + +--- + +## 📞 SUPPORTO + +### Domande? +1. Leggere prima `export/architecture.md` +2. Controllare `export/kanban.md` per dettagli task +3. Riferirsi al proprio file config in `.opencode/agents/` + +### Blocchi? +- Aggiungere task a sezione BLOCKED in `kanban.md` +- Documentare in `progress.md` +- Chiedere supporto al team + +--- + +## 🎬 AZIONE IMMEDIATA + +**@db-engineer:** Inizia con **DB-001** - Alembic Setup + +**@backend-dev:** Prepara ambiente, inizia con **BE-001** quando DB-001 è pronto + +**@frontend-dev:** Setup ambiente React + +**@devops-engineer:** Crea docker-compose.yml base + +**@qa-engineer:** Crea test plan iniziale + +**@spec-architect:** Monitoraggio progresso, supporto architetturale + +--- + +**🚀 TEAM: SIATE PRONTI, SI PARTE!** + +Iniziate con le task assegnate. Aggiornate `export/progress.md` frequentemente. + +**Commit often, test always, communicate always!** + +--- + +*Prompt creato da @spec-architect* +*Data: 2026-04-07* +*Versione: 1.0*