Skip to content

Latest commit

 

History

345 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shitty Extensions

for shittycodingagent.ai.

pi-x

This repo currently contains the following extension(s):

name description dependencies
status-bar Required shared dependency for other status-producing extensions in this repo. Install this first.
no-reflection Removes pi's built-in documentation reference block from the agent system prompt without dumping the prompt anywhere. Disable with PI_NO_REFLECTION=false, no, n, or 0.
switch-thinking Adds fast keyboard workflows for thinking modes: Ctrl+Alt+T opens a picker, and Ctrl+T cycles your saved favorites. status-bar
review-level Adds /px:review with session-scoped auto, off, minimal, normal, and high review recommendations, injects explicit guidance into the agent prompt, and shows an eye icon in the editor border. status-bar
safe-mode Intercepts tool calls and enforces approval policies with four modes: paranoid, reader, smart, and yolo. status-bar, bash-parser
permissions-core Headless network permission provider: validates and classifies perm:net requests and owns the session network policy (Auto, explicit, PARANOID). hub
permissions-ui Adds the /px:net selector to configure the network policy through permissions-core. permissions-core
repo-stats Publishes first-line repo info (path (branch) and dirty totals like +150/-200) for the status bar. status-bar
skill-stats Publishes SKILLS: n/m for unique SKILL.md files successfully read in the current session. status-bar
flutter Owns a flutter run --debug process with /px:flutter run, /px:flutter reload, /px:flutter restart, /px:flutter stop, plus Alt+R/Alt+Shift+R hot controls. status-bar, flutter CLI
proc Runs and manages long-lived background processes: a proc tool (run/list/status/logs/stop/kill/write/forget), per-process log cursors, and a status-bar row with colored state dots. status-bar
http Adds an http tool backed by Node native fetch, with HTTPie-like structured request fields, curl-compatible args support, and optional web-to-Markdown (webToMd) conversion via pandoc. cheerio, pandoc for http_md
sqlite Adds a sqlite query tool for file-backed and in-memory databases, with read-only/mutating SQL classification for safe-mode integration. sqlite3 CLI
interactive-bash Runs selected user ! commands in a true interactive terminal (stdin works for prompts, sudo password entry, and interactive scripts).
git Adds a git tool and /px:git command with compact porcelain status output (git status --porcelain=v1 -b) plus filtered/range-limited log support. git CLI
pi-ui UI tweaks: configurable working indicator, input-expected bell, Ctrl+, action dialog, and transcript selection (Alt+J/Alt+K select and scroll, Alt+O toggles the selected entry).
pi-nvim Unix-socket bridge for sending prompts into a running pi session from compatible Neovim clients. compatible Neovim plugin
attension-core Minimal attention bell: emits terminal BEL (\u0007) on agent_end, with a short cooldown and a /px:attension-core-test command.
save Adds a /save command to write the latest assistant response to Markdown (/save or /px file.md).
prompt-stash Saves, clears, lists, and restores in-progress editor drafts with session-scoped persistence.
notes Global free-form notes: /px:notes composes one, /px:notes:list browses and copies them from a two-pane dialog.
hub Central signal hub: routes and arbitrates capability requests between extensions (perm:shell, perm:io, perm:net, perm:agent, perm:tool).
subagent Delegates single, parallel, and chained tasks to isolated RPC child agents. Async by default with automatic completion injection, plus explicit execution: "blocking". Includes permission inheritance, approval relay, model-callable action: "stop"/"steer" controls, /px:agents runtime controls, session-wide model/effort rewiring via /px:agents:rewire, an above-editor active-subagents widget, and /px:agent:log. safe-mode optional

Network permissions (perm:net)

permissions-core owns network policy for the built-in network tools (http, http_md, web_search). The tools ask the hub for perm:net with normalized request data; the hub routes it to permissions-core, which validates, classifies, and disposes under the effective policy. permissions-ui provides /px:net, and status-bar renders the effective token after the safe mode.

http/http_md/web_search ──perm:net──▶ hub ──▶ permissions-core
                                                    │
                              state/changed ──▶ permissions-ui (/px:net)
                                            └──▶ status-bar (NET / NET? / NET+)

Decision matrix (classification → disposition):

Policy Trusted (GET/HEAD/OPTIONS, web_search) Untrusted (other valid methods)
deny-all block block
ask-all ask ask
allow-trusted allow block
ask-untrusted allow ask
allow-all allow allow

New sessions start at auto, which derives from safe mode: paranoid/readerask-all, smartask-untrusted, yolo/yolo+allow-trusted. PARANOID always forces ask-all (gray NET?) while retaining the configured choice; leaving PARANOID restores it. /px:net selects Auto or an explicit policy for the current session. Malformed or invalid requests, missing providers, timeouts, and non-interactive confirmations all fail closed.

V1 covers only those three tools. Shell commands (curl, wget, ssh, package managers), Git remotes, subprocess/agent tools, MCP and custom tools, and direct network calls from extension code are not covered. See permissions-core for the full model and known gaps.

Themes

Theme files live in themes/. ./install syncs them into ~/.pi/agent/themes/ (override the destination with PI_THEMES_DIR). Select one via /settings or set "theme": "<name>" in settings.json.

name description
dark-purple Copy of the built-in dark theme with every thinking-level editor border fixed to one purple (#a78bfa), so the border no longer changes with thinking effort.
night-dark Near-black surfaces (#0d0d0d page, #1a1a1a cards, #303030 markdown borders) with dark-purple's chrome kept as-is: teal accent #8abeb7, blue #5f87ff / cyan #00d7ff borders, and the brand purple #8f7fb8 for the thinking border, list bullets/numbers and inline code. Semantic + syntax colors stay GitHub-dark (#3fb950, #d29922), with a custom red #e17872 for errors and removed diff lines.

also check the skills repo.

Install policy for pi agents

When installing extensions from this repository, pi agents should use the standard pi extension layout:

  1. Install from source directory (not bundled artifacts).
  2. Copy the full extension folder to one of:
    • Global: ~/.pi/agent/extensions/<name>/
    • Project-local: .pi/extensions/<name>/
  3. Ensure index.ts exists at the extension root (or <name>/index.ts).
  4. Run /reload after copying/updating the extension.

About

Extensions for pi.dev

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages