Passer au contenu
Anti spaghettiManage AI Code
Anti spaghetti

shotgun

← Retour au tableau · Le labo ↓

Rang : C · dépôt

Présentation du framework

Shotgun relève du Spec-Driven Development : il écrit, pour les agents de codage IA, des spécifications qui tiennent compte de la base de code, afin que ces agents ne déraillent pas. Pour cela, il lit la base de code entière et planifie d'emblée la fonctionnalité complète. Il la découpe ensuite en PR successives, chacune accompagnée d'instructions fichier par fichier. Un routeur conduit ce travail en deux modes, Planning et Drafting. En interne, il enchaîne recherche, spécification, plan, tâches et export, avec des points de contrôle en mode Planning. La base de code reste sur la machine, mais une connexion internet demeure nécessaire pour les appels aux API des LLM. Avec des modèles locaux servis par Ollama, seul le mode Drafting est disponible. Le mode Planning exige en effet des appels d'outils fiables, que ces modèles ne prennent pas en charge de façon constante. L'outil recueille enfin des événements minimaux et anonymes, comme l'installation ou un appel d'outil, sans en collecter le contenu.

Ce texte a été généré le 2026-09-14 à partir de la documentation des concepteurs.

Les critères

1 - Adoption durable · Bas 687 étoiles ; le dépôt existe depuis 421 jours.

2 - Maintenance active · Haut Le projet n'est pas archivé ; ses dernières modifications datent de 120 jours avant le relevé du 2026-09-30.

3 - Gouvernance / bus factor · Moyen Porté par une organisation ; 8 contributeurs.

4 - Multi-outils · Haut 5 assistants pris en charge sur 14 considérés : Claude Code, Codex CLI, Cursor, GitHub Copilot, Windsurf. Le projet suit aussi la convention AGENTS.md.

5 - Évaluation tierce · Bas Aucun travail indexé ne cite l'entrée, après exclusion de l'auto-citation.

En pratique

S'installe en une commande, par un gestionnaire de paquets. Fonctionne sur votre machine, sans service hébergé ni clé de licence.


Le labo : comment ces résultats sont construits

Les règles appliquées, les données lues et leurs dates, les choix humains et leurs motifs.

Dans les tables ci-dessous : Faits au est la date des faits rapportés par la source ; Relevé le, la date à laquelle la chaîne les a lus ; Âge, l'ancienneté d'une date au jour du relevé.

Le rang

Rang : C. Quatre critères influencent le rang (1, 2, 3 et 4), et le rang est le niveau du plus faible : A si les quatre sont Haut, B autrement, C si l'un est Bas. Ici, le plus faible est Bas (critère 1). Le critère 5 est publié sans influencer le rang.

Prochain cran : aucun, le seul passage du temps ne déplace pas ce rang.

Provenance

Partie de la ficheProduite parRévisée leFaits les plus anciens
CritèresCalculé2026-09-302026-06-02
Déclaré par nousÉditorial2026-09-072026-09-07
Autres données relevéesCalculé2026-09-302026-06-02
Présentation du frameworkGénéré2026-09-142026-06-02
ClassificationGénéré2026-10-082026-10-08

La présentation a été générée le 2026-09-14 à partir des déclarations des concepteurs dans leur documentation publique et des éléments que nous avons collectés, dont les plus anciens datent du 2026-06-02.

Modèleclaude-opus-5
Instructionprompt-description-framework-v2
Empreinte de la matière fournie au modèlecfb09b56ada5875dda00e181f228a839722377ec81e738ed97e89eaa2da4f7c0

Critère 1 - Adoption durable

Niveau : Bas, moins de 1 000 étoiles ou dépôt créé depuis moins de 6 mois.

DonnéeDéfinitionValeurFaits auRelevé leÂge
Nombre d'étoilesComptes qui ont marqué le dépôt d'une étoile sur la forge6872026-06-022026-09-30-
Date de créationDate de création du dépôt sur la forge2025-08-052026-06-022026-09-30421 j

Critère 2 - Maintenance active

Niveau : Haut, aucun signal de dérive, une release publiée, et aucune des deux fraîcheurs en défaut : push ≤ 120 j, release ≤ 6 mois.

