Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
de552c0
Merge pull request #397 from rtk-ai/master
aeppling Mar 7, 2026
8fc0e4d
fix(uninstall): uninstall removes --claude-md artifacts on Windows
aeppling Mar 6, 2026
122146d
Merge branch 'develop' into fix/address-issue-384
aeppling Mar 7, 2026
69a9c64
fix(init-uninstall): trailing newline, test refactor, changelog
aeppling Mar 13, 2026
2bc77d7
Merge branch 'develop' into fix/address-issue-384
aeppling Mar 13, 2026
9a50efa
fix(pnpm): install don't take a list of packages
KuSh Apr 4, 2026
0d70760
fix(ls): add LC_ALL=C and fallback to raw on unrecognized locale
lumincui Apr 16, 2026
ec3a4e9
fix(discover): skip head/tail rewrite when multiple files are passed …
ousamabenyounes Apr 17, 2026
25727e3
fix(ls): distinguish empty dir from unparseable locale content
lumincui Apr 17, 2026
a855d8d
refactor(ls): remove unused parse_failed variable
lumincui Apr 17, 2026
f3e33f3
feat(cicd): add auto next release parser
aeppling Apr 22, 2026
b51a815
fix(ls): LC_ALL=C + fallback to raw on unrecognized locale
lumincui Apr 24, 2026
b269918
test(dotnet): try to lessen test flakiness
KuSh Apr 11, 2026
021827c
fix(grep): adjust the command to fall through if the output would alr…
JBF1991 Apr 22, 2026
b855891
refactor(git): Fix stash status detection for all cases
KuSh Apr 28, 2026
017d0f9
fix(git): surface in-progress state in compact `rtk git status`
vsumner Apr 23, 2026
cff391e
fix(git): compact in-progress status state
vsumner Apr 24, 2026
316e65e
fix(git): address review feedback on status state surfacing
vsumner Apr 27, 2026
e91dee5
fix(git): drop state-hint extraction in compact status
vsumner Apr 28, 2026
09e1c0a
Merge pull request #1456 from JBF1991/fix-grep-passthrough
aeppling May 1, 2026
1bc4713
chore: fix clippy warnings
KuSh Apr 25, 2026
74c1b36
build(deps): bump rustls-webpki from 0.103.9 to 0.103.13
dependabot[bot] May 1, 2026
533894a
fix(json): use char boundary when truncating long string values
swithek Apr 27, 2026
7840030
fix(json): expand char boundary truncation test
swithek May 1, 2026
a017fbd
test(json): assert truncated value byte length for multibyte strings
swithek May 1, 2026
63da7da
feat(cicd): target develop branch
KuSh May 1, 2026
02da3d0
fix(curl): JSON passthrough + IsTerminal gate to prevent invalid JSON…
Apr 29, 2026
2ed53c7
fix(curl): gate force_tee_hint, extend JSON heuristic, avoid full-bod…
Apr 29, 2026
bf6d4b2
Merge pull request #1338 from lumincui/fix/ls-locale-fallback
aeppling May 3, 2026
f75a10b
Merge pull request #1371 from ousamabenyounes/fix/issue-1362
aeppling May 3, 2026
492aa76
Merge pull request #1009 from KuSh/broken-pnpm-i
aeppling May 3, 2026
cac8ce7
fix(ls): handle device files (block, char, pipe, socket) in ls filter
MaxenceB59 Apr 22, 2026
e456be1
Merge pull request #1451 from MaxenceB59/fix/ls-locale-glob-issue-844
aeppling May 3, 2026
7e552ae
Merge pull request #1532 from KuSh/clippy-fixes
aeppling May 4, 2026
17ffe62
Merge pull request #1238 from KuSh/dotnet-flakiness
aeppling May 4, 2026
5987333
fix(cicd): match ":" for body prefix to catch
aeppling May 4, 2026
b1233ab
fix(cicd): match allowed repo list in pr bodies
aeppling May 4, 2026
42f0203
Merge branch 'cicd-auto-next-release' of https://github.com/rtk-ai/rt…
aeppling May 4, 2026
b5500bb
Merge pull request #1586 from KuSh/git-stash-nothing
aeppling May 4, 2026
aad0db8
fix(init-uninstall): uninstall removes --claude-md artifacts on Windows
aeppling May 4, 2026
bf24972
Merge pull request #1462 from rtk-ai/cicd-auto-next-release
aeppling May 5, 2026
d395f97
Merge pull request #392 from rtk-ai/fix/address-issue-384
aeppling May 5, 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: 3 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
version: 2
updates:
- package-ecosystem: "cargo"
target-branch: "develop"
directory: "/"
schedule:
interval: "weekly"
Expand All @@ -9,9 +10,10 @@ updates:
open-pull-requests-limit: 5

