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.