pedro-klein-pi-task

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

pi-extensions

Personal Pi coding agent extensions. Built for my workflow, published as individual npm packages from a monorepo. You're welcome to use them, fork them, or steal ideas.

Packages

Package Description
@pedro_klein/pi-auto-retry Auto-retry on malformed tool call JSON
@pedro_klein/pi-caffeinate Prevent sleep during agent work (macOS/Linux)
@pedro_klein/pi-adhd Attention management — sticky notes, side-chat, reminders
@pedro_klein/pi-ask Interactive TUI questionnaire tool
@pedro_klein/pi-baml BAML integration for typed structured LLM output
@pedro_klein/pi-games Snake & Flappy Bird while the agent works
@pedro_klein/pi-memory Persistent memory with Dream async session mining
@pedro_klein/pi-modes 5-mode system (Ask/Brainstorm/Plan/Build/None) with tool gating
@pedro_klein/pi-readonly-bash Bash policy enforcement — read-only shell for safe modes
@pedro_klein/pi-repos Repo management + orchestration layer
@pedro_klein/pi-status Context bar compositor + LLM environment injection
@pedro_klein/pi-task Task graph manager — DAG plans with parallel groups
@pedro_klein/pi-term Floating terminal panel for TUI
@pedro_klein/pi-todo TODO board with PR review tracking

Install

Individual packages:

pi install npm:@pedro_klein/pi-modes
pi install npm:@pedro_klein/pi-memory
pi install npm:@pedro_klein/pi-repos

All extensions (local git install):

pi install https://github.com/PedroKlein/pi-extensions

Package Structure

Every package follows the same canonical layout:

packages/<name>/
├── src/           # TypeScript source (pi loads .ts directly)
├── tests/unit/    # vitest tests
├── skills/        # optional pi skills
├── prompts/       # optional prompt templates
├── package.json
├── tsconfig.json
├── tsup.config.ts
└── vitest.config.ts

See TEMPLATE.md for the full standard.

Development

pnpm install
pnpm build          # build all packages
pnpm test           # run all tests
pnpm typecheck      # type-check all packages

Publishing

Uses changesets for versioning:

pnpm changeset      # describe what changed
# push to main → GH Action opens "Version Packages" PR
# merge that PR → packages are published to npm

Local Development

To use local extensions during development:

{
  "packages": ["/path/to/pi-extensions"]
}

License

MIT