@msdavid/pi-distro 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -1
- package/README.md +23 -12
- package/docs/authoring.md +2 -2
- package/extensions/catalogue.ts +42 -33
- package/extensions/deploy.ts +5 -4
- package/extensions/github.ts +124 -0
- package/extensions/info.ts +30 -12
- package/extensions/pick.ts +5 -4
- package/extensions/resolve.ts +33 -6
- package/extensions/save.ts +4 -3
- package/extensions/show.ts +22 -5
- package/extensions/update.ts +1 -1
- package/package.json +1 -2
- package/skills/pi-distro/SKILL.md +8 -7
- package/harnesses/minimal/README.md +0 -21
- package/harnesses/minimal/files/AGENTS.md +0 -20
- package/harnesses/minimal/files/settings.json +0 -4
- package/harnesses/minimal/harness.md +0 -24
- package/harnesses/pi-distro-one/README.md +0 -50
- package/harnesses/pi-distro-one/files/.pi/extensions/claude-statusline.ts +0 -220
- package/harnesses/pi-distro-one/files/AGENTS.md +0 -166
- package/harnesses/pi-distro-one/files/settings.json +0 -9
- package/harnesses/pi-distro-one/harness.md +0 -79
- package/harnesses/web-fullstack/README.md +0 -25
- package/harnesses/web-fullstack/files/.pi/prompts/review.md +0 -12
- package/harnesses/web-fullstack/files/AGENTS.md +0 -37
- package/harnesses/web-fullstack/files/settings.json +0 -11
- package/harnesses/web-fullstack/harness.md +0 -40
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pi-distro-one
|
|
3
|
-
title: pi-distro-one
|
|
4
|
-
description: "A Claude Code–style coding agent distribution built around autonomous sub-agent spawning and coordination, with web research, browser automation, live shell, model routing, and task management in support. Includes a Claude-style status line and an explore-before-acting approach."
|
|
5
|
-
version: 0.3.0
|
|
6
|
-
tags: [full-config, claude-code-style]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# pi-distro-one
|
|
10
|
-
|
|
11
|
-
A complete interactive coding agent configuration that attempts to mimic as closely as
|
|
12
|
-
possible the functionality of today's Claude Code. The primary capability is spawning and
|
|
13
|
-
coordinating autonomous sub-agents; the remaining functionality is integrated in support
|
|
14
|
-
of that.
|
|
15
|
-
|
|
16
|
-
## Bundled files
|
|
17
|
-
The following bundled files are provided under `files/` and should be placed into the
|
|
18
|
-
target project. For any path that already exists, do NOT overwrite — show the user a diff
|
|
19
|
-
and ask whether to overwrite, keep theirs, or merge. Merge JSON settings field-by-field.
|
|
20
|
-
Append AGENTS.md content under a delimited section if one exists.
|
|
21
|
-
|
|
22
|
-
- `files/AGENTS.md` → `./AGENTS.md`
|
|
23
|
-
- `files/settings.json` → `./.pi/settings.json` (merge with existing settings)
|
|
24
|
-
- `files/.pi/extensions/claude-statusline.ts` → `./.pi/extensions/claude-statusline.ts`
|
|
25
|
-
|
|
26
|
-
## pi packages to install
|
|
27
|
-
Use `pi install -l` to install the following **project-locally** (writes to
|
|
28
|
-
`./.pi/settings.json` on success, leaves settings untouched on failure). Confirm with the
|
|
29
|
-
user before each install. Do NOT pre-add these to the bundled `settings.json` `packages`
|
|
30
|
-
array — `pi install -l` is the single registration mechanism.
|
|
31
|
-
|
|
32
|
-
- `npm:@tintinweb/pi-subagents` — Claude Code–style autonomous sub-agents: spawn
|
|
33
|
-
specialized agents in isolated sessions, each with its own tools, system prompt, model,
|
|
34
|
-
and thinking level; parallel execution, a live monitoring widget, mid-run steering, and
|
|
35
|
-
session resumption (the primary capability of this distribution)
|
|
36
|
-
- `npm:pi-web-access` — web search, URL fetching, GitHub cloning, PDF/video extraction
|
|
37
|
-
- `npm:pi-agent-browser-native` — real browser automation and web interaction
|
|
38
|
-
- `npm:pi-bash-live-view` — live terminal rendering for shell commands
|
|
39
|
-
- `npm:@yeliu84/pi-model-router` — model routing / fallback across providers
|
|
40
|
-
- `npm:@robhowley/pi-openrouter` — OpenRouter provider integration
|
|
41
|
-
- `npm:@juicesharp/rpiv-todo` — task list management
|
|
42
|
-
- `npm:pi-goal` — persistent autonomous goals: `/goal` loops until complete, paused, or
|
|
43
|
-
budget-limited, so long-running objectives survive across turns without manual babysitting
|
|
44
|
-
- `npm:@trevonistrevon/pi-loop` — cron/event-based agent re-wake loops and background
|
|
45
|
-
process monitoring: schedule agents to re-wake on time or events and keep long-running
|
|
46
|
-
or background work alive without manual babysitting
|
|
47
|
-
- `npm:@juicesharp/rpiv-ask-user-question` — structured questionnaire the model can put to
|
|
48
|
-
the user when it would otherwise guess, with typed options instead of free-form replies
|
|
49
|
-
(reduces ambiguous decisions and keeps the user in the loop on judgment calls)
|
|
50
|
-
|
|
51
|
-
**Tool-name conflict check:** before installing, cross-check each package's purpose
|
|
52
|
-
against the already-active tools in the target project (run `pi list`). If a package
|
|
53
|
-
overlaps an existing tool — either an exact name collision or semantic redundancy
|
|
54
|
-
(different names, similar function) — offer **skip / replace / keep both / cancel** instead
|
|
55
|
-
of installing blindly. (Exact name collisions are non-fatal in pi — project-local tools
|
|
56
|
-
shadow global ones — but redundancy leaves a confusing duplicate tool set.)
|
|
57
|
-
|
|
58
|
-
## Custom extension (bundled)
|
|
59
|
-
`files/.pi/extensions/claude-statusline.ts` is a Claude-style status-line footer
|
|
60
|
-
(model | dir | thinking level | context-window bar gauge + cache % | git branch status).
|
|
61
|
-
It auto-enables on session start and is toggleable via the `/claude-statusline` command.
|
|
62
|
-
It also **auto-expands tool outputs** on session start (the Ctrl+O effect) so full output
|
|
63
|
-
is visible by default, while keeping thinking blocks hidden for a clean working view.
|
|
64
|
-
Deploy it to `./.pi/extensions/claude-statusline.ts`; pi loads it via jiti on next start
|
|
65
|
-
(no build step). It depends only on pi core (`@earendil-works/pi-coding-agent`,
|
|
66
|
-
`@earendil-works/pi-ai`, `@earendil-works/pi-tui`) — all provided as peer deps.
|
|
67
|
-
|
|
68
|
-
## Settings (bundled)
|
|
69
|
-
`files/settings.json` provides the agent's defaults: high thinking level, one-at-a-time
|
|
70
|
-
steering, hidden thinking blocks, and hardware cursor. Tool outputs are auto-expanded on
|
|
71
|
-
start (via the status-line extension). Merge with any existing `.pi/settings.json`
|
|
72
|
-
field-by-field. Auth and model/provider configuration are not part of this distribution —
|
|
73
|
-
configure those independently.
|
|
74
|
-
|
|
75
|
-
## Context
|
|
76
|
-
The bundled `AGENTS.md` is an explore-before-acting working methodology: investigate
|
|
77
|
-
before implementing, surface interpretations and tradeoffs, make surgical changes, keep
|
|
78
|
-
solutions simple, execute against verifiable goals, and treat documentation as part of the
|
|
79
|
-
implementation. Deploy it to `./AGENTS.md` so the agent follows these conventions.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# web-fullstack
|
|
2
|
-
|
|
3
|
-
A full-stack React/Node project configuration with web research, code review, and a
|
|
4
|
-
restricted tool set.
|
|
5
|
-
|
|
6
|
-
## What it sets up
|
|
7
|
-
|
|
8
|
-
- **`AGENTS.md`** — frontend and backend conventions, testing guidance, and a code
|
|
9
|
-
review process tailored to React/Node projects.
|
|
10
|
-
- **`.pi/settings.json`** — sensible defaults with a restricted tools allowlist (only
|
|
11
|
-
the essential tools, keeping the agent focused).
|
|
12
|
-
- **`.pi/prompts/review.md`** — a review prompt template for on-demand structured code
|
|
13
|
-
reviews.
|
|
14
|
-
|
|
15
|
-
## Packages installed
|
|
16
|
-
|
|
17
|
-
- **`npm:pi-browse`** — web search (Brave / DuckDuckGo / Exa / Gemini) and content
|
|
18
|
-
extraction. Used for documentation lookup, API verification, and research.
|
|
19
|
-
|
|
20
|
-
## When to use
|
|
21
|
-
|
|
22
|
-
- You're building a React/Node full-stack application.
|
|
23
|
-
- You want web research built in for looking up docs and APIs.
|
|
24
|
-
- You want a structured code review workflow.
|
|
25
|
-
- You prefer a restricted tool set over the full default set.
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Code Review
|
|
2
|
-
|
|
3
|
-
Review the changes for: correctness, security, performance, accessibility, and test coverage.
|
|
4
|
-
Provide specific, actionable feedback referencing line numbers or code blocks.
|
|
5
|
-
|
|
6
|
-
## Checklist
|
|
7
|
-
|
|
8
|
-
- **Correctness**: Does the code do what it claims? Are edge cases handled?
|
|
9
|
-
- **Security**: Are inputs validated? Are secrets handled safely? Any injection risks?
|
|
10
|
-
- **Performance**: Are there unnecessary re-renders, N+1 queries, or blocking operations?
|
|
11
|
-
- **Accessibility**: Are semantic HTML elements used? Are interactive elements keyboard-accessible?
|
|
12
|
-
- **Test coverage**: Are the new behaviors tested? Do existing tests still pass?
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Project Instructions — Full-Stack Web
|
|
2
|
-
|
|
3
|
-
Guidance for working in this React/Node full-stack project.
|
|
4
|
-
|
|
5
|
-
## Frontend Conventions (React/Next.js)
|
|
6
|
-
|
|
7
|
-
- Use TypeScript for all frontend code.
|
|
8
|
-
- Prefer function components with hooks over class components.
|
|
9
|
-
- Use named exports for components; default export only for page components.
|
|
10
|
-
- Co-locate component styles using CSS Modules or Tailwind utility classes.
|
|
11
|
-
- Keep components small and composable — extract reusable logic into custom hooks.
|
|
12
|
-
- Use `next/navigation` (App Router) for routing in Next.js projects.
|
|
13
|
-
|
|
14
|
-
## Backend Conventions (Node/Express)
|
|
15
|
-
|
|
16
|
-
- Use TypeScript for all backend code.
|
|
17
|
-
- Structure API routes with clear separation: controller → service → data layer.
|
|
18
|
-
- Validate all request inputs with a schema validation library (e.g. zod, typebox).
|
|
19
|
-
- Return consistent error response shapes: `{ error: { code, message, details? } }`.
|
|
20
|
-
- Use environment variables for configuration; never hardcode secrets.
|
|
21
|
-
- Prefer async/await over callback chains.
|
|
22
|
-
|
|
23
|
-
## Testing
|
|
24
|
-
|
|
25
|
-
- Write tests alongside the code they verify (co-located `*.test.ts` or `__tests__/`).
|
|
26
|
-
- Use Vitest or Jest for unit/integration tests.
|
|
27
|
-
- Use Playwright or Cypress for end-to-end tests.
|
|
28
|
-
- Aim for meaningful coverage of business logic, not 100% line coverage.
|
|
29
|
-
- Run tests in CI on every pull request.
|
|
30
|
-
|
|
31
|
-
## Code Review Process
|
|
32
|
-
|
|
33
|
-
- All changes require at least one approving review before merge.
|
|
34
|
-
- Use the review prompt template at `.pi/prompts/review.md` for structured reviews.
|
|
35
|
-
- Focus reviews on: correctness, security, performance, accessibility, and test coverage.
|
|
36
|
-
- Provide specific, actionable feedback. Reference line numbers or code blocks.
|
|
37
|
-
- Approve only when all blocking comments are resolved.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: web-fullstack
|
|
3
|
-
title: Full-Stack Web
|
|
4
|
-
description: "React/Node project with web-research + review skills, review-oriented context, and a sensible tools allowlist."
|
|
5
|
-
version: 0.1.0
|
|
6
|
-
tags: [web, react, node]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Full-Stack Web
|
|
10
|
-
|
|
11
|
-
## Bundled files
|
|
12
|
-
The following bundled files are provided under `files/` and should be placed into the
|
|
13
|
-
target project. For any path that already exists, do NOT overwrite — show the user a diff
|
|
14
|
-
and ask whether to overwrite, keep theirs, or merge. Merge JSON settings objects field by
|
|
15
|
-
field. Append (not replace) `AGENTS.md` content under a clearly-delimited section.
|
|
16
|
-
|
|
17
|
-
- `files/AGENTS.md` → `./AGENTS.md`
|
|
18
|
-
- `files/settings.json` → `./.pi/settings.json` (merge with existing settings)
|
|
19
|
-
- `files/.pi/prompts/review.md` → `./.pi/prompts/review.md`
|
|
20
|
-
|
|
21
|
-
## pi packages to install
|
|
22
|
-
Use `pi install -l` to install the following **project-locally** (writes to `./.pi/settings.json`
|
|
23
|
-
on success, and does nothing on failure). Confirm with the user before each install. Do NOT
|
|
24
|
-
pre-add these packages to the bundled `settings.json` — `pi install -l` is the single source
|
|
25
|
-
of truth that registers a package, so that a failed install never leaves a dangling entry
|
|
26
|
-
in settings.
|
|
27
|
-
|
|
28
|
-
- `npm:pi-browse` — web search (Brave/DuckDuckGo/Exa/Gemini) and content extraction for
|
|
29
|
-
documentation lookup and API verification
|
|
30
|
-
|
|
31
|
-
## Context
|
|
32
|
-
This harness sets up a full-stack web project with React/Node conventions. The bundled
|
|
33
|
-
`AGENTS.md` contains frontend and backend conventions, testing guidance, and a code review
|
|
34
|
-
process. The `settings.json` restricts the tools allowlist to the essential set. A review
|
|
35
|
-
prompt template is included under `.pi/prompts/` for on-demand code reviews.
|
|
36
|
-
|
|
37
|
-
## Skills / prompts
|
|
38
|
-
- The `pi-browse` package (installed above) provides web research capabilities.
|
|
39
|
-
- A review prompt template is bundled at `files/.pi/prompts/review.md` and deployed to
|
|
40
|
-
`./.pi/prompts/review.md`. Use it to run structured code reviews on changes.
|