/ Annuaire / Playground / pilot-shell
● Communauté maxritter ⚡ Instantané

pilot-shell

par maxritter · maxritter/pilot-shell

Claude Code piloté par les specs avec des portes qualité intégrées — chaque changement suit le pipeline planifier → spécifier → implémenter → vérifier avant d'être livré.

pilot-shell enveloppe Claude Code dans une boucle pilotée par les specs : les fonctionnalités commencent par des plans, deviennent des specs, sont implémentées contre des critères d'acceptation, et ne sont livrées qu'après que les portes passent (lint, type, test, doc). Il persiste aussi la connaissance du projet — invariants, décisions, pièges — afin que la qualité reste constante entre les sessions.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

prêt

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pilot-shell-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/maxritter/pilot-shell",
        "~/.claude/skills/pilot-shell"
      ],
      "_inferred": true
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "pilot-shell-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/maxritter/pilot-shell",
        "~/.claude/skills/pilot-shell"
      ],
      "_inferred": true
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "pilot-shell-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/maxritter/pilot-shell",
        "~/.claude/skills/pilot-shell"
      ],
      "_inferred": true
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "pilot-shell-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/maxritter/pilot-shell",
        "~/.claude/skills/pilot-shell"
      ],
      "_inferred": true
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "pilot-shell-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/maxritter/pilot-shell",
        "~/.claude/skills/pilot-shell"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "pilot-shell-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/maxritter/pilot-shell",
          "~/.claude/skills/pilot-shell"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add pilot-shell-skill -- git clone https://github.com/maxritter/pilot-shell ~/.claude/skills/pilot-shell

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : pilot-shell

Livrer une fonctionnalité avec la discipline spec-first

👤 Développeurs lassés des fonctionnalités IA à moitié faites ⏱ ~90 min intermediate

Quand l'utiliser : Demande de fonctionnalité vague du PM ; vous voulez qu'elle soit livrée correctement, pas vite.

Prérequis
  • Skill installé — git clone https://github.com/maxritter/pilot-shell ~/.claude/skills/pilot-shell
Déroulement
  1. Planifier
    Use pilot-shell. Plan the feature 'export usage CSV per workspace per month'. List unknowns + risks.✓ Copié
    → Plan avec inconnues explicites ; vous comblez les lacunes avant l'étape suivante
  2. Spécifier
    From the plan, write a spec with acceptance criteria + non-goals + edge cases.✓ Copié
    → Spec sauvegardée dans /specs/<feature>.md
  3. Implémenter
    Implement against the spec. Tests first, then code. Stop at any unmet criterion.✓ Copié
    → Tests + implémentation ; tests en échec visibles jusqu'à ce que l'implémentation passe
  4. Vérifier les portes
    Run all gates: lint, type, tests, docs. Block PR if any red.✓ Copié
    → Rapport de portes ; seulement le vert = candidat à la merge

Résultat : Fonctionnalités livrées selon les specs, avec tests et docs.

Pièges
  • La phase spec s'éternise en marathon de planification — Time-boxer la phase spec à 30 min ; livrer la plus petite spec qui verrouille l'acceptation
Combiner avec : filesystem

Arrêter d'ouvrir des PRs qui échouent la CI au premier run

👤 Développeurs dont les PRs échouent fréquemment sur lint/type errors ⏱ ~30 min intermediate

Quand l'utiliser : Vous avez ouvert 3 PRs cette semaine ; toutes ont échoué la CI sur les bases.

Déroulement
  1. Configurer les portes
    Use pilot-shell. Configure quality gates to mirror our CI: eslint, tsc, vitest, prettier.✓ Copié
    → .pilot.config.json avec les portes listées
  2. Bloquer sur rouge
    Set policy: don't open PR until all gates green locally.✓ Copié
    → Politique appliquée
  3. Mesurer
    After 2 weeks, compare CI first-run pass rate before/after.✓ Copié
    → Taux de réussite en hausse

Résultat : PRs qui passent la CI au premier essai ; moins de surcharge pour les reviewers.

Pièges
  • Portes locales légèrement différentes de la CI (version Node) — Épingler la version Node locale avec .nvmrc ; reproduire les commandes exactes de la CI
Combiner avec : github

Préserver la connaissance projet quand l'équipe grandit

👤 Propriétaires de projet embarquant de nouveaux collaborateurs ⏱ ~30 min beginner

Quand l'utiliser : Vous passez la main / partagez le projet ; vous voulez capturer les décisions et invariants.

Déroulement
  1. Initialiser le fichier de connaissance
    Use pilot-shell. Initialize project knowledge with: architecture, key invariants, decisions log.✓ Copié
    → /.pilot/knowledge.md créé avec les sections
  2. Capturer au fil du temps
    Whenever a decision is made (chose Postgres over MySQL), record with date + reason.✓ Copié
    → Décisions s'accumulent ; les nouveaux collaborateurs peuvent lire l'historique
  3. Utiliser lors de l'embarquement
    When a new collaborator starts, point Claude Code to this file as primary context.✓ Copié
    → Montée en vitesse accélérée ; moins de «pourquoi c'est comme ça»

Résultat : La connaissance survit aux changements d'équipe.

Pièges
  • Le fichier de connaissance devient un journal de trivialités — Rester concis : invariants, décisions, pièges. Pas un journal quotidien

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

pilot-shell-skill + github

Template de PR auto-rempli depuis la spec ; la CI valide les portes

When opening a PR, populate the body from the spec markdown; CI checks gates match.✓ Copié
pilot-shell-skill + filesystem

Specs et connaissance commitées dans le dépôt

Persist /specs/ and /.pilot/knowledge.md in repo for review history.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
plan feature_description Étape 1 de toute nouvelle fonctionnalité 0
spec plan_id Après résolution des inconnues du plan 0
implement spec_id Après approbation de la spec 0
run_gates scope? Pré-PR ; miroir CI 0
knowledge_update decision_or_invariant Capturer une décision au niveau projet 0

Coût et limites

Coût d'exécution

Quota d'API
Aucun — local
Tokens par appel
Docs de spec ~500–2000 tokens ; le fichier de connaissance est limité à ~3000 pour rester gérable
Monétaire
Gratuit
Astuce
Limiter knowledge.md à ~3000 tokens ; consolider périodiquement les entrées plus anciennes

Sécurité

Permissions, secrets, portée

Portées minimales : filesystem-write
Stockage des identifiants : Aucun
Sortie de données : Aucun

Dépannage

Erreurs courantes et correctifs

Les portes passent localement mais échouent en CI

Épingler la version Node, les dépendances spécifiques à l'OS ; reproduire la commande CI exacte

Vérifier : Comparer la sortie des commandes local vs CI
L'étape implémentation saute le test-first

Définir la politique strict_tdd=true dans .pilot.config ; l'outil refusera d'écrire l'implémentation avant les tests

La phase spec s'étire

Utiliser --time-box 30m ; forcer les décisions sur les inconnues au lieu de viser des specs parfaites

Fichier de connaissance trop long

Exécuter knowledge_consolidate ; archive les anciennes entrées vers /.pilot/archive/

Alternatives

pilot-shell vs autres

AlternativeQuand l'utiliserCompromis
spec-workflow-mcpVous voulez ceci comme serveur MCP avec une portée inter-outils (pas un skill Claude Code)Plus de configuration ; déploiement plus flexible
CLAUDE.md simple + TDD manuelProjet solo, vous n'avez pas besoin d'automatisationDépend de la discipline ; moins de garde-fous

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills