@hasna/terminal 2.3.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +64 -16
- package/package.json +1 -1
- package/src/ai.ts +8 -0
- package/src/cli.tsx +57 -18
- package/src/output-processor.ts +6 -1
- package/src/output-store.ts +58 -12
- package/src/tool-profiles.ts +139 -0
- package/temp/rtk/.claude/agents/code-reviewer.md +0 -221
- package/temp/rtk/.claude/agents/debugger.md +0 -519
- package/temp/rtk/.claude/agents/rtk-testing-specialist.md +0 -461
- package/temp/rtk/.claude/agents/rust-rtk.md +0 -511
- package/temp/rtk/.claude/agents/technical-writer.md +0 -355
- package/temp/rtk/.claude/commands/diagnose.md +0 -352
- package/temp/rtk/.claude/commands/test-routing.md +0 -362
- package/temp/rtk/.claude/hooks/bash/pre-commit-format.sh +0 -16
- package/temp/rtk/.claude/hooks/rtk-rewrite.sh +0 -70
- package/temp/rtk/.claude/hooks/rtk-suggest.sh +0 -152
- package/temp/rtk/.claude/rules/cli-testing.md +0 -526
- package/temp/rtk/.claude/skills/issue-triage/SKILL.md +0 -348
- package/temp/rtk/.claude/skills/issue-triage/templates/issue-comment.md +0 -134
- package/temp/rtk/.claude/skills/performance.md +0 -435
- package/temp/rtk/.claude/skills/pr-triage/SKILL.md +0 -315
- package/temp/rtk/.claude/skills/pr-triage/templates/review-comment.md +0 -71
- package/temp/rtk/.claude/skills/repo-recap.md +0 -206
- package/temp/rtk/.claude/skills/rtk-tdd/SKILL.md +0 -78
- package/temp/rtk/.claude/skills/rtk-tdd/references/testing-patterns.md +0 -124
- package/temp/rtk/.claude/skills/security-guardian.md +0 -503
- package/temp/rtk/.claude/skills/ship.md +0 -404
- package/temp/rtk/.github/workflows/benchmark.yml +0 -34
- package/temp/rtk/.github/workflows/dco-check.yaml +0 -12
- package/temp/rtk/.github/workflows/release-please.yml +0 -51
- package/temp/rtk/.github/workflows/release.yml +0 -343
- package/temp/rtk/.github/workflows/security-check.yml +0 -135
- package/temp/rtk/.github/workflows/validate-docs.yml +0 -78
- package/temp/rtk/.release-please-manifest.json +0 -3
- package/temp/rtk/ARCHITECTURE.md +0 -1491
- package/temp/rtk/CHANGELOG.md +0 -640
- package/temp/rtk/CLAUDE.md +0 -605
- package/temp/rtk/CONTRIBUTING.md +0 -199
- package/temp/rtk/Cargo.lock +0 -1668
- package/temp/rtk/Cargo.toml +0 -64
- package/temp/rtk/Formula/rtk.rb +0 -43
- package/temp/rtk/INSTALL.md +0 -390
- package/temp/rtk/LICENSE +0 -21
- package/temp/rtk/README.md +0 -386
- package/temp/rtk/README_es.md +0 -159
- package/temp/rtk/README_fr.md +0 -197
- package/temp/rtk/README_ja.md +0 -159
- package/temp/rtk/README_ko.md +0 -159
- package/temp/rtk/README_zh.md +0 -167
- package/temp/rtk/ROADMAP.md +0 -15
- package/temp/rtk/SECURITY.md +0 -217
- package/temp/rtk/TEST_EXEC_TIME.md +0 -102
- package/temp/rtk/build.rs +0 -57
- package/temp/rtk/docs/AUDIT_GUIDE.md +0 -432
- package/temp/rtk/docs/FEATURES.md +0 -1410
- package/temp/rtk/docs/TROUBLESHOOTING.md +0 -309
- package/temp/rtk/docs/filter-workflow.md +0 -102
- package/temp/rtk/docs/images/gain-dashboard.jpg +0 -0
- package/temp/rtk/docs/tracking.md +0 -583
- package/temp/rtk/hooks/opencode-rtk.ts +0 -39
- package/temp/rtk/hooks/rtk-awareness.md +0 -29
- package/temp/rtk/hooks/rtk-rewrite.sh +0 -61
- package/temp/rtk/hooks/test-rtk-rewrite.sh +0 -442
- package/temp/rtk/install.sh +0 -124
- package/temp/rtk/release-please-config.json +0 -10
- package/temp/rtk/scripts/benchmark.sh +0 -592
- package/temp/rtk/scripts/check-installation.sh +0 -162
- package/temp/rtk/scripts/install-local.sh +0 -37
- package/temp/rtk/scripts/rtk-economics.sh +0 -137
- package/temp/rtk/scripts/test-all.sh +0 -561
- package/temp/rtk/scripts/test-aristote.sh +0 -227
- package/temp/rtk/scripts/test-tracking.sh +0 -79
- package/temp/rtk/scripts/update-readme-metrics.sh +0 -32
- package/temp/rtk/scripts/validate-docs.sh +0 -73
- package/temp/rtk/src/aws_cmd.rs +0 -880
- package/temp/rtk/src/binlog.rs +0 -1645
- package/temp/rtk/src/cargo_cmd.rs +0 -1727
- package/temp/rtk/src/cc_economics.rs +0 -1157
- package/temp/rtk/src/ccusage.rs +0 -340
- package/temp/rtk/src/config.rs +0 -187
- package/temp/rtk/src/container.rs +0 -855
- package/temp/rtk/src/curl_cmd.rs +0 -134
- package/temp/rtk/src/deps.rs +0 -268
- package/temp/rtk/src/diff_cmd.rs +0 -367
- package/temp/rtk/src/discover/mod.rs +0 -274
- package/temp/rtk/src/discover/provider.rs +0 -388
- package/temp/rtk/src/discover/registry.rs +0 -2022
- package/temp/rtk/src/discover/report.rs +0 -202
- package/temp/rtk/src/discover/rules.rs +0 -667
- package/temp/rtk/src/display_helpers.rs +0 -402
- package/temp/rtk/src/dotnet_cmd.rs +0 -1771
- package/temp/rtk/src/dotnet_format_report.rs +0 -133
- package/temp/rtk/src/dotnet_trx.rs +0 -593
- package/temp/rtk/src/env_cmd.rs +0 -204
- package/temp/rtk/src/filter.rs +0 -462
- package/temp/rtk/src/filters/README.md +0 -52
- package/temp/rtk/src/filters/ansible-playbook.toml +0 -34
- package/temp/rtk/src/filters/basedpyright.toml +0 -47
- package/temp/rtk/src/filters/biome.toml +0 -45
- package/temp/rtk/src/filters/brew-install.toml +0 -37
- package/temp/rtk/src/filters/composer-install.toml +0 -40
- package/temp/rtk/src/filters/df.toml +0 -16
- package/temp/rtk/src/filters/dotnet-build.toml +0 -64
- package/temp/rtk/src/filters/du.toml +0 -16
- package/temp/rtk/src/filters/fail2ban-client.toml +0 -15
- package/temp/rtk/src/filters/gcc.toml +0 -49
- package/temp/rtk/src/filters/gcloud.toml +0 -22
- package/temp/rtk/src/filters/hadolint.toml +0 -24
- package/temp/rtk/src/filters/helm.toml +0 -29
- package/temp/rtk/src/filters/iptables.toml +0 -27
- package/temp/rtk/src/filters/jj.toml +0 -28
- package/temp/rtk/src/filters/jq.toml +0 -24
- package/temp/rtk/src/filters/make.toml +0 -41
- package/temp/rtk/src/filters/markdownlint.toml +0 -24
- package/temp/rtk/src/filters/mix-compile.toml +0 -27
- package/temp/rtk/src/filters/mix-format.toml +0 -15
- package/temp/rtk/src/filters/mvn-build.toml +0 -44
- package/temp/rtk/src/filters/oxlint.toml +0 -43
- package/temp/rtk/src/filters/ping.toml +0 -63
- package/temp/rtk/src/filters/pio-run.toml +0 -40
- package/temp/rtk/src/filters/poetry-install.toml +0 -50
- package/temp/rtk/src/filters/pre-commit.toml +0 -35
- package/temp/rtk/src/filters/ps.toml +0 -16
- package/temp/rtk/src/filters/quarto-render.toml +0 -41
- package/temp/rtk/src/filters/rsync.toml +0 -48
- package/temp/rtk/src/filters/shellcheck.toml +0 -27
- package/temp/rtk/src/filters/shopify-theme.toml +0 -29
- package/temp/rtk/src/filters/skopeo.toml +0 -45
- package/temp/rtk/src/filters/sops.toml +0 -16
- package/temp/rtk/src/filters/ssh.toml +0 -44
- package/temp/rtk/src/filters/stat.toml +0 -34
- package/temp/rtk/src/filters/swift-build.toml +0 -41
- package/temp/rtk/src/filters/systemctl-status.toml +0 -33
- package/temp/rtk/src/filters/terraform-plan.toml +0 -35
- package/temp/rtk/src/filters/tofu-fmt.toml +0 -16
- package/temp/rtk/src/filters/tofu-init.toml +0 -38
- package/temp/rtk/src/filters/tofu-plan.toml +0 -35
- package/temp/rtk/src/filters/tofu-validate.toml +0 -17
- package/temp/rtk/src/filters/trunk-build.toml +0 -39
- package/temp/rtk/src/filters/ty.toml +0 -50
- package/temp/rtk/src/filters/uv-sync.toml +0 -37
- package/temp/rtk/src/filters/xcodebuild.toml +0 -99
- package/temp/rtk/src/filters/yamllint.toml +0 -25
- package/temp/rtk/src/find_cmd.rs +0 -598
- package/temp/rtk/src/format_cmd.rs +0 -386
- package/temp/rtk/src/gain.rs +0 -723
- package/temp/rtk/src/gh_cmd.rs +0 -1651
- package/temp/rtk/src/git.rs +0 -2012
- package/temp/rtk/src/go_cmd.rs +0 -592
- package/temp/rtk/src/golangci_cmd.rs +0 -254
- package/temp/rtk/src/grep_cmd.rs +0 -288
- package/temp/rtk/src/gt_cmd.rs +0 -810
- package/temp/rtk/src/hook_audit_cmd.rs +0 -283
- package/temp/rtk/src/hook_check.rs +0 -171
- package/temp/rtk/src/init.rs +0 -1859
- package/temp/rtk/src/integrity.rs +0 -537
- package/temp/rtk/src/json_cmd.rs +0 -231
- package/temp/rtk/src/learn/detector.rs +0 -628
- package/temp/rtk/src/learn/mod.rs +0 -119
- package/temp/rtk/src/learn/report.rs +0 -184
- package/temp/rtk/src/lint_cmd.rs +0 -694
- package/temp/rtk/src/local_llm.rs +0 -316
- package/temp/rtk/src/log_cmd.rs +0 -248
- package/temp/rtk/src/ls.rs +0 -324
- package/temp/rtk/src/main.rs +0 -2482
- package/temp/rtk/src/mypy_cmd.rs +0 -389
- package/temp/rtk/src/next_cmd.rs +0 -241
- package/temp/rtk/src/npm_cmd.rs +0 -236
- package/temp/rtk/src/parser/README.md +0 -267
- package/temp/rtk/src/parser/error.rs +0 -46
- package/temp/rtk/src/parser/formatter.rs +0 -336
- package/temp/rtk/src/parser/mod.rs +0 -311
- package/temp/rtk/src/parser/types.rs +0 -119
- package/temp/rtk/src/pip_cmd.rs +0 -302
- package/temp/rtk/src/playwright_cmd.rs +0 -479
- package/temp/rtk/src/pnpm_cmd.rs +0 -573
- package/temp/rtk/src/prettier_cmd.rs +0 -221
- package/temp/rtk/src/prisma_cmd.rs +0 -482
- package/temp/rtk/src/psql_cmd.rs +0 -382
- package/temp/rtk/src/pytest_cmd.rs +0 -384
- package/temp/rtk/src/read.rs +0 -217
- package/temp/rtk/src/rewrite_cmd.rs +0 -50
- package/temp/rtk/src/ruff_cmd.rs +0 -402
- package/temp/rtk/src/runner.rs +0 -271
- package/temp/rtk/src/summary.rs +0 -297
- package/temp/rtk/src/tee.rs +0 -405
- package/temp/rtk/src/telemetry.rs +0 -248
- package/temp/rtk/src/toml_filter.rs +0 -1655
- package/temp/rtk/src/tracking.rs +0 -1416
- package/temp/rtk/src/tree.rs +0 -209
- package/temp/rtk/src/tsc_cmd.rs +0 -259
- package/temp/rtk/src/utils.rs +0 -432
- package/temp/rtk/src/verify_cmd.rs +0 -47
- package/temp/rtk/src/vitest_cmd.rs +0 -385
- package/temp/rtk/src/wc_cmd.rs +0 -401
- package/temp/rtk/src/wget_cmd.rs +0 -260
- package/temp/rtk/tests/fixtures/dotnet/build_failed.txt +0 -11
- package/temp/rtk/tests/fixtures/dotnet/format_changes.json +0 -31
- package/temp/rtk/tests/fixtures/dotnet/format_empty.json +0 -1
- package/temp/rtk/tests/fixtures/dotnet/format_success.json +0 -12
- package/temp/rtk/tests/fixtures/dotnet/test_failed.txt +0 -18
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
# RTK Troubleshooting Guide
|
|
2
|
-
|
|
3
|
-
## Problem: "rtk gain" command not found
|
|
4
|
-
|
|
5
|
-
### Symptom
|
|
6
|
-
```bash
|
|
7
|
-
$ rtk --version
|
|
8
|
-
rtk 1.0.0 # (or similar)
|
|
9
|
-
|
|
10
|
-
$ rtk gain
|
|
11
|
-
rtk: 'gain' is not a rtk command. See 'rtk --help'.
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
### Root Cause
|
|
15
|
-
You installed the **wrong rtk package**. You have **Rust Type Kit** (reachingforthejack/rtk) instead of **Rust Token Killer** (rtk-ai/rtk).
|
|
16
|
-
|
|
17
|
-
### Solution
|
|
18
|
-
|
|
19
|
-
**1. Uninstall the wrong package:**
|
|
20
|
-
```bash
|
|
21
|
-
cargo uninstall rtk
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**2. Install the correct one (Token Killer):**
|
|
25
|
-
|
|
26
|
-
#### Quick Install (Linux/macOS)
|
|
27
|
-
```bash
|
|
28
|
-
curl -fsSL https://github.com/rtk-ai/rtk/blob/master/install.sh | sh
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
#### Alternative: Manual Installation
|
|
32
|
-
```bash
|
|
33
|
-
cargo install --git https://github.com/rtk-ai/rtk
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**3. Verify installation:**
|
|
37
|
-
```bash
|
|
38
|
-
rtk --version
|
|
39
|
-
rtk gain # MUST show token savings stats, not error
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
If `rtk gain` now works, installation is correct.
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Problem: Confusion Between Two "rtk" Projects
|
|
47
|
-
|
|
48
|
-
### The Two Projects
|
|
49
|
-
|
|
50
|
-
| Project | Repository | Purpose | Key Command |
|
|
51
|
-
|---------|-----------|---------|-------------|
|
|
52
|
-
| **Rust Token Killer** ✅ | rtk-ai/rtk | LLM token optimizer for Claude Code | `rtk gain` |
|
|
53
|
-
| **Rust Type Kit** ❌ | reachingforthejack/rtk | Rust codebase query and type generator | `rtk query` |
|
|
54
|
-
|
|
55
|
-
### How to Identify Which One You Have
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Check if "gain" command exists
|
|
59
|
-
rtk gain
|
|
60
|
-
|
|
61
|
-
# Token Killer → Shows token savings stats
|
|
62
|
-
# Type Kit → Error: "gain is not a rtk command"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Problem: cargo install rtk installs wrong package
|
|
68
|
-
|
|
69
|
-
### Why This Happens
|
|
70
|
-
If **Rust Type Kit** is published to crates.io under the name `rtk`, running `cargo install rtk` will install the wrong package.
|
|
71
|
-
|
|
72
|
-
### Solution
|
|
73
|
-
**NEVER use** `cargo install rtk` without verifying.
|
|
74
|
-
|
|
75
|
-
**Always use explicit repository URLs:**
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# CORRECT - Token Killer
|
|
79
|
-
cargo install --git https://github.com/rtk-ai/rtk
|
|
80
|
-
|
|
81
|
-
# OR install from fork
|
|
82
|
-
git clone https://github.com/rtk-ai/rtk.git
|
|
83
|
-
cd rtk && git checkout feat/all-features
|
|
84
|
-
cargo install --path . --force
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**After any installation, ALWAYS verify:**
|
|
88
|
-
```bash
|
|
89
|
-
rtk gain # Must work if you want Token Killer
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Problem: RTK not working in Claude Code
|
|
95
|
-
|
|
96
|
-
### Symptom
|
|
97
|
-
Claude Code doesn't seem to be using rtk, outputs are verbose.
|
|
98
|
-
|
|
99
|
-
### Checklist
|
|
100
|
-
|
|
101
|
-
**1. Verify rtk is installed and correct:**
|
|
102
|
-
```bash
|
|
103
|
-
rtk --version
|
|
104
|
-
rtk gain # Must show stats
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
**2. Initialize rtk for Claude Code:**
|
|
108
|
-
```bash
|
|
109
|
-
# Global (all projects)
|
|
110
|
-
rtk init --global
|
|
111
|
-
|
|
112
|
-
# Per-project
|
|
113
|
-
cd /your/project
|
|
114
|
-
rtk init
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**3. Verify CLAUDE.md file exists:**
|
|
118
|
-
```bash
|
|
119
|
-
# Check global
|
|
120
|
-
cat ~/.claude/CLAUDE.md | grep rtk
|
|
121
|
-
|
|
122
|
-
# Check project
|
|
123
|
-
cat ./CLAUDE.md | grep rtk
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**4. Install auto-rewrite hook (recommended for automatic RTK usage):**
|
|
127
|
-
|
|
128
|
-
**Option A: Automatic (recommended)**
|
|
129
|
-
```bash
|
|
130
|
-
rtk init -g
|
|
131
|
-
# → Installs hook + RTK.md automatically
|
|
132
|
-
# → Follow printed instructions to add hook to ~/.claude/settings.json
|
|
133
|
-
# → Restart Claude Code
|
|
134
|
-
|
|
135
|
-
# Verify installation
|
|
136
|
-
rtk init --show # Should show "✅ Hook: executable, with guards"
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Option B: Manual (fallback)**
|
|
140
|
-
```bash
|
|
141
|
-
# Copy hook to Claude Code hooks directory
|
|
142
|
-
mkdir -p ~/.claude/hooks
|
|
143
|
-
cp .claude/hooks/rtk-rewrite.sh ~/.claude/hooks/
|
|
144
|
-
chmod +x ~/.claude/hooks/rtk-rewrite.sh
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Then add to `~/.claude/settings.json` (replace `~` with full path):
|
|
148
|
-
```json
|
|
149
|
-
{
|
|
150
|
-
"hooks": {
|
|
151
|
-
"PreToolUse": [
|
|
152
|
-
{
|
|
153
|
-
"matcher": "Bash",
|
|
154
|
-
"hooks": [
|
|
155
|
-
{
|
|
156
|
-
"type": "command",
|
|
157
|
-
"command": "/Users/yourname/.claude/hooks/rtk-rewrite.sh"
|
|
158
|
-
}
|
|
159
|
-
]
|
|
160
|
-
}
|
|
161
|
-
]
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
**Note**: Use absolute path in `settings.json`, not `~/.claude/...`
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## Problem: RTK not working in OpenCode
|
|
171
|
-
|
|
172
|
-
### Symptom
|
|
173
|
-
OpenCode runs commands without rtk, outputs are verbose.
|
|
174
|
-
|
|
175
|
-
### Checklist
|
|
176
|
-
|
|
177
|
-
**1. Verify rtk is installed and correct:**
|
|
178
|
-
```bash
|
|
179
|
-
rtk --version
|
|
180
|
-
rtk gain # Must show stats
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**2. Install the OpenCode plugin (global only):**
|
|
184
|
-
```bash
|
|
185
|
-
rtk init -g --opencode
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**3. Verify plugin file exists:**
|
|
189
|
-
```bash
|
|
190
|
-
ls -la ~/.config/opencode/plugins/rtk.ts
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
**4. Restart OpenCode**
|
|
194
|
-
OpenCode must be restarted to load the plugin.
|
|
195
|
-
|
|
196
|
-
**5. Verify status:**
|
|
197
|
-
```bash
|
|
198
|
-
rtk init --show # Should show "OpenCode: plugin installed"
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## Problem: "command not found: rtk" after installation
|
|
204
|
-
|
|
205
|
-
### Symptom
|
|
206
|
-
```bash
|
|
207
|
-
$ cargo install --path . --force
|
|
208
|
-
Compiling rtk v0.7.1
|
|
209
|
-
Finished release [optimized] target(s)
|
|
210
|
-
Installing ~/.cargo/bin/rtk
|
|
211
|
-
|
|
212
|
-
$ rtk --version
|
|
213
|
-
zsh: command not found: rtk
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Root Cause
|
|
217
|
-
`~/.cargo/bin` is not in your PATH.
|
|
218
|
-
|
|
219
|
-
### Solution
|
|
220
|
-
|
|
221
|
-
**1. Check if cargo bin is in PATH:**
|
|
222
|
-
```bash
|
|
223
|
-
echo $PATH | grep -o '[^:]*\.cargo[^:]*'
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
**2. If not found, add to PATH:**
|
|
227
|
-
|
|
228
|
-
For **bash** (`~/.bashrc`):
|
|
229
|
-
```bash
|
|
230
|
-
export PATH="$HOME/.cargo/bin:$PATH"
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
For **zsh** (`~/.zshrc`):
|
|
234
|
-
```bash
|
|
235
|
-
export PATH="$HOME/.cargo/bin:$PATH"
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
For **fish** (`~/.config/fish/config.fish`):
|
|
239
|
-
```fish
|
|
240
|
-
set -gx PATH $HOME/.cargo/bin $PATH
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
**3. Reload shell config:**
|
|
244
|
-
```bash
|
|
245
|
-
source ~/.bashrc # or ~/.zshrc or restart terminal
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
**4. Verify:**
|
|
249
|
-
```bash
|
|
250
|
-
which rtk
|
|
251
|
-
rtk --version
|
|
252
|
-
rtk gain
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
## Problem: Compilation errors during installation
|
|
258
|
-
|
|
259
|
-
### Symptom
|
|
260
|
-
```bash
|
|
261
|
-
$ cargo install --path .
|
|
262
|
-
error: failed to compile rtk v0.7.1
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Solutions
|
|
266
|
-
|
|
267
|
-
**1. Update Rust toolchain:**
|
|
268
|
-
```bash
|
|
269
|
-
rustup update stable
|
|
270
|
-
rustup default stable
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
**2. Clean and rebuild:**
|
|
274
|
-
```bash
|
|
275
|
-
cargo clean
|
|
276
|
-
cargo build --release
|
|
277
|
-
cargo install --path . --force
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
**3. Check Rust version (minimum required):**
|
|
281
|
-
```bash
|
|
282
|
-
rustc --version # Should be 1.70+ for most features
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
**4. If still fails, report issue:**
|
|
286
|
-
- GitHub: https://github.com/rtk-ai/rtk/issues
|
|
287
|
-
|
|
288
|
-
---
|
|
289
|
-
|
|
290
|
-
## Need More Help?
|
|
291
|
-
|
|
292
|
-
**Report issues:**
|
|
293
|
-
- Fork-specific: https://github.com/rtk-ai/rtk/issues
|
|
294
|
-
- Upstream: https://github.com/rtk-ai/rtk/issues
|
|
295
|
-
|
|
296
|
-
**Run the diagnostic script:**
|
|
297
|
-
```bash
|
|
298
|
-
# From the rtk repository root
|
|
299
|
-
bash scripts/check-installation.sh
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
This script will check:
|
|
303
|
-
- ✅ RTK installed and in PATH
|
|
304
|
-
- ✅ Correct version (Token Killer, not Type Kit)
|
|
305
|
-
- ✅ Available features (pnpm, vitest, next, etc.)
|
|
306
|
-
- ✅ Claude Code integration (CLAUDE.md files)
|
|
307
|
-
- ✅ Auto-rewrite hook status
|
|
308
|
-
|
|
309
|
-
The script provides specific fix commands for any issues found.
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
# How a TOML filter goes from file to execution
|
|
2
|
-
|
|
3
|
-
This document explains what happens between "I created `src/filters/my-tool.toml`" and "RTK filters the output of `my-tool`".
|
|
4
|
-
|
|
5
|
-
## Build pipeline
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
flowchart TD
|
|
9
|
-
A[["📄 src/filters/my-tool.toml\n(new file)"]] --> B
|
|
10
|
-
|
|
11
|
-
subgraph BUILD ["🔨 cargo build"]
|
|
12
|
-
B["build.rs\n① ls src/filters/*.toml\n② sort alphabetically\n③ concat → schema_version = 1 + all files"] --> C
|
|
13
|
-
C{"TOML valid?\nDuplicate names?"} -->|"❌ panic! (build fails)"| D[["🛑 Error message\npoints to bad file"]]
|
|
14
|
-
C -->|"✅ ok"| E[["OUT_DIR/builtin_filters.toml\n(generated file)"]]
|
|
15
|
-
E --> F["rustc\ninclude_str!(concat!(env!(OUT_DIR),\n'/builtin_filters.toml'))"]
|
|
16
|
-
F --> G[["🦀 rtk binary\nBUILTIN_TOML embedded"]]
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
subgraph TESTS ["🧪 cargo test"]
|
|
20
|
-
H["test_builtin_filter_count\nassert_eq!(filters.len(), N)"] -->|"❌ count wrong"| I[["FAIL\n'Expected N, got N+1'\nUpdate the count'"]]
|
|
21
|
-
J["test_builtin_all_expected_\nfilters_present\nassert!(names.contains('my-tool'))"] -->|"❌ name missing"| K[["FAIL\n'my-tool is missing—\nwas its .toml deleted?'"]]
|
|
22
|
-
L["test_builtin_all_filters_\nhave_inline_tests\nassert!(tested.contains(name))"] -->|"❌ no tests"| M[["FAIL\n'Add tests.my-tool\nentries'"]]
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
subgraph VERIFY ["✅ rtk verify"]
|
|
26
|
-
N["runs [[tests.my-tool]]\ninput → filter → compare expected"]
|
|
27
|
-
N -->|"❌ mismatch"| O[["FAIL\nshows actual vs expected"]]
|
|
28
|
-
N -->|"✅ pass"| P[["60/60 tests passed"]]
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
G --> H
|
|
32
|
-
G --> J
|
|
33
|
-
G --> L
|
|
34
|
-
G --> N
|
|
35
|
-
|
|
36
|
-
subgraph RUNTIME ["⚡ rtk my-tool --verbose"]
|
|
37
|
-
Q["Claude Code hook\nmy-tool ... → rtk my-tool ..."] --> R
|
|
38
|
-
R["TomlFilterRegistry::load()\n① .rtk/filters.toml (project)\n② ~/.config/rtk/filters.toml (user)\n③ BUILTIN_TOML (binary)\n④ passthrough"] --> S
|
|
39
|
-
S{"match_command\n'^my-tool\\b'\nmatches?"} -->|"No match"| T[["exec raw\n(passthrough)"]]
|
|
40
|
-
S -->|"✅ match"| U["exec command\ncapture stdout"]
|
|
41
|
-
U --> V
|
|
42
|
-
|
|
43
|
-
subgraph PIPELINE ["8-stage filter pipeline"]
|
|
44
|
-
V["strip_ansi"] --> W["replace"]
|
|
45
|
-
W --> X{"match_output\nshort-circuit?"}
|
|
46
|
-
X -->|"✅ pattern matched"| Y[["emit message\nstop pipeline"]]
|
|
47
|
-
X -->|"no match"| Z["strip/keep_lines"]
|
|
48
|
-
Z --> AA["truncate_lines_at"]
|
|
49
|
-
AA --> AB["tail_lines"]
|
|
50
|
-
AB --> AC["max_lines"]
|
|
51
|
-
AC --> AD{"output\nempty?"}
|
|
52
|
-
AD -->|"yes"| AE[["emit on_empty"]]
|
|
53
|
-
AD -->|"no"| AF[["print filtered\noutput + exit code"]]
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
G --> Q
|
|
58
|
-
|
|
59
|
-
style BUILD fill:#1e3a5f,color:#fff
|
|
60
|
-
style TESTS fill:#1a3a1a,color:#fff
|
|
61
|
-
style VERIFY fill:#2d1b69,color:#fff
|
|
62
|
-
style RUNTIME fill:#3a1a1a,color:#fff
|
|
63
|
-
style PIPELINE fill:#4a2a00,color:#fff
|
|
64
|
-
style D fill:#8b0000,color:#fff
|
|
65
|
-
style I fill:#8b0000,color:#fff
|
|
66
|
-
style K fill:#8b0000,color:#fff
|
|
67
|
-
style M fill:#8b0000,color:#fff
|
|
68
|
-
style O fill:#8b0000,color:#fff
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Step-by-step summary
|
|
72
|
-
|
|
73
|
-
| Step | Who | What happens | Fails if |
|
|
74
|
-
|------|-----|--------------|----------|
|
|
75
|
-
| 1 | Contributor | Creates `src/filters/my-tool.toml` | — |
|
|
76
|
-
| 2 | `build.rs` | Concatenates all `.toml` files alphabetically | TOML syntax error, duplicate filter name |
|
|
77
|
-
| 3 | `rustc` | Embeds result in binary via `BUILTIN_TOML` const | — |
|
|
78
|
-
| 4 | `cargo test` | 3 guards check count, names, inline test presence | Count not updated, name not in list, no `[[tests.*]]` |
|
|
79
|
-
| 5 | `rtk verify` | Runs each `[[tests.my-tool]]` entry | Filter logic doesn't match expected output |
|
|
80
|
-
| 6 | Runtime | Hook rewrites command, registry looks up filter, pipeline runs | No match → passthrough (not an error) |
|
|
81
|
-
|
|
82
|
-
## Filter lookup priority at runtime
|
|
83
|
-
|
|
84
|
-
```mermaid
|
|
85
|
-
flowchart LR
|
|
86
|
-
CMD["rtk my-tool args"] --> P1
|
|
87
|
-
P1{"1. .rtk/filters.toml\n(project-local)"}
|
|
88
|
-
P1 -->|"✅ match"| WIN["apply filter"]
|
|
89
|
-
P1 -->|"no match"| P2
|
|
90
|
-
P2{"2. ~/.config/rtk/filters.toml\n(user-global)\n(macOS alt: ~/Library/Application Support/rtk/filters.toml)"}
|
|
91
|
-
P2 -->|"✅ match"| WIN
|
|
92
|
-
P2 -->|"no match"| P3
|
|
93
|
-
P3{"3. BUILTIN_TOML\n(binary)"}
|
|
94
|
-
P3 -->|"✅ match"| WIN
|
|
95
|
-
P3 -->|"no match"| P4[["exec raw\n(passthrough)"]]
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
First match wins. A project filter with the same name as a built-in shadows the built-in and triggers a warning:
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
[rtk] warning: filter 'make' is shadowing a built-in filter
|
|
102
|
-
```
|
|
Binary file
|