- package-ecosystem: "github-actions"
target-branch: "develop"
directory: "/"
schedule:
interval: "weekly"
labels:
- "dependencies"
- "ci"
- "area:ci"
126 changes: 126 additions & 0 deletions .github/workflows/next-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
name: Update Next Release PR

on:
pull_request:
types: [closed]
branches: [develop]

permissions:
contents: read
pull-requests: write

jobs:
update-next-release:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Update Next Release PR
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
PR_TITLE: ${{ github.event.pull_request.title }}
PR_URL: ${{ github.event.pull_request.html_url }}
PR_BODY: ${{ github.event.pull_request.body }}
REPO: ${{ github.repository }}
ALLOWED_REPOS: "rtk-ai/rtk"
run: |
set -euo pipefail

URL_PATTERN=""
for repo in $ALLOWED_REPOS; do
URL_PATTERN="${URL_PATTERN}|https://github\\.com/${repo}/issues/[0-9]+"
done
URL_PATTERN="${URL_PATTERN#|}"

if printf '%s' "$PR_TITLE" | grep -qiE '^feat'; then
SECTION="Feats"
elif printf '%s' "$PR_TITLE" | grep -qiE '^fix'; then
SECTION="Fix"
else
SECTION="Other"
fi

ISSUE_REFS=""
if [ -n "$PR_BODY" ]; then
ISSUE_REFS=$(echo "$PR_BODY" \
| grep -oiE "(closes|fixes|resolves):?\s+#[0-9]+|${URL_PATTERN}" \
| grep -oE '#[0-9]+|issues/[0-9]+' \
| sed 's|issues/|#|' \
| sort -u \
|| true)
fi

ENTRY="- ${PR_TITLE} [#${PR_NUMBER}](${PR_URL})"
if [ -n "$ISSUE_REFS" ]; then
CLOSES_PARTS=""
while IFS= read -r ref; do
[ -z "$ref" ] && continue
NUM="${ref#\#}"
ISSUE_URL="https://github.com/${REPO}/issues/${NUM}"
if [ -n "$CLOSES_PARTS" ]; then
CLOSES_PARTS="${CLOSES_PARTS}, [${ref}](${ISSUE_URL}) (to verify)"
else
CLOSES_PARTS="Closes [${ref}](${ISSUE_URL}) (to verify)"
fi
done <<< "$ISSUE_REFS"
ENTRY="${ENTRY} — ${CLOSES_PARTS}"
fi

NEXT_PR=$(gh pr list \
--repo "$REPO" \
--label next-release \
--base master \
--head develop \
--state open \
--json number,body \
--jq '.[0] // empty')

NEXT_PR_NUMBER=""
if [ -n "$NEXT_PR" ]; then
NEXT_PR_NUMBER=$(echo "$NEXT_PR" | jq -r '.number')
fi

if [ -z "$NEXT_PR_NUMBER" ]; then
TEMPLATE="### Feats

### Fix

### Other"

PR_CREATE_URL=$(gh pr create \
--repo "$REPO" \
--base master \
--head develop \
--title "Next Release" \
--label next-release \
--body "$TEMPLATE")

NEXT_PR_NUMBER=$(echo "$PR_CREATE_URL" | grep -oE '/pull/[0-9]+' | grep -oE '[0-9]+')
CURRENT_BODY="$TEMPLATE"
else
CURRENT_BODY=$(echo "$NEXT_PR" | jq -r '.body')
fi

