Skip to content

Releases: janstol/rails-kit

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 12:02
b145dba

What’s new

rails-kit 0.5.0 adds five domain-aware readers for common Rails application layers. Each command
has a fast list mode, an AST-backed detail mode, --json output, and dynamic shell completion:

  • rails-kit controllers [name] — filters, rescue_from, helpers, layouts, strong params, and actions
  • rails-kit mailers [name] — defaults, layouts, concerns, attachments, and action methods
  • rails-kit jobs [name] — queues, retry_on/discard_on, concerns, and methods
  • rails-kit services [name] — class/module services, constants, concerns, and methods
  • rails-kit datagrids [name] — filters, columns, scopes, decorators, macros, and methods

These readers inspect one file at a time without booting Rails. They report parent_class where
applicable so inherited behavior remains explicit rather than being guessed.

Faster, more reliable Ruby inspection

The model, concerns, and routes --static readers now use the embedded Prism AST instead of
hand-written Ruby scanners. This fixes several edge cases involving endless methods, heredocs,
nested classes/modules, singleton-class bodies, and block structure while preserving established
output for valid inputs.

Prism parser pooling also makes large skeleton batches substantially faster. In project
benchmarks, a 444-file run improved from about 16.3 seconds to 0.35 seconds. Prism runs in-process
through pure-Go WASM, so static inspection does not require a Ruby installation.

Install or upgrade

brew upgrade --cask janstol/tap/rails-kit

Prebuilt archives are available below for macOS and Linux (amd64/arm64) and Windows
(amd64). You can also install with:

go install github.com/janstol/rails-kit@v0.5.0

Notes

  • Detail readers show declarations from the selected file only; they do not resolve superclass chains.
  • Default routes and about --runtime still require a bootable Rails application. Use
    routes --static and plain about for offline inspection.
  • routes --static is intentionally approximate for executable or gem-provided routing DSL.
  • The versioned --json envelope remains at schema_version: 1; the new commands are additive.

See the changelog and
command reference for full details.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 15:36
e14adb7

Highlights

  • BREAKING: --json output is now a versioned envelope — every successful invocation wraps its payload in { "schema_version": 1, "command": "...", "data": {...} }, and every failing invocation writes a JSON error object to stderr with exit code 1, instead of plain text. data is always an object; commands that previously returned a bare array now use a named key. See docs/json.md for the full contract, error-code vocabulary, and versioning policy.
  • skeleton now runs the Ruby Prism parser in-process on the pure-Go wazero WASM runtime, dropping rails-kit's hard Ruby dependency for that command. routes (non-static) and about --runtime still shell out where a booted Rails is genuinely needed. Trade-off: the binary grows ~6 MB to ~10 MB from the embedded Prism module.
  • skeleton and locales now parse files concurrently, bounded by CPU count — ~4x faster on batches of 8–500 files, output byte-identical.
  • Added rails-kit routes --watch to poll config/routes.rb and config/routes/ and reprint on change; composes with --static, patterns, and --json.
  • Added --color=auto|always|never for schema and model. auto (the default) disables color off-TTY; NO_COLOR overrides even --color=always; --json is never colored.
  • Added dynamic shell completion for the positional arguments of model, related, skeleton, schema, locales, concerns, fixtures, and gem (model names, table names, gem/concern names, and locale keys drilled one dotted segment at a time).
  • Added windows/amd64 release artifact; path-bearing --json fields are forward-slash normalized on all platforms.

Installation

brew install --cask janstol/tap/rails-kit

Or upgrade an existing Homebrew installation:

brew upgrade rails-kit

See the changelog for the complete list of changes.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 25 Jul 08:00
v0.3.0
aee1742

Highlights

  • Added rails-kit about for fast static project metadata, with optional bounded runtime inspection through --runtime.
  • Expanded routes --static across drawn route files, concerns, redirects, match routes, mounts, constraints, scopes, controller blocks, and Rails-style helper behavior.
  • Added batch and recursive skeleton inspection with glob and exclusion support.
  • Added Codex skill installation and made global skill installation the default.
  • Made route cache writes atomic and reorganized the documentation into focused reference pages.

Installation

brew install --cask janstol/tap/rails-kit

Or upgrade an existing Homebrew installation:

brew upgrade rails-kit

See the changelog for the complete list of changes and static parsing limitations.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Apr 16:57
b683275

Changelog

  • d52365c feat(related): add Job and Mailer categories
  • 5024ee3 feat(schema): add structure.sql support
  • 98a2bac feat: add Prism-backed Ruby skeletons
  • a832774 feat: add concerns command
  • 09f6169 feat: add gem command
  • d7d92b9 related: add request, system, helper, job, mailer, service spec categories

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Mar 11:27
3f84207

Changelog