DonnéeDéfinitionValeurFaits auRelevé leÂge
ArchivéOui si le dépôt est archivé, en lecture seulenon2026-06-022026-09-30-
Dernier pushDate du dernier envoi sur n'importe quelle branche ; l'activité réelle est au moins aussi récente2026-06-022026-06-022026-09-30120 j
Dernier commit humainDate du dernier commit d'un auteur non robot sur la branche principale ; publiée à titre d'information, n'entre dans aucune règle2026-04-142026-06-022026-09-30169 j
Nombre de releasesVersions publiées sur la forge1942026-06-022026-09-30-
Dernière releaseDate de la version publiée la plus récente2026-04-142026-06-022026-09-30169 j

Critère 3 - Gouvernance / bus factor

Niveau : Moyen, tout le reste.

DonnéeDéfinitionValeurFaits auRelevé le
Type de propriétairePersonne ou organisationorganisation2026-06-022026-09-30
Nombre de contributeursComptes contributeurs déclarés par la forge, pas le nombre de personnes qui tiennent le projet82026-06-022026-09-30
Part du premier contributeurPart des contributions du contributeur le plus actif, avec son dénominateur77,0 % de 488 contributions lues2026-06-022026-09-30

Critère 4 - Multi-outils

Niveau : Haut, la convention AGENTS.md fait partie des assistants atteignables.

DonnéeDéfinitionValeurFaits auRelevé le
Assistants pris en chargeAssistants de notre liste fermée que l'outil atteint ; un assistant atteint par deux voies compte une fois52026-06-022026-09-30
Assistants considérésTaille de la liste fermée, le dénominateur142026-06-022026-09-30
Assistants atteignables et voies d'accèsPar assistant, ce qui l'a fait compter : un marqueur porté par le dépôt, un nom cité au README, une commande d'invocationConvention AGENTS.md : nom · Claude Code : marqueur et nom · Codex CLI : nom · Cursor : nom · GitHub Copilot : nom · Windsurf : nom2026-06-022026-09-30

Critère 5 - Évaluation tierce

Niveau : Bas, aucun travail indexé ne cite l'entrée.

DonnéeDéfinitionValeurFaits auRelevé le
Travaux qui citent l'entréeTravaux indexés qui nomment l'adresse du dépôt, hors auto-citation par ses auteurs : leur nombre, et ce qu'ils sont02026-09-302026-09-30

Les travaux collectés : zéro trouvé suite à nos recherches, après exclusion de l'auto-citation.

Déclaré par nous

Éditorial : une personne l'a écrit et en répond, l'ayant vérifié.

DonnéeDéfinitionValeurDéclaré le
Fonctionne sans service hébergé ni clé de licenceDéclaré par nous, après lectureoui2026-09-07

Motif de « sans service hébergé » : Offre commerciale adossée : partage de specs payant. Le corpus le déclare : « le cycle s'exécute en local », le service payant portant sur le partage et non sur l'exécution

Autres données relevées

Elles n'entrent dans aucun critère.

DonnéeDéfinitionValeurFaits auRelevé le
LicenceLicence déclarée sur la forgeMIT2026-06-022026-09-30
Description du dépôtLa phrase d'accroche écrite par les auteurs sur la forgeSpec Driven Development Write codebase-aware specs for AI coding agents so they don't derail.2026-06-022026-09-30
Nombre de forksCopies du dépôt créées sur la forge382026-06-022026-09-30
AbonnésComptes qui suivent l'activité du dépôt72026-06-022026-09-30
Service hébergé requisPlus recherché : un README ne permet pas de distinguer un service imposé par le projet d'une clé d'API que l'adoptant choisitNon collecté2026-06-022026-09-30
Mode d'installationPremière famille d'installation trouvée dans le READMEgestionnaire de paquets2026-06-022026-09-30
Commande d'installationLa ligne du README où ce mode se lit, telle quelleuvx shotgun-sh@latest2026-06-022026-09-30

Classification

