av/facts
av/facts — workflow спецификаций: требования как атомарные утверждения в .facts и проверка facts check, цикл от @draft до @implemented.
Что такое facts?
av/facts — это workflow и формат спецификаций для управления проектом в виде списка атомарных утверждений в файле .facts. Каждая строка — короткое структурированное утверждение о том, что должно быть верно, с опциональной командой shell, которую машина выполняет для проверки утверждения.
Основная цель — позволить агенту и вашей команде держать требования проекта читаемыми и проверяемыми: вы пишете грубые истины, уточняете их в точные спецификации, затем реализуете и проверяете. Запустите facts check, чтобы увидеть, какие утверждения прошли, провалились или требуют ручного внимания.
Ключевые возможности
- Атомарный формат спецификаций «fact» (
.facts): Пишите по одному утверждению на строку в виде простых строк, организованных Markdown-заголовками по доменам. - Теги жизненного цикла для отслеживания прогресса: Используйте
@draft,@specи@implemented(плюс любые кастомные теги), чтобы показать стадию каждого утверждения в пайплайне. - Проверка с помощью команд: Для фактов с
commandкомандаfacts checkвыполняет её и считает утверждение верным, если команда завершается с кодом0. - Автоматизированная проверка и группировка статусов:
facts checkпроверяет файлы на линтинг, выполняет все команды, группирует результаты (например, зелёный — passed, красный — fail, жёлтый — manual); выходит с ненулевым кодом при неудачах. - Коды выхода и фильтрация, удобные для CI: Фильтруйте проверки по теговым выражениям (например,
--tags "mvp and not blocked"), чтобы проверять подмножества спецификаций. - Переходы и реализация, управляемые агентом, против спецификации: Агент читает лист фактов, берёт
@spec-факты, строит их, запускаетfacts checkи тегает прошедшие как@implemented, пока спецификация обновляется сама.
Как использовать facts
- Установите CLI/инструменты агента (проект предлагает несколько вариантов, включая Rust-бинарник и
npx-команду, как описано ниже).- Пример:
npx skills add av/facts - Затем попросите агента запустить Init facts (например, «Init facts»), чтобы обнаружить стек и создать начальный файл
.facts.
- Пример:
- Создайте или отредактируйте файл
.factsв документированном формате:- Добавляйте заголовки для организации по доменам (например,
# auth,# data). - Добавляйте по одному утверждению на строку.
- Тегайте каждый факт метками стадий жизненного цикла, такими как
@draft,@specили@implemented. - Для проверяемых утверждений включайте
command, которая выходит с0, когда утверждение верно.
- Добавляйте заголовки для организации по доменам (например,
- Запустите проверку: используйте
facts checkдля линтинга и проверки всех фактов (или--tagsдля ограничения). Просмотрите, какие прошли, провалились или требуют ручной работы. - Итерации с агентом: пишите грубые идеи как
@draft, уточняйте в@spec, затем пусть агент реализует@spec-факты и тегает их как@implementedпосле прохожденияfacts check.
Случаи использования
- Валидация спецификаций проекта после изменений: Держите живой чеклист того, что должно быть верно, и запускайте
facts checkпосле правок, чтобы быстро увидеть, что осталось. - Преобразование требований в исполняемые проверки: Конвертируйте утверждения «должно быть верно» (типа поведения аутентификации или правил обработки данных) в факты с проверкой на основе команд.
- Управление работой в процессе с жизненным циклом фактов: Используйте
@draft → @spec → @implementedдля коммуникации прогресса и обеспечения, что каждое утверждение либо реализовано/проверено, либо явно помечено для уточнения. - Автоматическое обнаружение и классификация кодовой базы: Используйте скилл
facts-discoverдля сканирования кодовой базы и классификации фактов по стадиям, включая добавление пропущенных истин. - Реализация против спецификации: Используйте flow
facts-implement, где агент читает@spec-факты, строит код, проверяет сfacts checkи обновляет теги.
FAQ
Это facts только формат документации или он реально проверяет утверждения?
Он делает и то, и другое: факты без команд могут проверяться агентом против кодовой базы, а факты с command — путём выполнения команды и проверки кода выхода 0.
Что делает facts check?
Линтит файлы, выполняет все указанные команды, группирует результаты по статусам (pass/fail/manual) и выходит с ненулевым кодом при неудачах.
Как организованы и отслеживаются факты?
Факты живут в файле .facts в структуре, совместимой с Markdown/YAML, с заголовками для организации по доменам и тегами (включая @draft, @spec, @implemented) для отслеживания статуса жизненного цикла.
Можно ли проверить только часть проекта?
Да. facts check поддерживает фильтрацию по тегам через --tags с булевыми выражениями.
Альтернативы
- Тестовые сьюты (unit/integration тесты): Традиционные тесты проверяют поведение, но чеклист
.factsподчёркивает человекочитаемые атомарные утверждения и пайплайн жизненного цикла/статусов, а не только автоматизированный pass/fail. - Статическая документация + code review: Доки фиксируют требования, но обычно не исполняемы напрямую;
factsсвязывает утверждения с проверкой черезfacts check. - Инструменты спецификаций с трассировкой требований: Инструменты, связывающие требования с реализацией, дают трассировку, но
factsиспользует формат утверждений построчно с опциональным выполнением команд и переходами по тегам жизненного цикла.
Альтернативы
GitBoard
GitBoard — нативное приложение для строки меню macOS для GitHub Projects: смотрите канбан, фильтруйте по статусам, ищите issue и создавайте/назначайте.
Biji
Biji - это универсальная платформа, разработанная для повышения продуктивности с помощью инновационных инструментов и функций.
Codex Plugins
Используйте Codex Plugins, чтобы объединять skills, интеграции приложений и MCP-серверы в повторно используемые сценарии для доступа к Gmail, Google Drive и Slack.
Struere
Struere — AI-native операционная система вместо таблиц: структурированные приложения с дашбордами, алертами и автоматизациями для задач и процессов.
OpenFlags
OpenFlags — open source self-hosted система feature flags для progressive delivery: локальная оценка в SDK и простая REST контрольная плоскость для безопасных релизов.
Planndu: Daily Task Planner
Planndu — это интуитивно понятное приложение для повышения продуктивности, разработанное, чтобы помочь пользователям организовывать задачи, управлять проектами, выстраивать рутины и улучшать концентрацию с помощью таких инструментов, как генерация с помощью ИИ и встроенный таймер Pomodoro.