Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
383 commits
Select commit Hold shift + click to select a range
cd6ac2f
fix(security): replace insecure tmp, lock git workflow perm
aeppling May 13, 2026
26b96ec
fix(security): pin workflow actions to SHA, clean up tempfile on failure
aeppling May 13, 2026
54d1f87
Merge pull request #1871 from rtk-ai/fix/cicd-runners/insecure-tmp-lo…
aeppling May 13, 2026
7e418fd
Update pr-target-check.yml
aeppling May 13, 2026
fef1ba5
Merge pull request #1874 from rtk-ai/fix/cicd/spelling-branch-fr-en
aeppling May 13, 2026
90525ac
Merge pull request #1747 from rtk-ai/develop
aeppling May 13, 2026
0c6a838
fix(cicd): set release-please target-branch to master [skip ci]
aeppling May 13, 2026
120d99f
chore(master): release 0.40.0
rtk-release-bot[bot] May 13, 2026
1e0d01b
Merge pull request #1878 from rtk-ai/release-please--branches--master…
aeppling May 13, 2026
e827184
Merge pull request #1368 from ousamabenyounes/fix/issue-1250
aeppling May 13, 2026
3ba1634
Merge pull request #991 from em0t/fix/git-completeness
aeppling May 14, 2026
b70b0fe
fix(docker): forward --tail flag in compose logs
pszymkowiak May 14, 2026
5f1d8b0
Merge pull request #1885 from rtk-ai/fix/compose-logs-tail-flag-v2
pszymkowiak May 14, 2026
62fc0e0
fix(filters): address adversarial test-suite findings on aggressive f…
aeppling May 12, 2026
16803a6
chore(filters): remove filter-level annotations and restore compose l…
aeppling May 15, 2026
f6b28c2
fix(filters): add test for aggressive filter batch fix
aeppling May 15, 2026
be51783
fix(git): stream push output via FilterMode::Streaming (#963)
ousamabenyounes May 14, 2026
46fe7c4
feat(hints): add tail hints for tee & hints + address reviews
aeppling May 16, 2026
4eefe2f
fix: re-add env python as noisy dir
aeppling May 16, 2026
3571d52
fix: '...' ascii to unicode, remove some comments
aeppling May 16, 2026
b8172e5
fix(kubectl): compact get pods and services aliases
pagarsky May 5, 2026
2dd0ec9
Merge pull request #1720 from pagarsky/fix/kubectl-get-alias
aeppling May 17, 2026
d6c5647
Merge pull request #1531 from ousamabenyounes/fix/issue-963
aeppling May 17, 2026
6c4950e
feat(mvn)!: Rust module replacing TOML filter, adds test phase support
vdufloth May 17, 2026
f21b864
fix(filters): split docker ps/-a paths, cap ruff violations at 50
aeppling May 18, 2026
64ed4f8
fix(init): honor dry-run for Pi install and uninstall paths
gitbluf May 18, 2026
90c285c
Merge pull request #1895 from rtk-ai/fix/aggressive-filters-batch
aeppling May 19, 2026
548e4dd
fix(tee): safe truncation caps and compose-ps tee content fix
aeppling May 16, 2026
4960630
fix(rust): multi-line blocks used with tail hint
aeppling May 17, 2026
4acdcf2
docs(cmds): truncations hints and recovery guidelines
aeppling May 17, 2026
15a0d2e
Merge pull request #1928 from rtk-ai/fix/tee-hint-trunc-quality
aeppling May 19, 2026
2241428
test(hooks/init): add red test for copilot-instructions preservation
YOMXXX May 20, 2026
d108165
fix(hooks/init): preserve user content in copilot-instructions.md
YOMXXX May 20, 2026
544a5f4
test(hooks/init): cover idempotency, stale-block, dry-run, fresh, mal…
YOMXXX May 20, 2026
194a1b4
refactor(hooks/init): extract run_copilot_at for parallel-safe tests
YOMXXX May 20, 2026
f2864eb
docs(readme): fix license references to match LICENSE (Apache-2.0)
tylerezimmerman May 20, 2026
b6054a5
refacto(truncations): Set global CAPS for truncation
aeppling May 20, 2026
6a57821
Merge pull request #1997 from tylerezimmerman/fix/readme-license-apac…
aeppling May 20, 2026
35a540c
refactor(hooks/init): share write_rtk_block, unify malformed handling
YOMXXX May 20, 2026
a04aa7e
Merge pull request #1976 from YOMXXX/fix/copilot-instructions-preserve
aeppling May 20, 2026
6f4519a
chore(cargo): declare MSRV via rust-version = "1.91"
YOMXXX May 21, 2026
9c80934
Merge branch 'develop' into fix/tee-hint-trunc-quality
aeppling May 21, 2026
d5a1731
fix(truncate): global caps reduce (avoid underflow and 0 results)
aeppling May 21, 2026
b3adcb1
fix: honor explicit -n N limit for git log on merge commits
penniger May 21, 2026
4b905c5
Merge branch 'develop' into develop
gitbluf May 21, 2026
a6844dc
chore: regroup agent init tests by agent section
gitbluf May 21, 2026
1e56235
Merge pull request #1998 from rtk-ai/fix/tee-hint-trunc-quality
aeppling May 21, 2026
7d31049
Merge pull request #2020 from rtk-ai/master
aeppling May 21, 2026
cc152cd
fix(mvn): match Surefire 3.x close lines, preserve failure stack trail
vdufloth May 21, 2026
77e28d0
refactor(mvn): drop production duration normalisation
vdufloth May 21, 2026
97dbf98
feat(mvn): filter mvn -q quiet-mode output
vdufloth May 21, 2026
7753e48
fix(git): drop -uall from compact status so output never exceeds raw
aeppling May 22, 2026
06476d1
Merge pull request #2035 from rtk-ai/fix/git-status-uall
aeppling May 22, 2026
f431fb9
Update git.rs
aeppling May 22, 2026
6e6efd4
docs(git): sync status README with --porcelain -b (drop -uall)
aeppling May 22, 2026
8564ddc
Merge pull request #2040 from rtk-ai/fix/review-1879-git-status-doc-test
aeppling May 22, 2026
9c943d6
Merge pull request #1879 from rtk-ai/develop
aeppling May 22, 2026
02f7697
chore(master): release 0.41.0
rtk-release-bot[bot] May 22, 2026
9bd6e6f
feat: address pr suggestions
gitbluf May 22, 2026
8bc8b46
chore: sync with pi api
gitbluf May 22, 2026
f6a5451
chore: minor cleanup
gitbluf May 22, 2026
4c6d914
Merge pull request #2041 from rtk-ai/release-please--branches--master…
aeppling May 23, 2026
26c8890
Merge pull request #2015 from okwn/contrib/rtk/git-log-merge-fix
aeppling May 23, 2026
805caf7
Merge pull request #1741 from gitbluf/develop
aeppling May 23, 2026
be226d4
fix(grep): parse single-file output containing colons
F0rty-Tw0 May 23, 2026
0e3a6f4
fix(grep): NUL-separate file from line:content per review
F0rty-Tw0 May 23, 2026
13bb7da
Merge pull request #2055 from rtk-ai/develop
aeppling May 24, 2026
415fab0
chore(master): release 0.42.0
rtk-release-bot[bot] May 24, 2026
39583cf
Merge pull request #2076 from rtk-ai/release-please--branches--master…
aeppling May 24, 2026
2543be5
fix(hook): collapse bash line continuations before matching (#1564)
SAY-5 Apr 28, 2026
1875945
fix(pkg): rtk is Apache 2.0 and no MIT
aeppling May 25, 2026
fa11c6c
Merge pull request #2082 from rtk-ai/fix/pkg/MIT-to-apache-2
aeppling May 25, 2026
9bbc7bb
fix(docs): replace remaining MIT license references with Apache 2.0
aeppling May 25, 2026
4c099e4
Merge pull request #2084 from rtk-ai/fix/docs/mit-to-apache-remaining
aeppling May 25, 2026
6c4dfc7
fix(ls): preserve permission info as octal when -l/-la is passed
ryana-0154 May 25, 2026
53b5e79
feat: prefer short args and cleanup comments
KuSh May 25, 2026
8e04ac4
fix(grep): parse single-file output containing colons (#1554)
KuSh May 25, 2026
8fcc0dc
fix: handle GNU `--format=long` and `--format=verbose` long args
KuSh May 25, 2026
42ac86c
fix(hook): use maintainer regex suggestion for line continuation
SAY-5 May 25, 2026
0ec99de
fix(tests): use rewrite_command_no_prefixes in line-continuation tests
SAY-5 May 25, 2026
6e76f91
fix(ls): preserve permission info as octal when -l/-la is passed (#1675)
KuSh May 25, 2026
3c356b3
fix: remove remaining noise and rework comments
KuSh May 25, 2026
39f044e
fix(hook): collapse bash line continuations before matching (#1572)
KuSh May 25, 2026
97bd2a7
fix(mvn): preserve compile-error continuation in filter_surefire
vdufloth May 25, 2026
5459c6d
refactor(mvn): extract shared SurefireBlock state machine
vdufloth May 25, 2026
4609102
fix(mvn): keep multi-module Reactor Summary rows
vdufloth May 25, 2026
be6c812
feat(mvn): cap failing-class blocks and Failures summary entries
vdufloth May 25, 2026
92a9218
refactor(mvn): polish — strip_prefix, borrow buffers, CRLF tests
vdufloth May 25, 2026
f58333c
chore(mvn): drop unrelated Cargo.lock churn from PR
vdufloth May 25, 2026
e132896
fix(cicd): MIT to Apache 2.0
aeppling May 25, 2026
5a149a7
Merge pull request #2092 from rtk-ai/fix/cicd/mit-to-apache
aeppling May 25, 2026
8fb29e2
fix(hook): emit Copilot CLI-compatible hook config + strip BOM on Win…
aeppling May 25, 2026
84b703d
feat(hook): wire Copilot into uninstall, telemetry, and discover
aeppling May 25, 2026
557e57c
fix(hook): semgrep marker + regression tests for Copilot hook isolation
aeppling May 26, 2026
4b0bbf2
feat(hook): --global Copilot install + transparent rewrite via modifi…
aeppling May 26, 2026
69c10b6
fix(hook): default Copilot CLI rewrite to 'ask' to preserve permissio…
aeppling May 26, 2026
6c5e440
fix(hook): preserve Copilot CLI toolArgs metadata when rewriting command
aeppling May 26, 2026
db483e6
fix(hook): omit permissionDecision so Copilot prompts for the rewritt…
aeppling May 26, 2026
e1bb17f
fix(gh,glab): don't pre-reject view/checks/run subcommands missing th…
B-Galati May 27, 2026
f2a2e01
docs(readme): add Portuguese translation
LaraGb May 27, 2026
878af7d
Merge pull request #2128 from LaraGb/develop
aeppling May 28, 2026
ad2bfd3
fix(aws): preserve values in JSON output for unsupported subcommands
dessite May 28, 2026
852bcda
Merge branch 'develop' into master
aeppling May 28, 2026
207c82a
missing bracket
aeppling May 28, 2026
b6ecf96
missing test tag
aeppling May 28, 2026
e3ad973
fix(copilot-cli): use user-level instruction for -g
aeppling May 29, 2026
bcee6cc
fix: fmt
aeppling May 29, 2026
7853819
Update main.rs
aeppling May 29, 2026
b11f827
allow unsafe code clippy + semgrep
aeppling May 29, 2026
dd5362f
Update main.rs
aeppling May 29, 2026
26ff547
Update main.rs
aeppling May 29, 2026
acfd6c5
Merge pull request #1048 from ashwingopalsamy/master
aeppling May 29, 2026
a9a978c
Merge pull request #2101 from rtk-ai/fix/copilot-cli-hook-config-schema
aeppling May 29, 2026
3c8d29a
Merge pull request #2123 from B-Galati/fix/optional-gh-glab-id
aeppling May 29, 2026
5989ac9
fix(provider): sanatize more chars when encoding claude code project …
KuSh May 30, 2026
67a5958
doc(init): fix documentation inconsistencies arount `rtk init`
KuSh May 30, 2026
a2a63e1
fix(curl): passthrough binary downloads to prevent UTF-8 corruption
pszymkowiak May 31, 2026
e9f42e5
Merge pull request #2173 from KuSh/supported-agents-fixes
aeppling May 31, 2026
653a209
Merge pull request #2172 from KuSh/2150-encode_project_path
aeppling May 31, 2026
83cd93e
chore(args): introduce a more generic solution for restoring double d…
KuSh May 10, 2026
508192d
fix(init): preserve settings.json symlink during atomic write
ChrisGVE May 25, 2026
f1474b4
fix(init): use fs::canonicalize for symlink resolution
ChrisGVE May 31, 2026
4128572
fix(gh): show fallback note when PR/issue body is filtered to empty
pszymkowiak May 27, 2026
f69ad6e
fix(go): respect build failure exit status
jsiu93 May 31, 2026
6873764
Merge pull request #2188 from jsiu93/fix/go-build-pattern-errors
pszymkowiak Jun 1, 2026
4c278d1
Merge pull request #2002 from YOMXXX/feat/msrv-1.91
pszymkowiak Jun 1, 2026
89ae19b
fix(grep): command token duplication in output withsame value filenam…
KuSh Jun 3, 2026
1bb17f4
fix(openclaw): no execSync to avoid async dangerous cmds
aeppling Jun 3, 2026
b915419
Merge commit from fork
aeppling Jun 3, 2026
9664e27
chore(master): release 0.42.1
rtk-release-bot[bot] Jun 3, 2026
f490ab7
Merge pull request #2240 from rtk-ai/release-please--branches--master…
aeppling Jun 3, 2026
57e9350
Merge pull request #2239 from KuSh/1669-restore_double_dash-fix
aeppling Jun 3, 2026
4f4a6a0
Merge pull request #1266 from shalk/fix/commit-multibyte-panic-rebased
aeppling Jun 3, 2026
cdcdb68
fix(permissions): never auto-allow not evaluable + defer to the agent
aeppling Jun 3, 2026
6ab149b
fix(permissions): cursor and gemini use correct permissions settings …
aeppling Jun 3, 2026
f181184
fix(permissions): add test for cursor and gemini settings perm
aeppling Jun 3, 2026
86ebbb3
refacto(permissions): fmt
aeppling Jun 3, 2026
084fa84
fix(permissions): project-first config lookup for Gemini/Cursor
aeppling Jun 3, 2026
ce36297
fix(permissions): >&file redirect no allow + scope Gemini/Cursor config
aeppling Jun 3, 2026
e1bc0bd
Merge commit from fork
aeppling Jun 5, 2026
4be04e0
chore(master): release 0.42.2
rtk-release-bot[bot] Jun 5, 2026
c873e19
Merge pull request #2283 from rtk-ai/release-please--branches--master…
aeppling Jun 5, 2026
952245d
fix(permissions): never auto-allow not evaluable + defer to the agent
aeppling Jun 3, 2026
a4bb55e
fix(permissions): cursor and gemini use correct permissions settings …
aeppling Jun 3, 2026
1ccf6e3
fix(permissions): add test for cursor and gemini settings perm
aeppling Jun 3, 2026
4c9b14e
refacto(permissions): fmt
aeppling Jun 3, 2026
f88b6be
fix(permissions): project-first config lookup for Gemini/Cursor
aeppling Jun 3, 2026
e16aa26
fix(permissions): >&file redirect no allow + scope Gemini/Cursor config
aeppling Jun 3, 2026
f525cee
fix(openclaw): no execSync to avoid async dangerous cmds
aeppling Jun 3, 2026
7a985c7
test(hook): Copilot CLI acceptance tests
aeppling Jun 5, 2026
66d66b1
fix: semgrep markers on test-fixture sensitive paths
aeppling Jun 5, 2026
e1cd274
Merge pull request #2286 from rtk-ai/fix/cve-permission-hardening-port
aeppling Jun 5, 2026
a1ef0ef
chore: merge master into develop (security port + release bump)
aeppling Jun 5, 2026
98108bf
Merge pull request #2288 from rtk-ai/chore/merge-master-into-develop
aeppling Jun 5, 2026
16d6599
refacto(cmds): strip decorator noise from filter output
aeppling Jun 5, 2026
ab2038f
Merge pull request #2083 from rtk-ai/develop
aeppling Jun 5, 2026
6d89cb8
chore(master): release 0.42.3
rtk-release-bot[bot] Jun 5, 2026
de78d70
Merge pull request #2290 from rtk-ai/release-please--branches--master…
aeppling Jun 5, 2026
0a630fe
Merge pull request #2289 from rtk-ai/refacto/strip-output-decorators
aeppling Jun 5, 2026
e9b82fc
fix(vitest): preserve explicit reporters
jsiu93 Jun 6, 2026
1050cfe
fix(mvn): re-arm failure trail on per-test sublines
vdufloth Jun 6, 2026
be28a51
fix(ci): pin fixture line endings, harden CRLF tests
vdufloth Jun 6, 2026
df76528
fix(mvn): strip post-failure help boilerplate in non-quiet mode
vdufloth Jun 6, 2026
35273c2
Merge pull request #2181 from rtk-ai/fix/curl-binary-passthrough-1087
aeppling Jun 7, 2026
9574007
Merge pull request #2135 from dessite/fix/aws-json-preserves-values-f…
aeppling Jun 7, 2026
63a76de
Merge pull request #1645 from KuaaMU/master
aeppling Jun 7, 2026
f026cfd
Merge branch 'develop' into feat/mvn-rust-module
vdufloth Jun 7, 2026
3c0ee94
refactor(mvn): bind failure cap to truncate::CAP_WARNINGS, drop confi…
vdufloth Jun 7, 2026
f8bc856
style(mvn): align overflow tail with canonical '… +N more {label}' shape
vdufloth Jun 7, 2026
047f454
Merge pull request #1956 from vdufloth/feat/mvn-rust-module
aeppling Jun 8, 2026
05de9d3
fix(init): respect CLAUDE_CONFIG_DIR for global paths
ChrisGVE May 25, 2026
9671d9e
refactor(init): address review feedback on CLAUDE_CONFIG_DIR PR
ChrisGVE Jun 8, 2026
c59a763
review: cleanup code, comments and uneeded undocumented RTK_CLAUDE_DI…
KuSh Jun 8, 2026
6785a6c
fix: minor print_manual_instructions regression
KuSh Jun 8, 2026
84616d1
fix(grep): stabilize argument parsing
KuSh Jun 8, 2026
c40b3ef
fix(grep): fix value-taking flags, -rN clusters, multi-path, and -e p…
KuSh Jun 10, 2026
acb3a2d
fix(grep): handle value-taking flags in tail position of short clusters
KuSh Jun 10, 2026
7d6255f
fix(grep): code and test cleanup
KuSh Jun 10, 2026
c126d45
fix(diff): report modified-only diffs and follow diff exit convention
hgunduzoglu Jun 11, 2026
c753424
Merge pull request #2291 from rtk-ai/develop
aeppling Jun 12, 2026
9cc4937
fix(security): harden installer checksum, filter-trust, meta-command …
aeppling Jun 12, 2026
069a089
fix(security): harden meta command list check
aeppling Jun 12, 2026
769b6ce
Merge commit from fork
aeppling Jun 12, 2026
f1dc9f0
chore(master): release 0.42.4
rtk-release-bot[bot] Jun 12, 2026
8a7dd7e
Merge pull request #2406 from rtk-ai/release-please--branches--master…
aeppling Jun 12, 2026
b7d93b5
fix(grep): left-to-right cluster scan, long value flags, format passt…
KuSh Jun 14, 2026
8d29f75
fix(grep): restore strip_r as explicit testable helper + pre-existing…
KuSh Jun 14, 2026
34aac6e
refactor(grep): extract parse_cluster to make cluster parsing directl…
KuSh Jun 14, 2026
307b557
feat(grep): sort content alphabetically
KuSh Jun 14, 2026
d8c550e
Merge pull request #2333 from KuSh/grep_arg_parsing
aeppling Jun 14, 2026
3a73bcd
Merge pull request #2394 from hgunduzoglu/fix/diff-modified-lines-fal…
aeppling Jun 16, 2026
abe7d42
fix(grep): use portable --null in system grep fallback (BSD/macOS)
vegetablechicken233 Jun 15, 2026
c7f493b
feat(oc): add Openshift CLI support with shared k8s filtering
Alcamech Jun 3, 2026
34441dd
fix(hook): treat uv run as a transparent prefix
jbellis Jun 18, 2026
c8722bd
Merge pull request #2416 from BrokkAi/fix/hook-uv-run-pytest
aeppling Jun 18, 2026
d727db3
fix(grep): surface error on exit code >= 2 instead of false "0 matches"
ousamabenyounes Jun 16, 2026
99969e0
test(grep): gate grep_error_test with #![cfg(unix)] for Windows CI
ousamabenyounes Jun 17, 2026
fa7e510
style(test): cargo fmt grep_error_test.rs
ousamabenyounes Jun 17, 2026
3572d11
refactor(grep): extract error-exit decision into pure unit-tested fn
ousamabenyounes Jun 18, 2026
e36dd8c
fix(git): propagate exit code when commit fails instead of reporting ok
hgunduzoglu Jun 18, 2026
756c2a4
fix(git): propagate exit code on git status failure in compact path
hgunduzoglu Jun 18, 2026
ebaaf8d
fix(git): propagate exit code on git worktree list failure
hgunduzoglu Jun 18, 2026
39cbb96
Merge pull request #2243 from Alcamech/feat/oc-support
aeppling Jun 18, 2026
2d9dc1a
fix(dotnet): stop duplicating failures on failing test runs
Tailoo Jun 18, 2026
177242a
Merge remote-tracking branch 'origin/master' into fix/oc-classificati…
aeppling Jun 19, 2026
d2babe2
test(main): classify oc subcommand in PASSTHROUGH allowlist
aeppling Jun 19, 2026
444f1c0
Merge pull request #2514 from rtk-ai/fix/oc-classification-resync
aeppling Jun 19, 2026
f9469d1
fix(vitest): add passthrough recovery hint
jsiu93 Jun 20, 2026
e3f60e9
Merge pull request #2294 from jsiu93/fix/vitest-reporter-passthrough
aeppling Jun 20, 2026
5e7eab5
fix(dotnet): keep raw fallback when parsed failures incomplete
Tailoo Jun 21, 2026
729ac36
Merge remote-tracking branch 'upstream/develop' into feat/pulumi-add-…
wlami Jun 22, 2026
6946bf9
Merge pull request #2502 from Tailoo/fix/2501-dotnet-test-failure-dedup
aeppling Jun 22, 2026
1f6e36b
fix(pulumi): keep stack identity in pulumi-stack filter
wlami Jun 23, 2026
0adfae6
fix(grep): correctly handle all flag shapes and never exceed raw output
aeppling Jun 23, 2026
5cfe4d5
fix(pulumi): keep Owner and version in pulumi-stack filter
wlami Jun 23, 2026
3a59d23
test(grep): cover bundled -rln files-with-matches cluster (#2543)
aeppling Jun 23, 2026
ced70c6
Merge pull request #1334 from wlami/feat/pulumi-add-cli-filters
aeppling Jun 23, 2026
861a46d
fix(core): never-worse output guard so RTK never exceeds the raw command
aeppling Jun 23, 2026
ee9e2f8
Merge pull request #2550 from rtk-ai/fix/grep-context-flags
aeppling Jun 23, 2026
223dda2
fix(env): clean up feature from secrets rewrite
aeppling Jun 24, 2026
9d9ad7c
fix(pipe): apply the never-worse guard
aeppling Jun 24, 2026
9a2ad90
fix(read): make guard baseline faithful to cat/cat -n output
aeppling Jun 24, 2026
b52db52
fix(docker): make the agent's command authoritative for the guard bas…
aeppling Jun 24, 2026
25a095e
fix(aws): guard the s3 ls and s3 sync/cp text emits
aeppling Jun 24, 2026
9870c1c
Merge remote-tracking branch 'origin/develop' into fix/global-never-w…
aeppling Jun 24, 2026
3d4189c
fix(docker): report 0 containers/images instead of empty output
aeppling Jun 24, 2026
5a34452
test(bench): drop env --show-all (flag removed)
aeppling Jun 24, 2026
af81b08
Merge pull request #2554 from rtk-ai/fix/global-never-worse-guard
aeppling Jun 25, 2026
ee5a675
refactor(git): drop explanatory comment on status failure guard
hgunduzoglu Jun 26, 2026
d8e1428
refactor(git): drop explanatory comment on worktree list failure guard
hgunduzoglu Jun 26, 2026
8ef08cf
refactor(git): trim verbose comments on commit outcome to a concise note
hgunduzoglu Jun 26, 2026
a271b5e
chore: re-trigger CI (transient crates.io download failure on windows…
hgunduzoglu Jun 26, 2026
d86f007
Merge pull request #2498 from hgunduzoglu/fix/git-status-compact-exit…
aeppling Jun 26, 2026
c04dec1
test(git): cover exit-code propagation for git stash list/show failure
hgunduzoglu Jun 26, 2026
23aae98
Merge pull request #2500 from hgunduzoglu/fix/git-stash-list-show-exi…
aeppling Jun 26, 2026
adaf2b2
Update git.rs
aeppling Jun 26, 2026
a9b2ef5
Update git.rs
aeppling Jun 26, 2026
2927248
Merge pull request #2496 from hgunduzoglu/fix/git-commit-false-success
aeppling Jun 26, 2026
9a52647
Merge pull request #2499 from hgunduzoglu/fix/git-worktree-list-exit-…
aeppling Jun 26, 2026
eafadce
fix(grep): run the invoked engine instead of substituting rg for grep
aeppling Jun 26, 2026
37ee6cf
fix(grep): match real grep output and read piped stdin
aeppling Jun 26, 2026
c66e510
test(grep): cover #1436 comment-reported cases
aeppling Jun 26, 2026
059131c
test(grep): rename compress suite to search_compress, cover binary skip
aeppling Jun 26, 2026
05f3c54
fix(grep): surface the engine error and exit code, add nothing
aeppling Jun 26, 2026
d3553fb
Merge pull request #2641 from rtk-ai/fix/grep-faithful-engine
aeppling Jun 26, 2026
431145c
Merge pull request #2512 from rtk-ai/develop
aeppling Jun 28, 2026
a52a2b2
chore(master): release 0.43.0
rtk-release-bot[bot] Jun 28, 2026
5a7880d
Merge pull request #2682 from rtk-ai/release-please--branches--master…
aeppling Jun 28, 2026
65c3ce9
chore: sync fork with upstream rtk-ai/rtk v0.43.0
Jul 25, 2026
40b3b0c
fix: address codex pre-merge review findings on the v0.43.0 sync
Jul 25, 2026
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
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Fixtures are byte-exact filter inputs; eol conversion must never touch them.
# Without this, Windows runners (core.autocrlf=true) check fixtures out with
# CRLF, and tests that synthesize CRLF input from them produce \r\r\n.
tests/fixtures/** -text
7 changes: 5 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,10 +189,13 @@ jobs:

- name: Get version
id: version
env:
INPUT_TAG: ${{ inputs.tag }}
RELEASE_TAG: ${{ github.event.release.tag_name }}
run: |
TAG="${{ inputs.tag }}"
TAG="$INPUT_TAG"
if [ -z "$TAG" ]; then
TAG="${{ github.event.release.tag_name }}"
TAG="$RELEASE_TAG"
fi
echo "version=$TAG" >> $GITHUB_OUTPUT

Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.42.1"
".": "0.43.0"
}
419 changes: 99 additions & 320 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ The LLM doesn't know RTK is involved for which commands, hooks rewrite commands

Don't invent new output formats. Don't add RTK-specific headers or markers in the default output. The filtered output should be indistinguishable from "a shorter version of the real command."

Enforce it with `guard::never_worse(raw, filtered)` — print and track the value it returns (use `runner::emit_guarded(filtered, hint, raw)` when appending a tee hint). It guarantees RTK never emits more tokens than the raw command, down to emitting nothing when the command produced nothing.

### Never Block

If a filter fails, fall back to raw output. RTK should never prevent a command from executing or producing output. Better to pass through unfiltered than to error out. Same for hooks: exit 0 on all error paths so the agent's command runs unmodified.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
[package]
name = "rtk"
version = "0.42.1"
version = "0.43.0"
edition = "2021"
rust-version = "1.91"
authors = ["Patrick Szymkowiak"]
description = "Rust Token Killer - High-performance CLI proxy to minimize LLM token consumption"
license = "MIT"
license = "Apache 2.0"
homepage = "https://www.rtk-ai.app"
repository = "https://github.com/rtk-ai/rtk"
readme = "README.md"
Expand Down
2 changes: 1 addition & 1 deletion Formula/rtk.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class Rtk < Formula
desc "High-performance CLI proxy to minimize LLM token consumption"
homepage "https://www.rtk-ai.app"
version "0.1.0"
license "MIT"
license "Apache-2.0"

on_macos do
on_intel do
Expand Down
27 changes: 21 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<p align="center">
<a href="https://github.com/murphytek/rtk/actions"><img src="https://github.com/murphytek/rtk/workflows/Security%20Check/badge.svg" alt="CI"></a>
<a href="https://github.com/murphytek/rtk/releases"><img src="https://img.shields.io/github/v/release/murphytek/rtk" alt="Release"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
<a href="https://discord.gg/RySmvNF5kF"><img src="https://img.shields.io/discord/1470188214710046894?label=Discord&logo=discord" alt="Discord"></a>
<a href="https://formulae.brew.sh/formula/rtk"><img src="https://img.shields.io/homebrew/v/rtk" alt="Homebrew"></a>
</p>
Expand All @@ -28,7 +28,8 @@
<a href="README_zh.md">中文</a> &bull;
<a href="README_ja.md">日本語</a> &bull;
<a href="README_ko.md">한국어</a> &bull;
<a href="README_es.md">Espanol</a>
<a href="README_es.md">Espanol</a> &bull;
<a href="README_pt.md">Português</a>
</p>

---
Expand Down Expand Up @@ -119,10 +120,11 @@ rtk init -g # Claude Code / Copilot (default)
rtk init -g --gemini # Gemini CLI
rtk init -g --codex # Codex (OpenAI)
rtk init -g --agent cursor # Cursor
rtk init --agent windsurf # Windsurf
rtk init -g --agent windsurf # Windsurf
rtk init --agent cline # Cline / Roo Code
rtk init --agent kilocode # Kilo Code
rtk init --agent antigravity # Google Antigravity
rtk init -g --agent pi # Pi
rtk init --agent hermes # Hermes

# 2. Restart your AI tool, then test
Expand Down Expand Up @@ -161,7 +163,7 @@ rtk read file.rs -l aggressive # Signatures only (strips bodies)
rtk smart file.rs # 2-line heuristic code summary
rtk find "*.rs" . # Compact find results
rtk grep "pattern" . # Grouped search results
rtk diff file1 file2 # Condensed diff
rtk diff file1 file2 # Condensed diff (exit 1 if files differ)
```

### Git
Expand Down Expand Up @@ -241,6 +243,18 @@ rtk docker compose ps # Compose services
rtk kubectl pods # Compact pod list
rtk kubectl logs <pod> # Deduplicated logs
rtk kubectl services # Compact service list
rtk oc get pods # OpenShift pod summary
rtk oc get services # OpenShift service list
rtk oc logs <pod> # Deduplicated logs
```

### Infrastructure as Code
```bash
rtk pulumi preview # Strip header/URL/duration noise
rtk pulumi up # Compact apply output
rtk pulumi destroy # Compact destroy output
rtk pulumi refresh # Drift summary
rtk pulumi stack # Stack metadata (strips owner/timestamps)
```

### Data & Analytics
Expand Down Expand Up @@ -364,7 +378,7 @@ rtk git status

## Supported AI Tools

RTK supports 13 AI coding tools. Each integration rewrites shell commands to `rtk` equivalents for 60-90% token savings where the agent supports command interception.
RTK supports 14 AI coding tools. Each integration rewrites shell commands to `rtk` equivalents for 60-90% token savings where the agent supports command interception.

| Tool | Install | Method |
|------|---------|--------|
Expand All @@ -374,10 +388,11 @@ RTK supports 13 AI coding tools. Each integration rewrites shell commands to `rt
| **Cursor** | `rtk init -g --agent cursor` | preToolUse hook (hooks.json) |
| **Gemini CLI** | `rtk init -g --gemini` | BeforeTool hook |
| **Codex** | `rtk init -g --codex` | AGENTS.md + RTK.md instructions |
| **Windsurf** | `rtk init --agent windsurf` | .windsurfrules (project-scoped) |
| **Windsurf** | `rtk init -g --agent windsurf` | .windsurfrules (project-scoped) |
| **Cline / Roo Code** | `rtk init --agent cline` | .clinerules (project-scoped) |
| **OpenCode** | `rtk init -g --opencode` | Plugin TS (tool.execute.before) |
| **OpenClaw** | `openclaw plugins install ./openclaw` | Plugin TS (before_tool_call) |
| **Pi** | `rtk init -g --agent pi` (global) | TypeScript extension (tool_call) |
| **Hermes** | `rtk init --agent hermes` | Python plugin adapter (terminal command mutation via `rtk rewrite`) |
| **Mistral Vibe** | Planned ([#800](https://github.com/rtk-ai/rtk/issues/800)) | Blocked on upstream |
| **Kilo Code** | `rtk init --agent kilocode` | .kilocode/rules/rtk-rules.md (project-scoped) |
Expand Down
4 changes: 2 additions & 2 deletions README_es.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<p align="center">
<a href="https://github.com/rtk-ai/rtk/actions"><img src="https://github.com/rtk-ai/rtk/workflows/Security%20Check/badge.svg" alt="CI"></a>
<a href="https://github.com/rtk-ai/rtk/releases"><img src="https://img.shields.io/github/v/release/rtk-ai/rtk" alt="Release"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
<a href="https://discord.gg/RySmvNF5kF"><img src="https://img.shields.io/discord/1478373640461488159?label=Discord&logo=discord" alt="Discord"></a>
<a href="https://formulae.brew.sh/formula/rtk"><img src="https://img.shields.io/homebrew/v/rtk" alt="Homebrew"></a>
</p>
Expand Down Expand Up @@ -158,7 +158,7 @@ Unete a la comunidad en [Discord](https://discord.gg/RySmvNF5kF).

## Licencia

Licencia MIT - ver [LICENSE](LICENSE) para detalles.
Licencia Apache 2.0 - ver [LICENSE](LICENSE) para detalles.

## Descargo de responsabilidad

Expand Down
4 changes: 2 additions & 2 deletions README_fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<p align="center">
<a href="https://github.com/rtk-ai/rtk/actions"><img src="https://github.com/rtk-ai/rtk/workflows/Security%20Check/badge.svg" alt="CI"></a>
<a href="https://github.com/rtk-ai/rtk/releases"><img src="https://img.shields.io/github/v/release/rtk-ai/rtk" alt="Release"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
<a href="https://discord.gg/RySmvNF5kF"><img src="https://img.shields.io/discord/1478373640461488159?label=Discord&logo=discord" alt="Discord"></a>
<a href="https://formulae.brew.sh/formula/rtk"><img src="https://img.shields.io/homebrew/v/rtk" alt="Homebrew"></a>
</p>
Expand Down Expand Up @@ -195,7 +195,7 @@ Rejoignez la communaute sur [Discord](https://discord.gg/RySmvNF5kF).

## Licence

Licence MIT - voir [LICENSE](LICENSE) pour les details.
Licence Apache 2.0 - voir [LICENSE](LICENSE) pour les details.

## Avertissement

Expand Down
4 changes: 2 additions & 2 deletions README_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<p align="center">
<a href="https://github.com/rtk-ai/rtk/actions"><img src="https://github.com/rtk-ai/rtk/workflows/Security%20Check/badge.svg" alt="CI"></a>
<a href="https://github.com/rtk-ai/rtk/releases"><img src="https://img.shields.io/github/v/release/rtk-ai/rtk" alt="Release"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
<a href="https://discord.gg/RySmvNF5kF"><img src="https://img.shields.io/discord/1478373640461488159?label=Discord&logo=discord" alt="Discord"></a>
<a href="https://formulae.brew.sh/formula/rtk"><img src="https://img.shields.io/homebrew/v/rtk" alt="Homebrew"></a>
</p>
Expand Down Expand Up @@ -157,7 +157,7 @@ rtk discover # 見逃した節約機会を発見

## ライセンス

MIT ライセンス - 詳細は [LICENSE](LICENSE) を参照。
Apache 2.0 ライセンス - 詳細は [LICENSE](LICENSE) を参照。

## 免責事項

Expand Down
4 changes: 2 additions & 2 deletions README_ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<p align="center">
<a href="https://github.com/rtk-ai/rtk/actions"><img src="https://github.com/rtk-ai/rtk/workflows/Security%20Check/badge.svg" alt="CI"></a>
<a href="https://github.com/rtk-ai/rtk/releases"><img src="https://img.shields.io/github/v/release/rtk-ai/rtk" alt="Release"></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
<a href="https://discord.gg/RySmvNF5kF"><img src="https://img.shields.io/discord/1478373640461488159?label=Discord&logo=discord" alt="Discord"></a>
<a href="https://formulae.brew.sh/formula/rtk"><img src="https://img.shields.io/homebrew/v/rtk" alt="Homebrew"></a>
</p>
Expand Down Expand Up @@ -157,7 +157,7 @@ rtk discover # 놓친 절약 기회 발견

## 라이선스

MIT 라이선스 - 자세한 내용은 [LICENSE](LICENSE)를 참조하세요.
Apache 2.0 라이선스 - 자세한 내용은 [LICENSE](LICENSE)를 참조하세요.

## 면책 조항

Expand Down
166 changes: 166 additions & 0 deletions README_pt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
<p align="center">
<img src="https://avatars.githubusercontent.com/u/258253854?v=4" alt="RTK - Rust Token Killer" width="500">
</p>

<p align="center">
<strong>Proxy CLI de alta performance que reduz o consumo de tokens LLM em 60-90%</strong>
</p>

<p align="center">
<a href="https://github.com/rtk-ai/rtk/actions"><img src="https://github.com/rtk-ai/rtk/workflows/Security%20Check/badge.svg" alt="CI"></a>
<a href="https://github.com/rtk-ai/rtk/releases"><img src="https://img.shields.io/github/v/release/rtk-ai/rtk" alt="Release"></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
<a href="https://discord.gg/RySmvNF5kF"><img src="https://img.shields.io/discord/1470188214710046894?label=Discord&logo=discord" alt="Discord"></a>
<a href="https://formulae.brew.sh/formula/rtk"><img src="https://img.shields.io/homebrew/v/rtk" alt="Homebrew"></a>
</p>

<p align="center">
<a href="https://www.rtk-ai.app">Site</a> &bull;
<a href="#instalacao">Instalar</a> &bull;
<a href="https://www.rtk-ai.app/guide/troubleshooting">Solução de problemas</a> &bull;
<a href="docs/contributing/ARCHITECTURE.md">Arquitetura</a> &bull;
<a href="https://discord.gg/RySmvNF5kF">Discord</a>
</p>

<p align="center">
<a href="README.md">English</a> &bull;
<a href="README_fr.md">Francais</a> &bull;
<a href="README_zh.md">中文</a> &bull;
<a href="README_ja.md">日本語</a> &bull;
<a href="README_ko.md">한국어</a> &bull;
<a href="README_es.md">Espanol</a> &bull;
<a href="README_pt.md">Português</a>
</p>

---

rtk filtra e comprime saídas de comandos antes de chegarem ao contexto do seu LLM. Binário Rust único, zero dependências, overhead inferior a 10ms.

## Economia de tokens (sessão de 30 min no Claude Code)

| Operação | Frequência | Padrão | rtk | Economia |
|-----------|------------|----------|-----|--------|
| `ls` / `tree` | 10x | 2,000 | 400 | -80% |
| `cat` / `read` | 20x | 40,000 | 12,000 | -70% |
| `grep` / `rg` | 8x | 16,000 | 3,200 | -80% |
| `git status` | 10x | 3,000 | 600 | -80% |
| `cargo test` / `npm test` | 5x | 25,000 | 2,500 | -90% |
| **Total** | | **~118,000** | **~23,900** | **-80%** |

## Instalacao

### Homebrew (recomendado)

```bash
brew install rtk
```

### Instalação rápida (Linux/macOS)

```bash
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
```

### Cargo

```bash
cargo install --git https://github.com/rtk-ai/rtk
```

### Verificação

```bash
rtk --version # Deve exibir "rtk 0.28.2"
rtk gain # Deve exibir estatísticas de economia
```

## Inicio rapido

```bash
# 1. Instalar hook para Claude Code (recomendado)
rtk init --global

# 2. Reiniciar Claude Code, depois testar
git status # Reescrito automaticamente para rtk git status
```

## Como funciona

```
Sem rtk: Com rtk:

Claude --git status--> shell --> git Claude --git status--> RTK --> git
^ | ^ | |
| ~2,000 tokens (bruto) | | ~200 tokens | filtro |
+-----------------------------------+ +------- (filtrado) ---+----------+
```

Quatro estratégias:

1. **Filtragem inteligente** - Elimina ruído (comentários, espaços, boilerplate)
2. **Agrupamento** - Agrega itens similares (arquivos por diretório, erros por tipo)
3. **Truncamento** - Mantém contexto relevante, elimina redundância
4. **Deduplicação** - Colapsa linhas de log repetidas com contadores

## Comandos

### Arquivos
```bash
rtk ls . # Árvore de diretórios otimizada
rtk read file.rs # Leitura inteligente
rtk find "*.rs" . # Resultados compactos
rtk grep "pattern" . # Busca agrupada por arquivo
```

### Git
```bash
rtk git status # Status compacto
rtk git log -n 10 # Commits em uma linha
rtk git diff # Diff condensado
rtk git push # -> "ok main"
```

### Tests
```bash
rtk jest # Jest compacto
rtk vitest # Vitest compacto
rtk pytest # Tests Python (-90%)
rtk go test # Tests Go (-90%)
rtk cargo test # Tests Rust (-90%)
rtk test <cmd> # Só falhas (-90%)
```

### Build & Lint
```bash
rtk lint # ESLint agrupado por regra
rtk tsc # Erros TypeScript agrupados
rtk cargo build # Build Cargo (-80%)
rtk ruff check # Lint Python (-80%)
```

### Análises
```bash
rtk gain # Estatísticas de economia
rtk gain --graph # Gráfico ASCII (30 dias)
rtk discover # Descobrir economias perdidas
```

## Documentação

- **[INSTALL.md](INSTALL.md)** - Guia de instalação detalhado
- **[ARCHITECTURE.md](docs/contributing/ARCHITECTURE.md)** - Arquitetura técnica
- **[CONTRIBUTING.md](CONTRIBUTING.md)** - Guia de contribuição

## Contribuir

Contribuições são bem-vindas. Abra uma issue ou PR no [GitHub](https://github.com/rtk-ai/rtk).

Junte-se à comunidade no [Discord](https://discord.gg/RySmvNF5kF).

## Licença

Apache License 2.0 - veja [LICENSE](LICENSE) para detalhes.

## Aviso Legal

Veja [DISCLAIMER.md](DISCLAIMER.md).
Loading
Loading