Benvenuto! Questo boilerplate è configurato per minimizzare il time-to-interface. Tutto è già pronto, puoi iniziare a costruire subito.
Per usare questo boilerplate ti servono i seguenti software:
Fai un hard fork del repository per poter modificare il codice senza influenzare la repo originale. Il link del boilerplate originale è qui sotto.
https://bitbucket.org/dosai/canova-frontend-boilerplate/src/main/Apri il terminale nella cartella in cui vuoi posizionare la repo forkata
Clona la repository che hai creato nel primo passaggio all'interno della cartella scelta
git clone <your-fork-repository-url>Con il terminale o con un IDE di tuo gradimento posizionati nella root principale del progetto
cd <your-project-folder>Installa le dipendenze già configurate per il progetto
npm iAvvia il dev server per avviare il progetto in locale
npm run devApri il browser e vai a http://localhost:3000 per visualizzare il progetto in locale
Modifica il codice della homepage del progetto (src/app/page.tsx) per creare la tua prima pagina
TypeScript 5
JS con tipizzazione statica.
React 19
Libreria UI a componenti.
Next.js 16
Framework React full-stack.
Tanstack React Query
Gestione stato asincrono e cache.
Zustand
State management minimale.
React Hook Form
Gestione form performante.
Zod
Validazione schema type-safe.
Tanstack React Table
Gestione tabelle dati performante.
Shadcn/UI
Componenti UI riutilizzabili.
Tailwind CSS
Styling utility-first.
Lucide Icons
Set di icone vettoriali.
src/
├── app/ # Next.js App Router (pagine e routing)
├── components/ # Componenti React riutilizzabili
│ └── ui/ # Componenti Shadcn/UI
| └── .../ # Altri componenti personalizzati
├── hooks/ # Custom React hooks
├── store/ # Zustand stores
├── lib/ # Organizzazione codice di supporto
| └── utils.ts # Generic utility functions
| └── constants.ts # Constanti di utilizzo generale
| └── api/ # API utility functions
| └── ... # API endpoints calls (e.g. user.ts, products.ts, etc.)
├── providers/ # React context providers
├── config.ts # Configurazione app (nome, tema, font)
└── types.ts # TypeScript types condivisiLayer API
src/lib/api
Hooks
src/hooks
Componenti UI
solo hooks
Custom Hook
schema + logica submit
Componente Form
solo UI
State
Dati immutabili
Actions
Modifica via set()
Getters
Valori derivati
In .cursor/mcp.json sono configurati i server MCP che Cursor espone agli agenti. Abilitali dalle impostazioni MCP dell'IDE per avere contesto aggiornato su componenti UI, Zod e Zustand mentre generi o modifichi codice.
shadcn
Integrazione MCP ufficiale di Shadcn/UI: consente agli agenti di cercare, aggiungere e configurare componenti UI in linea con il design system del progetto.
inkeepMcp
Documentazione Zod via Inkeep: gli agenti possono consultare API, esempi e best practice per schemi e validazione type-safe.
zustand Docs
Documentazione Zustand (GitMCP): supporta la creazione e la modifica degli store globali seguendo le API e i pattern ufficiali della libreria.
Il file .agent/rules.md descrive come gli agenti AI devono lavorare su questa repository: stack da rispettare, pattern architetturali (fetching, form, state), convenzioni di naming e quando è lecito discostarsi dalle scelte predefinite.
Apri il file nella root del progetto prima di sessioni di vibe coding lunghe, oppure assicurati che le tue Cursor Rules facciano riferimento a quelle linee guida, così creazione e modifica del codice restano allineate al boilerplate.
Puoi incollare questi prompt in Cursor (o in un altro agente) per ottenere codice già allineato al boilerplate. Riferisci sempre .agent/rules.md quando vuoi che l'agente rispetti stack e pattern del progetto.
Costruisci una pagina /contatto con un form (nome, email, messaggio) usando i componenti Shadcn/UI già presenti nel progetto. Segui le regole in .agent/rules.mdAggiungi una pagina /articoli che mostra una tabella degli articoli con TanStack Table. Rispetta le regole definite in .agent/rules.mdAggiungi il componente Dialog di Shadcn tramite MCP shadcn se non è già nel progetto, poi crea un ConfirmDeleteDialog riutilizzabile in src/components/. Stile e convenzioni come definite in .agent/rules.mdLo script elimina le seguenti cartelle:
src/app/docs/— pagine di documentazionesrc/components/docs/— componenti della documentazionesrc/components/moduli/— componenti dei moduliEsegui lo script:
./scripts/remove-docs.shOppure: bash scripts/remove-docs.sh