Files
mockupAWS/prompt/prompt-kickoff-fase1.md
2026-04-07 13:11:49 +02:00

8.8 KiB

🚀 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:

    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:

    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

# 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

# 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

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