/ Каталог / Песочница / pilot-shell
● Сообщество maxritter ⚡ Сразу

pilot-shell

автор maxritter · maxritter/pilot-shell

Spec-driven Claude Code со встроенными quality gate — каждое изменение проходит план → спецификацию → реализацию → проверку перед приземлением.

pilot-shell оборачивает Claude Code в spec-driven цикл: фичи начинаются как планы, превращаются в спецификации, реализуются по критериям приёмки и отгружаются только после прохождения gate (lint, type, test, doc). Также сохраняет знания о проекте — инварианты, решения, подводные камни — чтобы качество сохранялось между сессиями.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

готово

Установка

Выберите клиент

~/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
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.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 использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

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
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "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
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

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

Continue использует массив объектов серверов, а не 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"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

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

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: pilot-shell

Отгрузка фичи со spec-first дисциплиной

👤 Разработчики, устав от наполовину реализованных AI-фич ⏱ ~90 min intermediate

Когда использовать: Расплывчатый запрос от PM; хотите сделать правильно, а не быстро.

Предварительные требования
  • Установленный скилл — git clone https://github.com/maxritter/pilot-shell ~/.claude/skills/pilot-shell
Поток
  1. Планирование
    Use pilot-shell. Plan the feature 'export usage CSV per workspace per month'. List unknowns + risks.✓ Скопировано
    → План с явными неизвестными; заполняете пробелы перед следующим шагом
  2. Спецификация
    From the plan, write a spec with acceptance criteria + non-goals + edge cases.✓ Скопировано
    → Spec сохранён в /specs/<feature>.md
  3. Реализация
    Implement against the spec. Tests first, then code. Stop at any unmet criterion.✓ Скопировано
    → Тесты + реализация; неудачные тесты видны до прохождения реализации
  4. Проверка gate
    Run all gates: lint, type, tests, docs. Block PR if any red.✓ Скопировано
    → Отчёт gate; только зелёный = кандидат на merge

Итог: Фичи, отгружаемые с полным spec, тестами и документацией.

Подводные камни
  • Фаза spec превращается в бесконечный marафон планирования — Ограничьте фазу spec по времени до 30 мин; отгружайте минимальный spec, фиксирующий приёмку
Сочетать с: filesystem

Прекратить открывать PR, которые проваливают CI с первого раза

👤 Разработчики, чьи PR часто отклоняются из-за lint/type ошибок ⏱ ~30 min intermediate

Когда использовать: На этой неделе вы открыли 3 PR; все провалились в CI на базовых проверках.

Поток
  1. Настроить gate
    Use pilot-shell. Configure quality gates to mirror our CI: eslint, tsc, vitest, prettier.✓ Скопировано
    → .pilot.config.json со списком gate
  2. Блокировать при красном
    Set policy: don't open PR until all gates green locally.✓ Скопировано
    → Политика применена
  3. Измерить результат
    After 2 weeks, compare CI first-run pass rate before/after.✓ Скопировано
    → Pass rate вырос

Итог: PR, проходящие CI с первого раза; меньше churna для ревьюеров.

Подводные камни
  • Локальные gate тонко отличаются от CI (версия Node) — Зафиксируйте локальную версию Node в .nvmrc; точно зеркальте команды CI
Сочетать с: github

Сохранение знаний о проекте по мере роста команды

👤 Владельцы проектов, онбордящие новых коллаборантов ⏱ ~30 min beginner

Когда использовать: Передаёте/делитесь проектом; хотите зафиксировать решения и инварианты.

Поток
  1. Засеять файл знаний
    Use pilot-shell. Initialize project knowledge with: architecture, key invariants, decisions log.✓ Скопировано
    → Создан /.pilot/knowledge.md с разделами
  2. Накапливать по ходу работы
    Whenever a decision is made (chose Postgres over MySQL), record with date + reason.✓ Скопировано
    → Решения накапливаются; новые коллабораторы могут читать историю
  3. Использовать при онбординге
    When a new collaborator starts, point Claude Code to this file as primary context.✓ Скопировано
    → Быстрый старт; меньше «почему так сделано»

Итог: Знания переживают смены состава команды.

Подводные камни
  • Файл знаний превращается в журнал мелочей — Держите кратко: инварианты, решения, подводные камни. Не ежедневный лог

Комбинации

Сочетайте с другими MCP — эффект x10

pilot-shell-skill + github

Шаблон PR автозаполняется из spec; CI проверяет соответствие gate

When opening a PR, populate the body from the spec markdown; CI checks gates match.✓ Скопировано
pilot-shell-skill + filesystem

Spec и знания закоммичены в репозиторий

Persist /specs/ and /.pilot/knowledge.md in repo for review history.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
plan feature_description Шаг 1 любой новой фичи 0
spec plan_id После разрешения неизвестных из плана 0
implement spec_id После одобрения spec 0
run_gates scope? Перед PR; зеркало CI 0
knowledge_update decision_or_invariant Зафиксировать решение уровня проекта 0

Стоимость и лимиты

Во что обходится

Квота API
Нет — локально
Токенов на вызов
Spec-документы ~500–2000 токенов; файл знаний ограничен ~3000 для управляемости
Деньги
Бесплатно
Совет
Ограничьте knowledge.md ~3000 токенами; периодически консолидируйте более старые записи

Безопасность

Права, секреты, радиус поражения

Минимальные скоупы: filesystem-write
Хранение учётных данных: Нет
Исходящий трафик: Нет

Устранение неполадок

Частые ошибки и исправления

Gate проходит локально, но не в CI

Зафиксируйте версию Node, зависимости для ОС; точно зеркальте команду CI

Проверить: Сравните вывод локальной команды и CI
Шаг реализации пропускает TDD

Задайте strict_tdd=true в .pilot.config; инструмент откажется писать реализацию до тестов

Фаза spec затягивается

Используйте --time-box 30m; принимайте решения по неизвестным вместо идеальных spec

Файл знаний слишком длинный

Запустите knowledge_consolidate; архивирует старые записи в /.pilot/archive/

Альтернативы

pilot-shell в сравнении

АльтернативаКогда использоватьКомпромисс
spec-workflow-mcpХотите это как MCP-сервер с кросс-инструментным охватом (а не как скилл Claude Code)Больше настройки; более гибкий деплой
Plain CLAUDE.md + manual TDDСоло-проект, автоматизация не нужнаЗависит от дисциплины; меньше защитных барьеров

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills