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:
Luca Sacchi Ricciardi
2026-04-07 10:12:41 +02:00
parent 4b2f7318e0
commit 5c7dd95974
16 changed files with 1969 additions and 2 deletions

59
docs/architecture.md Normal file
View File

@@ -0,0 +1,59 @@
# Architecture Decision Records
> Registro delle decisioni architetturali e dei pattern di design utilizzati.
## Formato
```markdown
## [YYYY-MM-DD] - [Titolo Decisione]
### Contesto
[Background e motivazione]
### Decisione
[Cosa è stato deciso]
### Conseguenze
- Positivo: [Benefici]
- Negativo: [Trade-off]
### Alternative Considerate
- [Alternativa 1]: [Perché scartata]
- [Alternativa 2]: [Perché scartata]
```
---
## Esempio Template
## 2026-04-05 - Uso di FastAPI come framework API
### Contesto
Necessità di un framework web async per l'API REST con documentazione OpenAPI automatica.
### Decisione
Adottare FastAPI come framework principale per:
- Supporto nativo async/await
- Validazione automatica con Pydantic
- Documentazione OpenAPI/Swagger integrata
- Performance elevate
### Conseguenze
- **Positivo:**
- Sviluppo più rapido con type hints
- Documentazione API sempre aggiornata
- Validazione input automatica
- Supporto nativo async per I/O bound operations
- **Negativo:**
- Curva di apprendimento per sviluppatori nuovi
- Dipendenza da Pydantic v2
### Alternative Considerate
- **Flask**: Scartato per mancanza di supporto async nativo
- **Django REST Framework**: Scartato per essere troppo pesante per API-only
- **Starlette**: Scartato in favore di FastAPI che include più funzionalità out-of-box
---
*Aggiungere nuove decisioni in ordine cronologico crescente*

36
docs/bug_ledger.md Normal file
View File

@@ -0,0 +1,36 @@
# Bug Ledger
> Registro dei bug complessi risolti con sintomo, causa, soluzione e prevenzione.
## Formato
```markdown
## YYYY-MM-DD: [Titolo Bug]
**Sintomo:** [Descrizione sintomo]
**Causa:** [Root cause]
**Soluzione:** [Fix applicato]
**Prevenzione:** [Come evitare in futuro]
```
---
## Esempio Template
## 2026-04-05: Race condition in webhook dispatch
**Sintomo:** Webhook duplicati inviati sotto carico elevato
**Causa:** Manca meccanismo di lock nel dispatcher, richieste concorrenti causano doppia delivery
**Soluzione:**
- Aggiunto `asyncio.Lock()` nel dispatcher
- Sequentializza invio webhook per lo stesso evento
**Prevenzione:**
- Test di carico obbligatori per componenti async
- Code review focus su race condition
- Documentare comportamento thread-safe nei docstring
---
*Aggiungere nuovi bug in ordine cronologico decrescente (più recente in cima)*