Florian BRUNIAUX
14f3172b33
docs: comprehensive documentation update for v0.3.1
...
Updates documentation to reflect all features added in recent PRs:
**Version Updates**
- Update installation commands to v0.3.1 (DEB/RPM packages)
**New Sections**
- Add Global Flags section (-u/--ultra-compact, -v/--verbose)
- Add JavaScript/TypeScript Stack section (10 new commands)
**New Commands Documented**
- Files: `rtk smart` (heuristic code summary)
- Commands: `rtk gh` (GitHub CLI), `rtk wget`, `rtk config`
- Data: `rtk gain --quota` and `--tier` flags
- Containers: `rtk kubectl services`
- JS/TS Stack: lint, tsc, next, prettier, vitest, playwright, prisma
**Features Coverage**
This update documents functionality from:
- PR #5 : Git argument parsing improvements
- PR #6 : pnpm support
- PR #9 : Modern JavaScript/TypeScript stack support
- PR #10 : GitHub CLI integration
- PR #11 : Quota analysis features
- PR #14 : Additional command improvements
All commands documented are available in v0.3.1.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-30 09:58:31 +01:00
patrick szymkowiak
9820e32dbc
Merge pull request #16 from FlorianBruniaux/docs/architecture-v2
...
docs: add comprehensive ARCHITECTURE.md v2.0
2026-01-29 19:54:23 +01:00
Florian BRUNIAUX
586ec7fd17
docs: add comprehensive ARCHITECTURE.md v2.0
...
## Overview
Complete architectural documentation (1133 lines) covering all 30 modules,
design patterns, and extensibility guidelines.
## Critical Fixes (🔴 )
- ✅ Module count: 30 documented (not 27) - added deps, env_cmd, find_cmd, local_llm, summary, wget_cmd
- ✅ Language: Fully translated to English for consistency with README.md
- ✅ Shared Infrastructure: New section documenting utils.rs and package manager detection
- ✅ Exit codes: Correct documentation (git.rs preserves exit codes for CI/CD)
- ✅ Database: Correct path ~/.local/share/rtk/history.db (not tracking.db)
## Important Additions (🟡 )
- ✅ Global Flags Architecture: Verbosity (-v/-vv/-vvv) and ultra-compact (-u)
- ✅ Complete patterns: Package manager detection, exit code preservation, lazy static regex
- ✅ Config system: TOML format documented
- ✅ Performance: Verified binary size (4.1 MB) and estimated overhead
- ✅ Filter levels: Before/after examples with Rust code
## Bonus Improvements (🟢 )
- ✅ Table of Contents (12 sections)
- ✅ Extensibility Guide (7-step process for adding commands)
- ✅ Architecture Decision Records (Why Rust? Why SQLite?)
- ✅ Glossary (7 technical terms)
- ✅ Module Development Pattern (template + 3 common patterns)
- ✅ 15+ ASCII diagrams for visual clarity
## Stats
- Lines: 1133 (+118% vs original 520)
- Sections: 12 main + subsections
- Code examples: 10+ Rust/bash snippets
- Accuracy: 100% verified against source code
Production-ready for new contributors, experienced developers, and LLM teams.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 19:23:11 +01:00
patrick szymkowiak
cd1fa4b34f
Merge pull request #15 from pszymkowiak/release-please--branches--master--components--rtk
...
chore(master): release 0.3.1
v0.3.1
2026-01-29 17:54:36 +01:00
github-actions[bot]
6781f2112b
chore(master): release 0.3.1
2026-01-29 16:51:43 +00:00
patrick szymkowiak
c2cd691c82
Merge pull request #14 from FlorianBruniaux/fix/critical-command-bugs
...
fix: improve command robustness and flag support
2026-01-29 17:51:28 +01:00
Florian BRUNIAUX
d7d8c65b86
fix: improve command robustness and flag support
...
## Fixes
### Lint crash handling
- Add graceful error handling for linter crashes (SIGABRT, OOM)
- Display warning message when process terminates abnormally
- Show first 5 lines of stderr for debugging context
### Grep command
- Add --type/-t flag for file type filtering (e.g., --type ts, --type py)
- Passes --type argument to ripgrep for efficient filtering
### Find command
- Add --type/-t flag for file/directory filtering
- Default: "f" (files only)
- Options: "f" (file), "d" (directory)
## Testing
- ✅ cargo check passes
- ✅ cargo build --release succeeds
- ✅ rtk grep --help shows --file-type flag
- ✅ rtk find --help shows --file-type flag with default
## Breaking Changes
None - all changes are backwards compatible additions
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 17:43:20 +01:00
patrick szymkowiak
31c4988b40
Merge pull request #13 from pszymkowiak/release-please--branches--master--components--rtk
...
chore(master): release 0.3.0
v0.3.0
2026-01-29 17:23:02 +01:00
github-actions[bot]
378e5bc2ff
chore(master): release 0.3.0
2026-01-29 16:05:41 +00:00
patrick szymkowiak
b8bbfb87b4
Merge pull request #12 from FlorianBruniaux/feat/all-features
...
feat: CI/CD automation (versioning, benchmarks, README auto-update)
2026-01-29 16:54:50 +01:00
Florian BRUNIAUX
22c3017ed5
feat: add CI/CD automation (release management and automated metrics)
...
## Release automation
- Add release-please workflow for automatic semantic versioning
- Configure release.yml to only trigger on tags (avoid double-release)
## Benchmark automation
- Extend benchmark.yml with README auto-update
- Add permissions for contents and pull-requests writes
- Auto-create PR with updated metrics via peter-evans/create-pull-request
- Add scripts/update-readme-metrics.sh for CI integration
## Verification
- ✅ Workflows ready for CI/CD pipeline
- ✅ No breaking changes to existing functionality
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 16:45:17 +01:00
patrick szymkowiak
64c0b03d4e
Merge pull request #11 from FlorianBruniaux/feat/quota-analysis
...
feat: add quota analysis with multi-tier support
2026-01-29 16:22:36 +01:00
patrick szymkowiak
341c485207
Merge pull request #10 from FlorianBruniaux/feat/github-cli
...
feat: add GitHub CLI integration (depends on #9 )
2026-01-29 15:39:09 +01:00
Florian BRUNIAUX
9526471530
fix(ci): correct rust-toolchain action name
...
Change dtolnay/rust-action to dtolnay/rust-toolchain (correct name)
2026-01-29 14:13:11 +01:00
Florian BRUNIAUX
05be911476
docs: update CLAUDE.md with PR #9 features
...
- Add utils.rs as Key Architectural Component
- Expand Module Responsibilities table (7→17 modules)
- Document PR #9 in Fork-Specific Features section
- Include token reduction metrics for all new commands
2026-01-29 14:10:01 +01:00
Florian BRUNIAUX
0f7418e958
feat: add GitHub CLI integration with token optimizations
...
Add rtk gh command for GitHub CLI operations with intelligent
output filtering:
Commands:
- rtk gh pr list/view/checks/status: PR management (53-87% reduction)
- rtk gh issue list/view: Issue tracking (26% reduction)
- rtk gh run list/view: Workflow monitoring (82% reduction)
- rtk gh repo view: Repository info (29% reduction)
Features:
- Level 1 optimizations (default): Remove header counts, @ prefix,
compact mergeable status (+12-18% savings, zero UX loss)
- Level 2 optimizations (--ultra-compact flag): ASCII icons,
inline checks format (+22% total savings on PR view)
- GraphQL response parsing and grouping
- Preserves all critical information for code review
Token Savings (validated on production repo):
- rtk gh pr view: 87% (24.7K → 3.2K chars)
- rtk gh pr checks: 79% (8.9K → 1.8K chars)
- rtk gh run list: 82% (10.2K → 1.8K chars)
Global --ultra-compact flag added to enable Level 2 optimizations
across all GitHub commands.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 14:07:39 +01:00
patrick szymkowiak
88c0174d32
Merge pull request #9 from FlorianBruniaux/feat/modern-js-stack
...
feat: add modern JavaScript tooling support (lint, tsc, next, prettier, playwright, prisma)
2026-01-29 13:51:15 +01:00
Florian BRUNIAUX
26b314d45b
feat: add --quota flag to rtk gain with tier-based analysis
...
Implements heuristic calculation of monthly quota savings percentage
with support for Pro, Max 5x, and Max 20x subscription tiers.
Features:
- --quota flag displays monthly quota analysis
- --tier <pro|5x|20x> selects subscription tier (default: 20x)
- Heuristic based on ~44K tokens/5h Pro baseline
- Estimates: Pro=6M, 5x=30M, 20x=120M tokens/month
- Clear disclaimer about rolling 5-hour windows vs monthly caps
Example output for Max 20x:
Subscription tier: Max 20x ($200/mo)
Estimated monthly quota: 120.0M
Tokens saved (lifetime): 356.7K
Quota preserved: 0.3%
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 12:11:43 +01:00
Florian BRUNIAUX
b868987f6f
feat: add Modern JS Stack commands to benchmark script
...
Add benchmarks for the 6 new commands in scripts/benchmark.sh:
- tsc: TypeScript compiler error grouping
- prettier: Format checker with file filtering
- lint: ESLint/Biome grouped violations
- next: Next.js build metrics extraction
- playwright: E2E test failure filtering
- prisma: Prisma CLI without ASCII art
All benchmarks are conditional (skip if tools not available or
not applicable to current project). Tests only run on projects
with package.json and relevant configuration files.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 11:44:52 +01:00
Florian BRUNIAUX
7ea3d29151
docs: add CHANGELOG for modern JS tooling
...
Document the 6 new commands and shared utils module in CHANGELOG.md.
Focuses on token reduction metrics and CI/CD compatibility.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 11:24:03 +01:00
Florian BRUNIAUX
b82fa85ae5
feat: add modern JavaScript tooling support
...
Add comprehensive support for modern JS/TS development stack:
Commands added:
- rtk lint: ESLint/Biome output with grouped rule violations (84% reduction)
- rtk tsc: TypeScript compiler errors grouped by file (83% reduction)
- rtk next: Next.js build output with route/bundle metrics (87% reduction)
- rtk prettier: Format checker showing only files needing changes (70% reduction)
- rtk playwright: E2E test results showing failures only (94% reduction)
- rtk prisma: Prisma CLI without ASCII art (88% reduction)
Features:
- Auto-detects package managers (pnpm/yarn/npm/npx)
- Preserves exit codes for CI/CD compatibility
- Groups errors by file and error code for quick navigation
- Strips verbose output while retaining critical information
Total: 6 new commands, ~2,000 LOC
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 11:23:26 +01:00
Florian BRUNIAUX
0fc06f9509
feat: add shared utils module for JS stack commands
...
Add utils.rs with common utilities used across modern JavaScript
tooling commands:
- truncate(): Smart string truncation with ellipsis
- strip_ansi(): Remove ANSI escape codes from output
- execute_command(): Centralized command execution with error handling
These utilities enable consistent output formatting and filtering
across multiple command modules.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-29 11:23:26 +01:00
patrick szymkowiak
52b4ed3ea0
Merge pull request #8 from FlorianBruniaux/docs/installation-guide
...
Add installation guide for AI coding assistants
2026-01-28 23:15:54 +01:00
patrick szymkowiak
542eca5783
Merge branch 'master' into docs/installation-guide
2026-01-28 23:15:24 +01:00
patrick szymkowiak
09b939040d
Merge pull request #1 from pszymkowiak/feature/v0.2.1
...
Release v0.2.1
v0.2.1
2026-01-28 23:07:28 +01:00
Patrick szymkowiak
50f501c92a
adding benchmark
2026-01-28 23:03:49 +01:00
Patrick szymkowiak
d30b3e2fd0
correcting ls bug
...
adding benchmark script for local performance monitoring in dev
2026-01-28 23:03:36 +01:00
Patrick szymkowiak
4b6887906f
adding in readme exemple of multiple days sessions
2026-01-28 22:54:51 +01:00
Patrick szymkowiak
97ed27ad12
feat: add chaining instructions to init command
2026-01-28 22:54:51 +01:00
Patrick szymkowiak
bd61f6db50
chore: bump version to 0.2.1 and trigger release on master push
2026-01-28 22:54:51 +01:00
patrick szymkowiak
5f7adc98ed
Merge pull request #7 from FlorianBruniaux/feat/vitest-support
...
Add Vitest test runner support with 99.6% token reduction
2026-01-28 22:43:04 +01:00
patrick szymkowiak
e574b6df3a
Merge pull request #6 from FlorianBruniaux/feat/pnpm-support
...
feat: add pnpm support + fix git argument parsing for modern stacks
2026-01-28 22:38:10 +01:00
Florian BRUNIAUX
da5233f85c
docs: add installation guide for AI coding assistants
...
- Add INSTALL.md with step-by-step installation instructions
- Mandatory pre-installation verification check (rtk --version)
- Troubleshooting section for common issues
- Production-validated token savings metrics (anonymized)
- AI assistant integration checklist
- Fork vs upstream installation strategy
2026-01-28 17:00:50 +01:00
Florian BRUNIAUX
0e5b690947
docs: add fork features section with Vitest metrics to README
...
- Add comprehensive Fork Features section
- Document git argument parsing fix
- Add pnpm support with token savings table
- Add Vitest support with validated metrics (99.6% reduction)
- Include installation instructions for fork
- Metrics validated on production Méthode Aristote codebase
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 16:41:23 +01:00
Florian BRUNIAUX
fc1ed38f40
fix(vitest): improve parser to handle real Vitest output format
...
- Update regex patterns to match 'X failed | Y passed' format
- Fix duration parsing to handle decimal seconds (3.05s)
- Tested on production Méthode Aristote codebase
- Validated: 99.6% token reduction (102,199 → 377 chars)
- Add comprehensive ROADMAP.md for project evolution
Test results:
- ✅ 2/2 failures detected accurately
- ✅ Error context preserved (line numbers + code)
- ✅ Timing information included
- ⚠️ Pass count approximately accurate (±1 tolerance)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 16:38:29 +01:00
Florian BRUNIAUX
62c9b19689
feat(vitest): add module with ANSI stripping and test filtering
...
- Add vitest_cmd.rs module (315 LOC) with:
- ANSI escape sequence stripping
- Test statistics parsing (pass/fail counts)
- Failure detail extraction
- 90% token reduction filtering
- Integrate VitestCommands enum in main.rs CLI
- Add comprehensive unit tests (6 test cases)
- Add CLAUDE.md project documentation
Target: rtk vitest run → PASS (n) FAIL (n) + failures + timing
Achieves ~90% token reduction (10.5K → 1K chars)
2026-01-28 15:48:44 +01:00
Florian BRUNIAUX
be4cd591a2
merge: combine git argument parsing fix with pnpm support
2026-01-28 15:35:23 +01:00
Florian BRUNIAUX
9ff4c56f2a
docs: add fork improvements section to README
...
Documents 3 upstream PRs (git fix, pnpm support, issues) with:
- Before/after examples
- Token savings metrics
- Production testing notes
- Security improvements
- Installation instructions
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 15:18:37 +01:00
Florian BRUNIAUX
f87be329b5
fix: add security validation and error handling to pnpm
...
Based on code review feedback:
- Add package name validation (prevent command injection)
- Fix error propagation (return Err instead of Ok on failures)
- Add comprehensive tests for validation
Security improvements:
- Validate package names against npm rules (alphanumeric + @/-/_/.)
- Reject path traversal attempts (..)
- Reject shell metacharacters and excessive length (>214 chars)
- Tests cover injection attempts like "lodash; rm -rf /"
Error handling:
- pnpm failures now return proper errors (fixes CI/CD false positives)
- Error messages include pnpm's stderr for debugging
Testing:
- 4 new tests for package name validation (valid + invalid cases)
- Existing filter tests preserved
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 15:14:44 +01:00
Florian BRUNIAUX
d3b7301e21
fix: improve error handling and merge commit detection
...
Based on code review feedback:
- Detect --merges flag and skip --no-merges injection
- Propagate git exit codes properly (fixes CI/CD reliability)
- Allows users to see merge commits when explicitly requested
Changes:
- run_log: Check for --merges/--min-parents=2 before adding --no-merges
- run_log + run_diff: Use std::process::exit() to propagate git failures
- Exit codes now match git's behavior (128 for errors, 1 for failures)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 15:10:25 +01:00
Florian BRUNIAUX
681729d205
feat: add pnpm support (list, outdated, install)
...
Adds ultra-compact output for pnpm commands to support modern
JavaScript stacks (T3 Stack, Turborepo, Nx).
Commands added:
- rtk pnpm list --depth=0 (filter box-drawing, keep packages)
- rtk pnpm outdated (extract upgrades: "pkg: old → new")
- rtk pnpm install <pkg> (filter progress bars, keep summary)
Implementation:
- New module: src/pnpm_cmd.rs
- Filters: box-drawing chars, legend, metadata, progress bars
- Output format: "package: current → latest" for upgrades
- Testing: Verified on production T3 Stack codebase (Méthode Aristote)
Market impact:
- pnpm = 40% of npm downloads (rising rapidly)
- T3 Stack = dominant Next.js starter
- Reduction: 80-90% for outdated, ~70% for list (depth >0)
Related: Issue #3
Test cases verified:
- rtk pnpm list --depth=0 ✓
- rtk pnpm outdated ✓ (shows "All packages up-to-date ✓")
- Unit tests for filter functions ✓
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 14:55:19 +01:00
Florian BRUNIAUX
93f9fbedb4
fix: pass git flags transparently to git command
...
Fixes argument parsing bug where git flags like --oneline, --graph,
--stat were intercepted by clap instead of being passed to git.
Changes:
- Remove RTK-specific flags (count, max_lines) from GitCommands
- Use trailing_var_arg + allow_hyphen_values for all git subcommands
- Pass all arguments directly to git, preserving user intent
- Maintain RTK defaults only when user doesn't specify format
Closes #2
Test cases verified:
- rtk git log --oneline -20 ✓
- rtk git log --graph --all ✓
- rtk git diff --stat HEAD~1 ✓
- rtk git log --pretty=format:"%h" ✓
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-28 14:48:09 +01:00
Patrick szymkowiak
7548f67b1d
chore: remove demo section from README
2026-01-23 16:52:30 +01:00
Patrick szymkowiak
561446254e
chore: disable homebrew step for now
2026-01-23 15:41:48 +01:00
Patrick szymkowiak
964601f710
fix: correct install.sh URL (master not main)
2026-01-23 15:33:54 +01:00
Patrick szymkowiak
49b50c8f99
docs: add deb/rpm install commands
2026-01-23 14:24:58 +01:00
Patrick szymkowiak
1b762318e7
docs: update to v0.2.0, add install instructions and gain command
2026-01-23 14:23:26 +01:00
Patrick szymkowiak
2d40c7c02d
fix: correct rust-toolchain action and macos runner
2026-01-23 14:16:12 +01:00
Patrick szymkowiak
f8c9a8165f
feat: add SQLite tracking, gain command, and CI/CD
...
- Add SQLite tracking for all commands (90-day history)
- Add rtk gain command with ASCII graph visualization
- Add config.rs for TOML configuration support
- Integrate tracking in all command modules
- Add CI/CD workflow for multi-platform releases (deb, rpm, win, mac)
- Add LICENSE file and improve .gitignore
2026-01-23 14:02:10 +01:00
Patrick szymkowiak
26796da96a
feat: add wget command for compact download output
2026-01-23 11:31:43 +01:00