feat(api): implement notebook management CRUD endpoints
Implement Sprint 1: Notebook Management CRUD
- Add NotebookService with full CRUD operations
- Add POST /api/v1/notebooks (create notebook)
- Add GET /api/v1/notebooks (list with pagination)
- Add GET /api/v1/notebooks/{id} (get by ID)
- Add PATCH /api/v1/notebooks/{id} (partial update)
- Add DELETE /api/v1/notebooks/{id} (delete)
- Add Pydantic models for requests/responses
- Add custom exceptions (ValidationError, NotFoundError, NotebookLMError)
- Add comprehensive unit tests (31 tests, 97% coverage)
- Add API integration tests (26 tests)
- Fix router prefix duplication
- Fix JSON serialization in error responses
BREAKING CHANGE: None
This commit is contained in:
113
prompts/README.md
Normal file
113
prompts/README.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# Prompts Directory
|
||||
|
||||
Questa cartella contiene tutti i prompt utilizzati per ingaggiare il team di agenti.
|
||||
|
||||
## Convenzione di Naming
|
||||
|
||||
I file prompt seguono la convenzione: `{NUMERO}-{NOME}.md`
|
||||
|
||||
- **NUMERO**: Numero progressivo crescente (1, 2, 3, ...)
|
||||
- **NOME**: Nome descrittivo del prompt (kebab-case)
|
||||
|
||||
## Lista Prompt
|
||||
|
||||
| File | Descrizione | Data |
|
||||
|------|-------------|------|
|
||||
| [1-avvio.md](./1-avvio.md) | Sprint kickoff - Implementazione Core API Notebook Management | 2026-04-06 |
|
||||
|
||||
## Come Aggiungere un Nuovo Prompt
|
||||
|
||||
1. Determina il prossimo numero progressivo (es: se l'ultimo è `3-xxx.md`, il prossimo sarà `4-`)
|
||||
2. Crea il file con nome descrittivo: `{NUMERO}-{descrizione}.md`
|
||||
3. Segui il template standard per i prompt (vedi sotto)
|
||||
4. Aggiorna questa README aggiungendo il nuovo prompt alla tabella
|
||||
|
||||
## Template Prompt Standard
|
||||
|
||||
```markdown
|
||||
# {Titolo Sprint/Task}
|
||||
|
||||
## 📋 Comando per @sprint-lead
|
||||
|
||||
@sprint-lead {istruzione specifica}
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Obiettivo
|
||||
|
||||
{Descrizione chiara dell'obiettivo}
|
||||
|
||||
**Success Criteria**:
|
||||
- {Criterio 1}
|
||||
- {Criterio 2}
|
||||
|
||||
---
|
||||
|
||||
## 📚 Contesto & Background
|
||||
|
||||
### Stato Attuale
|
||||
- {Stato attuale 1}
|
||||
- {Stato attuale 2}
|
||||
|
||||
### Documentazione Riferimento
|
||||
- **PRD**: `prd.md` - Sezione X
|
||||
- **Workflow**: `.opencode/WORKFLOW.md`
|
||||
- {Altri riferimenti}
|
||||
|
||||
---
|
||||
|
||||
## ✅ Scope (Incluso)
|
||||
|
||||
### In Scope
|
||||
1. {Task 1}
|
||||
2. {Task 2}
|
||||
|
||||
### Out of Scope
|
||||
- {Task escluso 1}
|
||||
- {Task escluso 2}
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Vincoli & Constraints
|
||||
|
||||
1. {Vincolo 1}
|
||||
2. {Vincolo 2}
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Criteri di Accettazione (Definition of Done)
|
||||
|
||||
- [ ] {Criterio 1}
|
||||
- [ ] {Criterio 2}
|
||||
|
||||
---
|
||||
|
||||
## 🎬 Azioni Immediate
|
||||
|
||||
1. {Azione 1}
|
||||
2. {Azione 2}
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Call to Action
|
||||
|
||||
**@sprint-lead**: {Istruzioni specifiche}
|
||||
|
||||
**Team**: {Istruzioni per il team}
|
||||
|
||||
---
|
||||
|
||||
*Data: YYYY-MM-DD*
|
||||
*Priority: P{0-3}*
|
||||
*Prompt File: prompts/{NUMERO}-{nome}.md*
|
||||
```
|
||||
|
||||
## Note
|
||||
|
||||
- I prompt sono versionati e tracciati
|
||||
- Ogni prompt rappresenta uno sprint, una feature o un task specifico
|
||||
- I prompt storici servono per:
|
||||
- Documentare decisioni passate
|
||||
- Riutilizzare pattern
|
||||
- Audit trail delle attività
|
||||
- Onboarding di nuovi agenti
|
||||
Reference in New Issue
Block a user