pi-extensions #
small, independently useful extensions for pi. capabilities are added from demonstrated needs rather than as a framework roadmap.
install the package #
pi install https://tangled.org/zzstoatzz.io/pi-extensions
extensions can then be enabled or disabled individually with pi config.
bufo-mood #
after each response, reduces it to a single mood word via the session's current model, searches find-bufo.com, and renders the top matching bufo above the editor via the kitty graphics protocol.
/bufotoggles it- gifs are converted to a first-frame png with
sips(macOS), since the kitty protocol only transmits png - requests
formats=png,jpgfrom find-bufo to prefer static images
what once slopped can be slopped again
background-jobs #
runs commands as session-owned tasks while the agent continues with other work:
background_jobstarts a finite command and delivers one terminal resultmonitorstarts a command whose output lines join the next user-started turn as coalesced eventsbackground_tasklists, inspects, and stops either kind through sharedtask-*IDs
this iteration remains deliberately session-scoped:
- tasks are stopped on reload, session switch, fork, or Pi exit
- output and pending monitor events are bounded in-memory tails, not durable logs
- observing a task consumes any queued notification already represented by that snapshot
- the transcript stays compact;
ctrl+oreveals command, cwd, and more output - stopping targets the POSIX process group and escalates from TERM to KILL
- it does not manage services, recurring schedules, restarts, re-adoption, or PTYs
for development:
npm install
npm run check
pi -e ./extensions/background-jobs/index.ts
ci #
Tangled runs .tangled/workflows/check.yml for pushes and pull requests to
main. The workflow installs locked dependencies, then typechecks, lints, and
tests the full package.