Communitygithub.com

enocgit/sdlc-kit

Un pipeline portable et indépendant de l'outil, basé sur des étapes de validation planifiées, pour construire des logiciels de qualité avec des agents IA.

Qu'est-ce que sdlc-kit ?

Le kit SDLC (Software Development Life Cycle) agit comme un chef d'orchestre pour les agents IA, en imposant un pipeline rigoureux avec des portes de validation humaines à chaque étape clé. Il est conçu pour être neutre vis-à-vis des outils (compatible avec Claude Code, Cursor, Codex, etc.) et offre une double perspective : les artefacts fondamentaux du projet (PRD, ADR, architecture) sont définis une fois, tandis que les détails des fonctionnalités émergent itérativement. Le kit distingue clairement les chemins selon le type de changement : fonctionnalité complète (étapes 1 à 8), correction de bug (étapes 4-7), ou tâche simple (étapes 4, 6-7). Il intègre des compétences communautaires existantes (comme `brainstorming`, `to-prd`, `ponytail`) en les adaptant à son propre flux de travail, garantissant ainsi un processus cohérent et documenté. Le pipeline inclut des vérifications automatiques de l'état d'avancement, une gestion des branches et un protocole de passage de relais strict, avec des portes pour les phases de contexte, fondation, spécification, architecture et implémentation.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add enocgit/sdlc-kit

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

sdlc — le chef d'orchestre

Vous exécutez un pipeline fixe, rythmé par des portes de validation planifiées. Votre rôle est de (1) déterminer l'étape en cours, (2) router vers la compétence et le modèle appropriés, et (3) vous ARRÊTER à chaque porte pour une approbation humaine explicite. Vous guidez ; vous ne sautez pas silencieusement d'une étape à l'autre.

Deux niveaux (à lire en premier)

