feat(template): add complete OpenCode project template with placeholder paths
- Replace hardcoded project paths with generic placeholders ([NOME_PROGETTO], [ROOT_PROGETTO]) - Add .opencode/ configuration with agent definitions (spec-architect, tdd-developer, git-manager, security-reviewer) - Add export/ templates (prd, architecture, kanban, progress, githistory) - Add docs/ templates (bug_ledger, architecture) - Add prompt/prompt-zero.md kickoff template - Update README.md with installation instructions and usage guide Template now ready for reuse in new projects with workflow: 1. Spec-Driven (@spec-architect) 2. TDD (@tdd-developer) 3. Git management (@git-manager)
This commit is contained in:
92
export/architecture.md
Normal file
92
export/architecture.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Architecture Document (Export)
|
||||
|
||||
> Decisioni architetturali e diagrammi di flusso.
|
||||
|
||||
## Istruzioni
|
||||
|
||||
Questo file deve essere creato/aggiornato dall'agente `@spec-architect` durante la fase di analisi.
|
||||
|
||||
## Contenuto Richiesto
|
||||
|
||||
1. **Scelte Architetturali**
|
||||
- Pattern architetturali
|
||||
- Motivazioni
|
||||
- Trade-off
|
||||
|
||||
2. **Stack Tecnologico**
|
||||
- Tecnologie e versioni
|
||||
- Motivazioni scelta
|
||||
|
||||
3. **Diagrammi di Flusso**
|
||||
- Architettura sistema
|
||||
- Flussi dati
|
||||
- Sequenze operazioni
|
||||
|
||||
4. **Interfacce e Contratti**
|
||||
- API contracts
|
||||
- Interfacce tra componenti
|
||||
|
||||
---
|
||||
|
||||
## Template
|
||||
|
||||
```markdown
|
||||
# Architecture - [Nome Progetto/Feature]
|
||||
|
||||
## 1. Overview
|
||||
|
||||
[Descrizione ad alto livello]
|
||||
|
||||
## 2. System Architecture
|
||||
|
||||
```
|
||||
[ASCII art o riferimento a diagramma]
|
||||
```
|
||||
|
||||
## 3. Componenti
|
||||
|
||||
### 3.1 [Nome Componente]
|
||||
**Responsabilità:**
|
||||
-
|
||||
|
||||
**Interfacce:**
|
||||
- Input:
|
||||
- Output:
|
||||
|
||||
**Dipendenze:**
|
||||
-
|
||||
|
||||
## 4. Data Flow
|
||||
|
||||
```
|
||||
[Descrizione flusso dati]
|
||||
```
|
||||
|
||||
## 5. API Contracts
|
||||
|
||||
### [Endpoint]
|
||||
```
|
||||
POST /api/v1/...
|
||||
Request:
|
||||
body: { ... }
|
||||
|
||||
Response:
|
||||
200: { ... }
|
||||
400: { ... }
|
||||
```
|
||||
|
||||
## 6. Decisioni
|
||||
|
||||
### [DEC-001] - [Titolo]
|
||||
**Decisione:**
|
||||
|
||||
**Motivazione:**
|
||||
|
||||
**Alternative:**
|
||||
|
||||
**Conseguenze:**
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Questo file verrà popolato durante la fase di specifica*
|
||||
46
export/githistory.md
Normal file
46
export/githistory.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Git History - [NOME_PROGETTO]
|
||||
|
||||
> Registro storico dei commit con spiegazione dettagliata del contesto e della motivazione.
|
||||
|
||||
## Formato
|
||||
|
||||
```markdown
|
||||
## YYYY-MM-DD HH:MM - [TYPE](scope): [Titolo Commit]
|
||||
|
||||
**Hash:** `abc1234`
|
||||
**Autore:** @agent
|
||||
**Branch:** main/feature/...
|
||||
|
||||
### Contesto
|
||||
[Spiegazione del contesto in cui è stato fatto il commit - perché era necessario]
|
||||
|
||||
### Cosa cambia
|
||||
[Descrizione dettagliata delle modifiche introdotte]
|
||||
|
||||
### Perché
|
||||
[Motivazione delle scelte fatte, problemi risolti]
|
||||
|
||||
### Impatto
|
||||
- [ ] Breaking change
|
||||
- [ ] Modifica API
|
||||
- [ ] Nuova feature
|
||||
- [ ] Bug fix
|
||||
- [ ] Refactoring
|
||||
- [ ] Documentazione
|
||||
|
||||
### File modificati
|
||||
- `path/to/file1.py` - [breve descrizione cambiamento]
|
||||
- `path/to/file2.py` - [breve descrizione cambiamento]
|
||||
|
||||
### Note
|
||||
[Eventuali note aggiuntive, riferimenti a issue, PR]
|
||||
|
||||
---
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Storico Commit
|
||||
|
||||
*I commit più recenti in cima*
|
||||
|
||||
116
export/kanban.md
Normal file
116
export/kanban.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# Kanban Board (Export)
|
||||
|
||||
> Scomposizione del progetto in task minimi e verificabili.
|
||||
|
||||
## Istruzioni
|
||||
|
||||
Questo file deve essere creato/aggiornato dall'agente `@spec-architect` durante la fase di analisi.
|
||||
|
||||
## Principio "Little Often"
|
||||
|
||||
- Task il più piccoli possibile
|
||||
- Ogni task verificabile in <2 ore
|
||||
- Progresso incrementale
|
||||
- Dipendenze chiare
|
||||
|
||||
---
|
||||
|
||||
## Stati
|
||||
|
||||
- 🔴 **TODO** - Da fare
|
||||
- 🟡 **IN PROGRESS** - In corso
|
||||
- 🟢 **DONE** - Completato
|
||||
- ⚪ **BLOCKED** - Bloccato (vedi dipendenze)
|
||||
|
||||
---
|
||||
|
||||
## Template
|
||||
|
||||
```markdown
|
||||
# Kanban - [Nome Progetto]
|
||||
|
||||
## Colonna: 🔴 TODO
|
||||
|
||||
### Task-001: [Titolo task]
|
||||
**Descrizione:** [Breve descrizione]
|
||||
**Criteri Done:**
|
||||
- [ ] Criterio 1
|
||||
- [ ] Criterio 2
|
||||
**Dipendenze:** Nessuna / Task-XXX
|
||||
**Stima:** XS(1h) / S(2h) / M(4h) / L(8h)
|
||||
**Assegnato:** @agent
|
||||
|
||||
---
|
||||
|
||||
## Colonna: 🟡 IN PROGRESS
|
||||
|
||||
### Task-XXX: [Titolo]
|
||||
**Iniziato:** YYYY-MM-DD
|
||||
**Assegnato:** @agent
|
||||
|
||||
---
|
||||
|
||||
## Colonna: 🟢 DONE
|
||||
|
||||
### Task-XXX: [Titolo]
|
||||
**Completato:** YYYY-MM-DD
|
||||
**Commit:** `feat: ...`
|
||||
|
||||
---
|
||||
|
||||
## Colonna: ⚪ BLOCKED
|
||||
|
||||
### Task-XXX: [Titolo]
|
||||
**Bloccato da:** Task-YYY
|
||||
**Motivo:** [Spiegazione]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Esempio Board
|
||||
|
||||
# Kanban - [NOME_PROGETTO]
|
||||
|
||||
## 🔴 TODO
|
||||
|
||||
### TASK-001: Setup progetto base
|
||||
**Descrizione:** Inizializzare struttura progetto Python con uv
|
||||
**Criteri Done:**
|
||||
- [ ] pyproject.toml configurato
|
||||
- [ ] Struttura cartelle src/
|
||||
- [ ] Pre-commit hooks installati
|
||||
**Dipendenze:** Nessuna
|
||||
**Stima:** XS
|
||||
**Assegnato:** @tdd-developer
|
||||
|
||||
### TASK-002: Implementare NotebookService.create()
|
||||
**Descrizione:** Servizio per creazione notebook con validazione
|
||||
**Criteri Done:**
|
||||
- [ ] Test unitari passanti
|
||||
- [ ] Validazione titolo
|
||||
- [ ] Integrazione notebooklm-py
|
||||
**Dipendenze:** TASK-001
|
||||
**Stima:** S
|
||||
**Assegnato:** @tdd-developer
|
||||
|
||||
---
|
||||
|
||||
## 🟡 IN PROGRESS
|
||||
|
||||
*Vuoto*
|
||||
|
||||
---
|
||||
|
||||
## 🟢 DONE
|
||||
|
||||
*Vuoto*
|
||||
|
||||
---
|
||||
|
||||
## ⚪ BLOCKED
|
||||
|
||||
*Vuoto*
|
||||
|
||||
---
|
||||
|
||||
*Questo file verrà popolato durante la fase di specifica*
|
||||
94
export/prd.md
Normal file
94
export/prd.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Product Requirements Document (Export)
|
||||
|
||||
> Versione iniziale del PRD da definire durante la fase di specifica.
|
||||
|
||||
## Istruzioni
|
||||
|
||||
Questo file deve essere creato/aggiornato dall'agente `@spec-architect` durante la fase di analisi.
|
||||
|
||||
## Contenuto Richiesto
|
||||
|
||||
1. **Obiettivi**
|
||||
- Obiettivi di business
|
||||
- Obiettivi utente
|
||||
- Metriche di successo (KPI)
|
||||
|
||||
2. **User Stories**
|
||||
- Formato: "Come [ruolo], voglio [obiettivo], per [beneficio]"
|
||||
- Acceptance criteria per ogni story
|
||||
|
||||
3. **Requisiti Funzionali**
|
||||
- Requisiti con priorità
|
||||
- Criteri di accettazione
|
||||
|
||||
4. **Requisiti Non Funzionali**
|
||||
- Performance
|
||||
- Sicurezza
|
||||
- Scalabilità
|
||||
|
||||
5. **Stack Tecnologico**
|
||||
- Tecnologie scelte
|
||||
- Versioni
|
||||
- Motivazioni
|
||||
|
||||
---
|
||||
|
||||
## Template
|
||||
|
||||
```markdown
|
||||
# PRD - [Nome Feature]
|
||||
|
||||
## 1. Obiettivi
|
||||
|
||||
### 1.1 Business
|
||||
- [ ]
|
||||
|
||||
### 1.2 Utente
|
||||
- [ ]
|
||||
|
||||
### 1.3 KPI
|
||||
| Metrica | Target |
|
||||
|---------|--------|
|
||||
| | |
|
||||
|
||||
## 2. User Stories
|
||||
|
||||
### US-001
|
||||
**Come** [ruolo],
|
||||
**voglio** [obiettivo],
|
||||
**per** [beneficio]
|
||||
|
||||
**Acceptance Criteria:**
|
||||
- [ ] Criterio 1
|
||||
- [ ] Criterio 2
|
||||
|
||||
## 3. Requisiti Funzionali
|
||||
|
||||
### REQ-001: [Titolo]
|
||||
**Priorità:** Alta/Media/Bassa
|
||||
|
||||
**Descrizione:**
|
||||
[Descrizione dettagliata]
|
||||
|
||||
**Criteri di Accettazione:**
|
||||
- [ ]
|
||||
- [ ]
|
||||
|
||||
## 4. Requisiti Non Funzionali
|
||||
|
||||
### Performance
|
||||
-
|
||||
|
||||
### Sicurezza
|
||||
-
|
||||
|
||||
## 5. Stack Tecnologico
|
||||
|
||||
| Componente | Tecnologia | Versione |
|
||||
|------------|------------|----------|
|
||||
| | | |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Questo file verrà popolato durante la fase di specifica*
|
||||
109
export/progress.md
Normal file
109
export/progress.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# Progress Tracking - [NOME_PROGETTO]
|
||||
|
||||
> Tracciamento progresso sviluppo in tempo reale.
|
||||
|
||||
## 🎯 Sprint/Feature Corrente
|
||||
|
||||
**Feature:** `[Nome feature in sviluppo]`
|
||||
**Iniziata:** `YYYY-MM-DD`
|
||||
**Stato:** 🔴 Pianificazione / 🟡 In sviluppo / 🟢 Completata
|
||||
**Assegnato:** `@agent`
|
||||
|
||||
---
|
||||
|
||||
## 📊 Progresso Complessivo
|
||||
|
||||
| Area | Progresso | Stato |
|
||||
|------|-----------|-------|
|
||||
| API Core | 0/10 task | 🔴 Non iniziato |
|
||||
| Webhook System | 0/5 task | 🔴 Non iniziato |
|
||||
| AI Skill | 0/3 task | 🔴 Non iniziato |
|
||||
| Testing | 0/8 task | 🔴 Non iniziato |
|
||||
| Documentazione | 0/4 task | 🔴 Non iniziato |
|
||||
|
||||
**Completamento Totale:** 0%
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Attività in Corso
|
||||
|
||||
### Task Corrente: `[ID-XXX] - Titolo`
|
||||
|
||||
| Campo | Valore |
|
||||
|-------|--------|
|
||||
| **ID** | TASK-XXX |
|
||||
| **Descrizione** | [Breve descrizione] |
|
||||
| **Iniziata** | YYYY-MM-DD HH:MM |
|
||||
| **Assegnato** | @agent |
|
||||
| **Stato** | 🟡 In progress |
|
||||
| **Bloccata da** | Nessuna / TASK-YYY |
|
||||
| **Note** | [Eventuali ostacoli, decisioni] |
|
||||
|
||||
**Passi completati:**
|
||||
- [x] Passo 1
|
||||
- [ ] Passo 2
|
||||
- [ ] Passo 3
|
||||
|
||||
---
|
||||
|
||||
## ✅ Task Completate (Oggi)
|
||||
|
||||
| ID | Task | Completata | Commit | Assegnato |
|
||||
|----|------|------------|--------|-----------|
|
||||
| | | | | |
|
||||
|
||||
---
|
||||
|
||||
## 📅 Prossime Task
|
||||
|
||||
| Priority | ID | Task | Stima | Dipendenze |
|
||||
|----------|----|------|-------|------------|
|
||||
| P1 | | | | |
|
||||
| P2 | | | | |
|
||||
|
||||
---
|
||||
|
||||
## 🚧 Blocchi/Issue
|
||||
|
||||
| ID | Problema | Impatto | Soluzione Proposta | Stato |
|
||||
|----|----------|---------|-------------------|-------|
|
||||
| | | | | 🔴 Aperto |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Decisioni Prese Oggi
|
||||
|
||||
| Data | Decisione | Motivazione | Impatto |
|
||||
|------|-----------|-------------|---------|
|
||||
| | | | |
|
||||
|
||||
---
|
||||
|
||||
## 📈 Metriche
|
||||
|
||||
### Sprint Corrente
|
||||
- **Task pianificate:** 0
|
||||
- **Task completate:** 0
|
||||
- **Task in progress:** 0
|
||||
- **Task bloccate:** 0
|
||||
|
||||
### Qualità
|
||||
- **Test Coverage:** 0%
|
||||
- **Test passanti:** 0/0
|
||||
- **Linting:** ✅ / ❌
|
||||
- **Type Check:** ✅ / ❌
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Aggiornamento
|
||||
|
||||
> **Nota:** Questo file deve essere aggiornato:
|
||||
> - All'inizio di ogni nuova task
|
||||
> - Al completamento di ogni task
|
||||
> - Quando si risolve un blocco
|
||||
> - Quando si prende una decisione architetturale
|
||||
> - A fine giornata lavorativa
|
||||
|
||||
---
|
||||
|
||||
*Ultimo aggiornamento: YYYY-MM-DD HH:MM*
|
||||
Reference in New Issue
Block a user