@bacnh85/pi-rtk

Pi extension that routes shell commands through RTK for token savings.

Packages

Package details

extension

Install @bacnh85/pi-rtk from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@bacnh85/pi-rtk
Package
@bacnh85/pi-rtk
Version
0.2.5
Published
Sep 23, 2026
Downloads
1,113/mo · 353/wk
Author
bacnh85
License
MIT
Types
extension
Size
23.8 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./extensions/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@bacnh85/pi-rtk

Pi extension that rewrites bash tool calls through RTK for token savings.

Behavior

  • Listens for Pi tool_call events for the built-in bash tool.
  • Listens for context-visible user shell commands entered as !cmd.
  • Skips !!cmd user shell commands because their output is excluded from model context.
  • Delegates command matching to rtk rewrite.
  • Mutates agent bash commands in place or wraps user shell execution when RTK returns a rewrite.
  • Falls back to native find when RTK would rewrite to unsupported compound/action rtk find predicates.
  • Fails open on errors: commands pass through unchanged.
  • Caches RTK-unavailable state briefly to avoid repeatedly probing a missing binary.
  • Does not block, confirm, audit, or permission-gate commands.

Commands

  • /rtk enable enables rewrites for the current Pi session.
  • /rtk disable disables rewrites for the current Pi session.
  • /rtk status shows session state, cache state, and detected RTK details.
  • /rtk shows status.

Requirements

  • rtk >= 0.23.0 available in PATH; rtk >= 0.46.0 recommended — from 0.46, find predicates like -not/-or/-mtime/-size/-newer/-perm/-empty and ( … ) groups rewrite too (rtk passes unmodeled predicates through to real find). Older rtk keeps working with a stricter find blocklist.
  • Set RTK_DISABLED=1 to bypass rewrites (read from the process environment only).

Install

pi install npm:@bacnh85/pi-rtk

Changelog

See CHANGELOG.md for release history.

Test

node --test extensions/test/*.test.js