Releases: janstol/rails-kit
Release list
v0.5.0
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 actionsrails-kit mailers [name]— defaults, layouts, concerns, attachments, and action methodsrails-kit jobs [name]— queues,retry_on/discard_on, concerns, and methodsrails-kit services [name]— class/module services, constants, concerns, and methodsrails-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-kitPrebuilt 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.0Notes
- Detail readers show declarations from the selected file only; they do not resolve superclass chains.
- Default
routesandabout --runtimestill require a bootable Rails application. Use
routes --staticand plainaboutfor offline inspection. routes --staticis intentionally approximate for executable or gem-provided routing DSL.- The versioned
--jsonenvelope remains atschema_version: 1; the new commands are additive.
See the changelog and
command reference for full details.
v0.4.0
Highlights
- BREAKING:
--jsonoutput 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.datais always an object; commands that previously returned a bare array now use a named key. Seedocs/json.mdfor the full contract, error-code vocabulary, and versioning policy. skeletonnow runs the Ruby Prism parser in-process on the pure-GowazeroWASM runtime, dropping rails-kit's hard Ruby dependency for that command.routes(non-static) andabout --runtimestill shell out where a booted Rails is genuinely needed. Trade-off: the binary grows ~6 MB to ~10 MB from the embedded Prism module.skeletonandlocalesnow parse files concurrently, bounded by CPU count — ~4x faster on batches of 8–500 files, output byte-identical.- Added
rails-kit routes --watchto pollconfig/routes.rbandconfig/routes/and reprint on change; composes with--static, patterns, and--json. - Added
--color=auto|always|neverforschemaandmodel.auto(the default) disables color off-TTY;NO_COLORoverrides even--color=always;--jsonis never colored. - Added dynamic shell completion for the positional arguments of
model,related,skeleton,schema,locales,concerns,fixtures, andgem(model names, table names, gem/concern names, and locale keys drilled one dotted segment at a time). - Added
windows/amd64release artifact; path-bearing--jsonfields are forward-slash normalized on all platforms.
Installation
brew install --cask janstol/tap/rails-kitOr upgrade an existing Homebrew installation:
brew upgrade rails-kitSee the changelog for the complete list of changes.
v0.3.0
Highlights
- Added
rails-kit aboutfor fast static project metadata, with optional bounded runtime inspection through--runtime. - Expanded
routes --staticacross drawn route files, concerns, redirects, match routes, mounts, constraints, scopes, controller blocks, and Rails-style helper behavior. - Added batch and recursive
skeletoninspection 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-kitOr upgrade an existing Homebrew installation:
brew upgrade rails-kitSee the changelog for the complete list of changes and static parsing limitations.