feat(setup): T01 create project directory structure
- Create src/openrouter_monitor/ package structure - Create models/, routers/, services/, utils/ subpackages - Create tests/unit/ and tests/integration/ structure - Create alembic/, docs/, scripts/ directories - Add test_project_structure.py with 13 unit tests - All tests passing (13/13) Refs: T01
This commit is contained in:
221
.opencode/skills/project-guidelines/SKILL.md
Normal file
221
.opencode/skills/project-guidelines/SKILL.md
Normal file
@@ -0,0 +1,221 @@
|
||||
---
|
||||
name: project-guidelines
|
||||
description: Linee guida per lo sviluppo del progetto. Usa questa skill per comprendere l'architettura, le convenzioni di codice e il workflow di sviluppo.
|
||||
---
|
||||
|
||||
# Project Guidelines - [NOME PROGETTO]
|
||||
|
||||
> ⚠️ **NOTA**: Personalizza questo file con il nome e la descrizione del tuo progetto!
|
||||
|
||||
## Panoramica del Progetto
|
||||
|
||||
**[NOME PROGETTO]** è [breve descrizione del progetto - da personalizzare].
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Leggere Prima
|
||||
1. **Workflow**: `.opencode/WORKFLOW.md` - Flusso di lavoro obbligatorio
|
||||
2. **PRD**: `prd.md` - Requisiti prodotto
|
||||
3. **AGENTS.md**: Linee guida generali del progetto (se esiste)
|
||||
|
||||
### Agenti Disponibili (in `.opencode/agents/`)
|
||||
|
||||
| Agente | Ruolo | Quando Usare |
|
||||
|--------|-------|--------------|
|
||||
| `@spec-architect` | Definisce specifiche e architettura | Prima di nuove feature |
|
||||
| `@tdd-developer` | Implementazione TDD | Durante sviluppo |
|
||||
| `@git-manager` | Gestione commit Git | A fine task |
|
||||
|
||||
## Flusso di Lavoro (OBBLIGATORIO)
|
||||
|
||||
### Per Nuove Feature
|
||||
|
||||
```
|
||||
1. @spec-architect → Legge PRD, definisce specifiche
|
||||
↓
|
||||
Crea/aggiorna:
|
||||
- /export/prd.md
|
||||
- /export/architecture.md
|
||||
- /export/kanban.md
|
||||
↓
|
||||
2. @tdd-developer → Implementa seguendo TDD
|
||||
↓
|
||||
RED → GREEN → REFACTOR
|
||||
↓
|
||||
3. @git-manager → Commit atomico
|
||||
↓
|
||||
Conventional Commit
|
||||
```
|
||||
|
||||
### Per Bug Fix
|
||||
|
||||
```
|
||||
1. Leggi bug_ledger.md per pattern simili
|
||||
2. Scrivi test che riproduce il bug
|
||||
3. Implementa fix
|
||||
4. Aggiorna bug_ledger.md
|
||||
5. Commit con tipo "fix:"
|
||||
```
|
||||
|
||||
## Regole Fondamentali
|
||||
|
||||
### 1. TDD (Test-Driven Development)
|
||||
- **RED**: Scrivi test fallimentare PRIMA
|
||||
- **GREEN**: Scrivi codice minimo per passare
|
||||
- **REFACTOR**: Migliora mantenendo test verdi
|
||||
|
||||
### 2. Spec-Driven
|
||||
- Leggi sempre `prd.md` prima di implementare
|
||||
- Non implementare funzionalità non richieste
|
||||
- Output specifiche in `/export/`
|
||||
|
||||
### 3. Little Often
|
||||
- Task piccoli e verificabili
|
||||
- Progresso incrementale
|
||||
- Commit atomici
|
||||
|
||||
### 4. Memoria
|
||||
- Bug complessi → `docs/bug_ledger.md`
|
||||
- Decisioni design → `docs/architecture.md`
|
||||
- Progresso task → `export/progress.md` (aggiorna inizio/fine task)
|
||||
|
||||
### 5. Git
|
||||
- Conventional commits obbligatori
|
||||
- Commit atomici
|
||||
- Test verdi prima del commit
|
||||
- Documenta contesto in `export/githistory.md`
|
||||
|
||||
## Struttura Progetto (Personalizza)
|
||||
|
||||
```
|
||||
[nome-progetto]/
|
||||
├── src/ # Codice sorgente
|
||||
│ └── [nome_package]/
|
||||
│ ├── [moduli]/ # Moduli applicativi
|
||||
│ └── ...
|
||||
├── tests/ # Test suite
|
||||
│ ├── unit/
|
||||
│ ├── integration/
|
||||
│ └── e2e/
|
||||
├── docs/ # Documentazione
|
||||
│ ├── bug_ledger.md # Log bug risolti
|
||||
│ └── architecture.md # Decisioni architetturali
|
||||
├── export/ # Output spec-driven
|
||||
│ ├── prd.md # Product Requirements
|
||||
│ ├── architecture.md # Architettura
|
||||
│ ├── kanban.md # Task breakdown
|
||||
│ ├── progress.md # Tracciamento progresso
|
||||
│ └── githistory.md # Storico commit
|
||||
├── .opencode/ # Configurazione OpenCode
|
||||
│ ├── WORKFLOW.md # Flusso di lavoro
|
||||
│ ├── agents/ # Configurazioni agenti
|
||||
│ └── skills/ # Skill condivise
|
||||
├── scripts/ # Script utilità
|
||||
├── prd.md # Product Requirements (root)
|
||||
├── AGENTS.md # Linee guida generali (opzionale)
|
||||
└── SKILL.md # Questo file
|
||||
```
|
||||
|
||||
## Convenzioni di Codice (Personalizza)
|
||||
|
||||
### [Linguaggio - es. Python/JavaScript/Go]
|
||||
- Versione: [es. 3.10+]
|
||||
- Stile: [es. PEP 8 / StandardJS / gofmt]
|
||||
- Type hints: [obbligatorio/consigliato]
|
||||
- Line length: [es. 100 caratteri]
|
||||
|
||||
### Testing
|
||||
- Framework: [pytest/jest/go test]
|
||||
- Coverage target: ≥90%
|
||||
- Pattern: AAA (Arrange-Act-Assert)
|
||||
- Mock per dipendenze esterne
|
||||
|
||||
### Commit
|
||||
```
|
||||
<type>(<scope>): <description>
|
||||
|
||||
[body]
|
||||
|
||||
[footer]
|
||||
```
|
||||
|
||||
**Tipi:** feat, fix, docs, test, refactor, chore, ci, style
|
||||
**Scope:** [personalizza in base al progetto - es. api, db, ui, core]
|
||||
|
||||
## Risorse
|
||||
|
||||
| File | Scopo |
|
||||
|------|-------|
|
||||
| `prd.md` | Requisiti prodotto |
|
||||
| `AGENTS.md` | Linee guida progetto (se esiste) |
|
||||
| `.opencode/WORKFLOW.md` | Flusso di lavoro dettagliato |
|
||||
| `.opencode/agents/` | Configurazioni agenti |
|
||||
| `docs/bug_ledger.md` | Log bug risolti |
|
||||
| `docs/architecture.md` | Decisioni architetturali |
|
||||
| `export/progress.md` | Tracciamento progresso task |
|
||||
| `export/githistory.md` | Storico commit con contesto |
|
||||
| `CHANGELOG.md` | Changelog |
|
||||
| `CONTRIBUTING.md` | Guida contribuzione |
|
||||
|
||||
## Comandi Utili (Personalizza)
|
||||
|
||||
```bash
|
||||
# Test
|
||||
[comando test] # Tutti i test
|
||||
[comando test --coverage] # Con coverage
|
||||
|
||||
# Qualità
|
||||
[comando lint] # Linting
|
||||
[comando format] # Formattazione
|
||||
[comando type-check] # Type checking
|
||||
|
||||
# Pre-commit
|
||||
[comando pre-commit]
|
||||
|
||||
# Server/Run
|
||||
[comando run]
|
||||
```
|
||||
|
||||
## Checklist
|
||||
|
||||
### Setup Iniziale (da fare una volta)
|
||||
- [ ] Personalizzato `SKILL.md` con nome progetto
|
||||
- [ ] Creata struttura cartelle `src/`
|
||||
- [ ] Configurato ambiente di sviluppo
|
||||
- [ ] Inizializzato `prd.md` con requisiti
|
||||
- [ ] Inizializzato `export/kanban.md` con task
|
||||
|
||||
### Pre-Implementazione
|
||||
- [ ] Ho letto `prd.md`
|
||||
- [ ] Ho compreso lo scope
|
||||
- [ ] Ho letto `.opencode/WORKFLOW.md`
|
||||
|
||||
### Durante Implementazione
|
||||
- [ ] Test scritto prima (RED)
|
||||
- [ ] Codice minimo (GREEN)
|
||||
- [ ] Refactoring (REFACTOR)
|
||||
|
||||
### Post-Implementazione
|
||||
- [ ] Tutti i test passano
|
||||
- [ ] Coverage ≥90%
|
||||
- [ ] `bug_ledger.md` aggiornato (se bug)
|
||||
- [ ] `architecture.md` aggiornato (se design)
|
||||
- [ ] `progress.md` aggiornato (inizio/fine task)
|
||||
- [ ] `githistory.md` aggiornato (contesto commit)
|
||||
- [ ] Commit con conventional commits
|
||||
|
||||
---
|
||||
|
||||
*Per dettagli su flusso di lavoro, vedere `.opencode/WORKFLOW.md`*
|
||||
|
||||
---
|
||||
|
||||
## 📝 Note per l'Utente
|
||||
|
||||
Questo è un template. Per usarlo:
|
||||
|
||||
1. **Sostituisci** `[NOME PROGETTO]` con il nome reale
|
||||
2. **Descrivi** il progetto nella sezione Panoramica
|
||||
3. **Personalizza** la struttura cartelle in base al tuo stack
|
||||
4. **Aggiungi** comandi specifici del tuo linguaggio/framework
|
||||
5. **Definisci** gli scope dei commit pertinenti al tuo progetto
|
||||
Reference in New Issue
Block a user