@hasna/terminal 2.2.0 → 2.3.0
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 +29 -12
- package/package.json +1 -1
- package/src/ai.ts +50 -36
- package/src/cli.tsx +29 -12
- package/src/context-hints.ts +89 -0
- package/src/discover.ts +238 -0
- package/src/economy.ts +53 -0
- package/src/output-store.ts +65 -0
- package/src/providers/index.ts +4 -4
- package/src/sessions-db.ts +81 -0
- package/temp/rtk/.claude/agents/code-reviewer.md +221 -0
- package/temp/rtk/.claude/agents/debugger.md +519 -0
- package/temp/rtk/.claude/agents/rtk-testing-specialist.md +461 -0
- package/temp/rtk/.claude/agents/rust-rtk.md +511 -0
- package/temp/rtk/.claude/agents/technical-writer.md +355 -0
- package/temp/rtk/.claude/commands/diagnose.md +352 -0
- package/temp/rtk/.claude/commands/test-routing.md +362 -0
- package/temp/rtk/.claude/hooks/bash/pre-commit-format.sh +16 -0
- package/temp/rtk/.claude/hooks/rtk-rewrite.sh +70 -0
- package/temp/rtk/.claude/hooks/rtk-suggest.sh +152 -0
- package/temp/rtk/.claude/rules/cli-testing.md +526 -0
- package/temp/rtk/.claude/skills/issue-triage/SKILL.md +348 -0
- package/temp/rtk/.claude/skills/issue-triage/templates/issue-comment.md +134 -0
- package/temp/rtk/.claude/skills/performance.md +435 -0
- package/temp/rtk/.claude/skills/pr-triage/SKILL.md +315 -0
- package/temp/rtk/.claude/skills/pr-triage/templates/review-comment.md +71 -0
- package/temp/rtk/.claude/skills/repo-recap.md +206 -0
- package/temp/rtk/.claude/skills/rtk-tdd/SKILL.md +78 -0
- package/temp/rtk/.claude/skills/rtk-tdd/references/testing-patterns.md +124 -0
- package/temp/rtk/.claude/skills/security-guardian.md +503 -0
- package/temp/rtk/.claude/skills/ship.md +404 -0
- package/temp/rtk/.github/workflows/benchmark.yml +34 -0
- package/temp/rtk/.github/workflows/dco-check.yaml +12 -0
- package/temp/rtk/.github/workflows/release-please.yml +51 -0
- package/temp/rtk/.github/workflows/release.yml +343 -0
- package/temp/rtk/.github/workflows/security-check.yml +135 -0
- package/temp/rtk/.github/workflows/validate-docs.yml +78 -0
- package/temp/rtk/.release-please-manifest.json +3 -0
- package/temp/rtk/ARCHITECTURE.md +1491 -0
- package/temp/rtk/CHANGELOG.md +640 -0
- package/temp/rtk/CLAUDE.md +605 -0
- package/temp/rtk/CONTRIBUTING.md +199 -0
- package/temp/rtk/Cargo.lock +1668 -0
- package/temp/rtk/Cargo.toml +64 -0
- package/temp/rtk/Formula/rtk.rb +43 -0
- package/temp/rtk/INSTALL.md +390 -0
- package/temp/rtk/LICENSE +21 -0
- package/temp/rtk/README.md +386 -0
- package/temp/rtk/README_es.md +159 -0
- package/temp/rtk/README_fr.md +197 -0
- package/temp/rtk/README_ja.md +159 -0
- package/temp/rtk/README_ko.md +159 -0
- package/temp/rtk/README_zh.md +167 -0
- package/temp/rtk/ROADMAP.md +15 -0
- package/temp/rtk/SECURITY.md +217 -0
- package/temp/rtk/TEST_EXEC_TIME.md +102 -0
- package/temp/rtk/build.rs +57 -0
- package/temp/rtk/docs/AUDIT_GUIDE.md +432 -0
- package/temp/rtk/docs/FEATURES.md +1410 -0
- package/temp/rtk/docs/TROUBLESHOOTING.md +309 -0
- package/temp/rtk/docs/filter-workflow.md +102 -0
- package/temp/rtk/docs/images/gain-dashboard.jpg +0 -0
- package/temp/rtk/docs/tracking.md +583 -0
- package/temp/rtk/hooks/opencode-rtk.ts +39 -0
- package/temp/rtk/hooks/rtk-awareness.md +29 -0
- package/temp/rtk/hooks/rtk-rewrite.sh +61 -0
- package/temp/rtk/hooks/test-rtk-rewrite.sh +442 -0
- package/temp/rtk/install.sh +124 -0
- package/temp/rtk/release-please-config.json +10 -0
- package/temp/rtk/scripts/benchmark.sh +592 -0
- package/temp/rtk/scripts/check-installation.sh +162 -0
- package/temp/rtk/scripts/install-local.sh +37 -0
- package/temp/rtk/scripts/rtk-economics.sh +137 -0
- package/temp/rtk/scripts/test-all.sh +561 -0
- package/temp/rtk/scripts/test-aristote.sh +227 -0
- package/temp/rtk/scripts/test-tracking.sh +79 -0
- package/temp/rtk/scripts/update-readme-metrics.sh +32 -0
- package/temp/rtk/scripts/validate-docs.sh +73 -0
- package/temp/rtk/src/aws_cmd.rs +880 -0
- package/temp/rtk/src/binlog.rs +1645 -0
- package/temp/rtk/src/cargo_cmd.rs +1727 -0
- package/temp/rtk/src/cc_economics.rs +1157 -0
- package/temp/rtk/src/ccusage.rs +340 -0
- package/temp/rtk/src/config.rs +187 -0
- package/temp/rtk/src/container.rs +855 -0
- package/temp/rtk/src/curl_cmd.rs +134 -0
- package/temp/rtk/src/deps.rs +268 -0
- package/temp/rtk/src/diff_cmd.rs +367 -0
- package/temp/rtk/src/discover/mod.rs +274 -0
- package/temp/rtk/src/discover/provider.rs +388 -0
- package/temp/rtk/src/discover/registry.rs +2022 -0
- package/temp/rtk/src/discover/report.rs +202 -0
- package/temp/rtk/src/discover/rules.rs +667 -0
- package/temp/rtk/src/display_helpers.rs +402 -0
- package/temp/rtk/src/dotnet_cmd.rs +1771 -0
- package/temp/rtk/src/dotnet_format_report.rs +133 -0
- package/temp/rtk/src/dotnet_trx.rs +593 -0
- package/temp/rtk/src/env_cmd.rs +204 -0
- package/temp/rtk/src/filter.rs +462 -0
- package/temp/rtk/src/filters/README.md +52 -0
- package/temp/rtk/src/filters/ansible-playbook.toml +34 -0
- package/temp/rtk/src/filters/basedpyright.toml +47 -0
- package/temp/rtk/src/filters/biome.toml +45 -0
- package/temp/rtk/src/filters/brew-install.toml +37 -0
- package/temp/rtk/src/filters/composer-install.toml +40 -0
- package/temp/rtk/src/filters/df.toml +16 -0
- package/temp/rtk/src/filters/dotnet-build.toml +64 -0
- package/temp/rtk/src/filters/du.toml +16 -0
- package/temp/rtk/src/filters/fail2ban-client.toml +15 -0
- package/temp/rtk/src/filters/gcc.toml +49 -0
- package/temp/rtk/src/filters/gcloud.toml +22 -0
- package/temp/rtk/src/filters/hadolint.toml +24 -0
- package/temp/rtk/src/filters/helm.toml +29 -0
- package/temp/rtk/src/filters/iptables.toml +27 -0
- package/temp/rtk/src/filters/jj.toml +28 -0
- package/temp/rtk/src/filters/jq.toml +24 -0
- package/temp/rtk/src/filters/make.toml +41 -0
- package/temp/rtk/src/filters/markdownlint.toml +24 -0
- package/temp/rtk/src/filters/mix-compile.toml +27 -0
- package/temp/rtk/src/filters/mix-format.toml +15 -0
- package/temp/rtk/src/filters/mvn-build.toml +44 -0
- package/temp/rtk/src/filters/oxlint.toml +43 -0
- package/temp/rtk/src/filters/ping.toml +63 -0
- package/temp/rtk/src/filters/pio-run.toml +40 -0
- package/temp/rtk/src/filters/poetry-install.toml +50 -0
- package/temp/rtk/src/filters/pre-commit.toml +35 -0
- package/temp/rtk/src/filters/ps.toml +16 -0
- package/temp/rtk/src/filters/quarto-render.toml +41 -0
- package/temp/rtk/src/filters/rsync.toml +48 -0
- package/temp/rtk/src/filters/shellcheck.toml +27 -0
- package/temp/rtk/src/filters/shopify-theme.toml +29 -0
- package/temp/rtk/src/filters/skopeo.toml +45 -0
- package/temp/rtk/src/filters/sops.toml +16 -0
- package/temp/rtk/src/filters/ssh.toml +44 -0
- package/temp/rtk/src/filters/stat.toml +34 -0
- package/temp/rtk/src/filters/swift-build.toml +41 -0
- package/temp/rtk/src/filters/systemctl-status.toml +33 -0
- package/temp/rtk/src/filters/terraform-plan.toml +35 -0
- package/temp/rtk/src/filters/tofu-fmt.toml +16 -0
- package/temp/rtk/src/filters/tofu-init.toml +38 -0
- package/temp/rtk/src/filters/tofu-plan.toml +35 -0
- package/temp/rtk/src/filters/tofu-validate.toml +17 -0
- package/temp/rtk/src/filters/trunk-build.toml +39 -0
- package/temp/rtk/src/filters/ty.toml +50 -0
- package/temp/rtk/src/filters/uv-sync.toml +37 -0
- package/temp/rtk/src/filters/xcodebuild.toml +99 -0
- package/temp/rtk/src/filters/yamllint.toml +25 -0
- package/temp/rtk/src/find_cmd.rs +598 -0
- package/temp/rtk/src/format_cmd.rs +386 -0
- package/temp/rtk/src/gain.rs +723 -0
- package/temp/rtk/src/gh_cmd.rs +1651 -0
- package/temp/rtk/src/git.rs +2012 -0
- package/temp/rtk/src/go_cmd.rs +592 -0
- package/temp/rtk/src/golangci_cmd.rs +254 -0
- package/temp/rtk/src/grep_cmd.rs +288 -0
- package/temp/rtk/src/gt_cmd.rs +810 -0
- package/temp/rtk/src/hook_audit_cmd.rs +283 -0
- package/temp/rtk/src/hook_check.rs +171 -0
- package/temp/rtk/src/init.rs +1859 -0
- package/temp/rtk/src/integrity.rs +537 -0
- package/temp/rtk/src/json_cmd.rs +231 -0
- package/temp/rtk/src/learn/detector.rs +628 -0
- package/temp/rtk/src/learn/mod.rs +119 -0
- package/temp/rtk/src/learn/report.rs +184 -0
- package/temp/rtk/src/lint_cmd.rs +694 -0
- package/temp/rtk/src/local_llm.rs +316 -0
- package/temp/rtk/src/log_cmd.rs +248 -0
- package/temp/rtk/src/ls.rs +324 -0
- package/temp/rtk/src/main.rs +2482 -0
- package/temp/rtk/src/mypy_cmd.rs +389 -0
- package/temp/rtk/src/next_cmd.rs +241 -0
- package/temp/rtk/src/npm_cmd.rs +236 -0
- package/temp/rtk/src/parser/README.md +267 -0
- package/temp/rtk/src/parser/error.rs +46 -0
- package/temp/rtk/src/parser/formatter.rs +336 -0
- package/temp/rtk/src/parser/mod.rs +311 -0
- package/temp/rtk/src/parser/types.rs +119 -0
- package/temp/rtk/src/pip_cmd.rs +302 -0
- package/temp/rtk/src/playwright_cmd.rs +479 -0
- package/temp/rtk/src/pnpm_cmd.rs +573 -0
- package/temp/rtk/src/prettier_cmd.rs +221 -0
- package/temp/rtk/src/prisma_cmd.rs +482 -0
- package/temp/rtk/src/psql_cmd.rs +382 -0
- package/temp/rtk/src/pytest_cmd.rs +384 -0
- package/temp/rtk/src/read.rs +217 -0
- package/temp/rtk/src/rewrite_cmd.rs +50 -0
- package/temp/rtk/src/ruff_cmd.rs +402 -0
- package/temp/rtk/src/runner.rs +271 -0
- package/temp/rtk/src/summary.rs +297 -0
- package/temp/rtk/src/tee.rs +405 -0
- package/temp/rtk/src/telemetry.rs +248 -0
- package/temp/rtk/src/toml_filter.rs +1655 -0
- package/temp/rtk/src/tracking.rs +1416 -0
- package/temp/rtk/src/tree.rs +209 -0
- package/temp/rtk/src/tsc_cmd.rs +259 -0
- package/temp/rtk/src/utils.rs +432 -0
- package/temp/rtk/src/verify_cmd.rs +47 -0
- package/temp/rtk/src/vitest_cmd.rs +385 -0
- package/temp/rtk/src/wc_cmd.rs +401 -0
- package/temp/rtk/src/wget_cmd.rs +260 -0
- package/temp/rtk/tests/fixtures/dotnet/build_failed.txt +11 -0
- package/temp/rtk/tests/fixtures/dotnet/format_changes.json +31 -0
- package/temp/rtk/tests/fixtures/dotnet/format_empty.json +1 -0
- package/temp/rtk/tests/fixtures/dotnet/format_success.json +12 -0
- package/temp/rtk/tests/fixtures/dotnet/test_failed.txt +18 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-writer
|
|
3
|
+
description: Create clear, comprehensive CLI documentation for RTK with focus on usability, performance claims, and practical examples
|
|
4
|
+
category: communication
|
|
5
|
+
model: sonnet
|
|
6
|
+
tools: Read, Write, Edit, Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Technical Writer for RTK
|
|
10
|
+
|
|
11
|
+
## Triggers
|
|
12
|
+
- CLI usage documentation and command reference creation
|
|
13
|
+
- Performance claims documentation with evidence (benchmarks, token savings)
|
|
14
|
+
- Installation and troubleshooting guide development
|
|
15
|
+
- Hook integration documentation for Claude Code
|
|
16
|
+
- Filter development guides and contribution documentation
|
|
17
|
+
|
|
18
|
+
## Behavioral Mindset
|
|
19
|
+
Write for developers using RTK, not for yourself. Prioritize clarity with working examples. Structure content for quick reference and task completion. Always include verification steps and expected output.
|
|
20
|
+
|
|
21
|
+
## Focus Areas
|
|
22
|
+
- **CLI Usage Documentation**: Command syntax, examples, expected output
|
|
23
|
+
- **Performance Claims**: Evidence-based benchmarks (hyperfine, token counts, memory usage)
|
|
24
|
+
- **Installation Guides**: Multi-platform setup (macOS, Linux, Windows), troubleshooting
|
|
25
|
+
- **Hook Integration**: Claude Code integration, command routing, configuration
|
|
26
|
+
- **Filter Development**: Contributing new filters, testing patterns, performance targets
|
|
27
|
+
|
|
28
|
+
## Key Actions RTK
|
|
29
|
+
|
|
30
|
+
1. **Document CLI Commands**: Clear syntax, flags, examples with real output
|
|
31
|
+
2. **Evidence Performance Claims**: Benchmark data supporting 60-90% token savings
|
|
32
|
+
3. **Write Installation Procedures**: Platform-specific steps with verification
|
|
33
|
+
4. **Explain Hook Integration**: Claude Code setup, command routing mechanics
|
|
34
|
+
5. **Guide Filter Development**: Contribution workflow, testing patterns, quality standards
|
|
35
|
+
|
|
36
|
+
## Outputs
|
|
37
|
+
|
|
38
|
+
### CLI Usage Guides
|
|
39
|
+
```markdown
|
|
40
|
+
# rtk git log
|
|
41
|
+
|
|
42
|
+
Condenses `git log` output for token efficiency.
|
|
43
|
+
|
|
44
|
+
**Syntax**:
|
|
45
|
+
```bash
|
|
46
|
+
rtk git log [git-flags]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Examples**:
|
|
50
|
+
```bash
|
|
51
|
+
# Show last 10 commits (condensed)
|
|
52
|
+
rtk git log -10
|
|
53
|
+
|
|
54
|
+
# With specific format
|
|
55
|
+
rtk git log --oneline --graph -20
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Token Savings**: 80% (verified with fixtures)
|
|
59
|
+
**Performance**: <10ms startup
|
|
60
|
+
|
|
61
|
+
**Expected Output**:
|
|
62
|
+
```
|
|
63
|
+
commit abc1234 Add feature X
|
|
64
|
+
commit def5678 Fix bug Y
|
|
65
|
+
...
|
|
66
|
+
```
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Performance Claims Documentation
|
|
70
|
+
```markdown
|
|
71
|
+
## Token Savings Evidence
|
|
72
|
+
|
|
73
|
+
**Methodology**:
|
|
74
|
+
- Fixtures: Real command output from production environments
|
|
75
|
+
- Measurement: Whitespace-based tokenization (`count_tokens()`)
|
|
76
|
+
- Verification: Tests enforce ≥60% savings threshold
|
|
77
|
+
|
|
78
|
+
**Results by Filter**:
|
|
79
|
+
|
|
80
|
+
| Filter | Input Tokens | Output Tokens | Savings | Fixture |
|
|
81
|
+
|--------|--------------|---------------|---------|---------|
|
|
82
|
+
| `git log` | 2,450 | 489 | 80.0% | tests/fixtures/git_log_raw.txt |
|
|
83
|
+
| `cargo test` | 8,120 | 812 | 90.0% | tests/fixtures/cargo_test_raw.txt |
|
|
84
|
+
| `gh pr view` | 3,200 | 416 | 87.0% | tests/fixtures/gh_pr_view_raw.txt |
|
|
85
|
+
|
|
86
|
+
**Performance Benchmarks**:
|
|
87
|
+
```bash
|
|
88
|
+
hyperfine 'rtk git status' --warmup 3
|
|
89
|
+
|
|
90
|
+
# Output:
|
|
91
|
+
Time (mean ± σ): 6.2 ms ± 0.3 ms [User: 4.1 ms, System: 1.8 ms]
|
|
92
|
+
Range (min … max): 5.8 ms … 7.1 ms 100 runs
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Verification**:
|
|
96
|
+
```bash
|
|
97
|
+
# Run token accuracy tests
|
|
98
|
+
cargo test test_token_savings
|
|
99
|
+
|
|
100
|
+
# All tests should pass, enforcing ≥60% savings
|
|
101
|
+
```
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Installation Documentation
|
|
105
|
+
```markdown
|
|
106
|
+
# Installing RTK
|
|
107
|
+
|
|
108
|
+
## macOS
|
|
109
|
+
|
|
110
|
+
**Option 1: Homebrew**
|
|
111
|
+
```bash
|
|
112
|
+
brew install rtk-ai/tap/rtk
|
|
113
|
+
rtk --version # Should show rtk X.Y.Z
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Option 2: From Source**
|
|
117
|
+
```bash
|
|
118
|
+
git clone https://github.com/rtk-ai/rtk.git
|
|
119
|
+
cd rtk
|
|
120
|
+
cargo install --path .
|
|
121
|
+
rtk --version # Verify installation
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Verification**:
|
|
125
|
+
```bash
|
|
126
|
+
rtk gain # Should show token savings analytics
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Linux
|
|
130
|
+
|
|
131
|
+
**From Source** (Cargo required):
|
|
132
|
+
```bash
|
|
133
|
+
git clone https://github.com/rtk-ai/rtk.git
|
|
134
|
+
cd rtk
|
|
135
|
+
cargo install --path .
|
|
136
|
+
|
|
137
|
+
# Verify installation
|
|
138
|
+
which rtk
|
|
139
|
+
rtk --version
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Binary Download** (faster):
|
|
143
|
+
```bash
|
|
144
|
+
curl -sSL https://github.com/rtk-ai/rtk/releases/download/v0.16.0/rtk-linux-x86_64 -o rtk
|
|
145
|
+
chmod +x rtk
|
|
146
|
+
sudo mv rtk /usr/local/bin/
|
|
147
|
+
rtk --version
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Windows
|
|
151
|
+
|
|
152
|
+
**Binary Download**:
|
|
153
|
+
```powershell
|
|
154
|
+
# Download rtk-windows-x86_64.exe
|
|
155
|
+
# Add to PATH
|
|
156
|
+
# Verify
|
|
157
|
+
rtk --version
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Troubleshooting
|
|
161
|
+
|
|
162
|
+
**Issue: `rtk: command not found`**
|
|
163
|
+
- **Cause**: Binary not in PATH
|
|
164
|
+
- **Fix**: Add `~/.cargo/bin` to PATH
|
|
165
|
+
```bash
|
|
166
|
+
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.zshrc
|
|
167
|
+
source ~/.zshrc
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Issue: `rtk gain` fails**
|
|
171
|
+
- **Cause**: Wrong RTK installed (reachingforthejack/rtk name collision)
|
|
172
|
+
- **Fix**: Uninstall and reinstall correct RTK
|
|
173
|
+
```bash
|
|
174
|
+
cargo uninstall rtk
|
|
175
|
+
cargo install --path . # From rtk-ai/rtk repo
|
|
176
|
+
rtk gain --help # Should work
|
|
177
|
+
```
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Hook Integration Guide
|
|
181
|
+
```markdown
|
|
182
|
+
# Claude Code Integration
|
|
183
|
+
|
|
184
|
+
RTK integrates with Claude Code via bash hooks for transparent command rewriting.
|
|
185
|
+
|
|
186
|
+
## How It Works
|
|
187
|
+
|
|
188
|
+
1. User types command in Claude Code: `git status`
|
|
189
|
+
2. Hook (`rtk-rewrite.sh`) intercepts command
|
|
190
|
+
3. Rewrites to: `rtk git status`
|
|
191
|
+
4. RTK applies filter, returns condensed output
|
|
192
|
+
5. Claude sees token-optimized result (80% savings)
|
|
193
|
+
|
|
194
|
+
## Hook Files
|
|
195
|
+
|
|
196
|
+
- `.claude/hooks/rtk-rewrite.sh` - Command rewriting (DO NOT MODIFY)
|
|
197
|
+
- `.claude/hooks/rtk-suggest.sh` - Suggestion when filter available
|
|
198
|
+
|
|
199
|
+
## Verification
|
|
200
|
+
|
|
201
|
+
**Check hooks are active**:
|
|
202
|
+
```bash
|
|
203
|
+
ls -la .claude/hooks/*.sh
|
|
204
|
+
# Should show -rwxr-xr-x (executable)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Test hook integration** (in Claude Code session):
|
|
208
|
+
```bash
|
|
209
|
+
# Type in Claude Code
|
|
210
|
+
git status
|
|
211
|
+
|
|
212
|
+
# Verify hook rewrote to rtk
|
|
213
|
+
echo $LAST_COMMAND # Should show "rtk git status"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Expected behavior**:
|
|
217
|
+
- Commands with RTK filters → Auto-rewritten
|
|
218
|
+
- Commands without filters → Executed raw (no change)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Filter Development Guide
|
|
222
|
+
```markdown
|
|
223
|
+
# Contributing a New Filter
|
|
224
|
+
|
|
225
|
+
## Steps
|
|
226
|
+
|
|
227
|
+
### 1. Create Filter Module
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
touch src/newcmd_cmd.rs
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
```rust
|
|
234
|
+
// src/newcmd_cmd.rs
|
|
235
|
+
use anyhow::{Context, Result};
|
|
236
|
+
use lazy_static::lazy_static;
|
|
237
|
+
use regex::Regex;
|
|
238
|
+
|
|
239
|
+
lazy_static! {
|
|
240
|
+
static ref PATTERN: Regex = Regex::new(r"pattern").unwrap();
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
pub fn filter_newcmd(input: &str) -> Result<String> {
|
|
244
|
+
// Filter logic
|
|
245
|
+
Ok(condensed_output)
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
#[cfg(test)]
|
|
249
|
+
mod tests {
|
|
250
|
+
use super::*;
|
|
251
|
+
|
|
252
|
+
#[test]
|
|
253
|
+
fn test_token_savings() {
|
|
254
|
+
let input = include_str!("../tests/fixtures/newcmd_raw.txt");
|
|
255
|
+
let output = filter_newcmd(input).unwrap();
|
|
256
|
+
|
|
257
|
+
let savings = calculate_savings(input, &output);
|
|
258
|
+
assert!(savings >= 60.0);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### 2. Add to main.rs
|
|
264
|
+
|
|
265
|
+
```rust
|
|
266
|
+
// src/main.rs
|
|
267
|
+
#[derive(Subcommand)]
|
|
268
|
+
enum Commands {
|
|
269
|
+
Newcmd {
|
|
270
|
+
#[arg(trailing_var_arg = true)]
|
|
271
|
+
args: Vec<String>,
|
|
272
|
+
},
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### 3. Write Tests
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
# Create fixture
|
|
280
|
+
newcmd --args > tests/fixtures/newcmd_raw.txt
|
|
281
|
+
|
|
282
|
+
# Run tests
|
|
283
|
+
cargo test
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### 4. Document Token Savings
|
|
287
|
+
|
|
288
|
+
Update README.md:
|
|
289
|
+
```markdown
|
|
290
|
+
| `rtk newcmd` | 75% | Condenses newcmd output |
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### 5. Quality Checks
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
cargo fmt --all && cargo clippy --all-targets && cargo test --all
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
## Filter Quality Standards
|
|
300
|
+
|
|
301
|
+
- **Token savings**: ≥60% verified in tests
|
|
302
|
+
- **Startup time**: <10ms with `hyperfine`
|
|
303
|
+
- **Lazy regex**: All patterns in `lazy_static!`
|
|
304
|
+
- **Error handling**: Fallback to raw command on failure
|
|
305
|
+
- **Cross-platform**: Tested on macOS + Linux
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## Boundaries
|
|
309
|
+
|
|
310
|
+
**Will**:
|
|
311
|
+
- Create comprehensive CLI documentation with working examples
|
|
312
|
+
- Document performance claims with evidence (benchmarks, fixtures)
|
|
313
|
+
- Write installation guides with platform-specific troubleshooting
|
|
314
|
+
- Explain hook integration and command routing mechanics
|
|
315
|
+
- Guide filter development with testing patterns
|
|
316
|
+
|
|
317
|
+
**Will Not**:
|
|
318
|
+
- Implement new filters or production code (use rust-rtk agent)
|
|
319
|
+
- Make architectural decisions on filter design
|
|
320
|
+
- Create marketing content without evidence
|
|
321
|
+
|
|
322
|
+
## Documentation Principles
|
|
323
|
+
|
|
324
|
+
1. **Show, Don't Tell**: Include working examples with expected output
|
|
325
|
+
2. **Evidence-Based**: Performance claims backed by benchmarks/tests
|
|
326
|
+
3. **Platform-Aware**: macOS/Linux/Windows differences documented
|
|
327
|
+
4. **Verification Steps**: Every procedure has "verify it worked" step
|
|
328
|
+
5. **Troubleshooting**: Anticipate common issues, provide fixes
|
|
329
|
+
|
|
330
|
+
## Style Guide
|
|
331
|
+
|
|
332
|
+
**Command examples**:
|
|
333
|
+
```bash
|
|
334
|
+
# ✅ Good: Shows command + expected output
|
|
335
|
+
rtk git status
|
|
336
|
+
|
|
337
|
+
# Output:
|
|
338
|
+
M src/main.rs
|
|
339
|
+
A tests/new_test.rs
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**Performance claims**:
|
|
343
|
+
```markdown
|
|
344
|
+
# ✅ Good: Evidence with fixture
|
|
345
|
+
Token savings: 80% (2,450 → 489 tokens)
|
|
346
|
+
Fixture: tests/fixtures/git_log_raw.txt
|
|
347
|
+
Verification: cargo test test_git_log_savings
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
**Installation steps**:
|
|
351
|
+
```bash
|
|
352
|
+
# ✅ Good: Install + verify
|
|
353
|
+
cargo install --path .
|
|
354
|
+
rtk --version # Verify shows rtk X.Y.Z
|
|
355
|
+
```
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
---
|
|
2
|
+
model: haiku
|
|
3
|
+
description: RTK environment diagnostics - Checks installation, hooks, version, command routing
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /diagnose
|
|
7
|
+
|
|
8
|
+
Vérifie l'état de l'environnement RTK et suggère des corrections.
|
|
9
|
+
|
|
10
|
+
## Quand utiliser
|
|
11
|
+
|
|
12
|
+
- **Automatiquement suggéré** quand Claude détecte ces patterns d'erreur :
|
|
13
|
+
- `rtk: command not found` → RTK non installé ou pas dans PATH
|
|
14
|
+
- Hook errors in Claude Code → Hooks mal configurés ou non exécutables
|
|
15
|
+
- `Unknown command` dans RTK → Version incompatible ou commande non supportée
|
|
16
|
+
- Token savings reports missing → `rtk gain` not working
|
|
17
|
+
- Command routing errors → Hook integration broken
|
|
18
|
+
|
|
19
|
+
- **Manuellement** après installation, mise à jour RTK, ou si comportement suspect
|
|
20
|
+
|
|
21
|
+
## Exécution
|
|
22
|
+
|
|
23
|
+
### 1. Vérifications parallèles
|
|
24
|
+
|
|
25
|
+
Lancer ces commandes en parallèle :
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# RTK installation check
|
|
29
|
+
which rtk && rtk --version || echo "❌ RTK not found in PATH"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Git status (verify working directory)
|
|
34
|
+
git status --short && git branch --show-current
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Hook configuration check
|
|
39
|
+
if [ -f ".claude/hooks/rtk-rewrite.sh" ]; then
|
|
40
|
+
echo "✅ OK: rtk-rewrite.sh hook present"
|
|
41
|
+
# Check if hook is executable
|
|
42
|
+
if [ -x ".claude/hooks/rtk-rewrite.sh" ]; then
|
|
43
|
+
echo "✅ OK: hook is executable"
|
|
44
|
+
else
|
|
45
|
+
echo "⚠️ WARNING: hook not executable (chmod +x needed)"
|
|
46
|
+
fi
|
|
47
|
+
else
|
|
48
|
+
echo "❌ MISSING: rtk-rewrite.sh hook"
|
|
49
|
+
fi
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Hook rtk-suggest.sh check
|
|
54
|
+
if [ -f ".claude/hooks/rtk-suggest.sh" ]; then
|
|
55
|
+
echo "✅ OK: rtk-suggest.sh hook present"
|
|
56
|
+
if [ -x ".claude/hooks/rtk-suggest.sh" ]; then
|
|
57
|
+
echo "✅ OK: hook is executable"
|
|
58
|
+
else
|
|
59
|
+
echo "⚠️ WARNING: hook not executable (chmod +x needed)"
|
|
60
|
+
fi
|
|
61
|
+
else
|
|
62
|
+
echo "❌ MISSING: rtk-suggest.sh hook"
|
|
63
|
+
fi
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Claude Code context check
|
|
68
|
+
if [ -n "$CLAUDE_CODE_HOOK_BASH_TEMPLATE" ]; then
|
|
69
|
+
echo "✅ OK: Running in Claude Code context"
|
|
70
|
+
echo " Hook env var set: CLAUDE_CODE_HOOK_BASH_TEMPLATE"
|
|
71
|
+
else
|
|
72
|
+
echo "⚠️ WARNING: Not running in Claude Code (hooks won't activate)"
|
|
73
|
+
echo " CLAUDE_CODE_HOOK_BASH_TEMPLATE not set"
|
|
74
|
+
fi
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Test command routing (dry-run)
|
|
79
|
+
if command -v rtk >/dev/null 2>&1; then
|
|
80
|
+
# Test if rtk gain works (validates install)
|
|
81
|
+
if rtk --help | grep -q "gain"; then
|
|
82
|
+
echo "✅ OK: rtk gain available"
|
|
83
|
+
else
|
|
84
|
+
echo "❌ MISSING: rtk gain command (old version or wrong binary)"
|
|
85
|
+
fi
|
|
86
|
+
else
|
|
87
|
+
echo "❌ RTK binary not found"
|
|
88
|
+
fi
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 2. Validate token analytics
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Run rtk gain to verify analytics work
|
|
95
|
+
if command -v rtk >/dev/null 2>&1; then
|
|
96
|
+
echo ""
|
|
97
|
+
echo "📊 Token Savings (last 5 commands):"
|
|
98
|
+
rtk gain --history 2>&1 | head -8 || echo "⚠️ rtk gain failed"
|
|
99
|
+
else
|
|
100
|
+
echo "⚠️ Cannot test rtk gain (binary not installed)"
|
|
101
|
+
fi
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 3. Quality checks (if in RTK repo)
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Only run if we're in RTK repository
|
|
108
|
+
if [ -f "Cargo.toml" ] && grep -q 'name = "rtk"' Cargo.toml 2>/dev/null; then
|
|
109
|
+
echo ""
|
|
110
|
+
echo "🦀 RTK Repository Quality Checks:"
|
|
111
|
+
|
|
112
|
+
# Check if cargo fmt passes
|
|
113
|
+
if cargo fmt --all --check >/dev/null 2>&1; then
|
|
114
|
+
echo "✅ OK: cargo fmt (code formatted)"
|
|
115
|
+
else
|
|
116
|
+
echo "⚠️ WARNING: cargo fmt needed"
|
|
117
|
+
fi
|
|
118
|
+
|
|
119
|
+
# Check if cargo clippy would pass (don't run full check, just verify binary)
|
|
120
|
+
if command -v cargo-clippy >/dev/null 2>&1 || cargo clippy --version >/dev/null 2>&1; then
|
|
121
|
+
echo "✅ OK: cargo clippy available"
|
|
122
|
+
else
|
|
123
|
+
echo "⚠️ WARNING: cargo clippy not installed"
|
|
124
|
+
fi
|
|
125
|
+
else
|
|
126
|
+
echo "ℹ️ Not in RTK repository (skipping quality checks)"
|
|
127
|
+
fi
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Format de sortie
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
134
|
+
🔍 RTK Environment Diagnostic
|
|
135
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
136
|
+
|
|
137
|
+
📦 RTK Binary: ✅ OK (v0.16.0) | ❌ NOT FOUND
|
|
138
|
+
🔗 Hooks: ✅ OK (rtk-rewrite.sh + rtk-suggest.sh executable)
|
|
139
|
+
❌ MISSING or ⚠️ WARNING (not executable)
|
|
140
|
+
📊 Token Analytics: ✅ OK (rtk gain working)
|
|
141
|
+
❌ FAILED (command not available)
|
|
142
|
+
🎯 Claude Context: ✅ OK (hook environment detected)
|
|
143
|
+
⚠️ WARNING (not in Claude Code)
|
|
144
|
+
🦀 Code Quality: ✅ OK (fmt + clippy ready) [if in RTK repo]
|
|
145
|
+
⚠️ WARNING (needs formatting/clippy)
|
|
146
|
+
|
|
147
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Actions suggérées
|
|
151
|
+
|
|
152
|
+
Utiliser `AskUserQuestion` si problèmes détectés :
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
question: "Problèmes détectés. Quelles corrections appliquer ?"
|
|
156
|
+
header: "Fixes"
|
|
157
|
+
multiSelect: true
|
|
158
|
+
options:
|
|
159
|
+
- label: "cargo install --path ."
|
|
160
|
+
description: "Installer RTK localement depuis le repo"
|
|
161
|
+
- label: "chmod +x .claude/hooks/bash/*.sh"
|
|
162
|
+
description: "Rendre les hooks exécutables"
|
|
163
|
+
- label: "Tout corriger (recommandé)"
|
|
164
|
+
description: "Install RTK + fix hooks permissions"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Adaptations selon contexte** :
|
|
168
|
+
|
|
169
|
+
### Si RTK non installé
|
|
170
|
+
```
|
|
171
|
+
options:
|
|
172
|
+
- label: "cargo install --path ."
|
|
173
|
+
description: "Installer RTK localement (si dans le repo)"
|
|
174
|
+
- label: "cargo install rtk"
|
|
175
|
+
description: "Installer RTK depuis crates.io (dernière release)"
|
|
176
|
+
- label: "brew install rtk-ai/tap/rtk"
|
|
177
|
+
description: "Installer RTK via Homebrew (macOS/Linux)"
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Si hooks manquants/non exécutables
|
|
181
|
+
```
|
|
182
|
+
options:
|
|
183
|
+
- label: "chmod +x .claude/hooks/*.sh"
|
|
184
|
+
description: "Rendre tous les hooks exécutables"
|
|
185
|
+
- label: "Copier hooks depuis template"
|
|
186
|
+
description: "Si hooks manquants, copier depuis repository principal"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Si rtk gain échoue
|
|
190
|
+
```
|
|
191
|
+
options:
|
|
192
|
+
- label: "Réinstaller RTK"
|
|
193
|
+
description: "cargo install --path . --force (version outdated?)"
|
|
194
|
+
- label: "Vérifier version"
|
|
195
|
+
description: "rtk --version (besoin v0.16.0+ pour rtk gain)"
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Exécution des fixes
|
|
199
|
+
|
|
200
|
+
### Fix 1 : Installer RTK localement
|
|
201
|
+
```bash
|
|
202
|
+
cd /Users/florianbruniaux/Sites/rtk-ai/rtk
|
|
203
|
+
cargo install --path .
|
|
204
|
+
# Vérifier installation
|
|
205
|
+
which rtk && rtk --version
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Fix 2 : Rendre hooks exécutables
|
|
209
|
+
```bash
|
|
210
|
+
chmod +x .claude/hooks/*.sh
|
|
211
|
+
# Vérifier permissions
|
|
212
|
+
ls -la .claude/hooks/*.sh
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Fix 3 : Tout corriger (recommandé)
|
|
216
|
+
```bash
|
|
217
|
+
# Install RTK
|
|
218
|
+
cargo install --path .
|
|
219
|
+
|
|
220
|
+
# Fix hooks permissions
|
|
221
|
+
chmod +x .claude/hooks/*.sh
|
|
222
|
+
|
|
223
|
+
# Verify
|
|
224
|
+
which rtk && rtk --version && rtk gain --history | head -3
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Détection automatique
|
|
228
|
+
|
|
229
|
+
**IMPORTANT** : Claude doit suggérer `/diagnose` automatiquement quand il voit :
|
|
230
|
+
|
|
231
|
+
| Erreur | Pattern | Cause probable |
|
|
232
|
+
|--------|---------|----------------|
|
|
233
|
+
| RTK not found | `rtk: command not found` | Pas installé ou pas dans PATH |
|
|
234
|
+
| Hook error | Hook execution failed, permission denied | Hooks non exécutables (`chmod +x` needed) |
|
|
235
|
+
| Version mismatch | `Unknown command` in RTK output | Version RTK incompatible (upgrade needed) |
|
|
236
|
+
| No analytics | `rtk gain` fails or command not found | RTK install incomplete or old version |
|
|
237
|
+
| Command not rewritten | Commands not proxied via RTK | Hook integration broken (check `CLAUDE_CODE_HOOK_BASH_TEMPLATE`) |
|
|
238
|
+
|
|
239
|
+
### Exemples de suggestion automatique
|
|
240
|
+
|
|
241
|
+
**Cas 1 : RTK command not found**
|
|
242
|
+
```
|
|
243
|
+
Cette erreur "rtk: command not found" indique que RTK n'est pas installé
|
|
244
|
+
ou pas dans le PATH. Je suggère de lancer `/diagnose` pour vérifier
|
|
245
|
+
l'installation et obtenir les commandes de fix.
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Cas 2 : Hook permission denied**
|
|
249
|
+
```
|
|
250
|
+
L'erreur "Permission denied" sur le hook rtk-rewrite.sh indique que
|
|
251
|
+
les hooks ne sont pas exécutables. Lance `/diagnose` pour identifier
|
|
252
|
+
le problème et corriger les permissions avec `chmod +x`.
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Cas 3 : rtk gain unavailable**
|
|
256
|
+
```
|
|
257
|
+
La commande `rtk gain` échoue, ce qui suggère une version RTK obsolète
|
|
258
|
+
ou une installation incomplète. `/diagnose` va vérifier la version et
|
|
259
|
+
suggérer une réinstallation si nécessaire.
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## Troubleshooting Common Issues
|
|
263
|
+
|
|
264
|
+
### Issue : RTK installed but not in PATH
|
|
265
|
+
|
|
266
|
+
**Symptom**: `cargo install --path .` succeeds but `which rtk` fails
|
|
267
|
+
|
|
268
|
+
**Diagnosis**:
|
|
269
|
+
```bash
|
|
270
|
+
# Check if binary installed in Cargo bin
|
|
271
|
+
ls -la ~/.cargo/bin/rtk
|
|
272
|
+
|
|
273
|
+
# Check if ~/.cargo/bin in PATH
|
|
274
|
+
echo $PATH | grep -q .cargo/bin && echo "✅ In PATH" || echo "❌ Not in PATH"
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Fix**:
|
|
278
|
+
```bash
|
|
279
|
+
# Add to ~/.zshrc or ~/.bashrc
|
|
280
|
+
export PATH="$HOME/.cargo/bin:$PATH"
|
|
281
|
+
|
|
282
|
+
# Reload shell
|
|
283
|
+
source ~/.zshrc # or source ~/.bashrc
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Issue : Multiple RTK binaries (name collision)
|
|
287
|
+
|
|
288
|
+
**Symptom**: `rtk gain` fails with "command not found" even though `rtk --version` works
|
|
289
|
+
|
|
290
|
+
**Diagnosis**:
|
|
291
|
+
```bash
|
|
292
|
+
# Check if wrong RTK installed (reachingforthejack/rtk)
|
|
293
|
+
rtk --version
|
|
294
|
+
# Should show "rtk X.Y.Z", NOT "Rust Type Kit"
|
|
295
|
+
|
|
296
|
+
rtk --help | grep gain
|
|
297
|
+
# Should show "gain" command - if missing, wrong binary
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**Fix**:
|
|
301
|
+
```bash
|
|
302
|
+
# Uninstall wrong RTK
|
|
303
|
+
cargo uninstall rtk
|
|
304
|
+
|
|
305
|
+
# Install correct RTK (this repo)
|
|
306
|
+
cargo install --path .
|
|
307
|
+
|
|
308
|
+
# Verify
|
|
309
|
+
rtk gain --help # Should work
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Issue : Hooks not triggering in Claude Code
|
|
313
|
+
|
|
314
|
+
**Symptom**: Commands not rewritten to `rtk <cmd>` automatically
|
|
315
|
+
|
|
316
|
+
**Diagnosis**:
|
|
317
|
+
```bash
|
|
318
|
+
# Check if in Claude Code context
|
|
319
|
+
echo $CLAUDE_CODE_HOOK_BASH_TEMPLATE
|
|
320
|
+
# Should print hook template path - if empty, not in Claude Code
|
|
321
|
+
|
|
322
|
+
# Check hooks exist and executable
|
|
323
|
+
ls -la .claude/hooks/*.sh
|
|
324
|
+
# Should show -rwxr-xr-x (executable)
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**Fix**:
|
|
328
|
+
```bash
|
|
329
|
+
# Make hooks executable
|
|
330
|
+
chmod +x .claude/hooks/*.sh
|
|
331
|
+
|
|
332
|
+
# Verify hooks load in new Claude Code session
|
|
333
|
+
# (restart Claude Code session after chmod)
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
## Version Compatibility Matrix
|
|
337
|
+
|
|
338
|
+
| RTK Version | rtk gain | rtk discover | Python/Go support | Notes |
|
|
339
|
+
|-------------|----------|--------------|-------------------|-------|
|
|
340
|
+
| v0.14.x | ❌ No | ❌ No | ❌ No | Outdated, upgrade |
|
|
341
|
+
| v0.15.x | ✅ Yes | ❌ No | ❌ No | Missing discover |
|
|
342
|
+
| v0.16.x | ✅ Yes | ✅ Yes | ✅ Yes | **Recommended** |
|
|
343
|
+
| main branch | ✅ Yes | ✅ Yes | ✅ Yes | Latest features |
|
|
344
|
+
|
|
345
|
+
**Upgrade recommendation**: If running v0.15.x or older, upgrade to v0.16.x:
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
cd /Users/florianbruniaux/Sites/rtk-ai/rtk
|
|
349
|
+
git pull origin main
|
|
350
|
+
cargo install --path . --force
|
|
351
|
+
rtk --version # Should show 0.16.x or newer
|
|
352
|
+
```
|