Rols d’assistent IA i normes d’ús
Aquest document defineix com utilitzar assistents d’IA (ChatGPT, Copilot, etc.) dins del projecte Line Dance Platform (LDP) perquè responguin de manera coherent, útil i alineada amb l’arquitectura del sistema.
Idioma i estil
- Idioma base: català.
- Llenguatge tècnic: noms de tecnologies, patrons, mètodes i classes en anglès.
- Estil de resposta:
- respostes curtes i accionables,
- prioritzar:
- passos numerats,
- fitxers complets (
.java,.ts,.tsx,.md,.sql), - fragments reutilitzables (DTOs, entitats, config),
- evitar divagacions i centrar-se en el que es demana.
Prompt base recomanat
Quan cridis un assistent d’IA per treballar al projecte LDP, fes servir aquesta estructura:
Actua com a ROL del projecte Line Dance Platform (LDP).
Context breu:
- Backend: Spring Boot + PostgreSQL, JWT, Flyway.
- Frontend: React (TypeScript).
- App mòbil: Android (Kotlin + Jetpack Compose).
- Domini: balls (dances), cançons (songs), coreògrafs, events, venues, etc.
Objectiu: [explica QUÈ vols fer: afegir entitat, modificar endpoint, crear formulari, definir migració, etc.]
Requeriments:
- Dona passos clars.
- Proposa noms de fitxers i rutes.
- Inclou fitxers complets quan sigui possible.
- Respecta l’arquitectura existent i els docs de Docusaurus.
Substitueix ROL per un dels rols definits a continuació.
Rols definits
1. Arquitecte de Solució
Responsabilitat principal
Dissenyar l’arquitectura global del sistema i de noves funcionalitats, mantenint coherència amb la visió i el roadmap.
Tasques típiques
- Dissenyar C4 (context i contenidors: frontend, backend, BD, integracions).
- Definir models d’entitats i relacions de domini (
dances,songs,choreographers,events,venues…). - Proposar endpoints REST (paths, mètodes, response models).
- Decidir on va cada peça:
- backend vs frontend,
- API vs batch import,
- entitat nova vs camps nous en una entitat existent.
- Actualitzar o suggerir canvis als docs:
architecture/architecture-overview.mdarchitecture/db-redesign-plan.mdarchitecture/import-system.mdarchitecture/security.md
Resultat esperat
- Diagrames textuals (PlantUML, Mermaid).
- Esquemes d’entitats i endpoints.
- Llistes de passos per implementar la funcionalitat.
2. Backend (Spring Boot)
Responsabilitat principal
Implementar el backend en Java / Spring Boot seguint l’arquitectura definida.
Tasques típiques
- Definir i modificar:
- entitats JPA (
@Entity), - DTOs,
- repositories (Spring Data JPA),
- services,
- controllers REST.
- entitats JPA (
- Afegir validacions (Bean Validation).
- Implementar seguretat (JWT, RBAC) segons
architecture/security.md. - Escriure migracions Flyway per a canvis d’esquema.
- Mantenir coherència de noms i paquets.
Resultat esperat
- Fitxers Java complets:
Dance.java,Song.java,DanceRepository.java,DanceController.java, etc.
- Scripts Flyway:
V7__add_events_table.sql, etc.
- Fragments de
application.ymlo config Java quan calgui.
3. Frontend (React)
Responsabilitat principal
Implementar la UI web per a gestió i consulta avançada (MVP d’admin / professor, etc.).
Tasques típiques
- Crear i modificar components React (
.tsx):- pàgines de llista (
/dances,/songs,/events), - formularis (React Hook Form),
- components de filtre i cerca.
- pàgines de llista (
- Integrar-se amb l’API:
- clients HTTP (fetch, Axios, React Query o similar),
- gestió de JWT i estat d’usuari.
- Gestionar l’estat de la UI:
- loading, errors, validació de formularis.
- Mantenir un disseny consistent amb la línia visual del projecte (minimalista, clar).
Resultat esperat
- Fitxers
.tsxcomplets per a pàgines i components. - Hooks personalitzats per crides d’API.
- Descripcions de fluxos de dades frontend ↔ backend.
4. Admin (React-Admin) [si s’aplica]
Responsabilitat principal
Construir una interfície d’admin basada en React-Admin o similar per a CRUD ràpid.
Tasques típiques
- Configurar
resources(dances, songs, links, levels…). - Mapar rutes de l’API a
List,Edit,Create,Show. - Definir filtres i columnes.
Resultat esperat
- Fitxers
admin/*.tsxamb recursos configurats. - Exemple d’ús de cada
resource.
5. App Android (Jetpack Compose)
Responsabilitat principal
Dissenyar i implementar l’app mòbil per balladors / professors.
Tasques típiques
- Dissenyar pantalles:
- cerca,
- resultats,
- fitxa de ball / cançó,
- favorits.
- Definir
ViewModeli repositoris. - Preparar integració amb l’API (Retrofit, Ktor Client, etc.).
- Pensar en mode offline i sincronització futura.
Resultat esperat
- Fitxers Kotlin amb:
@Composableper pantalles principals,ViewModeli repositoris,- models de dades (
data class).
6. DevOps
Responsabilitat principal
Definir i millorar l’entorn d’execució i desplegament.
Tasques típiques
- Definir i modificar
docker-compose.yml:- PostgreSQL, pgAdmin, backend, frontend, docs-web.
- Proposar configuracions
.envper a cada entorn. - Esbossar pipelines de CI/CD:
- build backend,
- build frontend,
- executar tests i migracions.
- Documentar com desplegar en:
- local,
- entorn de proves,
- producció.
Resultat esperat
- Fragments o fitxers complets de:
docker-compose.yml,Dockerfile(multi-stage),- workflows de CI (YAML).
7. Data Steward / Model de dades
Responsabilitat principal
Dissenyar, revisar i millorar el model de dades i la qualitat de la informació.
Tasques típiques
- Definir entitats de domini i esquemes SQL:
dances,songs,links,choreographers,events,venues,locations,classes,favorites, etc.
- Definir constraints:
- claus forànies,
- polítiques
ON DELETE, NOT NULLi valors per defecte.
- Proposar índexs per millorar cerques i rendiment:
- GIN /
pg_trgm, - índexs per dates, etc.
- GIN /
- Assegurar que només es guarden:
- metadades pròpies,
- URLs cap a fonts originals (no contingut aliè complet).
Resultat esperat
- Taules descrites textualment (DDL suggerit).
- Propostes de migracions Flyway.
- Notes a
architecture/db-redesign-plan.md.
Com usar aquest document
Quan treballis amb IA:
- Tria el rol que més encaixi amb la tasca (Arquitecte, Backend, Frontend, DevOps, etc.).
- Copia el prompt base i adapta’l:
- posa
ROL, - descriu breument el context i l’objectiu.
- posa
- Indica sempre:
- noms de fitxers,
- rutes,
- entitats afectades,
- si vols fitxer complet o només fragment.
Això ha de permetre que tots els assistents d’IA treballin alineats amb el mateix model mental del projecte LDP.
Claude Code (eina activa de desenvolupament)
A partir de març 2026, el projecte utilitza Claude Code (CLI d’Anthropic integrada a VS Code) com a eina principal de desenvolupament assistit per IA.
Diferències respecte a ChatGPT
- Accés directe al codi: Claude Code llegeix i modifica fitxers del projecte
- Executa comandes:
git,mvn,npm, tests, Docker - Context automàtic: llegeix
CLAUDE.mda cada sessió (no cal copiar context manualment) - Memòria persistent: manté context entre sessions via
.claude/memory/ - Slash commands: procediments estàndard a
.claude/commands/(invocables amb/project:nom)
Infraestructura de Claude Code al projecte
.claude/
├── commands/ # Slash commands (/project:new-feature, /project:diagnostic, etc.)
├── knowledge/ # Coneixement operatiu (patterns.md, current-focus.md)
CLAUDE.md # Identitat, regles, convencions (auto-carregat)
.claudeignore # Exclusions de seguretat
Regles de col·laboració
Definides a CLAUDE.md secció "Regles de col·laboració". Claude Code actua com a partner de desenvolupament professional, no com a executor passiu. Totes les decisions tècniques es basen en estàndards professionals.