templates/common/ et distribues a toutes les equipes.
Les skills specifiques sont dans templates/teams/{team}/ et ne sont installes que pour l'equipe concernee.
Le catalog.json definit la visibilite de chaque skill : "scope": "universal" ou "team-specific".
| Phase EPCT | 💻 booking-api-legacy | ⚡ wcoff |
|---|---|---|
| deploy | ./scripts/main.sh -a startdevMaven WAR → Tomcat 9 local |
mvn spring-boot:run ou docker-compose upSpring Boot + JIB → ECS |
| validate | ✅ /bruno:sanityCollections Bruno E2E sur endpoints REST |
⚠ Tests d'integration Pythonpython3 backend/test_jira.py + health check |
| e2e (bruno) | ✅ /epct:brunoCreation collection Bruno + promotion non-regression |
❌ Phase desactivee Pas de Bruno — couvert par les tests d'integration |
| test | ./scripts/main.sh -a testJUnit 4 + Mockito, sub-agent background |
mvn testJUnit 5 + Spring Boot Test |
| code | 🚫 Java 8 : var, toList(), isEmpty() interdits | ✅ Java 25 : records, sealed classes, pattern matching |
templates/common/, mais les variables {{BUILD_CMD}}, {{TEST_CMD}}, {{HEALTH_CHECK_ENDPOINT}}
et les phases activees/desactivees sont definies dans teams/{team}/variables.json.
L'installateur substitue ces valeurs et produit un EPCT adapte a chaque equipe.
{{VARIABLES}} resolues a l'installation
selon les valeurs de l'equipe cible.
| 💻 booking-api-legacy | ⚡ wcoff | |
|---|---|---|
| Java | 8 var interdit | 25 records, sealed |
| Framework | Spring 5.3 + Struts 6.1 | Spring Boot 3.5 + Jakarta EE |
| Build | ./scripts/main.sh -a startdev | mvn spring-boot:run |
| Deploy | Tomcat 9 + Ansible | JIB + AWS ECS |
| Ticket prefix | WCBOO | (auto) |
| Variables | 100+ | 50+ |
| EPCT phases | Toutes (10/10) | 8/10 (validate, bruno desactives) |
| Capacite | 🛠 Dev | 📚 TL | 📋 PO | 🔎 QA | 🤖 Agent |
|---|---|---|---|---|---|
| Modifier le code | ✅ | ✅ | ❌ | ❌ | ✅ |
| Creer des tickets Jira | ✅ | ✅ | ✅ | ✅ | ✅ |
| Code review | ✅ | ✅ | ❌ | ❌ | ❌ |
| Tests E2E (Bruno) | ✅ | ✅ | ❌ | ✅ | ✅ |
| Scans securite | ✅ | ✅ | ❌ | ❌ | ✅ |
| Deploy | ✅ | ✅ | ❌ | ❌ | ✅ |
| Logs Splunk | ✅ | ✅ | ❌ | ✅ | ✅ |
| MEP / Release | ✅ | ✅ | ✅ | ❌ | ✅ |
bun run install.ts --team=booking-api-legacy --role=dev --target=/path/to/project
{{VAR}}, manifest SHA256WCBOO-XXXX [emoji] description
validate-lint et validate-commit-message.
QA exclut validate-lint, validate-commit-message et notify-mr-created.
Agent herite de tous + 3 hooks supplementaires (audit, escalation, notification).
| Serveur | Usage | Bun | Docker | NPX futur | Roles |
|---|---|---|---|---|---|
| Jira | Tickets, sprints, epics | ✅ | ✅ | 🕐 | All |
| GitLab | MR, branches, pipelines | ✅ | ✅ | 🕐 | Dev, TL, Agent |
| Confluence | Wiki, sync docs | ✅ | ✅ | 🕐 | Dev, TL, PO |
| Splunk | SPL queries, logs | ✅ | ✅ | 🕐 | Dev, TL, QA |
| Teams | Notifications, webhooks | ✅ | ✅ | 🕐 | All |
| masked-read | Config/secrets masques | ✅ | ✅ | 🕐 | Dev, TL, QA |
| context7 | Documentation librairies | — | — | ✅ | Dev, TL |
| n8n | Workflow automation | — | — | ✅ | Dev, TL, Agent |
| n8n-accor | Workflows Accor cloud | — | — | ✅ | Dev, TL |
bun run ${MCP_SERVERS_PATH}/...mcp-servers clone localement.
docker run --rm -i mcp-servers/...npx -y @accor/mcp-jira/reverse-syncinstall.ts →/update-config →/reverse-sync →install.ts/update-config{{VAR}}--branch=feature/xxx--pull-only (git pull seul)--dry-run (preview)/api/trigger/app/inbox/*.jsonCLAUDE.md et ses propres regles d'escalation.
bun run tools/onboard-team.ts --detect --target=/path/to/projectpom.xml, package.json, Dockerfile, etc. pour determiner la stack.
bun run tools/onboard-team.ts --create --team=my-api --target=/pathteam.json + variables.json (50+ variables documentees avec _doc_*).
bun run install.ts --team=my-api --role=dev --target=/path/to/projectconfig/teams/_example/ sert de modele.
Chaque variable dans variables.json est documentee avec une cle _doc_ expliquant son role.
bun run validate verifie les variables non resolues,
la coherence des references, et teste la resolution sur toutes les equipes.
git status .claude/ du projet source{{VAR}}catalog.json
team.json + variables.json (50+ variables)_doc_*templates/common/ (URLs, ports, container names...)
{{PLACEHOLDER}} existe dans _example/variables.json et est resolu pour toutes les equipes
/reverse-sync) ne casse pas les autres equipes.
Un skill specifique a l'equipe A ne doit pas entrer en conflit avec les keywords de l'equipe B.
Une variable ajoutee dans les templates communs doit etre definie pour toutes les equipes.
/reverse-sync.
Les innovations locales beneficient a tous.
bun run install.ts --team=<your-team> --role=<your-role> --target=<your-project>