It's a Plan CLI
Раннер @itsaplan/runner берет задачи у трекера It's a Plan и отдает их Claude Code, Codex или opencode на вашей машине.
- 2 295 ★ репозитория
- Последний коммит
- AGPL-3.0
Широкий доступ
Почему такой уровень
- Пресеты запускают Claude Code и другие CLI без подтверждений, поэтому агент пишет файлы и выполняет команды на вашей машине по тексту задачи.
- Ключ агента лежит в `itsaplan-runner.json` и дает доступ к задачам проекта.
Установка
- Работает в
Ручная установка
npx -y @itsaplan/runnerПеред запуском создайте внешнего агента в проекте, включите MCP и положите `itsaplan-runner.json` в рабочую папку.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Пресеты запускают Claude Code и другие CLI без подтверждений, поэтому агент пишет файлы и выполняет команды на вашей машине по тексту задачи.
- Ключ агента лежит в `itsaplan-runner.json` и дает доступ к задачам проекта.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
It's a Plan — самохостящийся трекер задач с открытым кодом, где ИИ-агент числится участником проекта: у него роль, права и собственные задачи. Пакет `@itsaplan/runner` запускает таких внешних агентов на вашем компьютере. Раннер опрашивает сервер, находит поставленные в очередь запуски и выполняет каждый через CLI кодинг-агента. Готовые пресеты есть для Claude Code, Codex, opencode, Antigravity CLI, GitHub Copilot CLI, Pi, Oh My Pi и Mastra Code. Пресет сам ставит флаги для работы без участия человека и продолжает сессию. Вместо пресета можно указать свою команду, которая получает задачу на stdin. Пока запуск идет, раннер пересылает в задачу сообщения агента и вызовы инструментов, а также отвечает на чат агента. Агент читает задачу и пишет результат через MCP-сервер трекера, поэтому для проекта нужно включить MCP и положить адрес сервера в `.mcp.json`.
Для кого. Командам, которые ведут задачи в самохостящемся трекере и хотят, чтобы исполнителем на доске был Claude Code или Codex с локальной машины.
Подходит, если
- Задачу на доске назначают агенту, и она запускается в терминале разработчика без ручной передачи.
- Упоминание агента в комментарии должно запускать работу под вашей подпиской Claude Code или Codex.
- На одном компьютере работают несколько агентов с разными ключами и ролями.
- Агент за файрволом принимает задачи на открытый порт.
- Нужен ход работы агента в самой задаче: сообщения и вызовы инструментов видны в ленте.
Не подходит, если
- Трекер не развернут: раннеру нужен работающий экземпляр It's a Plan с URL и ключом агента.
- Задачи содержат данные, которые нельзя показывать кодинг-агенту на этом компьютере.
- Каждое действие агента должно подтверждаться человеком: пресеты запускают CLI без подтверждений.
Пример запроса к агенту
Назначь задачу KEY-42 агенту Claude на доске и покажи в ленте, какие инструменты он вызывал.Ограничения
Раннер работает только в паре с экземпляром It's a Plan: ключ внешнего агента создается в настройках проекта и показывается один раз. MCP в проекте выключен по умолчанию, и без него агент не прочитает задачу. Для Claude Code, Oh My Pi, Mastra Code и Pi конфигурацию `.mcp.json` читают из рабочей папки, для остальных CLI настройка описана отдельно в `docs/runner.md`. Установленный и авторизованный CLI кодинг-агента остается на вашей стороне. Ключ лежит в `itsaplan-runner.json` как есть.
Как отключить. Остановите процесс раннера и удалите `itsaplan-runner.json`. Ключ агента отзовите в настройках проекта, а MCP выключите там же.
Частые вопросы
Как запустить раннер?
Выполните `npx -y @itsaplan/runner` в папке с `itsaplan-runner.json`. В файле указаны `url` трекера, `apiKey` агента и `agent`, например `claude`. Через несколько секунд проект показывает агента онлайн.
Какие CLI поддерживает раннер?
Claude Code, Codex, opencode, Antigravity CLI, GitHub Copilot CLI, Pi, Oh My Pi и Mastra Code. Любой другой CLI подключают через собственную `command`, задача приходит на stdin.
Чем внешний агент отличается от внутреннего?
Внутренний агент работает на сервере трекера с вашим API-ключом модели. Внешний запускается раннером на вашей машине под вашим аккаунтом Claude Code, Codex, Copilot CLI или opencode.
Зачем включать MCP в проекте?
Через MCP-сервер агент читает задачу и записывает результат. По умолчанию он выключен: включите его в настройках проекта, раздел MCP Server.
Можно ли запустить несколько агентов?
Да. Раннер ведет одного агента или нескольких сразу, у каждого свой ключ и своя роль в проекте.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCLI, который прогоняет Claude Code, Codex, OpenCode и другие агенты циклом по списку задач или PRD, пока все не будет сделано
Self-hosted панель для управления несколькими агентами: постановка задач, обзор прогонов, учет трат и подключение по MCP, CLI или REST
Самостоятельно размещаемая доска задач для людей и агентов: агенты берут карточки через MCP, а журнал записей нельзя переписать.
groundcrew раздает задачи из Linear и Jira локальным агентам Claude Code, Codex и Cursor: свой worktree и песочница на каждую
Яндекс Трекер MCP с планировщиком отчетов
Yandex Tracker MCP
MCP-сервер Яндекс Трекера на Python с задачами, планировщиком регулярных отчетов и историей запусков в SQLite
Оркестратор для Claude Code, Codex и Gemini CLI: сценарии на YAML повторяются, пока проходят ваши проверки
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| It's a Plan (эта карточка) | да | 2 295 | ||
| Paperclip | нет | 113 333 | оркестрирует команду агентов как компанию; здесь доска задач и раннер запускают Claude Code или Codex на локальной машине | |
| Plane MCP Server — управление проектами Plane | да | API-ключ | 362 | дает агенту доступ к задачам Plane через MCP; раннер запускает агента по задаче сам |
Коротко о README
Трекер задач объединяет людей и ИИ-агентов на одной доске: канбан, таблица, циклы, документы и импорт из Linear, Trello и Plane. Раннер вынесен в отдельный пакет, чтобы исполнитель работал локально.