## Problem
Documentation incorrectly promoted the fork over upstream for installation,
creating confusion about which repository is the source of truth.
## Changes
### Installation Instructions
- **README.md**: Restored curl install pointing to upstream (pszymkowiak/rtk)
- **README.md**: Removed "Fork with All Features" section
- **INSTALL.md**: Added curl install, removed fork recommendation
- **TROUBLESHOOTING.md**: All installation paths → upstream
### Repository References
- **README.md**: Removed fork from repo list, issues → rtk-ai/rtk
- **CLAUDE.md**: Removed fork mention from project list
- **CHANGELOG.md**: Repository and issues → rtk-ai/rtk
- **ROADMAP.md**: Installation instructions → upstream curl
### Scripts
- **check-installation.sh**: Install instructions → upstream curl
## Result
All documentation now consistently points to upstream (rtk-ai/rtk, pszymkowiak/rtk)
as the source of truth for installation and issues.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Changes:
- Fix discover issues URL: FlorianBruniaux → rtk-ai upstream repo
- Document suggest hook pattern as non-intrusive alternative to auto-rewrite
- Add rtk-suggest.sh template with systemMessage strategy
- Provide comparison table and setup instructions
The suggest hook emits system reminders instead of rewriting commands,
giving Claude Code explicit visibility into rtk alternatives while
preserving user control over execution decisions.
Use cases:
- Learning rtk patterns with visibility into rewrite logic
- Auditing command choices without forced adoption
- Debugging workflows requiring exact command preservation
- User preference for explicit control over transparency
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Previously, `rtk git status` was the only git subcommand that rejected
all arguments. This fix aligns it with other git subcommands (diff, log,
show, etc.) by accepting native git flags.
Changes:
- Extract format_status_output() as pure testable function
- Add args variant to Clap Status command with trailing_var_arg
- Modify run_status() to accept args parameter
- Passthrough mode: if user provides flags (--short, -s, --porcelain),
forward directly to git without RTK formatting
- Default mode: no flags = RTK compact formatting (unchanged behavior)
- Add 5 unit tests for format_status_output (clean, modified, untracked,
mixed, truncation)
- Add 4 smoke tests for flag passthrough (--short, -s, --porcelain)
Test results:
- 151 unit tests passed (5 new)
- 69 smoke tests passed (4 new for status flags)
Fixes the issue where commands like `rtk git status --short` were
rejected with "unexpected argument" error.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add comprehensive documentation for the execution time tracking feature
introduced in upstream v0.7.1:
- CHANGELOG.md: Add v0.7.1 entry with execution time tracking feature
- CHANGELOG.md: Document parser infrastructure and migrations
- README.md: Update rtk gain analytics section with time metrics
- ARCHITECTURE.md: Add exec_time_ms column to database schema
- ARCHITECTURE.md: Update INSERT statement with exec_time_ms
- ARCHITECTURE.md: Update REPORTING example with time metrics
The feature tracks command execution duration with <0.1ms overhead
and displays total/average execution time in rtk gain output.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add exec_time_ms column to SQLite schema and track execution time
for all rtk commands. Display time metrics in gain summary, daily/
weekly/monthly breakdowns, and JSON/CSV exports.
Changes:
- tracking.rs: Add exec_time_ms column, TimedExecution struct
- display_helpers.rs: Add format_duration() helper, update tables
- gain.rs: Display total/avg exec time in summary and by-command
- All command modules: Apply TimedExecution timer wrapper
- Exports: Include total_time_ms and avg_time_ms in JSON/CSV
Example output:
Total exec time: 24.6s (avg 34ms)
rtk cargo test 7 -86.1% 349ms avg
rtk git status 111 -84.1% 1ms avg
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The previous PR #38 contained BREAKING CHANGE in the commit message,
which triggered an unintended major version bump to 1.0.0.
This commit:
- Updates manifest to 0.7.1
- Updates Cargo.toml to 0.7.1
After merging, close PR #39 without merging to skip the 1.0.0 release.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes#27
Tags created by GITHUB_TOKEN don't trigger other workflows. This change
makes release-please call release.yml directly via workflow_call after
creating a release.
Changes:
- release.yml: Add workflow_call trigger with tag input
- release.yml: Handle workflow_call in version detection
- release.yml: Upload assets for workflow_call events
- release-please.yml: Add build-release job that calls release.yml
- release-please.yml: update-latest-tag now waits for build to complete
This approach:
- Requires no PAT/secrets
- Keeps workflows separate and maintainable
- Uses workflow_call (cleaner than workflow_dispatch)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
BREAKING CHANGE: Removes --depth, --format (tree/flat/json) flags
Before: `rtk ls` was a reimplementation using WalkBuilder that didn't
support native ls flags like -l, -a, -h, -R.
After: `rtk ls` proxies to native ls, supporting all flags:
- `rtk ls -la` works
- `rtk ls -alh` works
- `rtk ls -R src/` works
- Default: `-la` when no args
Token optimization: filters "total X" line from output.
This aligns with rtk philosophy: proxy and filter, don't reimplement.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
rtk git push and rtk git pull now accept trailing arguments and forward
them to git. Fixes the auto-rewrite hook failing on commands like
`git push -u origin feat/branch`.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- New `rtk discover` command scans Claude Code JSONL session history to
identify missed RTK savings and suggest unhandled commands for issues.
Modular architecture: registry (RegexSet classification), provider
(SessionProvider trait + ClaudeProvider), report (text/json formatting).
- New PreToolUse auto-rewrite hook transparently intercepts Bash commands
and rewrites them to rtk equivalents before execution, ensuring 100%
adoption across all conversations including subagents.
- New `rtk git show` command with compact output: one-line commit summary
+ stat + compacted diff (reuses compact_diff from git diff).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix test_analyze_logs: use normalizable paths instead of distinct IPs
- Fix test_filter_outdated: match real pnpm outdated output format
- Fix test_filter_ansi_colors: add missing Tests line for stats parsing
- Add .claude/skills/rtk-tdd/ with Red-Green-Refactor workflow
- Add testing-patterns.md reference with untested modules backlog
- Update CLAUDE.md Testing Strategy with TDD mandate and pre-commit gate
- Add 17 tests to diff_cmd.rs (similarity, truncate, compute_diff, condense)
- Test suite: 102/105 → 122/122
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>