Методика работы с ИИ-агентами, чтобы получать то, что задумали.

ProjectStore — методика и фреймворк для создания приложений и сервисов любой сложности с помощью ИИ-агентов.

В первую очередь это способ работы человека и агентов. Вы решаете, что строить. Агент пишет план, второй агент ищет в нём дыры, вы одобряете. Потом агент делает, а третий сверяет результат с вашим чек-листом — по каждому пункту.

Ставится плагином в Claude Code и Codex. Дальше вы просто говорите с агентом своими словами, а решения, планы и прогресс он сам сохраняет обычными файлами в вашем проекте. Завтра, на другой машине или в другом агенте работа продолжается с того же места.

Работает в Claude Code и Codex. Скоро OpenCode, следом Gemini, Z.ai и DeepSeek.

  • Агент сказал, что всё работает. Не работает.

    Ревьюер не закроет задачу, пока не проверен каждый пункт чек-листа.

  • Утром новая сессия — и опять объяснять, что это за проект.

    Сессия начинает с доски задач и текущей задачи.

  • Он снова предлагает Mongo, хотя вчера выбрали Postgres.

    Решение записано вместе с причиной, и агент ему следует.

  • Кончились лимиты, а Codex ничего не знает о проекте.

    Codex читает те же файлы и продолжает.

  • Через месяц сами не понимаете, почему код такой.

    У каждого решения есть файл с причиной и отвергнутыми вариантами.

Подходы, где агент работает по документам, а не по одному промпту.

ПодходЧто ведёт работуКогда «готово»Сильная сторонаСлабое место
Промпт в чатеохват: одна сессияПереписка с агентомАгент сказал «готово»Быстро и просто: говорите своими словами, код появляется сразуНет плана и проверки. Всё живёт в одной сессии и забывается к завтрашнему дню
SDDspec-driven developmentохват: фичаСпецификация: сначала описано, как должно работать, потом код. Например, GitHub Spec KitКод соответствует спекеСначала думают, потом пишут: «как» описано до кодаСпека пишется на одну фичу: решения всего проекта и связи между фичами остаются за её рамками
PDDproof-driven developmentохват: изменениеДоказательство: каждое изменение сдаётся вместе с подтверждением, что оно работаетЕсть тест, выполненная команда или строка кода«Готово» доказано тестом или командой, а не словами агентаДоказывает, что код работает, но не что сделано нужное: без спеки и плана не с чем сверять
ProjectStoreохват: весь проектРешения, спеки, стори и планы проекта в git, связанные между собой и с кодомРевьюер нашёл подтверждение под каждым критерием приёмкиВсе три сразу: разговор своими словами, спека и план до кода, доказательство после — для всего проекта, многих сессий, людей и агентовЦикл стоит токенов: черновики, критик и ревьюер работают на модели, за которую вы и так платите

ProjectStore берёт лучшее из трёх: разговор своими словами, спеку до кода и доказательство после. И держит это для всего проекта, а не для одной фичи.

Начать можно, даже если вы не программист.

Команды за вас выполнит агент. Вам нужно поставить две программы, открыть папку проекта и вставить одну фразу.

Быстрый старт

  1. Поставьте агента

    Агент — программа, которая пишет и запускает код по вашим словам. Подойдёт Claude (приложение, вкладка Code) или Codex от OpenAI.

  2. Поставьте Node.js и откройте папку проекта

    Node.js — среда, в которой работает ProjectStore: установщик LTS с nodejs.org, версия 20 или новее, macOS или Linux. Создайте пустую папку, например «my-bot», и откройте её в агенте.

  3. Установите

    Попросите агента или выполните команду в терминале в папке проекта. В Codex — только терминал. Терминал — окно, где команды набирают текстом; на Mac: Программы → Утилиты → Терминал.

    Install the projectstore plugin from https://github.com/SmartAndPoint/ProjectStore and set it up for this project.

    Для Claude Code. В Codex — вкладка «Через терминал».

    ~/your-project $
    npx projectstore setup

    После установки перезапустите агента; Codex один раз попросит одобрить его хуки.

  4. Скажите, что хотите сделать

    I want to create a stock trading bot

    «Хочу сделать бота для торговли акциями»

  5. Ответьте на вопросы

    Прежде чем планировать, агент спрашивает то, что решать только вам:

    The project is empty—no code, and the vault just has README scaffolding with no epics, stories, or ADRs yet. Per CLAUDE.md, I'll start with an epic and its stories in the vault rather than code, but first I need you to make a few decisions that will shape the plan.

    Перевод: «Проект пустой, кода и заметок пока нет. Начну с плана, а не с кода. Но сначала нужны ваши решения».

    Should the bot trade real money? (торговать реальными деньгами?)

    1. Paper only (Recommended) · учебный счёт
    2. Backtest only · исторические данные, без брокера
    3. Live, with safeguards · аварийная остановка, лимиты позиций и убытка

    Из настоящей сессии Claude Code в пустом проекте, 21 октября 2026. Текст агента дословный, описания вариантов сокращены, русский — перевод.

  6. Одобрите план

    К этому моменту критик его уже проверил. После вашего «да» агент делает работу, а ревьюер сверяет результат с чек-листом.

