All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Clarified the README architecture inventory for delegated
rtk rewriteownership and documented Bun as a development verification prerequisite. - Pinned TypeScript and esbuild as dev dependencies so build and bundle checks use locked local tooling.
- Added RTK executable path visibility to runtime verification output and documented audit/debug config expectations.
- Hardened
RTK_DB_PATHshell quoting against inherited temp paths containing command-substitution syntax. - Made the custom test helper await async tests before reporting pass.
- Preserved RTK rewrite error details through the extension's existing UI warning path.
- Expanded Windows command and rewritten-pipeline fixups for leading compound-command cases.
- Normalized compaction technique return handling while preserving existing output behavior.
- Added lifecycle and vendored modal regression coverage for high-risk extension event paths.
- Added opt-in
readCompactioncontrols forreadoutput so lossy source filtering and smart truncation stay disabled unless explicitly enabled.
- Updated README and example configuration defaults for safer read-compaction behavior and troubleshooting guidance.
- Updated
@mariozechner/pi-coding-agentand@mariozechner/pi-tuipeer dependencies to ^0.72.0.
- Breaking: Command rewriting now delegates rewrite decisions to the installed
rtk rewritecommand, making RTK the source of truth for command support, shell parsing, bypasses, and compound-command behavior instead of the extension's local rewrite rule tables.
- Breaking: Removed the rewrite category configuration surface (
rewriteGitGithub,rewriteFilesystem,rewriteRust,rewriteJavaScript,rewritePython,rewriteGo,rewriteContainers,rewriteNetwork, andrewritePackageManagers) from configuration normalization, examples, settings UI, and documentation. Configure rewrite policy in RTK itself instead of this extension.
- Config path resolution now uses Pi's
getAgentDir()API soPI_CODING_AGENT_DIRis respected for extension config paths (thanks to @tynanbe for PR #3). - Global skill-read preservation paths now resolve through Pi's agent directory so
PI_CODING_AGENT_DIRis respected (thanks to @tynanbe for PR #3). - Source-filter troubleshooting note injection now only runs when output compaction, source filtering, and read truncation safeguards are active (thanks to @philipbjorge for PR #4).
- Updated
@mariozechner/pi-coding-agentand@mariozechner/pi-tuipeer dependencies to ^0.70.0. - Clarified README and settings modal copy for global extension/config paths, skill directory paths, source-filter note behavior, architecture, and event hooks.
- Removed the unused local asset directory.
- Removed the
session_switchevent refresh handler.
- Updated README.md with new background image source URL
- Aligned npm keywords for better package discoverability
- Added Related Pi Extensions cross-linking section to README
- Updated
@mariozechner/pi-coding-agentand@mariozechner/pi-tuipeer dependencies to ^0.64.0 - Improved RTK note message to guide users through '/rtk' toggle in Pi TUI
- RTK_DB_PATH environment variable now correctly scoped to rewritten producer commands only — Windows commands now use subshell scoping
{ RTK_DB_PATH=...; ... }instead of leaking the prefix into the rewritten command - Command rewrite pipeline now applies environment scoping BEFORE shell safety fixups to prevent env prefix stripping
shell-env-prefix.tsmodule for splitting leading environment variable assignments from commandssplitLeadingEnvAssignments()function to properly extractENV=valueprefixes before command analysis
- Refactored
rtk-command-environment.tsto use the newsplitLeadingEnvAssignmentsutility - Refactored
rewrite-pipeline-safety.tsto preserve env prefixes when analyzing and rewriting rtk commands
- Added test coverage for RTK_DB_PATH scoping on Windows vs Unix platforms
- Verified env prefix is preserved through the rewrite pipeline
- RTK_DB_PATH environment variable support for rewritten commands — enables RTK history database isolation per session
- Tool execution sanitizer to strip RTK self-diagnostics from streamed bash results before TUI rendering
- Tracking of active bash commands by tool call ID for output sanitization
rtk-command-environment.tsmodule for platform-specific temp directory resolution and shell-safe quoting
- Updated
@mariozechner/pi-coding-agentand@mariozechner/pi-tuipeer dependencies to ^0.62.0 - Simplified RTK hook warning detection — removed unused command-specific patterns and consolidated detection logic
- Focus on canonical hook warning messages that RTK emits
- Updated tests to verify simplified behavior and ensure non-hook RTK output is preserved verbatim
- Added additional coverage tests for edge cases
- Added tests for output compactor behavior with RTK diagnostics
- Added tests for emoji stripping in RTK output
- Command rewrite bypass system with safety patterns for dangerous operations
shouldBypassWholeCommandRewriteto prevent rewriting of unsafe compound commands- Bypass patterns for
find,grep,rg,lswith action detection - Inline command flag detection for
bash,powershell, andcmdshells path-utilsmodule for cross-technique path handling- Comprehensive test coverage with shared test helpers
- Additional coverage tests for edge cases
- Extended
rewrite-bypasswith bypass patterns for interactive container shells - Improved command rewriter test coverage
- Removed deprecated
compat-commandsmodule
- Added rewrite bypass rules for structured
ghoutput commands and non-interactive container shell sessions. - Added dedicated runtime guard helpers and test coverage for rewrite-mode availability behavior.
- Added repository lockfile plus additional command rewriter and runtime guard tests.
- Updated README documentation to reflect rewrite bypass behavior, runtime guard semantics, source filtering details, and expanded development verification commands.
- Added a dedicated
typecheckscript and expandedcheckto run typecheck plus the full test suite. - Routed
pnpm dlxcommands through the RTK proxy path instead of the generic pnpm wrapper.
- Improved command tokenization so
sedscripts, shell separators, redirects, and background operators do not break later rewrites. - Preserved exact
readoutput at the 80-line smart-truncation threshold instead of compacting boundary-sized results. - Preserved userscript metadata blocks during source filtering.
- Limited RTK-missing command suppression to rewrite mode so suggest mode still produces guidance.
- Use absolute GitHub raw URL for README image to fix npm display
- Rewrote README.md with professional documentation standards
- Added comprehensive feature documentation, configuration reference, and usage examples
- Renamed extension/package from
rtk-integrationtopi-rtk-optimizerto better reflect its full purpose: RTK command rewrite plus tool-output compaction optimization. - Updated extension identity references across config path resolution, modal UI labeling, installation commands, package metadata, and build check artifact naming.
- Reorganized extension into a publish-ready package layout:
- moved implementation modules into
src/ - kept root
index.tsas stable Pi auto-discovery entrypoint - added
config/config.example.jsonfor distributable config starter
- moved implementation modules into
- Vendored modal UI dependency as
src/zellij-modal.tsso the package no longer depends on sibling extension paths. - Updated TypeScript project includes for the new modular layout.
- Public repository scaffolding:
README.mdCHANGELOG.mdLICENSE.gitignore.npmignore
- Distribution metadata in
package.json:description,keywords,files,engines,publishConfig, repository links- standard
build,lint,test, andcheckscripts
- Credits section referencing upstream inspiration projects:
mcowger/pi-rtkrtk-ai/rtk