Outline-Driven Development
OutlineDriven/outline-driven-developmentПарадигма разработки с LLM-агентами на основе outline как единого источника истины. Использует AST-анализ, современные CLI-инструменты и контекстную инженерию. Поддерживает Claude Code, Gemini CLI, Codex CLI и IDE-агенты.
Установка
git clone https://github.com/OutlineDriven/outline-driven-development.gitREADME
Outline Driven Development: Новая парадигма для рабочих процессов LLM-агентов с расширенными возможностями.
Vibe-подход слишком поверхностен, Spec-подход слишком сложен.
Пусть будет outline.
И вот он!
Предварительные требования
ast-grep | ripgrep | fd | eza | lsd | tokei | bat | just | git-branchless | difftastic | procs | fend | hck | hyperfine | +другие инструменты | MCPs (context7, sequentialthinking-tools, actor-critic-thinking, shannon-thinking, repomix)
Установка различных CLI-инструментов на Rust с максимальными нативными оптимизациями через cargo
Установка Cargo (если не установлен)
Linux/macOS через cargo
Установка
export RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=mold -C opt-level=3 -C strip=symbols -C panic=abort -C lto=thin"
cargo install --locked cargo-binstall
cargo install ast-grep ripgrep fd-find eza lsd
cargo binstall -y bat tokei git-delta just raff-cli difftastic git-branchless zoxide procs bfs fselect tealdeer srgn nomino shellharden grex mergiraf jaq jql hck huniq lemmeknow hyperfine rargs eva fend rip2 sccacheWindows через cargo
Установка (выполнить в PowerShell)
$env:RUSTFLAGS="-C target-cpu=native -C opt-level=3 -C strip=symbols -C panic=abort -C lto=thin -C link-arg=/LTCG -C link-arg=/OPT:REF"
cargo install --locked cargo-binstall
cargo install ast-grep ripgrep fd-find eza lsd
cargo binstall -y bat tokei git-delta just raff-cli difftastic git-branchless zoxide procs bfs fselect tealdeer srgn nomino shellharden grex mergiraf jaq jql hck huniq lemmeknow hyperfine rargs eva fend rip2 sccacheУстановка
- Gemini CLI: https://github.com/OutlineDriven/odin-gemini-cli-extension
- Быстрая установка:
gemini extensions install https://github.com/OutlineDriven/odin-gemini-cli-extension
- Claude Code: https://github.com/OutlineDriven/odin-claude-plugin
- Быстрая установка:
wget -O ~/.claude/CLAUDE.md https://raw.githubusercontent.com/OutlineDriven/odin-claude-plugin/refs/heads/main/CLAUDE.md && claude plugin marketplace add OutlineDriven/odin-claude-plugin && claude plugin install odin@odin-marketplace
- Быстрая установка:
- Codex CLI: https://github.com/OutlineDriven/odin-codex-plugin
- Быстрая установка:
git clone https://github.com/OutlineDriven/odin-codex-plugin.git && cp -r ./odin-codex-plugin/ ~/.codex/
- Быстрая установка:
- Только промпт (ручное применение для IDE/агентов: Antigravity/Windsurf/Cursor/Augument Code ...): Промпт
- Компактный промпт (ручное применение для IDE/агентов: Antigravity/Windsurf/Cursor/Augument Code ...): Промпт
Рекомендуемые MCP-расширения
Ключевые [устанавливаются автоматически]
ast-grep | context7 | sequentialthinking-tools | actor-critic-thinking | shannon-thinking
Дополнительные [устанавливаются вручную при необходимости]
Time, Tavily, Exa, Ref-tools
Философия Outline-Driven Development
Детерминированные каркасы управляют недетерминированным творчеством LLM только тогда, когда outline остаётся единственным источником истины, а каждый последующий этап проходит повторную валидацию относительно него.
Детерминированность при работе с недетерминированными LLM
- Outline как сборочная схема: Намерение разработчика, ограничения соответствия требованиям и архитектурные ограждения компилируются в версионированный outline, чей хэш становится управляющей оболочкой для каждого агентного действия.
- LLM как модуль: Вызовы LLM намеренно недетерминированы, но ограничены контрактом outline; несоответствие между сгенерированным кодом и outline немедленно останавливает или повторяет шаг.
- Телеметрическая обратная связь: Трассировки выполнения, результаты тестов и оценки по рубрикам непрерывно поступают в цикл уточнения outline для достижения воспроизводимой сборки.
Чеклист управляющей оболочки
- Канонический outline хранится с контентно-адресуемым ID и временными окнами подтверждений.
- Каждый вызов агента получает минимизированную дельту (срез outline) плюс явные метрики успеха.
- Детерминированность измеряется: шум diff ≤ 2% между последовательными запусками, соответствующими outline; более высокая вариативность запускает ужесточение outline перед повторной попыткой генерации.
Design-First / лучшие практики в комплекте
- Архитектура прежде всего: Каждый outline должен включать интерфейсы, пред- и постусловия, домены ошибок, бюджеты задержки и памяти до появления кода.
- Инструменты прежде всего:
eza,ast-grep,ripgrep,fd, LangGraph и MCP-стеки рассматриваются как обязательные компоненты, обеспечивающие воспроизводимость структурных правок, поиска и оркестрации. - Ворота качества: Цепочка Spec → outline → реализация инструментирована воротами lint/test/benchmark и хуками отката.
- Наблюдаемость: Узлы outline несут идентификаторы трассировки и контрактные утверждения, так что сбои атрибутируются листьям outline, а не непрозрачным LLM-диалогам.
Матрица трассируемости
| Диаграмма | Цель | Связанные инварианты |
|---|---|---|
| Архитектура | Отображение интерфейсов outline-к-тулчейну | Монотонность хэша outline |
| Поток данных | Гарантия того, что данные не обходят верификацию | Только контрактно-ограниченный ввод-вывод |
| Параллелизм | Сохранение отношений happens-before | Нет циклических ожиданий; отсутствие дедлоков |
| Память | Обеспечение модели владения и персистентности | Кэши без утечек, только-добавляемый аудит |
| Оптимизация | Привязка бюджетов к циклам обратной связи | Регрессия запускает детерминированный откат |