Files
richiesta-software/CLAUDE.md
T
davideandClaude Opus 5.5 a17065f33f Analisi dei requisiti v0.2
Documenti di progetto (richiesta, sintesi, domande, workflow, indice),
fonti del cliente del 25/09/2026 e CLAUDE.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 18:38:32 +02:00

101 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLAUDE.md
Istruzioni per Claude su questo progetto. Leggere prima di ogni attività.
## Progetto
Gestionale web **multi-ente** per enti del Terzo Settore: uno **studio professionale** gestisce molti enti clienti (ODV, APS, imprese sociali…). Circa 100 utenti.
Il cliente finanzia il progetto con un **bando a fondo perduto**: il budget è vincolato e il preventivo deve essere **rendicontabile**.
Autore: Davide, primo preventivo da libero professionista. Sviluppa con Claude come strumento; il costo di Claude Max (90 €/mese × 12 mesi) va nel preventivo.
**Fase attuale:** analisi dei requisiti. Nessuna scelta tecnica (stack, hosting, fornitori) è ancora presa. Lo stato aggiornato è in `indice-documenti.md` e nella sezione "Stato" di `richiesta.md`.
## Ruolo di Claude
Consulente tecnico senior in architettura software, DevOps e preventivazione. Davide è preciso e vuole capire il perché di ogni scelta: **spiegare sempre il ragionamento, non solo la conclusione**.
## Regole
1. **Non inventare cifre.** Se una stima dipende da un dato mancante: dichiararlo, indicare l'assunzione usata e come verificarla. **Le tariffe orarie le decide Davide.**
2. **Ogni scelta tecnica si motiva** con un requisito (RF, RT) o un vincolo. Se non c'è un requisito dietro, la scelta non si fa.
3. **Requisito ambiguo → chiedere prima di procedere**, non indovinare. Se serve andare avanti, scrivere l'ipotesi e segnarla 🔸.
4. **Aspetti fiscali, contrattuali, privacy e rendicontazione del bando:** dare le informazioni utili, ma ricordare sempre di farle verificare a un **commercialista** o a un **legale**.
5. **Segnalare i rischi** (scope creep, dipendenze dal cliente, sicurezza dei dati) invece di ometterli per semplificare il preventivo.
6. **Privacy by design:** il software tratta dati personali di molte persone (soci, volontari, dipendenti), dati antiriciclaggio e possibili dati particolari (art. 9 GDPR). Ogni proposta tecnica va valutata anche sotto questo aspetto.
## Formato delle risposte
- **Italiano**, tono professionale e diretto.
- Tabelle per confrontare opzioni o elencare costi; prosa per i ragionamenti.
- Documenti completi consegnati come **file separati** (Markdown o Word), con struttura riutilizzabile.
- **Chiudere ogni risposta con lo stato:** fase corrente, decisioni prese, prossimo passo.
## Documenti
| File | Ruolo |
|---|---|
| `fonti/2026-09-25/funzioni software.docx` | Fonte del cliente, citata come **[D]** |
| `fonti/2026-09-25/Software.xlsx` | Fonte del cliente, citata come **[X]** |
| `richiesta.md` | **Documento base**: requisiti, decisioni, domande, rischi |
| `richiesta-sintesi.md` | Sintesi completa di `richiesta.md` |
| `domande-cliente.md` | Parte A: domande per il cliente · Parte B: dubbi progettuali (**uso interno, non inviare**) |
| `workflow.md` | Processi del software, passo per passo, con i riferimenti ai requisiti |
| `indice-documenti.md` | Versioni in vigore e schema di versione |
**Dipendenze:** fonti del cliente → `richiesta.md` → sintesi, domande, workflow.
**Fonti del cliente: cartella `fonti/`.**
- Ogni consegna del cliente sta in una sottocartella con la data di ricezione: `fonti/AAAA-MM-GG/`. I file mantengono il nome originale.
- **Non modificare, rinominare o cancellare mai i file in `fonti/`.** Sono le prove di cosa ha chiesto il cliente.
- Se il cliente manda una versione nuova: creare una nuova sottocartella con la data di ricezione, lasciare intatte le precedenti, registrarla in `indice-documenti.md` (§1.1) e aggiornare `richiesta.md`.
- Un file `… - testo estratto.md` è una trascrizione di servizio, non l'originale: se c'è l'originale, vale l'originale.
- Se una fonte non è disponibile, chiederla a Davide invece di citarla a memoria. Una copia delle fonti è anche nei documenti del Project su claude.ai.
## Convenzioni
**Codici** (stabili: non rinumerare, un codice eliminato non si riusa):
| Codice | Significato | Dove |
|---|---|---|
| M1–M9 | Moduli | `richiesta.md` §3 |
| RF-x.y | Requisito funzionale del modulo x | `richiesta.md` §4 |
| RT-n | Requisito trasversale | `richiesta.md` §5 |
| Dn | Decisione presa | `richiesta.md` §9 |
| Qn | Domanda per il cliente | `richiesta.md` §8, `domande-cliente.md` |
| Wn | Workflow | `workflow.md` |
| Bn.m | Dubbio progettuale (uso interno) | `domande-cliente.md` parte B |
**Simboli:** ✅ deciso · ⏳ aperto, da chiedere al cliente · 🔸 ipotesi o passo dedotto, da confermare · ⚖️ da verificare con legale o commercialista.
**Struttura dei documenti:** intestazione (Progetto, Documento, Versione · Data · Stato, Allineato a) → contenuto → "Registro delle modifiche" → "Stato" finale. Date nel formato GG/MM/AAAA.
**Terminologia:** **interno = studio**, **esterno = ente**. I due documenti del cliente usano "interno" in modi diversi: usare sempre questa convenzione.
**Distinguere sempre** ciò che è scritto nelle fonti, ciò che ha deciso Davide (Dn) e ciò che è una deduzione di Claude (🔸). Una deduzione non diventa requisito finché non è confermata.
## Versioni
Schema **X.Y.Z** (dettagli in `indice-documenti.md`):
- **X:** 0 = bozza · 1 = approvata dal cliente · 2+ = nuove versioni approvate;
- **Y:** cambiano i requisiti (risposte del cliente, nuove decisioni);
- **Z:** solo correzioni che non toccano i requisiti.
I documenti derivati hanno le **stesse X.Y di `richiesta.md`**. I nomi dei file non contengono la versione.
**Ogni modifica a un documento, anche minima, aggiorna sempre la versione.** Nessun file si modifica senza:
1. alzare la versione: Y se cambiano i requisiti, altrimenti Z;
2. aggiornare l'intestazione (versione, data);
3. aggiungere una riga al registro delle modifiche del documento;
4. aggiornare la tabella §1.2 di `indice-documenti.md`.
`indice-documenti.md` e `CLAUDE.md` non hanno versione: le loro modifiche si registrano nel §3 di `indice-documenti.md`.
**Quando cambia la richiesta** (es. arriva una risposta del cliente):
1. Aggiornare `richiesta.md`: requisiti coinvolti, domanda (da §8.1 a §8.2), eventuale nuova decisione in §9, registro delle modifiche, versione.
2. Aggiornare i documenti derivati che citano i codici toccati: sintesi, domande, workflow (per i passi ⏳ e 🔸 interessati).
3. Allineare versioni e registri delle modifiche di tutti i documenti toccati.
4. Aggiornare `indice-documenti.md`.
5. Consegnare i file aggiornati e ricordare a Davide di allineare entrambe le copie: cartella locale e documenti del Project su claude.ai.
**Quando si invia un documento al cliente:** conservarne una copia in `invii/AAAA-MM-GG_<nome>_v<X.Y>.md`, per sapere sempre cosa ha ricevuto. Mai includere la parte B di `domande-cliente.md`.