Calculée par la chaîne depuis les réponses de l'Analyste model_written généré : un modèle a lu l'inventaire du matériel que l'entrée livre, a choisi les pièces qu'il voulait lire en entier et nommé, pour chaque champ, les sources attendues que l'inventaire ne portait pas, puis répondu aux questions de fait que pose la méthode de chaque champ, chaque réponse citée et pesée ; la chaîne a vérifié chaque réponse, a ramené à la force qu'admet sa question une réponse qui la dépassait, en le disant à côté d'elle, puis calculé la valeur par la règle du champ, et son qualificatif. La version lue porte le commit de l'arbre lu, par ses premiers caractères quand la version n'est pas déjà ce commit. La référence manual éditorial est la valeur que l'Éditeur a lue, sous la définition qu'elle nomme : elle mesure l'accord et ne décide de rien ici. Les questions, la règle de chaque champ, et ce que veulent dire énoncé, indice, doute, principalement et semble, se lisent au labo.

ChampValeurSources attendues absentesJustificationVersion lueDéfinitionDéterminée leRéférenceAccord
CouvertureSDLCaucuneBranche 4 de la règle.0.13.0 · commit 4d344d5coverage-v52026-10-08SDLC, sous 0.1.0.dev3 ; dernier commit 4d344d5 du 2026-04-14 ; définition coverage-v1accord
EnchaînementWorkflowaucuneBranche 2 de la règle.0.13.0 · commit 4d344d5sequencing-v52026-10-08Workflow, sous 0.1.0.dev3 ; dernier commit 4d344d5 du 2026-04-14 ; définition sequencing-v1accord
Devenir de la specspec-anchoredaucuneBranche 4 de la règle.0.13.0 · commit 4d344d5spec-fate-v52026-10-08spec-first, sous 0.1.0.dev3 ; dernier commit 4d344d5 du 2026-04-14 ; définition spec-fate-v1désaccord

Les réponses que chaque règle a lues :