Что можно сделать

Просто говорите с агентом своими словами. Например:

Начать проект с идеи

I want to create a stock trading bot

Агент спрашивает то, что решать только вам, и пишет план: эпики, задачи, чек-лист к каждой. Кода пока нет.

Решить один раз

Let's go with Postgres, not Mongo — we need transactions.

Решение становится файлом вместе с отвергнутыми вариантами. Следующие сессии следуют ему, а не решают заново.

Сделать фичу по чек-листу

Take the next story and build it

Планировщик находит место в коде, агент пишет код и тесты, ревьюер проверяет каждый пункт, прежде чем работа считается сделанной.

Продолжить завтра

Where were we?

Новая сессия читает доску и текущую задачу и продолжает с того же места.

Собран на самом себе

Мы строим ProjectStore с помощью ProjectStore.

Цикл с независимой проверкой внутри.

Агенты быстро пишут код и так же быстро пересматривают решённое: каждая новая сессия начинает с нуля. Лечится это не более умным агентом. Лечится циклом «собрать контекст → действовать → проверить», который идёт над проектом, а не только над кодом.

Цикл ProjectStore. Решение: задача от вас, ADR, спека или стори, независимый критик, ваше одобрение. Разработка: планировщик, реализация, независимый ревьюер, готово. Каждый артефакт попадает в vault, и следующая сессия его видит.
решение разработка ↺ revise агент берёт в работу ↺ fix доска, граф связей и карта кода пересобираются следующая сессия это видит Задачаот вас ADR · спека · стори«почему» на диске независимая проверкаcriticчистый контекст Выодобряете plannerгде в коде реализациякод + тесты независимая проверкаreviewerпо критериям готово ✓критерии выполнены
  1. 01Вы говорите, что хотите. Агент открывает артефакт раньше, чем редактор.
  2. 02ADR — когда нужно что-то решить, эпик и стори — для работы, спека — когда «как» неочевидно. Всё сначала показывается, а записывается после вашего «да».
  3. 03Критик с чистым контекстом, которому незачем защищать черновик, атакует его. Ждите «revise».
  4. 04Вы одобряете правки. Артефакт помечается как прошедший ревью и попадает в бэклог.
  5. 05Агент берёт стори. Планировщик читает, как прошлые эпики легли в код, и говорит, где место этому изменению.
  6. 06Код и тесты по плану стори.
  7. 07Ревьюер с чистым контекстом сверяет диф с каждым критерием приёмки и просит подтверждение.
  8. 08Готово, с подтверждением под каждым критерием. Доска, граф связей и карта кода пересобираются.
Как проходит задача
Анимированная терминальная панель с циклом на реальном эпике. Вы просите систему копирования между своими устройствами; агент пишет эпик и истории; критик со свежим контекстом возвращает их с двумя блокерами; вы одобряете исправления; планировщик находит, где это в коде; код и тесты; ревьюер сверяет каждый критерий приёмки; готово. Доска задач, граф связей и карта кода обновляются, и следующая сессия их видит. Боковая панель показывает дежурного критика и ревьюера. Текст в анимации — на английском.

6 агентов. Всем, кроме одного, разрешено только читать.

Советники проверяют, планируют и наводят порядок, но ничего не меняют. Один клерк сохраняет только то, что вы одобрили, и только после вашего «да».

criticтолько чтение · независимый

Когда написан или изменён ADR, спека, эпик, стори или дизайн

Ищет слабые места, сверяет каждое утверждение с источником и спрашивает, как план может провалиться. Без лести.

opus · max
plannerтолько чтение · независимый

До начала работы над стори (story plan)

Смотрит, где в коде живут прошлые эпики. Говорит, где место изменению, что переиспользовать, чего опасаться и в каком порядке работать.

opus · max
reviewerтолько чтение · независимый

После кода, до коммита или story close

Просит подтверждение по каждому критерию приёмки, включая критерии спеки. Затем проверяет корректность, регрессии и тесты.

opus · max
librarianтолько чтение · предлагает

