Scythe CLI

Генератор кода из SQL с плагином для агентов: аннотированные запросы превращаются в типизированный код на десяти языках.

  • 75 ★ репозитория
  • Последний коммит
  • MIT
CLI

Расширенный доступ

Почему такой уровень

  • CLI создает и перезаписывает файлы с кодом в проекте, а проверки через `inspect` подключаются к живой базе.
Все причины и проверки

goldziher/scythe

Установка

В терминале, через 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 дополнительно есть правила линтера и аудит миграций.

Обсуждение

Вопросов и отзывов пока нет.

MCP-сервер и плагин для агентов генерируют веб-API из спецификаций OpenAPI, AsyncAPI, GraphQL, gRPC и SQL на ядре Rust.

MCP-серверРасширенный доступ123Звезды репозитория

Скиллы для Java-проектов: ревью кода, Spring Boot, JPA, конкурентность, миграция версий Java, аудит Maven и безопасность

СкиллМинимальный доступ773Звезды репозитория

Официальный CLI Supabase: локальный стек, миграции базы, деплой Edge Functions и генерация типов из терминала

CLIШирокий доступ2,5 тыс.Звезды репозитория

Скилл учит агента запускать datamodel-codegen и получать модели Pydantic из OpenAPI, JSON Schema и GraphQL

СкиллРасширенный доступ4,1 тыс.Звезды репозитория

Plinth

plinth

Набор скиллов и агентов для разработки на Java: сборка, тесты, профилирование и архитектура. Установка одной командой для Claude Code, Cursor

СкиллМинимальный доступ462Звезды репозитория

Официальный плагин Convex для Cursor и Claude Code: правила, команды, MCP-подключение и хуки для бэкенда на TypeScript.

ПлагинШирокий доступ117Звезды репозитория

Коротко о README

README объясняет, чем Scythe отличается от ORM, перечисляет возможности, способы установки и хуки pre-commit. Дальше идут быстрый старт с аннотированным запросом и раздел про плагины для агентов.

Бейдж для README

Сообщить о проблеме