ChampQuestionRéponseForceCite
CouvertureL'entrée a-t-elle une étape de réalisation : une commande, un skill, un agent ou une boucle qui écrit le code de l'application à partir des artefacts de l'outil ?ouiénoncésrc/shotgun/agents/autopilot/prompts/execute_stage.j2 · src/shotgun/agents/autopilot/prompts/execute_parallel_stages.j2 · src/shotgun/agents/autopilot/prompts/context_preamble.j2 · You are working on **Stage {{ stage_number }} ONLY**. Do not work on any other stages. · Focus on quality - make sure the implementation is correct · 3. After completing each task, mark it done in {{ tasks_file_path }} by changing `- [ ]` to `- [x]` · **Spawn worker agents** (one per stage)
CouvertureCette étape de réalisation prend-elle en entrée une spécification, directement ou par un plan ou une liste de tâches qui en dérive ?ouiénoncésrc/shotgun/agents/autopilot/prompts/context_preamble.j2 · src/shotgun/agents/autopilot/prompts/execute_stage.j2 · src/shotgun/prompts/agents/specify.j2 · src/shotgun/prompts/agents/tasks.j2 · src/shotgun/prompts/agents/router.j2 · **.shotgun/specification.md** - The specification describing what to build · **{{ tasks_file_path }}** - The task list with stages and checkboxes (your source of truth for what to do) · Testing strategies and acceptance criteria · specification.md - WHAT to build (requirements, architecture, behavior, acceptance criteria) · Include acceptance criteria as executable commands (npm test, curl endpoints)
CouvertureUne étape a-t-elle pour objet la découverte au sens strict, explorer et qualifier le besoin avant de décider, et en persiste-t-elle le résultat dans un fichier qu'elle seule écrit ?nonénoncésrc/shotgun/prompts/agents/research.j2 · src/shotgun/prompts/agents/specify.j2 · src/shotgun/prompts/agents/plan.j2 · src/shotgun/prompts/agents/tasks.j2 · src/shotgun/prompts/agents/export.j2 · src/shotgun/prompts/agents/router.j2 · Your job is to help the user research subjects related to their software project and maintain research.md. · You have exclusive write access to: `research.md` and `.shotgun/research/*` · Research specific API endpoints, not general programming tutorials · Document exact library versions and compatibility requirements · Research existing codebase patterns for consistency · 1. Research existing codebase patterns first (delegate_to_research)
CouvertureUne étape de découverte est-elle reliée à la chaîne : le parcours déclaré ou l'aiguillage la nomme-t-il, ou une étape en aval lit-elle son résultat ?nonénoncésrc/shotgun/prompts/agents/research.j2 · src/shotgun/prompts/agents/router.j2 · src/shotgun/prompts/agents/specify.j2 · src/shotgun/prompts/agents/plan.j2 · src/shotgun/prompts/agents/tasks.j2 · The workflow: Research → Specification → Plan → Tasks → Export · The research step is critical - you cannot write a good spec without understanding the existing codebase architecture. · Research existing codebase patterns for consistency · **Check research**: Read `research.md` if it exists to understand technical context and findings
EnchaînementL'entrée a-t-elle au moins deux étapes qui s'enchaînent dans une même unité de travail ?ouiénoncésrc/shotgun/prompts/agents/router.j2 · src/shotgun/prompts/agents/specify.j2 · src/shotgun/prompts/agents/plan.j2 · src/shotgun/prompts/agents/tasks.j2 · README.md · The workflow: Research → Specification → Plan → Tasks → Export · 1. Research existing codebase patterns first (delegate_to_research) · 2. Write specification second (delegate_to_specification) · 3. Create implementation plan third (delegate_to_plan) · 4. Generate tasks fourth (delegate_to_tasks) · 5. Generate CLAUDE.md or Agents.md last (delegate_to_export)
EnchaînementL'outil fixe-t-il un parcours unique de phases, avec un prérequis d'artefact entre elles, sur le chemin de toute unité de travail ?ouiénoncésrc/shotgun/prompts/agents/router.j2 · src/shotgun/prompts/agents/plan.j2 · src/shotgun/prompts/agents/tasks.j2 · README.md · You are the Router, the intelligent orchestrator for the Shotgun pipeline. · You are the only agent the user interacts with directly. · When creating a plan for a new feature or integration, include steps in this order: · This order ensures each stage has context from previous stages. · MUST READ `research.md` and `specification.md` BEFORE asking questions or creating plans · You CANNOT ask questions until you have first attempted to read both `research.md` and `specification.md` · Under the hood, the Router relies on specialized sub-agents.
EnchaînementSur le chemin de toute unité de travail, l'exécutant choisit-il l'élément suivant dans un même magasin persistant d'éléments de travail, dotés d'un état et de dépendances, dont il calcule les éléments prêts et qu'il réclame avant de les travailler ?nonénoncésrc/shotgun/prompts/agents/tasks.j2 · src/shotgun/agents/autopilot/prompts/execute_stage.j2 · src/shotgun/agents/autopilot/prompts/execute_parallel_stages.j2 · src/shotgun/prompts/agents/plan.j2 · The `[ ]` / `[X]` checkboxes are the ONLY mechanism for tracking completion · Every stage MUST have a "Depends on:" line · Align tasks with action steps outlined in plan.md - plan.md is your primary source for implementation stages and ordering · All stages in this batch have their dependencies satisfied and can run concurrently. · **Spawn worker agents** (one per stage) · 3. After completing each task, mark it done in {{ tasks_file_path }} by changing `- [ ]` to `- [x]`
EnchaînementL'entrée offre-t-elle un ensemble d'éléments décrits, skills ou agents, parmi lesquels l'étape suivante se choisit sur le moment, avec un mécanisme de sélection et sans parcours imposé ?nonénoncésrc/shotgun/prompts/agents/router.j2 · src/shotgun/prompts/agents/plan.j2 · src/shotgun/prompts/agents/tasks.j2 · README.md · When creating a plan for a new feature or integration, include steps in this order: · This order ensures each stage has context from previous stages. · MUST READ `research.md` and `specification.md` BEFORE asking questions or creating plans · Under the hood, the Router relies on specialized sub-agents. · You are the only agent the user interacts with directly.
Devenir de la specL'entrée a-t-elle une étape de réalisation : une commande, un skill, un agent ou une boucle qui écrit le code de l'application à partir des artefacts de l'outil ?ouiénoncésrc/shotgun/agents/autopilot/prompts/execute_stage.j2 · src/shotgun/agents/autopilot/prompts/execute_parallel_stages.j2 · src/shotgun/agents/autopilot/prompts/context_preamble.j2 · You are working on **Stage {{ stage_number }} ONLY**. Do not work on any other stages. · Focus on quality - make sure the implementation is correct · 3. After completing each task, mark it done in {{ tasks_file_path }} by changing `- [ ]` to `- [x]` · **Spawn worker agents** (one per stage)
Devenir de la specCette étape de réalisation prend-elle en entrée une spécification, directement ou par un plan ou une liste de tâches qui en dérive ?ouiénoncésrc/shotgun/agents/autopilot/prompts/context_preamble.j2 · src/shotgun/agents/autopilot/prompts/execute_stage.j2 · src/shotgun/prompts/agents/specify.j2 · src/shotgun/prompts/agents/tasks.j2 · src/shotgun/prompts/agents/router.j2 · **.shotgun/specification.md** - The specification describing what to build · **{{ tasks_file_path }}** - The task list with stages and checkboxes (your source of truth for what to do) · Testing strategies and acceptance criteria · specification.md - WHAT to build (requirements, architecture, behavior, acceptance criteria) · Include acceptance criteria as executable commands (npm test, curl endpoints)
Devenir de la specLe lot montre-t-il des fichiers de code marqués générés, à ne pas modifier, et une commande qui les régénère depuis la spécification ?nonénoncésrc/shotgun/agents/autopilot/prompts/context_preamble.j2 · src/shotgun/prompts/agents/specify.j2 · src/shotgun/agents/autopilot/prompts/execute_stage.j2 · src/shotgun/prompts/agents/export.j2 · Files in `.shotgun/contracts/` and any code examples in `.shotgun/` are **specifications and reference implementations, not production code**. · **Copy** relevant patterns and adapt them to fit the project's conventions · **Never** import from, reference, or directly use files in `.shotgun/` from production code · **Write** your own implementation code to the proper locations in the codebase
Devenir de la specSur une demande nouvelle portant sur une fonctionnalité déjà livrée, une étape dit-elle reprendre la spécification existante, ou en ouvrir une autre ?la reprendénoncésrc/shotgun/prompts/agents/router.j2 · src/shotgun/prompts/agents/specify.j2 · README.md · When a user asks to "add feature Y", add it to the relevant existing sections. · When a user asks to "update section X", update ONLY that section. · Always respect what already exists - don't rewrite files unnecessarily · Subsequent requests: After completing the plan, if the user makes additional requests, you can execute them directly without creating a new plan first. · **Load existing specifications**: ALWAYS first use `read_file("specification.md")` to see what specifications already exist · replace_markdown_section - update a specific section · FAILURE: Rewriting the entire file when user asked to update one section · Keep specification.md as the single source of truth

