- TypeScript 97.9%
- JavaScript 2.1%
| mypi-agents | ||
| mypi-bridge-claude | ||
| mypi-fullscreen | ||
| mypi-hashline | ||
| mypi-openai-compact | ||
| mypi-questions | ||
| mypi-statusline | ||
| mypi-system-prompt | ||
| mypi-tweaks | ||
| mypi-web | ||
| mypi-xai | ||
| .gitignore | ||
| AGENTS.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.base.json | ||
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 underextensions/.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) arepeerDependencieswith"*"in each package, never bundled; runtime deps go in the package'sdependencies. - 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