Scythe CLI
Генератор кода из SQL с плагином для агентов: аннотированные запросы превращаются в типизированный код на десяти языках.
- 75 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- CLI создает и перезаписывает файлы с кодом в проекте, а проверки через `inspect` подключаются к живой базе.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/scytheОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- CLI создает и перезаписывает файлы с кодом в проекте, а проверки через `inspect` подключаются к живой базе.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Scythe компилирует аннотированные файлы `.sql` в код доступа к базе: типы строк, функции запросов и сопоставление типов. Разбор идет статически, без подключения к базе и сети, поэтому генерацию можно запускать в хуке pre-commit. Допустимость пустых значений выводится через `JOIN`, CTE и оконные функции, а сгенерированный код несет заголовок происхождения, и `scythe check` замечает расхождение со схемой. В набор входят 59 правил линтера и аудита: `UPDATE` без `WHERE`, `SELECT *` по персональным данным, опасные миграции. Для агентов в репозитории лежит плагин с одним скиллом и пятью справочниками по разработке на SQL. Он ставится в Claude Code и Codex, а для остальных сред есть готовые пакеты, но сам CLI устанавливается отдельно.
Для кого. Бэкенд-разработчикам, которые пишут SQL руками и хотят получать из него типизированный код вместо ORM.
Подходит, если
- Схема базы часто меняется, и код доступа приходится править вслед за ней.
- Один сервис пишут сразу на нескольких языках, а запросы общие.
- Агент пишет миграции, и их нужно проверять на блокировки и разрушающие операции.
- Проект переезжает с sqlc, и конфигурацию хочется перенести командой `scythe migrate`.
Не подходит, если
- Пользователи сами выбирают базу данных: ORM сглаживает различия диалектов, а Scythe целится в один движок на блок конфигурации.
- Нужен единый код для разных баз без правки запросов.
- Вам хватает готового ORM и разбирать SQL вручную не хочется.
Пример запроса к агенту
Опиши запрос заказов пользователя с `LEFT JOIN` как аннотированный SQL для Scythe, сгенерируй код на Rust и прогони `scythe audit`.Ограничения
Плагин несет скилл и справочники, но не регистрирует MCP-инструменты и не ставит драйверы баз: CLI и драйверы приложения устанавливаются отдельно, например `cargo install scythe-cli`. Отдельный npm-пакет или пакет PyPI для плагина пока не выпущен, для остальных сред используются локальные сборки из репозитория. Команда `scythe audit --cluster-scope` работает с вспомогательными разборщиками PostgreSQL, а в архиве для Windows их нет, и она завершается ошибкой.
Как отключить. Удалите плагин `scythe` командами менеджера плагинов, а CLI командой, парной к установке, например `cargo uninstall scythe-cli`. Хуки pre-commit уберите из конфигурации репозитория.
Частые вопросы
Как установить Scythe?
Подойдет `cargo install scythe-cli`, готовый бинарный файл через `cargo binstall scythe-cli` или `brew install Goldziher/tap/scythe`. Без Rust есть `pnpm add --save-dev scythe-cli` и `pip install scythe-sql`.
Как подключить плагин к Claude Code?
Выполните `/plugin marketplace add Goldziher/scythe`, затем `/plugin install scythe@scythe`. Для Codex: `codex plugin marketplace add Goldziher/scythe` и `codex plugin add scythe@scythe`.
Нужна ли для генерации база данных?
Нет, SQL читается статически, и генерация работает без подключения. Проверки по живой базе вынесены в отдельную команду `inspect`.
Какие языки и базы поддерживаются?
Десять языков и десять баз данных, всего 56 бэкендов. Конкретный набор смотрите в документации проекта.
Чем отличается от sqlc?
Идея близка, а переход упрощает `scythe migrate`: команда превращает `sqlc.yaml` в `scythe.toml`. У Scythe дополнительно есть правила линтера и аудит миграций.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыMCP-сервер и плагин для агентов генерируют веб-API из спецификаций OpenAPI, AsyncAPI, GraphQL, gRPC и SQL на ядре Rust.
Скиллы для Java-проектов: ревью кода, Spring Boot, JPA, конкурентность, миграция версий Java, аудит Maven и безопасность
Официальный CLI Supabase: локальный стек, миграции базы, деплой Edge Functions и генерация типов из терминала
Скилл учит агента запускать datamodel-codegen и получать модели Pydantic из OpenAPI, JSON Schema и GraphQL
Plinth
plinth
Набор скиллов и агентов для разработки на Java: сборка, тесты, профилирование и архитектура. Установка одной командой для Claude Code, Cursor
Официальный плагин Convex для Cursor и Claude Code: правила, команды, MCP-подключение и хуки для бэкенда на TypeScript.
Коротко о README
README объясняет, чем Scythe отличается от ORM, перечисляет возможности, способы установки и хуки pre-commit. Дальше идут быстрый старт с аннотированным запросом и раздел про плагины для агентов.