Ce que l'Analyste a lu : l'inventaire de 32 fichiers de prose, chacun par son chemin et son préambule, puis 11 pièces demandées sous prompt-pieces-v3 : src/shotgun/prompts/agents/router.j2 · src/shotgun/prompts/agents/specify.j2 · README.md · src/shotgun/agents/autopilot/prompts/execute_stage.j2 · src/shotgun/agents/autopilot/prompts/context_preamble.j2 · src/shotgun/prompts/agents/research.j2 · src/shotgun/prompts/agents/tasks.j2 · src/shotgun/agents/autopilot/prompts/execute_parallel_stages.j2 · src/shotgun/prompts/agents/plan.j2 · src/shotgun/prompts/agents/partials/common_agent_system_prompt.j2 · src/shotgun/prompts/agents/partials/router_delegation_mode.j2.

ChampModèleInstructionEmpreinte de la matière fournie au modèle
Couvertureclaude-opus-5prompt-faits-v2ca1f0462c1b2983583abf659a318cf3a932912d9a04a1a331e3f33f421c78f29
Enchaînementclaude-opus-5prompt-faits-v2ca1f0462c1b2983583abf659a318cf3a932912d9a04a1a331e3f33f421c78f29
Devenir de la specclaude-opus-5prompt-faits-v2ca1f0462c1b2983583abf659a318cf3a932912d9a04a1a331e3f33f421c78f29

Ce qui a bougé depuis le 2026-09-09

Aucun mouvement : cette entrée garde son rang et ses cinq niveaux.