SECTION_HEADER="### ${SECTION}"
export ENTRY
if echo "$CURRENT_BODY" | grep -qF "$SECTION_HEADER"; then
UPDATED_BODY=$(echo "$CURRENT_BODY" | awk -v section="$SECTION_HEADER" '
$0 == section {
print
print ENVIRON["ENTRY"]
next
}
{ print }
')
else
UPDATED_BODY="${CURRENT_BODY}

${SECTION_HEADER}
${ENTRY}"
fi

gh pr edit "$NEXT_PR_NUMBER" \
--repo "$REPO" \
--body "$UPDATED_BODY"

echo "Updated Next Release PR #${NEXT_PR_NUMBER} — added entry to ### ${SECTION}"
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -431,6 +431,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

* **cargo clippy:** include actionable error details in compact output instead of summary-only counts ([#602](https://github.com/rtk-ai/rtk/issues/602))
* **curl:** skip JSON schema replacement when schema is larger than original payload ([#297](https://github.com/rtk-ai/rtk/issues/297))
* **init:** `rtk init -g --uninstall` now removes `<!-- rtk-instructions -->` block from CLAUDE.md ([#384](https://github.com/rtk-ai/rtk/issues/384))
* **toml-dsl:** fix regex overmatch on `tofu-plan/init/validate/fmt` and `mix-format/compile` — add `(\s|$)` word boundary to prevent matching subcommands (e.g. `tofu planet`, `mix formats`) ([#349](https://github.com/rtk-ai/rtk/issues/349))
* **toml-dsl:** remove 3 dead built-in filters (`docker-inspect`, `docker-compose-ps`, `pnpm-build`) — Clap routes these commands before `run_fallback`, so the TOML filters never fire ([#351](https://github.com/rtk-ai/rtk/issues/351))
* **toml-dsl:** `uv-sync` — remove `Resolved` short-circuit; it fires before the package list is printed, hiding installed packages ([#386](https://github.com/rtk-ai/rtk/issues/386))
Expand Down Expand Up @@ -485,6 +486,7 @@ breakage, but future rule additions won't take effect until they migrate.

* +48 regression tests covering all command categories: aws, psql, Python, Go, JS/TS,
compound operators, sudo/env prefixes, registry invariants (607 total, was 559)
* +5 tests for uninstall `--claude-md` artifact cleanup (614 total)

## [0.24.0](https://github.com/rtk-ai/rtk/compare/v0.23.0...v0.24.0) (2026-03-04)

Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

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

6 changes: 3 additions & 3 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -296,9 +296,9 @@ rtk git push # → "ok ✓ main"

### Pnpm (fork only)
```bash
rtk pnpm list # Dependency tree (-70% tokens)
rtk pnpm outdated # Available updates (-80-90%)
rtk pnpm install pkg # Silent installation
rtk pnpm list # Dependency tree (-70% tokens)
rtk pnpm outdated # Available updates (-80-90%)
rtk pnpm install # Silent installation
```

### Tests
Expand Down
6 changes: 3 additions & 3 deletions docs/usage/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,11 @@ rtk grep <pattern> [chemin] [options]
|--------|-------|--------|-------------|
| `--max-len` | `-l` | 80 | Longueur maximale de ligne |
| `--max` | `-m` | 50 | Nombre maximum de resultats |
| `--context-only` | `-c` | non | Afficher uniquement le contexte du match |
| `--context-only` | | non | Afficher uniquement le contexte du match (pas de raccourci, `-c` est reserve a `grep --count`) |
| `--file-type` | `-t` | tous | Filtrer par type (ts, py, rust, etc.) |
| `--line-numbers` | `-n` | oui | Numeros de ligne (toujours actif) |

Les arguments supplementaires sont transmis a `rg` (ripgrep).
Les arguments supplementaires sont transmis a `rg` (ripgrep). Les flags qui changent le format de sortie (`-c`, `-l`, `-L`, `-o`, `-Z`) passent directement a `rg`/`grep` sans filtrage RTK.

**Economies :** ~80%

Expand Down Expand Up @@ -800,7 +800,7 @@ Detecte automatiquement : prettier, black, ruff format, rustfmt. Applique un fil
|----------|-------------|-----------|
| `rtk pnpm list [-d N]` | Arbre de dependances compact | ~70% |
| `rtk pnpm outdated` | Paquets obsoletes : `pkg: old -> new` | ~80% |
| `rtk pnpm install [pkgs...]` | Filtre les barres de progression | ~60% |
| `rtk pnpm install` | Filtre les barres de progression | ~60% |
| `rtk pnpm build` | Delegue au filtre Next.js | ~87% |
| `rtk pnpm typecheck` | Delegue au filtre tsc | ~83% |

Expand Down
Loading
Loading