Rust off Rails — плагин

Плагин навыков строит веб-приложения на Rust по соглашениям Rails: от каркаса и ресурсов до проверки и выкладки.

  • 53 ★ репозитория
  • Последний коммит
  • Apache-2.0
Плагин

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

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

  • Скрипт установки загружает инструменты и фреймворк и меняет домашний каталог.
  • Агент создает приложение, правит файлы, выполняет команды `cargo` и готовит выкладку на хостинги.
Все причины и проверки

rust-off-rails/rustoffrails

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add plugins/rust-off-rails

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скрипт установки загружает инструменты и фреймворк и меняет домашний каталог.
  • Агент создает приложение, правит файлы, выполняет команды `cargo` и готовит выкладку на хостинги.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Rust off Rails описывает единый стек для веб-приложений на Rust в виде файлов Markdown и готового шаблона приложения, который агент копирует, а не пишет заново. Плагин для Claude Code добавляет девять навыков. `/offrails:new` задает вопросы о приложении, утверждает план и собирает каркас, `/offrails:feature` ведет разработку от спецификации к коду, `/offrails:scaffold` создает ресурс целиком с миграцией, моделью, политикой, контроллером и тестами. Навык `/offrails:generate` строит задания, почтовые отправители, каналы и аутентификацию, `/offrails:check` прогоняет `cargo fmt`, `clippy` и тесты на SQLite и Postgres. `/offrails:doctor` сверяет приложение с соглашениями, `/offrails:security` делает углубленный разбор безопасности, `/offrails:deploy` готовит выкладку на Fly.io, Kamal, Railway или Render, а `/offrails:upgrade` обновляет версию внутри приложения.

Для кого. Разработчикам, которые строят на Rust веб-приложения с агентом и хотят стек и структуру папок, заданные заранее, как в Rails.

Подходит, если

  • Нужно с нуля создать приложение на Rust, и агент должен сначала расспросить о пользователях, данных и хостинге.
  • К готовому приложению добавляют ресурс с полями и политикой доступа командой `scaffold`.
  • Перед выпуском нужен один прогон форматирования, линтера и тестов на двух базах.
  • Приложение хотят выложить на Fly.io или через Kamal и проверить конфигурацию.

Не подходит, если

  • Стек уже выбран другой: соглашения предполагают Axum, SeaORM и определенный набор частей.
  • Нужен готовый фреймворк-библиотека: здесь код копируется в приложение, а зависимости от фреймворка нет.
  • Проект не на Rust.

Пример запроса к агенту

Создай приложение «книжная полка», где люди отмечают прочитанные книги: сначала задай вопросы про аккаунты и хостинг, потом покажи план.

Ограничения

Плагин рассчитан на приложения Rust off Rails: хуки действуют только в каталогах с `.offrails/`. Они блокируют правку `.offrails/` и `web/src/types/`, отмечают сырой SQL и запрещенные пакеты, а завершить ход агент не может, пока `cargo fmt --check` или `cargo check` падают. Установочный скрипт `curl -fsSL https://rustoffrails.org/install.sh | sh` проверяет Rust, ставит cargo-инструменты и загружает фреймворк в `~/.offrails/` с проверкой SHA-256. Автор сообщает, что проект экспериментальный, а часть примеров портирована агентами и опубликована позже.

Как отключить. Удалите плагин `offrails` через `/plugin`. Установленный скриптом каталог `~/.offrails/` и команда `offrails` удаляются вручную. Внутри приложений остается каталог `.offrails/`, он нужен самим приложениям.

Частые вопросы

Как поставить Rust off Rails?

Выполните `curl -fsSL https://rustoffrails.org/install.sh | sh`: скрипт ставит инструменты и плагин для Claude Code. Вручную: `/plugin marketplace add rust-off-rails/rustoffrails`, затем `/plugin install offrails@offrails`.

Как увидеть план установки до выполнения?

Запустите скрипт с флагом `--dry-run`. Подробный разбор шагов и ручной эквивалент есть в `INSTALL.md`.

Работает ли стек с Codex и Cursor?

Да, через файл `AGENTS.md`. Попросите агента прочитать `/path/to/rustoffrails/AGENTS.md` и создать приложение. Созданные приложения несут свои `AGENTS.md` и `.offrails/`.

Что делают хуки плагина?

Защищают `.offrails/` от правок, отмечают нарушения соглашений после каждой правки, не дают закончить ход при ошибках `cargo check` и подсказывают, если версия фреймворка в приложении отстает.

Нужна ли зависимость от фреймворка?

Нет. Фреймворк как библиотека не подключается: шаблон и детали копируются в приложение, и все лежит в вашем репозитории. Приложение использует обычные пакеты, например Axum и SeaORM.

Обсуждение

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

Плагины

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

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

Слои Rails-приложения под контролем: перегруженные объекты, колбэки, сервисы и границы слоев в CI по книге Layered Design.

ПлагинРасширенный доступ479Звезды репозитория

Шесть скиллов учат агента писать плагины Streamling на Rust: источники, приемники, преобразования и функции SQL.

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

Набор из 14 скиллов для Java Spring Boot: от анализа требований и генерации кода до тестов, ревью и Docker-развертывания.

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

Навык создания приложений на Spring Boot: берет свежую версию с start.spring.io и добавляет Docker, Vue или React и PostgreSQL.

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

Гем с MCP-сервером для Rails: агент читает схему, модели, маршруты и тесты приложения и перестает угадывать их по шаблону.

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

Коротко о README

README называет проект веб-фреймворком для ИИ-агентов: набор Markdown-файлов с одним стеком и шаблон приложения, который копируется. Описаны установка, девять навыков, хуки, шаблон с частями и полевые испытания: агенты переносят на стек известные проекты с открытым кодом.

Бейдж для README

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