(entirely vibecoded) set of extensions for pi
  • TypeScript 97.9%
  • JavaScript 2.1%
Find a file
2026-07-17 00:33:31 -04:00
mypi-agents feat(agents): give each session its own tmux server 2026-07-16 22:13:47 -04:00
mypi-bridge-claude feat: update pi 2026-07-17 00:33:31 -04:00
mypi-fullscreen feat: update pi 2026-07-17 00:33:31 -04:00
mypi-hashline feat(hashline): improvements 2026-07-16 02:04:32 -04:00
mypi-openai-compact feat: update pi 2026-07-17 00:33:31 -04:00
mypi-questions stuffz 2026-07-10 20:17:23 -04:00
mypi-statusline feat: update pi 2026-07-17 00:33:31 -04:00
mypi-system-prompt feat: update pi 2026-07-17 00:33:31 -04:00
mypi-tweaks feat: update pi 2026-07-17 00:33:31 -04:00
mypi-web feat: update pi 2026-07-17 00:33:31 -04:00
mypi-xai feat: update pi 2026-07-17 00:33:31 -04:00
.gitignore feat: init 2026-07-05 23:22:00 -04:00
AGENTS.md feat: update pi 2026-07-17 00:33:31 -04:00
package-lock.json feat: update pi 2026-07-17 00:33:31 -04:00
package.json feat: update pi 2026-07-17 00:33:31 -04:00
README.md feat: update pi 2026-07-17 00:33:31 -04:00
tsconfig.base.json feat: init 2026-07-05 23:22:00 -04:00

This repo is entirely LLM-generated, and no human has reviewed any of the code. There will be no attempt at maintaining backwards compatibility, features; there are no promises that it will work. There is also (currently) no permission system, or sandbox -- LLMs run with full filesystem access. If you use this, it is your responsibility to containerize it.

mypi

Monorepo of pi extensions. Each package is a direct child named mypi-* and is an independent pi package (installable on its own); the repo root is also a pi package that aggregates all of them.

packages

  • mypi-agents/ -- persistent tmux-backed subagents with durable completion routing.
  • mypi-bridge-claude/ -- exposes Claude Code (native binary via claude-agent-sdk) as a pi model provider.
  • mypi-fullscreen/ -- alternate-screen, bounded-viewport renderer with Zellij stacked-pane collapse suppression (latest Pi only).
  • mypi-hashline/ -- hash-verified file tools (hash_read/hash_write/str_replace/hash_edit) replacing the builtin write/edit; strict, atomic, race-detecting.
  • mypi-openai-compact/ -- OpenAI-native opaque context compaction and replay.
  • mypi-questions/ -- structured multiple-choice questions and dialog UI.
  • mypi-statusline/ -- Claude Code-style footer with shared OpenAI, Claude, and xAI subscription usage; other extensions can push lines into it.
  • mypi-system-prompt/ -- owns provider-agnostic base-prompt policy: removes Pi's stock concision guideline and hardens AGENTS.md/CLAUDE.md as lowest-precedence context while retaining Pi's documentation section (Claude-bridge models strip that at the bridge).
  • mypi-tweaks/ -- lightweight behavior and UI/UX tweaks, including configurable OpenAI Codex response verbosity; each tweak is one file under extensions/.
  • mypi-web/ -- OpenAI, xAI, and Exa web-search tools with registry-backed auth.
  • mypi-xai/ -- SuperGrok subscription OAuth and corrected xAI usage accounting.

compatibility

The current development and private-surface verification baseline is Pi 0.80.10. Workspace Pi packages remain "*" peer dependencies so Pi supplies one runtime copy; the root dev-dependency floor and lockfile select the version used by typechecks and tests. Private TUI/session/serializer patches are intentionally version-fragile and must be revalidated on every Pi upgrade.

install

Local paths must already have dependencies installed; Pi only runs dependency installation for npm/git sources. For a clean checkout, run npm install at this root before either local-path command below.

Everything at once (path or git):

pi install /path/to/mypi
pi install git:github.com/<user>/mypi

Or a single package:

pi install /path/to/mypi/mypi-system-prompt

conventions

  • Extension entry files live in <package>/extensions/*.ts (pi's conventional directory); implementation modules live in <package>/src/. The root manifest globs ./mypi-*/extensions/*.ts, so new tweaks and new packages are picked up without touching the root.
  • Pi core packages (@earendil-works/*, typebox) are peerDependencies with "*" in each package, never bundled; runtime deps go in the package's dependencies.
  • Shared dev tooling (typescript, @types/node, pi dev copies) lives once in the root devDependencies.
  • No build step: pi loads TypeScript via jiti.

dev

npm install         # once, at the root
npm run typecheck   # all packages
npm test            # all packages