Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 15:36
· 16 commits to main since this release
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.