Время от времени, перед релизами, после быстрого роста vault

Находит то, что не поймать правилом: исследования, которые противоречат принятому ADR, дубликаты, недостающие ссылки, файлы, которые пора убрать в архив.

opus · max
archaeologistтолько чтение · предлагает

Один раз, после привязки существующей кодовой базы

Находит решения, которые никто не записал: в коде, конфигах и истории git. Предлагает оформить их в ADR, с доказательствами.

opus · max
clerkпишет · после вашего «да»

Только в рамках команды, только после вашего «да»

Сохраняет ровно то, что вы одобрили, и ничего больше. Затем пересобирает доску и запускает проверки. Ничего не пишет от себя и ничего не спрашивает.

sonnet · max

Модели по умолчанию — для Claude Code. В Codex каждая роль — это одноимённый скилл, который просит Codex её запустить, например $projectstore-critic для критика; роль использует модель сессии, если вы не задали другую.

Всё держится на механизмах, а не на дисциплине.

Нет стори — напоминание

Агенту, который начал править код без открытой стори, напоминают открыть её. Изменение размером с фичу начинается в vault.

Пометка «без ревью» остаётся

Артефакт, которому нужно ревью, остаётся с review_status: pending, пока не применены итоги проверки критиком. «Ещё без ревью» — это состояние, которое читают инструменты, а не то, что кто-то должен помнить.

Doctor без ИИ

doctor детерминированно проверяет механическую согласованность vault. В CI он работает без агента и без токенов.

Куда смотреть — генерируется

graph.md хранит связи каждого артефакта в обе стороны; code-map.md говорит, где живёт код каждого эпика. Перед архитектурным выбором агента сначала отправляют к индексу ADR.

После /compact vault возвращается

В Claude Code после /compact, запущенного вами, сессия снова начинается со сводки по vault и с файлов vault, которые разговор затрагивал до сжатия.

Вторую сессию предупреждают

Сессия, которая стартует, пока другая работает с тем же vault, открывается с предупреждением о нескольких сессиях: сначала поищите, потом создавайте новое.

Стори закрывается с подтверждением под каждым критерием.

epics/CHECKOUT/stories/story-sohranennye-karty-pokazany-pri-oformlenii-zakaza.md
---
type: story
epic: "CHECKOUT"
title: "Сохранённые карты показаны при оформлении заказа"
status: done
code_refs: ["src/billing/cards/", "tests/cards.test.ts"]
closed_at: "2026-07-14T16:02:11Z"
---

## Критерии приёмки

- [x] Сохранённые карты показаны первыми — подтверждение: tests/cards.test.ts:21
- [x] У отклонённой карты показана причина отказа банка — подтверждение: tests/cards.test.ts:58
- [x] Номер карты не попадает в логи — подтверждение: tests/cards.test.ts:73

Ещё до кода планировщик сказал, где место изменению, и план попал в стори после вашего «да»; после кода ревьюер сверил диф с каждым критерием. Каждая строка подтверждения — это тест, выполненная команда или строка кода.

Эти записи может прочитать любой агент, с плагином или без: через CLI, который отвечает JSON и не тратит токены, или через 8 инструментов MCP-сервера, доступных только для чтения.

  • orientation
  • search
  • status
  • get_artifact
  • lineage
  • neighbors
  • code_refs
  • doctor

Оговорки

Много сессий. Много людей. Один vault.

Контекст принадлежит команде. Не чату одного разработчика. ADR и спеки проходят через pull request, как код. На ревью — ход рассуждений.

Четыре способа работы

Несколько сессий, один vault

Два агента или два человека в одном vault одновременно — это нормально. Каждая сессия знает о других, а несколько простых правил не дают им мешать друг другу.

  • Никаких тихих перезаписей. Перед сохранением нового файла ProjectStore проверяет, что его ещё нет. Две сессии на одну тему получат конфликт, а не две копии.
  • Каждая строка статуса показывает свою работу. 2–6 сессий рядом — и каждая видит ровно свой эпик и свою стори.
  • Имя сессии предлагается, а не навязывается. Когда сессия сосредоточилась на одной задаче, она предлагает для неё имя. Редко: не больше двух раз за сессию, 12 предложений на девять записанных сессий.
вторая сессия в your-project-vaultClaude Code
разработчик A работает над CHECKOUT с 13:35. вы открываете вторую сессию:

⚠ Multi-session warning — 1 other projectstore session active.
  Run /projectstore:search <topic> before creating new artifacts.

