ryan-nookpi-pi-extension-subagent

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

原始内容

pi-extension monorepo

Standalone pi extensions managed in one repository and published as separate npm packages.

Structure

packages/
  ask-user-question/
  auto-name/
  cc-system-prompt/
  claude-hooks-bridge/
  claude-mcp-bridge/
  claude-spinner/
  clipboard/
  codex-fast-mode/
  codex-large-context/   (deprecated)
  cross-agent/
  delayed-action/
  diff-review/
  generative-ui/
  headroom/              (deprecated)
  idle-screensaver/
  memory-layer/
  open-pr/
  setup-sh/
  subagent/
  todo-write/            (deprecated, use todo-write-overlay)
  todo-write-overlay/
  until/

Workspace

This repository uses pnpm workspaces for local management and npm-compatible package manifests for publishing.

Quality gates

This monorepo uses Biome as the single formatter/linter, Vitest for automated tests, and Lefthook for local Git hooks.

pnpm run biome:check
pnpm run biome:strict
pnpm run typecheck
pnpm run test
pnpm run coverage:check
pnpm run verify
pnpm run verify:strict
  • pnpm run biome:check: format, lint, and import-order validation with Biome
  • pnpm run biome:strict: same as biome:check, but fails on warnings via Biome CLI --error-on-warnings
  • pnpm run typecheck: TypeScript validation with tsc --noEmit
  • pnpm run test: run all extension tests with Vitest
  • pnpm run coverage:check: run Vitest coverage with 100% thresholds and per-file enforcement for the covered package sources
  • pnpm run verify: legacy pre-publish gate (biome + typecheck + test + workspace check)
  • pnpm run verify:strict: strict gate (biome:strict + typecheck + test + workspace check + coverage:check)

Git hooks

pnpm install runs the Lefthook prepare script (lefthook install --reset-hooks-path) and installs local hooks automatically from lefthook.yml, clearing an old Husky core.hooksPath during migration.

  • pre-commit: pnpm run precommit:strict
    • biome check --staged --error-on-warnings
    • pnpm run typecheck
    • pnpm run test
  • pre-push: pnpm run prepush:strict
    • pnpm run verify:strict

You can also validate and invoke the configured hooks manually with:

pnpm exec lefthook validate
pnpm exec lefthook run pre-commit
pnpm exec lefthook run pre-push

Coverage is enforced with Vitest's per-file 100% thresholds for the deterministic source modules listed in vitest.config.ts:

  • packages/auto-name/utils/**/*.ts
  • packages/clipboard/index.ts
  • packages/codex-fast-mode/index.ts
  • packages/generative-ui/{guidelines.ts,html-utils.ts,svg-styles.ts}

Interactive/runtime-heavy extension entrypoints remain validated by the normal test suite in pnpm run test, but are intentionally outside the strict coverage gate.

Install from npm

pi install npm:@ryan_nookpi/pi-extension-ask-user-question
pi install npm:@ryan_nookpi/pi-extension-auto-name
pi install npm:@ryan_nookpi/pi-extension-cc-system-prompt
pi install npm:@ryan_nookpi/pi-extension-claude-hooks-bridge
pi install npm:@ryan_nookpi/pi-extension-claude-mcp-bridge
pi install npm:@ryan_nookpi/pi-extension-claude-spinner
pi install npm:@ryan_nookpi/pi-extension-clipboard
pi install npm:@ryan_nookpi/pi-extension-codex-fast-mode
pi install npm:@ryan_nookpi/pi-extension-cross-agent
pi install npm:@ryan_nookpi/pi-extension-delayed-action
pi install npm:@ryan_nookpi/pi-extension-diff-review
pi install npm:@ryan_nookpi/pi-extension-generative-ui
pi install npm:@ryan_nookpi/pi-extension-idle-screensaver
pi install npm:@ryan_nookpi/pi-extension-memory-layer
pi install npm:@ryan_nookpi/pi-extension-open-pr
pi install npm:@ryan_nookpi/pi-extension-setup-sh
pi install npm:@ryan_nookpi/pi-extension-subagent
pi install npm:@ryan_nookpi/pi-extension-todo-write-overlay
pi install npm:@ryan_nookpi/pi-extension-until