Skip to content

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

От пустой машины до первой задачи. Займёт минут пятнадцать, если у вас уже есть доступ к модели.

Что нужно ​

  • Node.js 22.18 или новее и pnpm;
  • git — каждая задача работает в своей рабочей копии репозитория, поэтому проект должен быть git-репозиторием;
  • адрес модели с OpenAI-совместимым API (корпоративный шлюз, vLLM, Ollama, OpenAI) и токен к нему.

1. Установить ​

sh
git clone https://github.com/mxmvshnvsk/jarvis-harness.git
cd jarvis-harness
pnpm install
pnpm build
pnpm link --global     # команда jarvis появится в PATH
jarvis --help

После обновления исходников снова выполните pnpm build: Jarvis сам предупредит, если сборка старше кода.

2. Подготовить проект ​

Перейдите в репозиторий, с которым будет работать Jarvis, и выполните:

sh
jarvis init

Появятся два места с настройками:

  • ~/.jarvis/config.yaml — ваша машина: какие модели доступны, ваши токены, квоты;
  • .jarvis/ в проекте — правила команды: как проверять код, какие стандарты и знания есть. Эта папка коммитится вместе с кодом.

3. Подключить модель ​

В ~/.jarvis/config.yaml опишите модель и скажите, какую работу она делает:

yaml
models:
  corp-llm:
    provider: openai-compatible
    baseUrl: https://llm.example.com/v1
    model: deepseek-flash
    auth: { type: bearer, token: keychain:corp-llm }
    egress: private          # модель внутри контура; облачная — cloud
    contextWindow: 128000
    maxOutput: 8192
roles:
  research:       { models: [corp-llm] }
  implementation: { models: [corp-llm] }
  review:         { models: [corp-llm] }

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

sh
jarvis auth set corp-llm        # спросит токен и сохранит в связку ключей ОС
jarvis models probe corp-llm    # что модель умеет на самом деле: инструменты, JSON
jarvis doctor                   # всё, что помешает запуску, одним списком

4. Сказать, как проверять код ​

Jarvis не угадывает, как в проекте запускают тесты. Это пишется в .jarvis/project.yaml:

yaml
version: 1
tools:
  local:
    tests: "pnpm vitest run"
    typecheck: "pnpm tsc --noEmit"
    lint: "pnpm biome check ."

Для существующего проекта это можно не писать руками: jarvis onboard посмотрит на репозиторий и предложит команды, jarvis onboard --apply-config впишет их сам, а заодно соберёт заготовку описания архитектуры.

5. Запустить задачу ​

sh
jarvis work ABC-42                 # номер тикета или текст задачи в кавычках

Jarvis создаст ветку и отдельную рабочую копию и пойдёт по шагам. Дойдя до спецификации, он остановится и покажет её: прочитать, принять, вернуть с комментарием. То же будет с готовым кодом.

sh
jarvis c                           # вернуться к задаче, которая ждёт вас
jarvis status                      # что сейчас идёт и что ждёт
jarvis diff <run>                  # что изменилось
jarvis apply <run>                 # перенести результат в вашу ветку одним коммитом

Терминал можно закрыть в любой момент: задача сохранит место, jarvis c вернёт к ней.

6. Или то же на странице ​

sh
jarvis ui

Откроется локальная страница: список задач, что ждёт вашего решения, документы, дифф с комментариями к строкам, кнопка «New task» и база знаний проекта. Всё, что можно сделать в терминале, можно сделать и там.

Что дальше ​

Короткие варианты задачи, если полный путь не нужен:

КомандаЧто делает
jarvis research ABC-44только исследует: что задача затрагивает и что неизвестно, ничего не меняя
jarvis spec ABC-42доводит до утверждённой спецификации
jarvis fix ABC-43короткий путь для бага: исследование, спецификация, правка, проверки, ревью
jarvis ask "как у нас ..."ответ из базы знаний проекта со ссылками на источники

Apache-2.0