This repository has no description
TypeScript 98%
HTML 2%
Shell <1%
<1%

README.md

pi-extensions #

small, independently useful extensions for pi. capabilities are added from demonstrated needs rather than as a framework roadmap.

install #

each extension is its own package under extensions/, published to npm under @waow.tech, so one installs alone:

pi install npm:@waow.tech/lore

installing the repository itself loads every extension in it:

pi install https://tangled.org/zzstoatzz.io/pi-extensions

pi config enables or disables them individually either way.

arrival #

text-first startup header with project/model information and command-source provenance. /arrival cycles through a small block π, an ASCII orbit, and a plain layout; /arrival plain selects directly. Narrow terminals omit the art automatically.

uses stock Pi's public header API: no fork, images, or changes to native diagnostics. see extensions/arrival/README.md.

lore #

breadcrumbs an agent leaves while working with you, each with its link, kept as records in a space on your PDS. one space per project, shared by handle. read into the prompt at session start; written only when you ask, after you confirm.

  • /lore login <handle> signs in through your PDS in the browser. then /lore shows the project's space and /lore note <text> saves your words; asking the agent to remember something saves its, after you confirm
  • /lore share <handle>; on their side /lore join <owner> <key>
  • /lore help for the rest; lore.waow.tech lists your spaces
  • package: @waow.tech/lore
  • everyone involved needs an account on a PDS that implements the spaces alpha
  • design: extensions/lore/README.md

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.

  • /bufo toggles it
  • gifs are converted to a first-frame png with sips (macOS), since the kitty protocol only transmits png
  • requests formats=png,jpg from 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_job starts a finite command and delivers one terminal result
  • monitor starts a command whose output lines join the next user-started turn as coalesced events
  • background_task lists, inspects, and stops either kind through shared task-* 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+o reveals 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 ci && npm ci --prefix site
npm run check
pi -e ./extensions/background-jobs/index.ts

ci #

tangled runs .tangled/workflows/check.yml for pushes and pull requests to main: locked dependencies, then typecheck, lint, and tests across every workspace, a dry-run pack of lore, and a site build.