{
  "markdown": "# Sustainable Rails Extension for Gemini CLI\n\nA Gemini CLI extension based on [Sustainable Web Development with Ruby on Rails](https://sustainable-rails.com) by David Bryant Copeland.\n\nThis is the Gemini CLI port of [sustainable-rails-skill](https://github.com/mcrundo/sustainable-rails-skill) (Claude Code). The reference material is identical; the wrapper format is adapted for Gemini's extension system (manifest, TOML commands, subagent).\n\n## Install\n\n```bash\ngemini extensions install https://github.com/mcrundo/sustainable-rails-gemini\n```\n\nThen restart Gemini CLI (slash-command and agent definitions are loaded on startup).\n\n## Components\n\n- **`GEMINI.md`** — Always-loaded context with architecture, principles, and the reference index.\n- **`/sustainable:review`** — Slash command that reviews uncommitted (or staged / branch) changes.\n- **`/sustainable:analyze`** — Slash command that runs a full codebase sustainability audit.\n- **`@sustainable-rails-reviewer`** — Subagent invokable directly; both commands above delegate to it.\n- **`references/`** — 25 condensed reference files (core / patterns / topics / examples).\n\n## What It Checks\n\n- **Business logic placement** — Logic belongs in service classes, not Active Records\n- **Database integrity** — Constraints (NOT NULL, FK, CHECK, unique indexes) enforce correctness\n- **Model health** — Thin models, minimal callbacks, no scope-as-business-logic\n- **Controller health** — Controllers as \"configuration\", no business logic\n- **Boundary classes** — Jobs, mailers, rake tasks delegate to services\n- **Routes** — Canonical `resources` with `only:`, no unused routes\n- **Testing strategy** — System tests for flows, unit tests for services, constraint tests for models\n\n## Core Idea\n\n> Business logic is complex and changes frequently. Classes used everywhere (Active Records) amplify bugs. Therefore: keep Active Records simple, put business logic in isolated service classes where bugs are contained.\n\n## Notes\n\n- Subagents are a preview feature in Gemini CLI (introduced April 2026) and the schema may evolve. If a future Gemini CLI release changes the `agents/*.md` frontmatter, update `agents/sustainable-rails-reviewer.md` accordingly.\n- The `references/` tree is copied from the Claude Code version and will drift over time. The canonical source is the Claude repo; bring changes here manually.\n",
  "bytes": 2365,
  "sha": "4e715e120455d172fd15e21ff2a100e9e2618d89d8a555186b711c82f0d8d144",
  "repo_slug": "mcrundo/sustainable-rails-gemini",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_mcrundo_sustainable_rails_gemini_a2651846/readme"
}