позже, когда работа сосредоточится на «Сохранённые карты показаны при оформлении заказа»:
projectstore: this session looks like "checkout-sohranennye-karty-pokazany-pri"
  → /rename checkout-sohranennye-karty-pokazany-pri

Каждый видит не только свою часть.

Разработчик, техлид и QA работают с одними и теми же решениями и критериями. Человеку без агента достаточно GitHub или редактора Markdown: это всего лишь файлы.

Контекст доступен всей команде, а не только владельцу чата.

Общие контракты. Свои зоны работы.

В одном проекте API-, Web- и Platform-команды ведут свои эпики на основе общих ADR и спек. Изменение общего контракта обсуждают на ревью с командами, которые им пользуются. ProjectStore показывает, какие стори от него зависят.

Ответственных за артефакты и согласование контрактов определяет команда.

Разные исполнители. Общие основания.

Планировщик читает решения и карту кода. Исполнитель — стори и спеку. Ревьюер — диф и критерии. Каждый получает нужный ему контекст, а не всю историю чужой сессии. Сессии в одном vault предупреждают друг друга.

Запуск агентов и передача работы между ними — задача вашего harness или оркестратора.

Пример организации работы, а не оркестрация в реальном времени

Как это выглядит в git

Разработчики со своими агентами привязаны к одному vault в отдельном git-репозитории. ADR и спеки проходят ревью через pull request. Коллега без агента смотрит их на GitHub или в Obsidian. настройка push / pull ревью и pull Разработчик AClaude Code + projectstoreагент Разработчик BCodex + projectstoreагент Разработчик Cбез агентаревью в GitHub или Obsidian your-project-vault свой git-репо · обычный markdown adr/ решения, с датами specs/ как должно работать epics/ · stories/ бэклог kanban.md доска graph.md все связи code-map.md эпик ↔ код каждая запись показана и одобрена git remote GitHub · GitLab · что угодно ADR и спеки ревьюятся как pull request: ревью проходит «почему», а не только код
Положите vault в отдельный репозиторий. Каждый ставит ProjectStore, привязывается к тому же vault и сохраняет изменения только после одобрения. Коллега без агента проводит ревью на GitHub или в Obsidian.

Вся страница «Один vault, много людей» →

Индустрия придумала это давно.
Агенты сделали это дешёвым.

ADR, ревью, бэклог, критерии приёмки, связь от цели до кода. Зрелые инженерные команды работают так уже двадцать лет. ProjectStore здесь ничего не изобретает.

Откуда взялась каждая часть

  1. 1969RFC: решения записаны, пронумерованы и обсуждаются открыто.
  2. 1992DO-178B: в авионике каждое требование должно прослеживаться до кода и до теста.
  3. 1995Scrum: работа как упорядоченный и видимый бэклог.
  4. 1999XP: пользовательские истории и критерии приёмки, по которым видно, что история готова.
  5. 2007Kanban для разработки: доска, которая показывает, что в работе.
  6. 2011ADR, Майкл Найгард: один короткий файл на каждое архитектурное решение.
  7. сейчасАгенты для кода: каждый шаг занимает минуты. Без артефактов каждая сессия начинается с нуля.

Процесс всегда был ценным. Дорого было другое: каждый его шаг делали люди.

процесс людей+скорость агентов=ProjectStore

ProjectStore соединяет одно с другим. Скорость агентов впервые делает старый процесс дешёвым. А его документы, которые лежат в файлах рядом с кодом, дают агентам то, чего у них не было: контекст проекта со связями вверх, к целям, и вниз, к коду. По правилу ревью каждого шага проводит второй агент, который не писал черновик. У скорости появляется память, а у памяти — проверка.

Связи, которые агент получает бесплатно: от цели до доказательства

  1. цельЭпикCHECKOUT · зачем мы это делаемepic:
  2. почемуADRрешение и отклонённые вариантыadr: [ ]
  3. какСпекаожидаемое поведениеspecs: [ ]
  4. чтоСториплан и критерии приёмкиcode_refs:
  5. гдеКодsrc/billing/cards/ · там же, где прошлые эпики— подтверждение:
  6. доказательствоПодтверждениеtests/cards.test.ts:58 · по каждому критерию

Связи хранятся в шапке каждого файла, а подтверждение — это строка под каждым критерием приёмки. Агент заполняет всё это по ходу работы. Карта связей показывает, с чем связан каждый документ. Карта кода — где живёт код каждого эпика. Новая сессия, новая модель или новый коллега начинают с этой цепочки, а не с нуля.

Вся страница «Почему это работает» →

Бесплатно и с открытым кодом

Лицензия MIT. Заметки ваши: обычные файлы в вашем же репозитории.