- CLAUDE.md devient un index concis : contexte, stack, regles absolues numerotees, pointeurs vers les fichiers de regles detaillees via references @.claude/rules/*.md - Les conventions detaillees (architecture, backend, frontend, testing, naming, git, workflow) sont extraites dans .claude/rules/ pour rester chargees a la demande sans gonfler le context du CLAUDE.md principal - Ajoute la regle absolue "Ne jamais mentionner Claude/IA dans commits ou PR" (point 10) pour garder l'historique git signe par l'utilisateur
67 lines
2.9 KiB
Markdown
67 lines
2.9 KiB
Markdown
# Workflow
|
|
|
|
## Langue
|
|
|
|
- **UI** : francais (tout ce qui est visible utilisateur)
|
|
- **Communication avec l'utilisateur** : francais
|
|
- **Code** (noms de classes, methodes, variables, types) : anglais
|
|
- **Commentaires** (PHP, TS, Vue — docblock, inline, bloc) : **francais**. Objectif : faciliter la relecture par l'equipe FR sans polluer l'API publique du code
|
|
|
|
## Delegation Codex
|
|
|
|
Pour les taches mecaniques (generation de tests boilerplate, renommages massifs, refacto repetitif, scaffolding), **deleguer a Codex** via le plugin `codex` (skill `codex:rescue`).
|
|
|
|
- **Codex** = junior rapide et pas cher → executions mecaniques
|
|
- **Claude** = senior qui verifie et reflechit → design, review, decisions
|
|
|
|
Ratio qualite/credits optimal : Claude conserve la reflexion et la validation, Codex avale le boilerplate.
|
|
|
|
## Avant d'implementer un ticket
|
|
|
|
Les specs fonctionnelles vivent sous `docs/{rbac,sites,modules}/ticket-*-spec.md`.
|
|
|
|
Avant de coder :
|
|
1. Lire la spec correspondante en entier (elles sont longues mais exhaustives)
|
|
2. Ne pas inventer de detail non specifie — demander a l'utilisateur ou citer explicitement la section manquante
|
|
3. Si la spec contredit le code existant, poser la question avant de choisir
|
|
|
|
## Verification avant "c'est fini"
|
|
|
|
Ne jamais declarer une tache terminee sans avoir lance les verifications applicables :
|
|
|
|
| Ce qui a bouge | Commande a lancer |
|
|
|---|---|
|
|
| Fichiers PHP | `make test` + `make php-cs-fixer-allow-risky` |
|
|
| Fichiers front (Vue/TS) | `make nuxt-test` |
|
|
| Migrations | `make migration-migrate` (sur BDD fraiche ideal : `make db-reset`) |
|
|
| Sidebar / permissions | Verifier que les 3 miroirs RBAC sont alignes (cf. @.claude/rules/testing.md) |
|
|
| UI visible | Demarrer `make dev-nuxt` et verifier le golden path dans le navigateur |
|
|
|
|
Si une verification echoue ou ne peut pas etre lancee (ex : container pas demarre), le dire explicitement plutot que d'annoncer "fini".
|
|
|
|
## Time tracking Lesstime
|
|
|
|
Au demarrage de toute tache de dev sur Coltura, creer une time entry via l'API Lesstime (cf. `~/.claude/CLAUDE.md` pour la procedure complete).
|
|
- Projet : `/api/projects/6` (COLTURA)
|
|
- Tags : choisir selon le type (Backend `3`, Frontend `2`, Infra `5`, UI/UX `4`, Maintenance `6`, Gestion projet `9`, etc.)
|
|
|
|
## Fix `make cache-clear` (permissions `var/`)
|
|
|
|
Si `make cache-clear` echoue sur les permissions de `var/` :
|
|
|
|
```bash
|
|
docker exec -t -u root php-coltura-fpm chown -R www-data:www-data /var/www/html/var
|
|
docker exec -t -u www-data php-coltura-fpm php bin/console cache:clear
|
|
```
|
|
|
|
A terme : integrer ce fix dans le `makefile` lui-meme.
|
|
|
|
## Docker — references utiles
|
|
|
|
- Container PHP : `php-coltura-fpm`
|
|
- Container Nginx : `nginx-coltura` (port 8083)
|
|
- Container DB : PostgreSQL port **5437** (interne et externe)
|
|
- Config dev : `infra/dev/.env.docker` (override local : `infra/dev/.env.docker.local`)
|
|
- Config prod : `infra/prod/` (Dockerfile multi-stage, `docker-compose.prod.yml`)
|
|
- Apres modif nginx : `docker restart nginx-coltura`
|