Taskless CLI
Поправки, которые вы даете агенту, становятся файлами-правилами в репозитории и проверяются локально и в CI одной командой.
- 179 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Установщик пишет файлы в каталоги агентов и репозиторий, а ИИ-генерация правил и интеграция с GitHub обращаются к внешнему сервису Taskless.
Установка
- Работает в
Ручная установка
npx @taskless/cliПервая команда из раздела Get started. Определяет инструменты агентов в репозитории и ставит скилл.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Установщик пишет файлы в каталоги агентов и репозиторий, а ИИ-генерация правил и интеграция с GitHub обращаются к внешнему сервису Taskless.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Taskless фиксирует поправки, которые разработчик вносит в работу агента, как правила: обычные файлы в репозитории, их исполняют ast-grep для кода, Vale для текстов или проверка во время выполнения. Команда `npx @taskless/cli` находит в проекте каталоги агентов (`.claude/`, `.cursor/`, `.opencode/`, `.agents/`) и устанавливает в них скилл Taskless. Затем агент по просьбе анализирует код и историю, называет кандидатов в правила и пишет выбранные по описанию на обычном языке. Команда `taskless check` показывает совпадения с файлом, строкой, уровнем и сообщением и завершается кодом `1`, если нашла ошибку, поэтому подходит для CI. Скилл служит маршрутизатором: за инструкциями он обращается к командам `taskless agent <тема>`, а версия CLI закреплена в `.taskless/taskless.json`.
Для кого. Командам, где агент повторяет одни и те же ошибки в коде, и разработчики устали объяснять их заново в каждой сессии.
Подходит, если
- Агент снова вызывает `fetch()` без обработки ошибок, и это надо запретить для всех сессий.
- Правила проекта хранились в чате и промптах, а теперь их переносят в файлы репозитория.
- Вместо ручных замечаний в pull request хотят автоматическую проверку в CI.
- Стиль текстов и документации проверяют правилами Vale рядом с кодом.
- Одни и те же правила нужны в Claude Code, Cursor и OpenCode.
Не подходит, если
- Репозиторий не содержит каталогов агентов, и ставить скилл некуда.
- Нужны проверки типов или логики, которые не выражаются шаблонами ast-grep и Vale.
- Команда запрещает отправлять код во внешние сервисы, а ИИ-генерация правил работает через аккаунт Taskless.
Пример запроса к агенту
Создай правило Taskless, которое ловит прямые вызовы `fetch()` без обработки ошибок, затем запусти `taskless check` по всему проекту.Ограничения
Установщик закрепляет версию CLI в `.taskless/taskless.json` и пишет лаунчер `./.taskless/bin/cli.mjs`: команды выполняют через него, а другая версия CLI в этом проекте откажется запускаться. Правила создают и проверяют локально без аккаунта, но генерация правил с помощью ИИ и интеграция с GitHub требуют бесплатного аккаунта Taskless, и агент сообщает об обращении к сервису заранее. Ночной выпуск `@taskless/cli-nightly` заменяет бинарный файл `taskless`, поэтому ставят либо его, либо релиз. Правила Vale работают на встроенных бинарниках шести платформ.
Как отключить. Удалите каталог `.taskless/` и ссылки на скилл Taskless в каталогах агентов (например, `.claude/skills/taskless`), затем уберите вызов `taskless check` из CI. Файлы правил можно оставить как обычные конфигурации ast-grep и Vale.
Частые вопросы
Как установить Taskless в Claude Code или Cursor?
Выполните `npx @taskless/cli` в репозитории, где есть каталог агента: установщик определит `.claude/`, `.cursor/`, `.opencode/` или `.agents/` и поставит скилл в каждый. Подойдут также `pnpm dlx`, `bun x` и `yarn dlx`.
Нужен ли аккаунт Taskless?
Нет, чтобы создавать правила и запускать проверки. Бесплатный аккаунт добавляет генерацию правил с проверкой и тестами и интеграцию с GitHub, где комментарии из pull request становятся правилами.
Как запустить проверку и подключить ее к CI?
Командой `./.taskless/bin/cli.mjs check`. Она выводит файл, строку, уровень и сообщение и возвращает код `1` при найденных ошибках, а агента можно попросить добавить Taskless в CI.
Чем исполняются правила?
Тремя механизмами: ast-grep для шаблонов в синтаксическом дереве кода, Vale для проверки прозы и проверкой времени выполнения. Бинарники Vale поставляются в пакетах `@taskless/vale-*` для macOS, Linux и Windows.
Как попробовать неопубликованные изменения?
Через `npx @taskless/cli-nightly@latest --version`. Ночная сборка публикуется из ветки `main`, но замещает релиз, потому что бинарный файл у обоих называется `taskless`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыШаблон проекта Playwright на TypeScript с правилами и 17 скиллами, чтобы Claude Code, Codex и Cursor писали тесты по стандарту
Проверяет diff и переписку с агентом: ловит ошибки в коде и расхождения между вашей просьбой и тем, что агент сделал. CLI, скилл и GitHub Action
Локальный отладчик TypeScript-агентов: дерево шагов, проверка траектории в CI и архив доказательств без аккаунта.
Хуки для Claude Code и Codex CLI ведут журнал действий агента и не принимают «готово» без пройденной проверки.
Оценка от 0 до 10 для CLAUDE.md и AGENTS.md: Reporails находит размытые правила, повторы и битые импорты
Qlty CLI показывает дубли и сложные участки кода до рефакторинга; автоматическое форматирование запускается отдельно.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Taskless CLI (эта карточка) | нет | 179 | |
| ast-grep | нет | 16 467 | сам инструмент поиска и правки кода по синтаксическому дереву; Taskless строит поверх него правила из поправок агенту |
| Semgrep Skills | да | 340 | скиллы для Semgrep; Taskless собирает собственные правила из поправок и запускает их командой `taskless check` |
Коротко о README
Репозиторий объединяет три части: CLI `@taskless/cli`, пакеты с бинарниками Vale и канонический скилл Taskless. Релизы выходят через Changesets с подписью происхождения по OIDC, а правила для агентов лежат в `packages/cli/src/agent/`.