Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 15 additions & 27 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,21 @@ All notable changes to rtk (Rust Token Killer) will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Bug Fixes

* **hook:** respect Claude Code deny/ask permission rules on rewrite — hook now checks settings.json before rewriting commands, preventing bypass of user-configured deny/ask permissions
* **git:** replace symbol prefixes (`* branch`, `+ Staged:`, `~ Modified:`, `? Untracked:`) with plain lowercase labels (`branch:`, `staged:`, `modified:`, `untracked:`) in git status output

### Features

* **gradle**: add Gradle command support with sub-enum routing (test/build/other) — 75-90% token savings
* **maven**: add Maven command support with Surefire test parser (test/compile/package/other) — 70-90% token savings
* **gradle**: auto-detect ./gradlew wrapper with fallback to gradle on PATH
* **maven**: intelligent Surefire output parsing — failures only with compact error messages
* **discover**: add Gradle/Maven rewrite rules for transparent hook integration

## [0.33.0-rc.54](https://github.com/rtk-ai/rtk/compare/v0.32.0-rc.54...v0.33.0-rc.54) (2026-03-24)


Expand Down Expand Up @@ -38,33 +53,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* **ruby:** use rails test for positional file args in rtk rake ([138e914](https://github.com/rtk-ai/rtk/commit/138e91411b4802e445a97429056cca73282d09e1))
* update Discord invite link ([#711](https://github.com/rtk-ai/rtk/issues/711)) ([#786](https://github.com/rtk-ai/rtk/issues/786)) ([af56573](https://github.com/rtk-ai/rtk/commit/af56573ae2b234123e4685fd945980e644f40fa3))

## [Unreleased]

### Bug Fixes

* **hook:** respect Claude Code deny/ask permission rules on rewrite — hook now checks settings.json before rewriting commands, preventing bypass of user-configured deny/ask permissions
* **git:** replace symbol prefixes (`* branch`, `+ Staged:`, `~ Modified:`, `? Untracked:`) with plain lowercase labels (`branch:`, `staged:`, `modified:`, `untracked:`) in git status output
* **ruby:** use `rails test` instead of `rake test` when positional file args are passed — `rake test` ignores positional files and only supports `TEST=path`

### Features

* **ruby:** add RSpec test runner filter with JSON parsing and text fallback (60%+ reduction)
* **ruby:** add RuboCop linter filter with JSON parsing, grouped by cop/severity (60%+ reduction)
* **ruby:** add Minitest filter for `rake test` / `rails test` with state machine parser (85-90% reduction)
* **ruby:** add TOML filter for `bundle install/update` — strip `Using` lines (90%+ reduction)
* **ruby:** add `ruby_exec()` shared utility for auto-detecting `bundle exec` when Gemfile exists
* **ruby:** add discover/rewrite rules for rake, rails, rspec, rubocop, and bundle commands

### Bug Fixes

* **cargo:** preserve compile diagnostics when `cargo test` fails before any test suites run
## [0.31.0](https://github.com/rtk-ai/rtk/compare/v0.30.1...v0.31.0) (2026-03-19)


### Features

* 9-tool AI agent support + emoji removal ([#704](https://github.com/rtk-ai/rtk/issues/704)) ([737dada](https://github.com/rtk-ai/rtk/commit/737dada4a56c0d7a482cc438e7280340d634f75d))

## [0.30.1](https://github.com/rtk-ai/rtk/compare/v0.30.0...v0.30.1) (2026-03-18)


Expand Down
15 changes: 12 additions & 3 deletions src/discover/rules.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ pub const PATTERNS: &[&str] = &[
r"^make\b",
r"^markdownlint\b",
r"^mix\s+(compile|format)(\s|$)",
r"^mvn\s+(compile|package|clean|install)\b",
r"^mvn\s+(compile|package|clean|install|test|verify)\b",
r"^(gradle|gradlew|\./gradlew)\s+",
r"^ping\b",
r"^pio\s+run",
r"^poetry\s+(install|lock|update)\b",
Expand Down Expand Up @@ -511,8 +512,16 @@ pub const RULES: &[RtkRule] = &[
rtk_cmd: "rtk mvn",
rewrite_prefixes: &["mvn"],
category: "Build",
savings_pct: 70.0,
subcmd_savings: &[],
savings_pct: 75.0,
subcmd_savings: &[("test", 88.0), ("compile", 75.0), ("package", 75.0)],
subcmd_status: &[],
},
RtkRule {
rtk_cmd: "rtk gradle",
rewrite_prefixes: &["gradle", "./gradlew", "gradlew"],
category: "Build",
savings_pct: 80.0,
subcmd_savings: &[("test", 88.0), ("build", 80.0)],
subcmd_status: &[],
},
RtkRule {
Expand Down
Loading