Skip to content
Merged
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
6 changes: 2 additions & 4 deletions .claude/hooks/rtk-suggest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,8 @@ elif echo "$FIRST_CMD" | grep -qE '^head\s+'; then
fi

# --- JS/TS tooling ---
elif echo "$FIRST_CMD" | grep -qE '^(pnpm\s+)?vitest(\s|$)'; then
SUGGESTION="rtk vitest run"
elif echo "$FIRST_CMD" | grep -qE '^pnpm\s+test(\s|$)'; then
SUGGESTION="rtk vitest run"
elif echo "$FIRST_CMD" | grep -qE '^(pnpm\s+)?vitest(\s+run)?(\s|$)'; then
SUGGESTION="rtk vitest"
elif echo "$FIRST_CMD" | grep -qE '^pnpm\s+tsc(\s|$)'; then
SUGGESTION="rtk tsc"
elif echo "$FIRST_CMD" | grep -qE '^(npx\s+)?tsc(\s|$)'; then
Expand Down
19 changes: 13 additions & 6 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,11 +231,11 @@ rtk ls .
# Test with git
rtk git status

# Test with pnpm (fork only)
# Test with pnpm
rtk pnpm list

# Test with Vitest (feat/vitest-support branch only)
rtk vitest run
# Test with Vitest
rtk vitest
```

## Uninstalling
Expand Down Expand Up @@ -303,8 +303,15 @@ rtk pnpm install pkg # Silent installation

### Tests
```bash
rtk test cargo test # Failures only (-90%)
rtk vitest run # Filtered Vitest output (-99.6%)
rtk cargo test # Filtered Cargo test output (-90%)
rtk go test # Filtered Go tests (NDJSON, -90%)
rtk jest # Filtered Jest output (-99.6%)
rtk vitest # Filtered Vitest output (-99.6%)
rtk playwright test # Filtered Playwright output (-94%)
rtk pytest # Filtered Python tests (-90%)
rtk rake test # Filtered Ruby tests (-90%)
rtk rspec # Filtered RSpec tests (-60%)
rtk test <cmd> # Generic test wrapper - failures only (-90%)
```

### Statistics
Expand All @@ -319,7 +326,7 @@ rtk gain --history # With command history
### Production T3 Stack Project
| Operation | Standard | RTK | Reduction |
|-----------|----------|-----|-----------|
| `vitest run` | 102,199 chars | 377 chars | **-99.6%** |
| `vitest` | 102,199 chars | 377 chars | **-99.6%** |
| `git status` | 529 chars | 217 chars | **-59%** |
| `pnpm list` | ~8,000 tokens | ~2,400 | **-70%** |
| `pnpm outdated` | ~12,000 tokens | ~1,200-2,400 | **-80-90%** |
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,15 +169,16 @@ rtk gh run list # Workflow run status

### Test Runners
```bash
rtk test cargo test # Show failures only (-90%)
rtk err npm run build # Errors/warnings only
rtk vitest run # Vitest compact (failures only)
rtk jest # Jest compact (failures only)
rtk vitest # Vitest compact (failures only)
rtk playwright test # E2E results (failures only)
rtk pytest # Python tests (-90%)
rtk go test # Go tests (NDJSON, -90%)
rtk cargo test # Cargo tests (-90%)
rtk rake test # Ruby minitest (-90%)
rtk rspec # RSpec tests (JSON, -60%+)
rtk err <cmd> # Filter errors only from any command
rtk test <cmd> # Generic test wrapper - failures only (-90%)
```

### Build & Lint
Expand Down
6 changes: 4 additions & 2 deletions README_es.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,12 @@ rtk git push # -> "ok main"

### Tests
```bash
rtk test cargo test # Solo fallos (-90%)
rtk vitest run # Vitest compacto
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> # Solo fallos (-90%)
```

### Build & Lint
Expand Down
5 changes: 3 additions & 2 deletions README_fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,12 @@ rtk git push # -> "ok main"

### Tests
```bash
rtk test cargo test # Echecs uniquement (-90%)
rtk vitest run # Vitest compact
rtk jest # Jest compact
rtk vitest # Vitest compact
rtk pytest # Tests Python (-90%)
rtk go test # Tests Go (-90%)
rtk cargo test # Tests Cargo (-90%)
rtk test <cmd> # Echecs uniquement (-90%)
```

### Build & Lint
Expand Down
5 changes: 3 additions & 2 deletions README_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,11 @@ rtk git push # -> "ok main"

### テスト
```bash
rtk test cargo test # 失敗のみ表示(-90%)
rtk vitest run # Vitest コンパクト
rtk jest # Jest コンパクト
rtk vitest # Vitest コンパクト
rtk pytest # Python テスト(-90%)
rtk go test # Go テスト(-90%)
rtk test <cmd> # 失敗のみ表示(-90%)
```

### ビルド & リント
Expand Down
5 changes: 3 additions & 2 deletions README_ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,11 @@ rtk git push # -> "ok main"

### 테스트
```bash
rtk test cargo test # 실패만 표시 (-90%)
rtk vitest run # Vitest 컴팩트
rtk jest # Jest 컴팩트
rtk vitest # Vitest 컴팩트
rtk pytest # Python 테스트 (-90%)
rtk go test # Go 테스트 (-90%)
rtk test <cmd> # 실패만 표시 (-90%)
```

### 빌드 & 린트
Expand Down
5 changes: 3 additions & 2 deletions README_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,11 @@ rtk git push # -> "ok main"

### 测试
```bash
rtk test cargo test # 仅显示失败(-90%)
rtk vitest run # Vitest 紧凑输出
rtk jest # Jest 紧凑输出
rtk vitest # Vitest 紧凑输出
rtk pytest # Python 测试(-90%)
rtk go test # Go 测试(-90%)
rtk test <cmd> # 仅显示失败(-90%)
```

### 构建 & 检查
Expand Down
3 changes: 2 additions & 1 deletion docs/guide/analytics/gain.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ Same columns as daily, aggregated by Sunday-Saturday week or calendar month.
|---------|----------------|-----------|
| `git status` | 77-93% | Compact stat format |
| `eslint` | 84% | Group by rule |
| `vitest run` | 94-99% | Show failures only |
| `jest` | 94-99% | Show failures only |
| `vitest` | 94-99% | Show failures only |
| `find` | 75% | Tree format |
| `pnpm list` | 70-90% | Compact dependencies |
| `grep` | 70% | Truncate + group |
Expand Down
3 changes: 2 additions & 1 deletion docs/guide/what-rtk-covers.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ Once RTK is installed with a hook, these commands are automatically intercepted

| Command | Savings | What changes |
|---------|---------|--------------|
| `vitest run` | 94-99% | Failures only |
| `jest` | 94-99% | Failures only |
| `vitest` | 94-99% | Failures only |
| `tsc` | 75% | Type errors grouped by file |
| `eslint` | 84% | Violations grouped by rule |
| `pnpm list` | 70-90% | Compact dependency tree |
Expand Down
3 changes: 2 additions & 1 deletion docs/usage/AUDIT_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,8 @@ Savings % = (Saved / Input) × 100
|---------|----------------|-----------|
| `rtk git status` | 77-93% | Compact stat format |
| `rtk eslint` | 84% | Group by rule |
| `rtk vitest run` | 94-99% | Show failures only |
| `rtk jest` | 94-99% | Show failures only |
| `rtk vitest` | 94-99% | Show failures only |
| `rtk find` | 75% | Tree format |
| `rtk pnpm list` | 70-90% | Compact dependencies |
| `rtk grep` | 70% | Truncate + group |
Expand Down
8 changes: 5 additions & 3 deletions docs/usage/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -576,12 +576,13 @@ Filtre la sortie de `cargo nextest` pour n'afficher que les echecs.

---

### `rtk vitest run` -- Tests Vitest
### `rtk jest` / `rtk vitest` -- Tests Jest/Vitest

**Economies :** ~99.5%

```bash
rtk vitest run [args...]
rtk jest [args...]
rtk vitest [args...]
```

---
Expand Down Expand Up @@ -1258,7 +1259,8 @@ rtk verify
| `ls` | `rtk ls` |
| `tree` | `rtk tree` |
| `wc` | `rtk wc` |
| `vitest/jest` | `rtk vitest run` |
| `jest` | `rtk jest` |
| `vitest` | `rtk vitest` |
| `tsc` | `rtk tsc` |
| `eslint/biome` | `rtk lint` |
| `prettier` | `rtk prettier` |
Expand Down
68 changes: 30 additions & 38 deletions hooks/claude/test-rtk-rewrite.sh
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,10 @@ test_rewrite "npx prisma migrate" \
"npx prisma migrate" \
"rtk prisma migrate"

test_rewrite "rtk git status" \
"rtk git status" \
"rtk git status"

echo ""

# ---- SECTION 2: Env var prefix handling (THE BIG FIX) ----
Expand All @@ -134,16 +138,16 @@ test_rewrite "env + git log" \
"GIT_PAGER=cat rtk git log --oneline -10"

test_rewrite "multi env + vitest" \
"NODE_ENV=test CI=1 npx vitest run" \
"NODE_ENV=test CI=1 rtk vitest run"
"NODE_ENV=test CI=1 npx vitest" \
"NODE_ENV=test CI=1 rtk vitest"

test_rewrite "env + ls" \
"LANG=C ls -la" \
"LANG=C rtk ls -la"

test_rewrite "env + npm run" \
"NODE_ENV=test npm run test:e2e" \
"NODE_ENV=test rtk npm test:e2e"
"NODE_ENV=test rtk npm run test:e2e"

test_rewrite "env + docker compose (unsupported subcommand, NOT rewritten)" \
"COMPOSE_PROJECT_NAME=test docker compose up -d" \
Expand All @@ -159,23 +163,15 @@ echo ""
echo "--- New patterns ---"
test_rewrite "npm run test:e2e" \
"npm run test:e2e" \
"rtk npm test:e2e"
"rtk npm run test:e2e"

test_rewrite "npm run build" \
"npm run build" \
"rtk npm build"
"rtk npm run build"

test_rewrite "npm test" \
"npm test" \
"rtk npm test"

test_rewrite "vue-tsc -b" \
"vue-tsc -b" \
"rtk tsc -b"

test_rewrite "npx vue-tsc --noEmit" \
"npx vue-tsc --noEmit" \
"rtk tsc --noEmit"
test_rewrite "npm jest run" \
"npm jest run" \
"rtk jest"

test_rewrite "docker compose up -d (NOT rewritten — unsupported by rtk)" \
"docker compose up -d" \
Expand Down Expand Up @@ -209,17 +205,17 @@ test_rewrite "docker exec -it db psql" \
"docker exec -it db psql" \
"rtk docker exec -it db psql"

test_rewrite "find (NOT rewritten — different arg format)" \
test_rewrite "find . -name '*.ts'" \
"find . -name '*.ts'" \
""
"rtk find . -name '*.ts'"

test_rewrite "tree (NOT rewritten — different arg format)" \
test_rewrite "tree src/" \
"tree src/" \
""
"rtk tree src/"

test_rewrite "wget (NOT rewritten — different arg format)" \
test_rewrite "wget https://example.com/file" \
"wget https://example.com/file" \
""
"rtk wget https://example.com/file"

test_rewrite "gh api repos/owner/repo" \
"gh api repos/owner/repo" \
Expand Down Expand Up @@ -281,32 +277,28 @@ echo ""
echo "--- Vitest run dedup ---"
test_rewrite "vitest (no args)" \
"vitest" \
"rtk vitest run"
"rtk vitest"

test_rewrite "vitest run (no double run)" \
test_rewrite "vitest run (no run)" \
"vitest run" \
"rtk vitest run"
"rtk vitest"

test_rewrite "vitest run --reporter" \
"vitest run --reporter=verbose" \
"rtk vitest run --reporter=verbose"
test_rewrite "vitest --reporter" \
"vitest --reporter=verbose" \
"rtk vitest --reporter=verbose"

test_rewrite "npx vitest run" \
"npx vitest run" \
"rtk vitest run"
test_rewrite "npx vitest" \
"npx vitest" \
"rtk vitest"

test_rewrite "pnpm vitest run --coverage" \
"pnpm vitest run --coverage" \
"rtk vitest run --coverage"
test_rewrite "pnpm vitest --coverage" \
"pnpm vitest --coverage" \
"rtk vitest --coverage"

echo ""

# ---- SECTION 5: Should NOT rewrite ----
echo "--- Should NOT rewrite ---"
test_rewrite "already rtk" \
"rtk git status" \
""

test_rewrite "heredoc" \
"cat <<'EOF'
hello
Expand Down
2 changes: 1 addition & 1 deletion scripts/benchmark.sh
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ if [ -f "package.json" ]; then
fi

if command -v vitest &> /dev/null || [ -f "node_modules/.bin/vitest" ]; then
bench "vitest run" "vitest run --reporter=json 2>&1 || true" "$RTK vitest run"
bench "vitest" "vitest run --reporter=json 2>&1 || true" "$RTK vitest"
fi

if command -v pnpm &> /dev/null; then
Expand Down
Loading
Loading