Skip to content

Знания проекта ​

Модель ничего не знает о вашем проекте: как у вас принято называть сущности, где граница с соседним сервисом, какой логгер использовать. Jarvis не надеется, что она догадается, а подаёт это явно. Знания лежат в репозитории, в .jarvis/, проходят обычное ревью кода и одинаковы для всей команды.

Четыре вида знаний ​

ЧтоГдеЗачем
Документ.jarvis/knowledge/*.mdфакты о проекте: архитектура, домен, соглашения, границы системы
Стандарт.jarvis/standards/*.mdправило, которое должно соблюдаться, часто с проверкой кодом
Скилл.jarvis/skills/<имя>/, .agents/skills/<имя>/SKILL.mdкак делать определённый вид изменений: новый компонент, миграцию, эндпоинт
Глоссарий.jarvis/knowledge/glossary.mdтермины бизнеса и как они называются в коде

Документ ​

Обычный Markdown. В шапке можно сказать, к каким файлам кода он относится и каким агентам нужен. Без шапки документ подходит любой задаче.

markdown
---
paths: ["src/orders/**"]
agents: [research, specification]
---
# Заказы

Сумма заказа округляется один раз, при оформлении. ...

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

Стандарт ​

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

markdown
---
id: no-console
title: Никакого console.log в коде библиотеки
scope: { paths: ["src/**"] }
severity: required
verification:
  kind: deterministic
  check:
    pattern: { glob: "src/**/*.ts", mustNot: 'console\.log' }
---
Код библиотеки пишет через логгер.

Проверка смотрит только на строки, которые добавила задача. Старый код в затронутом файле нарушением не считается, иначе реализация никогда бы не закончила.

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

Скилл ​

Инструкция, как делать определённый вид работы, и описание, когда она применима: стек, пути, тип задачи, агент. Например, «как в нашем проекте менять React-компонент». Jarvis читает и общий формат SKILL.md, тот же, что у Claude Code, opencode и Codex, из .agents/skills и .claude/skills проекта и из ваших личных папок. Подробно — на странице скиллы.

Глоссарий ​

Таблица: термин, синонимы, как он называется в коде, источники. Когда задача говорит «повторная регистрация после отказа», поиск по коду расширяется до restartOnboarding и OnboardingService. Термин можно добавить на странице Knowledge → Glossary: Jarvis сначала проверит, что названные символы правда есть в коде.

Как знания попадают к агенту ​

Перед каждым шагом Jarvis собирает пакет: какие скиллы, стандарты и документы подходят этой задаче, этим файлам, этому стеку, этому агенту и типу задачи. Тип задачи — исправление, рефакторинг, тесты и т. д. — Jarvis определяет сам по словам задачи или берёт ваш выбор из «Новой задачи». Пакет укладывается в бюджет: сначала скиллы, потом стандарты, потом документы. Что не поместилось, агент видит списком и может прочитать по запросу. Все остальные скиллы проекта агент видит коротким списком с описаниями.

Поиск по базе знаний находит и код проекта: функции и классы. Глоссарий помогает искать по-русски — термин из задачи находит связанные с ним символы в коде.

Что именно агент видел, записывается вместе с его результатом. Если код вышел странным, можно проверить, на какие правила он опирался.

Подробнее о том, как пакет встраивается в промпт, — на странице как промпт настраивает агента.

С чего начать ​

Пустой .jarvis/ — нормальный старт. Дальше:

sh
jarvis onboard                        # заготовки architecture.md и conventions.md из фактов репозитория
jarvis onboard --module src/orders    # агент описывает модуль, проверенное ждёт вашего решения
jarvis ask "как у нас передают зависимости в хуки"   # проверить, что база знаний отвечает

onboard пишет только то, что проверяется по коду: модули, их зависимости, тесты, стиль коммитов. Смысл модулей и правила добавляете вы или агент через --module. В последнем случае каждое утверждение агента сверяется с файлами, и до базы знаний доходит только подтверждённое — после вашего решения.

Если документация уже есть в репозитории (папка documentation/, файл AGENTS.md), копировать её не нужно: настройка knowledge.sources подключит её как есть.

Знания растут из работы ​

Кандидаты в знания появляются из нескольких мест:

  • ревью и разбор ваших замечаний: «это стоит сделать стандартом», «это стоит записать в знания», «это стоит дописать в скилл»;
  • повторы: если одно и то же замечание ревью встречается в двух задачах и больше, Jarvis предлагает сделать из него стандарт;
  • завершённые задачи: связи «термин → код», которых нет в глоссарии;
  • вы сами: форма «Предложить кандидата» на «Обзоре» или jarvis candidates add.

Кандидат ничего не меняет, пока вы его не примете. Решать удобно на странице «База знаний → Кандидаты»: там видно, что он предлагает, на чём основан и что именно запишется — файл стандарта, правка скилла с новой версией, строка глоссария. Отклонить можно с причиной. Карты модулей решаются на странице «Модули». Из терминала то же самое:

sh
jarvis candidates list
jarvis candidates promote <имя>       # файл появится в .jarvis/ — дальше обычное ревью кода
jarvis candidates reject <имя>

На странице jarvis ui всё это есть в разделе «База знаний»: документы, стандарты, скиллы, глоссарий, кандидаты, исследование модулей и, если проект из нескольких сервисов, карта сервисов.

Apache-2.0