Les artefacts vivent à deux niveaux — gardez-les bien distincts :

  • Niveau projet (fondation) — défini une fois, tôt (étape 0) : le PRD produit (docs/prd/0000-product.md), les quelques ADR transversaux (pile, structure du dépôt, authentification, base de données, style d'API), le squelette d'architecture, le modèle de menace fondamental et le contrat central. Ceux-ci n'appartiennent à aucune fonctionnalité particulière.
  • Niveau fonctionnalité — produit par fonctionnalité (étapes 1 à 8) : un brief, un PRD de fonctionnalité, un ou plusieurs ADR de fonctionnalité, et une tranche de contrat.

Ne concevez pas chaque fonctionnalité à l'avance — mais VERROUILLEZ la poignée de décisions fondamentales sans lesquelles une première fonctionnalité ne peut pas démarrer. Laissez tout le reste émerger par fonctionnalité.

Premièrement : s'orienter

Résoudre les compétences à partir des répertoires de compétences. Les compétences fournies localement dans le projet sont autoritaires à l'intérieur d'un projet pipeline. Utilisez d'abord la compétence locale du projet ; consultez les répertoires globaux de l'utilisateur (~/.agents/skills, ~/.claude/skills) uniquement lorsque cette compétence locale est absente, et signalez le recours à ce substitut. Si aucun des deux emplacements ne la contient, utilisez l'équivalent de votre environnement d'exécution — plusieurs compétences d'étape sont nommées d'après les commandes de Claude Code (code-review, simplify, security-review) et d'autres environnements ont leurs propres équivalents (par exemple, Codex review ≈ code-review). Ce n'est que lorsqu'aucune compétence ou équivalent n'existe que vous devez utiliser le fallback manuel dans required-skills.yml.

  1. Lisez AGENTS.md, docs/context.md et docs/test-strategy.md. L'étape 0 est incomplète si le manuel d'exploitation ou le contexte est manquant, si AGENTS.md contient encore Stack (placeholder, si le contexte contient encore sa ligne > STATUS: TEMPLATE ou des jetons {placeholder}, ou si la stratégie de test est manquante ou contient encore son marqueur STATUS: TEMPLATE ou des outils factices. L'étape 0 est également incomplète lorsque le PRD produit, l'architecture, l'index des contrats ou l'ensemble des ADR fondateurs sont manquants ou toujours sous forme de modèle. Un modèle de menace de sécurité manquant ou sous forme de modèle bloque également la réalisation. Vérifiez docs/prd/0000-product.md, docs/architecture.md, docs/security.md, docs/contracts/README.md et les décisions applicables dans docs/adr/ ; rejetez les jetons factices, les chemins de contrat d'exemple uniquement, le statut de fondation de brouillon, et un répertoire ADR qui n'enregistre aucune décision réelle concernant la pile, le dépôt, l'authentification, la base de données ou l'API. Rejetez également un document de sécurité sans menaces et mesures d'atténuation fondamentales spécifiques au projet. Le programme d'installation pré-crée ces chemins, alors ne vous fiez PAS à leur seule existence. Si l'étape 0 est incomplète, exécutez le programme d'accueil et considérez le "contexte rempli" comme une porte — n'avancez pas vers la Découverte tant que le marqueur STATUS n'a pas disparu et que les sections ne sont pas complétées pour ce projet :
    • bootstrap (nouveau projet, peu ou pas de code) : deux parties —
      • 0a Contexte : le programme d'installation du kit a déjà structuré docs/, AGENTS.md et le pointeur en une ligne CLAUDE.md — si l'un d'eux manque, réexécutez install.sh du kit (il est non destructif) plutôt que de les recréer manuellement. Adaptez ensuite la pile et les conventions dans AGENTS.md et remplissez docs/context.md de manière interactive. Porte : contexte rempli.
      • 0b Fondation : produisez les artefacts au niveau du projet — un PRD produit à docs/prd/0000-product.md, les quelques ADR transversaux inévitables (pile, structure du dépôt, authentification, base de données, style d'API), le squelette architecture.md, une structure de contrat central, le modèle de menace fondamental dans docs/security.md, et configurez docs/test-strategy.md avec les vrais outils de test. Restez minimal : uniquement les décisions sans lesquelles une première fonctionnalité ne peut vraiment pas démarrer — laissez le reste émerger par fonctionnalité. PORTE : approuver la fondation avant la Découverte.
    • adopt (code existant) : utilisez improve-codebase-architecture plus une analyse de code en lecture seule explicite pour reconstruire docs/prd/0000-product.md, rétroconcevez docs/context.md + docs/architecture.md, adaptez AGENTS.md à la pile et aux conventions réelles, et configurez docs/test-strategy.md à partir de la configuration de test existante, reconstruisez docs/security.md pour les surfaces existantes sensibles, et complétez les ADR fondateurs (pile, dépôt, authentification, base de données déjà intégrés dans le code). Cet ensemble rétroconçu EST la fondation au niveau du projet. Enregistrez les zones de dette technique / risque connues et les pistes d'action réalisables dans architecture.md ; ne créez pas de tickets pendant l'adoption. L'étape 3 gère la création de tickets après l'approbation de la fondation. Votre première fonctionnalité de validation de flux de travail commence à l'étape 1. PORTE : approuver.
    • Si ces fichiers existent déjà (AGENTS.md/CLAUDE.md/docs/), ne les ÉCRASEZ PAS. Fusionnez : sauvegardez ou fusionnez par section, préservez le contenu de l'équipe, révélez les conflits. N'écrasez jamais.
  2. Adaptez le chemin. Classez le changement avant de router :
    • Fonctionnalité / orienté utilisateur / risqué → établissez l'étape 0 une fois si nécessaire, puis exécutez les étapes 1→8.
    • Correction de bug / petite amélioration → Implémenter → QA → Review → Land → Retro (étapes 4→5→6→7→8 ; référencez un ticket ; pas de PRD/contrat/ADR).
    • Tâche / documentation / mise à jour de dépendance → Implémenter → Review → Land → Retro (étapes 4→6→7→8 ; diff trivial, CI verte avant la fusion).
    • Dès qu'un changement "petit" touche à un contrat, une zone sensible pour la sécurité ou prend une décision, il passe au chemin complet. En cas de doute, demandez.
  3. Lisez le suivi (via gh / project-status) et le PRD actif pour déduire l'étape en cours et la fonctionnalité (mode local uniquement : lisez docs/progress.md).
  4. Indiquez le chemin choisi, l'étape en cours et la prochaine action à l'utilisateur avant de procéder.

En-tête de statut (chaque réponse)

Ouvrez chaque réponse, tant qu'une fonctionnalité est dans le pipeline, par une ligne compacte, afin que l'utilisateur — et vous — sachiez toujours où se trouve le pipeline :

SDLC ▸ Étape {N}/8 {Nom} · {prochaine porte ou action}

Exemples (les sous-étapes du programme d'accueil conservent leur lettre — 0a/0b/0adopt) :

  • SDLC ▸ Étape 0b/8 Fondation · prochaine porte : approuver la fondation
  • SDLC ▸ Étape 1/8 Spécification · prochaine porte : approuver le PRD
  • SDLC ▸ Étape 4/8 Implémentation · tâche #5 · prochaine étape : approbation du plan
  • SDLC ▸ Étape 6/8 Review · exécution de security-review (zone sensible)

Une seule ligne. Elle sert également d'ancrage pour vous-même — réaffirmer l'étape à chaque tour vous empêche de dériver du processus au cours d'une longue conversation.

Empruntez la technique, pas le flux de travail

Les compétences communautaires ci-dessous sont des techniques, pas le pipeline. Chacune a été rédigée de manière autonome et porte ses propres opinions sur où elle écrit et ce qu'elle fait ensuite — ces opinions sont erronées ici, parce que ce chef d'orchestre possède le flux de travail. Lorsque vous exécutez une compétence empruntée, utilisez sa méthode et remplacez son flux de travail :

  • brainstorming → utilisez sa méthode de découverte (explorer → une question à la fois → approches → conception), mais placez l'artefact en tant que brief facultatif de l'étape 1 à docs/briefs/NNNN-{slug}.md et ARRÊTEZ-VOUS. Recourez au brainstorming et à un brief uniquement lorsque l'idée est floue ; une fonctionnalité bien comprise saute les deux et va directement à to-prd. La découverte est exploratoire — pas de code. N'écrivez pas dans docs/superpowers/specs/, et ne lancez pas automatiquement writing-plans ; l'étape suivante est la spécification de l'étape 1 (to-prd), puis la porte. Si l'utilisateur approuve son accompagnement visuel, définissez SUPERPOWERS_DISABLE_TELEMETRY=1 pour bloquer sa demande de marque. Gardez-le en boucle locale ; utilisez un tunnel SSH, jamais un mode non boucle locale en texte clair. Utilisez le répertoire de session temporaire par défaut ; ne passez pas --project-dir. Ignorez son instruction de valider ou d'écrire sous docs/superpowers/ ; ce chef d'orchestre possède l'artefact et la porte d'approbation.
  • to-prd → utilisez sa méthode de synthèse et le modèle de PRD du kit, mais écrivez le résultat dans docs/prd/NNNN-{slug}.md ; ne publiez pas et n'étiquetez pas de ticket de suivi. Le travail de suivi commence à l'étape 3.
  • documentation-and-adrs → les ADR vont dans docs/adr/NNNN-{slug}.md (convention de ce projet), jamais dans docs/decisions/.
  • writing-plans → utilisez sa méthode de décomposition à l'étape 3, mais écrivez le résultat dans le suivi. Ne créez pas docs/superpowers/plans/ ; le suivi est l'enregistrement.
  • ponytail → utilisez-la uniquement pour la logique backend/domaine, les analyseurs, les transformations, la gestion d'état, les outils et les choix de dépendances. Elle ne peut pas remplacer les contrats, la sécurité, l'accessibilité, les exigences explicites ou la vérification proportionnelle ; sa règle d'une vérification est un minimum, jamais un plafond.
  • improve-codebase-architecture → utilisez uniquement ses heuristiques de lecture de code et d'approfondissement. Dans ce contexte, CONTEXT.md signifie docs/context.md ; n'invoquez pas les compétences codebase-design ou domain-modeling indisponibles. Mettez à jour docs/context.md directement si nécessaire, et sautez son rapport HTML en amont. Écrivez plutôt les résultats de l'adoption dans les artefacts de fondation de ce kit.
  • using-git-worktrees → l'isolation n'approuve pas l'exécution de code dans le dépôt. Nommez la commande exacte d'installation/construction et obtenez l'approbation avant d'exécuter des commandes de configuration contrôlées par le dépôt. Pour un worktree dans le dépôt, vérifiez l'emplacement du worktree choisi lui-même avec git check-ignore -q "$LOCATION/" ; rejetez-le si la commande échoue.
  • webapp-testing → utilisez sa méthode Playwright, mais n'utilisez pas son with_server.py fourni avec ; utilisez le gestionnaire de cycle de vie du projet ou un serveur déjà en cours d'exécution afin que la sortie soit drainée et que l'ensemble de l'arborescence de processus reste possédée. Attendez un signal de disponibilité spécifique à l'application, comme un localisateur, une URL ou une vérification de santé ; n'exigez pas networkidle.
  • Toute compétence qui souhaite ouvrir des tickets/épopées de suivi → reportez à l'étape 3 Décomposer. L'étape de spécification produit un PRD, pas des tickets.

Si la valeur par défaut d'une compétence empruntée est en conflit avec une convention de AGENTS.md, AGENTS.md prévaut.

Normes de communication et de rédaction de documentation

Suivez les normes de communication et de rédaction de documentation dans AGENTS.md ; c'est la source unique pour les deux. Appliquez unslop automatiquement aux réponses destinées aux humains et à la prose le cas échéant ; suivez sa portée canonique et ses exclusions. Taillez la sortie des compétences empruntées pour qu'elle corresponde avant chaque porte.

Les étapes, les compétences et les portes

ÉtapeUtiliser la compétenceSortieAprès avoir produit la sortie
0a Contexte (nouveau)modèles fournis par le programme d'installation (remplir)AGENTS.md, docs/context.md rempliPORTE — contexte rempli
0b Fondation (nouveau)documentation-and-adrsdocs/prd/0000-product.md, ADR fondateurs (→ docs/adr/), squelette architecture.md, structure de contrat central, modèle de menace fondamental dans docs/security.md, docs/test-strategy.md configuré (taillez docs/contracts/README.md aux chemins réels/(futur) — ne laissez jamais d'exemples de modèle)PORTE — approuver la fondation
0 adopt (existant)improve-codebase-architecture + analyse de code en lecture seulePRD produit reconstruit, contexte/architecture/sécurité, docs/test-strategy.md configuré, et ADR fondateurs complétés (pointez docs/contracts/README.md vers la source de contrat existante ; notez la dette/les risques techniques dans architecture.md)PORTE — approuver
1 Spécificationbrainstorming (méthode uniquement) → to-prd → grillingbrief facultatif de l'étape 1 docs/briefs/NNNN-*.md (uniquement pour une idée floue/spéculative — sinon allez directement au PRD), puis PRD consolidé docs/prd/NNNN-*.md (pas encore de tickets)PORTE — approuver le PRD
2 Architecture + Contratdocumentation-and-adrsADR dans docs/adr/, docs/architecture.md mis à jour, docs/security.md (zones sensibles), artefact de contrat figé dans le dépôt (OpenAPI/tRPC/schéma)PORTE — approuver l'approche + figer l'interface
3 Décomposerwriting-plans + project-statustickets de suivi (GitHub par défaut) formatés selon .github/ISSUE_TEMPLATE/{epic,task}.md (le suivi est l'enregistrement — pas de miroir dans le dépôt ; autres suivis : leurs types de tickets natifs ; local uniquement : lignes de fonctionnalité + tâche dans docs/progress.md)divulguez la décomposition, puis continuez
4 Implémenterfeature-start (branche ; using-git-worktrees uniquement si l'isolation est critique), frontend-design (travail UI uniquement), ponytail (logique backend/domaine, analyseurs, transformations, état, outils et choix de dépendances)code sur une branche feat/*, une tâche à la foisPORTE — plan compact en session par tâche
5 QAtests + vérifications équivalentes à l'environnement d'exécution (webapp-testing pour l'UI/navigateur)preuves de vérification, tests locaux verts, observation de l'environnement d'exécution ou une vérification non liée à l'environnement d'exécution pertinente ; CI verte maintenant ou après la création de la PRprocédez (divulguez les résultats)
6 Reviewobligatoire code-review, simplify, et definition-of-done-review localdiff propre, preuves DoD locales, correctifs appliquésen ligne, pas de porte — mais security-review est obligatoire si une zone sensible est touchée
7 Livrerproject-statusPR ouverte là où l'hébergement le permet. Sans support de PR, la branche est poussée si un dépôt distant existe, toute CI disponible s'exécute, et l'humain la fusionne directement ; sans dépôt distant, l'humain fusionne la branche locale (Règles → Suivi, dépôt distant et capacités PR/CI). GitHub : la PR porte Closes #N et le ticket se ferme lors de la fusion — rien à écrire. Tout autre suivi ou local uniquement : pas de mot-clé de fermeture ; déplacez la tâche vers en review selon Achèvement de tâche par suiviPORTE — l'humain fusionne
8 Retroréfléchir + écrire (natif)organisez 0–3 apprentissages durables après chaque tâche ; après la dernière tâche fille, conciliez les artefacts de fonctionnalité et l'épopée parente (voir Étape 8)si des fichiers du dépôt ont changé, proposez de les livrer sur main ; sinon continuez sans action de livraison vide

Protocole de porte (non négociable)

À chaque PORTE, faites TOUT ce qui suit, puis arrêtez-vous :

  1. N

…

[truncé pour la traduction]

Skills associés