V1 — Bootstrap¶
Commit de référence : c8fb668 — « init: kernel SDEG v1.0.0 — 15 skills, coach agent, hooks Copilot, CLI sdlc »
Contexte¶
Le kit naît d'un constat accumulé sur plusieurs projets : les agents IA (Copilot, Claude) sont remarquables pour produire du contenu, mais catastrophiques pour maintenir la cohérence d'un projet long. Ils oublient, ils défont, ils confondent l'essai et la décision.
L'intuition initiale : séparer ce qui est confié à l'IA (la rédaction, l'exploration, la proposition) de ce qui reste humain et tracé (la décision, la gravure, la mémoire). Cette séparation doit être mécanique, pas contractuelle.
Décisions structurantes¶
Décision 1 — Une machine d'états déterministe¶
Un registre .product/sdlc-registry.json encode l'état de chaque objet (BE, FE, US) selon une machine d'états définie dans sdlc/schema.js. Toute transition passe par sdlc/sdlc.js. Voir ADR 0004.
Décision 2 — LIVING/COLD comme concept central¶
Chaque artefact a une température. Les portes font passer de LIVING à COLD. Voir ADR 0005.
Décision 3 — 15 skills Copilot, pas un serveur MCP¶
Les assistants spécialisés sont des fichiers .github/prompts/*.prompt.md lisibles, modifiables, versionnables. Voir ADR 0002.
Décision 4 — 4 hooks PowerShell¶
Le déterministe s'invite à des moments fixes : SessionStart, PreToolUse, PreCompact, Stop. Voir ADR 0003.
Décision 5 — Un agent orchestrateur plutôt que 15 skills autonomes¶
L'agent « Coach Développement Émergent » écoute l'utilisateur, identifie la porte active, appelle le skill approprié. Les skills ne sont jamais invoqués directement sans que le Coach ait validé la pertinence.
Pivots¶
- Envisagé puis abandonné : intégration via plugin VS Code dédié. Trop de maintenance, trop de couplage à un IDE. Retenu : fichiers markdown lisibles par Copilot et Claude nativement.
- Envisagé puis abandonné : registre en SQLite. Plus performant en théorie, mais impossible à diff en git, illisible en revue de PR. Retenu : JSON versionné.
Artefacts produits¶
sdlc/schema.js— machine d'états complètesdlc/sdlc.js— CLI (status, init, check, move, log, validate).github/prompts/*.prompt.md— 15 skills.github/agents/coach-emergent.agent.md— agent orchestrateurscripts/hook-*.ps1— 4 hooks PowerShellscripts/bootstrap.ps1— bootstrap pour les projets consommateurs
Leçons apprises¶
L'IA n'est pas mauvaise — elle est amnésique¶
La qualité d'un livrable d'IA dépend directement du contexte qu'elle reçoit. Le hook SessionStart qui injecte spiral-state.md est, en bénéfice effectif, plus important que la sophistication des prompts eux-mêmes.
La règle doit être mécanique, pas narrative¶
Écrire dans un prompt « L'IA ne doit pas éditer le registre » ne suffit pas. Il faut que le hook git pre-commit refuse le commit. La mécanique est la seule règle qui tient.
Le catalogue des skills doit être orchestré¶
Livrer 15 skills sans orchestration produit un paradoxe du choix : l'utilisateur ne sait pas lequel invoquer à quel moment. L'agent Coach, même minimal, est une pièce maîtresse — pas un luxe.
Le LIVING/COLD est un principe, pas un détail¶
Dès V1, la distinction est présente dans le code, dans la CLI, dans l'affichage. Son absence aurait produit un kit « classique » de gestion de tickets. Sa présence change la nature des conversations que le kit rend possibles.
Voir aussi : V2 — Portes exécutables · Vision / LIVING-COLD · ADR 0001.