I riferimenti ai documenti in AGENTS.md erano rotti: una venticinquina di link nella forma docs/[README.md](http://README.md), che spezzavano il nome del file a meta e puntavano a domini inesistenti. Ora sono percorsi relativi verificati, con CHANGELOG.md e DESIGN_DECISIONS.md sotto docs/ e PROJECT_STATE.md in root. Tolte da AGENTS.md le sezioni Architettura, Documentazione e Struttura della documentazione: duplicavano ARCHITECTURE.md e docs/README.md con uno stack ormai parziale, contro la regola "ogni informazione ha una sola casa" che docs/README.md stesso impone. Aggiunti invece i comandi, bun e la guardia minimumReleaseAge: Codex e Cursor leggono solo AGENTS.md e non avevano modo di sapere come si verifica una modifica. Scritta la checklist "Fine lavoro" che CLAUDE.md citava senza che esistesse. Nuova regola: chi aggiunge o modifica una funzione scrive o aggiorna il test nello stesso lavoro, i test devono essere verdi e la doc del modulo va aggiornata se il comportamento cambia (DD-020). Serve perche con main come branch di lavoro non c'e piu un ambiente di prova tra il codice e i giocatori. Il flusso git documentato non descriveva piu la realta: main e arrivato a 43 commit di vantaggio su develop, rimasto fermo. DD-003 e ora sostituita da DD-019: il branch dei commit lo decide l'utente, l'assistente al massimo consiglia un branch dedicato e non committa, non pusha e non apre PR di propria iniziativa. Allineati di conseguenza ARCHITECTURE.md (sezione branch), README.md (flusso, install con bun, comandi di test e lint), ROADMAP.md e TODO.md (le voci spuntate sono in produzione, non su develop) e PROJECT_STATE.md (auth e profilo giocatore in produzione, 20 migration fino a M9, passaggi 1-3 e 5 fatti). Corretti poi sei disallineamenti tra documentazione e codice, ognuno verificato sul sorgente: - badge.md e obiettivi-squadra.md dicevano che le serie sono inerti e che serieAllenamenti e sempre 0, quindi badge e obiettivo "Continuita di squadra" non sbloccabili. Falso da7237e8f: presenze.ts:48 le calcola e rosa.ts:64-67 le attacca al Giocatore. Il limite che resta e un altro, ora scritto: risposto_il non e ricostruibile prima di m9, quindi sulle risposte vecchie serieConferme e un'approssimazione. - TODO.md e PROJECT_STATE.md davano il tracciamento tesseramento CSI come da fare, mentre ROADMAP, CHANGELOG e DATABASE lo davano per fatto. Lo e: admin.tsx:264-278 registra numero e data, :472 mostra Tesserato/Da tesserare, :676 il contatore. - collegamento-csi.md indicava il check di parsing in src/lib/csi-core.test.ts; sta in test/unit/csi-core.test.ts, in src/lib non esiste nessun .test.ts. - profilo-giocatore.md annunciava cinque aree del profilo e ne elencava sette. - "Segnala un bug" e "Suggerisci una nuova funzionalita" (profilo.tsx:259-276, commit72a9864) non erano documentati da nessuna parte, contro DD-002: ora stanno in profilo-giocatore.md e nel CHANGELOG. npm run test: 28/28 file ok. npm run lint: 12 problemi, identici a prima di questa modifica e tutti in src/, non toccato qui. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
62 lines
1.6 KiB
Markdown
62 lines
1.6 KiB
Markdown
# CrAPP 🏐
|
|
|
|
CrAPP è una Progressive Web App sviluppata per digitalizzare completamente la gestione di una squadra di pallavolo.
|
|
|
|
## Funzionalità principali
|
|
|
|
- Gestione squadra
|
|
- Gestione presenze
|
|
- Calendario allenamenti e partite
|
|
- Scout Live
|
|
- Badge e gamification
|
|
- Statistiche
|
|
- Notifiche intelligenti
|
|
- Gestione amministrativa
|
|
- AI per la pianificazione degli allenamenti (in sviluppo)
|
|
|
|
## Stack tecnologico
|
|
|
|
React 19, TypeScript, TanStack Start (SSR), Vite 8, Tailwind CSS 4, Radix UI / shadcn,
|
|
Supabase (PostgreSQL, Auth, Storage), Vercel, GitHub. Dettagli in
|
|
[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
|
|
|
## Avvio locale
|
|
|
|
Le dipendenze si installano con **bun** (`bun.lock`):
|
|
|
|
```bash
|
|
bun install
|
|
npm run dev # http://localhost:8080
|
|
```
|
|
|
|
## Comandi
|
|
|
|
```bash
|
|
npm run build # build di produzione
|
|
npm run lint # eslint (include prettier)
|
|
npm run test # test unit; npm run test:all per la suite completa
|
|
```
|
|
|
|
Chi aggiunge o modifica una funzione scrive anche il test e lo lascia verde
|
|
([test/README.md](test/README.md)).
|
|
|
|
## Deploy
|
|
|
|
Deploy automatico su Vercel a ogni push su `main`, che è anche il branch di lavoro corrente.
|
|
`develop` pubblica un Preview Deployment, ma oggi è indietro rispetto a `main`. Su quale branch
|
|
committare lo decide chi sviluppa (DD-019).
|
|
|
|
## Variabili d'ambiente
|
|
|
|
Il progetto richiede le seguenti variabili:
|
|
|
|
- `SUPABASE_URL`
|
|
- `SUPABASE_PUBLISHABLE_KEY`
|
|
- `VITE_SUPABASE_URL`
|
|
- `VITE_SUPABASE_PUBLISHABLE_KEY`
|
|
|
|
## Documentazione
|
|
|
|
Indice in [docs/README.md](docs/README.md). Le regole per gli assistenti AI stanno in
|
|
[AGENTS.md](AGENTS.md), lo stato corrente del lavoro in [PROJECT_STATE.md](PROJECT_STATE.md).
|