allye-pi 1.7.1 → 2.0.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.
Files changed (53) hide show
  1. package/README.md +73 -310
  2. package/bootstrap/allye.md +30 -0
  3. package/docs/install-omp.md +31 -0
  4. package/docs/install-pi.md +21 -117
  5. package/package.json +10 -4
  6. package/packages/allye-pi/src/index.ts +88 -782
  7. package/skills/bridge/SKILL.md +105 -0
  8. package/skills/bridge/references/crew.md +20 -0
  9. package/skills/bridge/references/delegation.md +174 -0
  10. package/skills/bridge/references/discovery.md +71 -0
  11. package/skills/bridge/references/publish.md +90 -0
  12. package/skills/bridge/references/state-contract.md +109 -0
  13. package/skills/bridge/references/workflow.md +132 -0
  14. package/skills/bridge-architect/SKILL.md +96 -0
  15. package/skills/bridge-architect/references/spec-template.md +90 -0
  16. package/skills/bridge-armorer/SKILL.md +103 -0
  17. package/skills/bridge-copilot/SKILL.md +74 -0
  18. package/skills/bridge-dispatcher/SKILL.md +96 -0
  19. package/skills/bridge-dispatcher/references/spec-template-minimal.md +53 -0
  20. package/skills/bridge-medic/SKILL.md +81 -0
  21. package/skills/bridge-optimizer/SKILL.md +68 -0
  22. package/skills/bridge-pilot/SKILL.md +69 -0
  23. package/skills/bridge-pilot/references/mocking.md +57 -0
  24. package/skills/bridge-pilot/references/tdd.md +42 -0
  25. package/skills/bridge-pilot/references/tests.md +60 -0
  26. package/skills/bridge-recon/SKILL.md +82 -0
  27. package/skills/bridge-shield/SKILL.md +73 -0
  28. package/skills/bridge-strategist/SKILL.md +92 -0
  29. package/skills/bridge-watcher/SKILL.md +73 -0
  30. package/skills/agent-runtime/SKILL.md +0 -129
  31. package/skills/agent-runtime/references/herdr.md +0 -184
  32. package/skills/board-progression/SKILL.md +0 -214
  33. package/skills/branch-landing/SKILL.md +0 -88
  34. package/skills/delivery/SKILL.md +0 -187
  35. package/skills/execution/SKILL.md +0 -396
  36. package/skills/handover-protocol/SKILL.md +0 -74
  37. package/skills/handover-protocol/references/correction.md +0 -32
  38. package/skills/handover-protocol/references/discovery-to-planning.md +0 -44
  39. package/skills/handover-protocol/references/execution-report.md +0 -42
  40. package/skills/handover-protocol/references/planning-to-technical.md +0 -42
  41. package/skills/handover-protocol/references/story-execution.md +0 -74
  42. package/skills/handover-protocol/references/technical-to-orchestration.md +0 -45
  43. package/skills/memory-protocol/SKILL.md +0 -319
  44. package/skills/orchestrator/SKILL.md +0 -249
  45. package/skills/product-planning/SKILL.md +0 -257
  46. package/skills/review/SKILL.md +0 -165
  47. package/skills/sandbox/SKILL.md +0 -62
  48. package/skills/setup/SKILL.md +0 -225
  49. package/skills/tdd-workflow/SKILL.md +0 -144
  50. package/skills/technical-planning/SKILL.md +0 -354
  51. package/skills/tools-quickref/SKILL.md +0 -308
  52. package/skills/using-allye/SKILL.md +0 -171
  53. package/skills/verification-loop/SKILL.md +0 -93
@@ -1,112 +1,42 @@
1
- # Install Allye for Pi
1
+ # Allye — Pi installation guide
2
2
 
3
- The Pi adapter is a thin native Pi package. It does not copy workflow skills or
4
- replace Pi's MCP configuration:
3
+ Allye for Pi is the native package `allye-pi`. It:
5
4
 
6
- - `skills/*/SKILL.md` in this repository remains the canonical skill source;
7
- - the adapter exposes that directory through Pi's `resources_discover` event;
8
- - Allye context and memory are loaded through the already configured `allye`
9
- MCP server via `pi-mcp-adapter`;
10
- - Herdr is exposed as an optional capability when the Pi session provides `HERDR_ENV=1`.
5
+ - exposes the Bridge skill (`/bridge <mode>`) from the package's `skills/` directory;
6
+ - adds the Allye bootstrap (`bootstrap/allye.md`) to the system prompt;
7
+ - preloads Allye context (`initialize`, `intelligence`) when an in-process MCP bridge is available, and keeps team-scoped work gated until an active team is set (`/allye-team <name|prefix|id>`).
11
8
 
12
- ## Official package sources
9
+ It never edits Pi's MCP configuration or reads credentials.
13
10
 
14
- ### npm (default production install)
11
+ ## Install the package
15
12
 
16
13
  ```text
17
- ./install.sh install pi
18
- # equivalent to:
19
14
  pi install npm:allye-pi
20
-
21
- ./install.sh uninstall pi
22
- # equivalent to:
23
- pi remove npm:allye-pi
24
15
  ```
25
16
 
26
- The installer delegates installation and persistence to Pi's official package
27
- manager. It never edits `~/.pi/agent/settings.json` manually and the default
28
- source is always the published npm package. Restart Pi (or run `/reload`) after
29
- installation.
17
+ From Git (preferably at a tag): `pi install git:github.com/allye-app/allye-plugin`. From a local checkout, for development: `pi install /absolute/path/to/allye-plugin`.
18
+
19
+ Update with `pi update npm:allye-pi`; remove with `pi remove npm:allye-pi`. Removing the package does not remove MCP configuration or OAuth credentials.
30
20
 
31
- ### Git
21
+ ## Configure the MCP server
32
22
 
33
- Use Git when you want Pi to install the repository package directly, preferably
34
- at a tag for reproducibility:
23
+ Recent Pi releases have a native MCP client (verified on Pi 0.99.1). Add the server and sign in:
35
24
 
36
25
  ```text
37
- pi install git:github.com/allye-app/allye-plugin
38
- pi remove git:github.com/allye-app/allye-plugin
26
+ pi mcp add allye --url https://mcp.allye.app/mcp
27
+ pi mcp login allye
28
+ pi mcp list
39
29
  ```
40
30
 
41
- This is separate from `./install.sh install pi`, which intentionally remains an
42
- npm install.
31
+ Do not pass headers, bearer tokens or OAuth client ids: Pi discovers the OAuth endpoints and stores the credential.
43
32
 
44
- ### Local checkout (development only)
33
+ On older Pi versions without `pi mcp`, install `pi-mcp-adapter` (`pi install npm:pi-mcp-adapter`), define one server named `allye` (`{"type": "http", "url": "https://mcp.allye.app/mcp"}` under `mcpServers`) in the effective source shown by `/mcp` — for example `~/.pi/agent/mcp.json` or `~/.config/mcp/mcp.json` — then run `/mcp-auth allye` and `/mcp reconnect allye`.
45
34
 
46
- A checkout path is supported, but only through an explicit opt-in so a normal
47
- production install cannot accidentally load uncommitted code:
35
+ The extension preloads Allye context only when `pi-mcp-adapter` exposes its in-process bridge. Otherwise the bootstrap tells the agent to call `initialize` itself and to ask for a team before team-scoped calls.
48
36
 
49
- ```text
50
- cd /path/to/allye-plugin
51
- ALLYE_PI_INSTALL_SOURCE=local ./install.sh install pi
52
- ALLYE_PI_INSTALL_SOURCE=local ./install.sh uninstall pi
53
- ```
37
+ ## Team selection
54
38
 
55
- That delegates to `pi install /absolute/path/to/allye-plugin` and
56
- `pi remove /absolute/path/to/allye-plugin`. Pi manages the package settings and
57
- runtime dependencies in every case; `skills/*/SKILL.md` remains the single
58
- canonical skill tree.
59
-
60
- The installer deliberately does **not** edit any MCP file. Relative project
61
- paths are resolved from the installer `PWD`, or from `ALLYE_PI_PROJECT_DIR` when
62
- installing for a different project. Configure Allye in
63
- one of the sources supported by `pi-mcp-adapter`: project `.mcp.json` or
64
- `.pi/mcp.json`, `~/.config/mcp/mcp.json`, `~/.agents/mcp.json`, `~/.agents/mcp/mcp.json`, or
65
- `~/.pi/agent/mcp.json` (or `$PI_CODING_AGENT_DIR/mcp.json` when that Pi
66
- override is set). For example, use an
67
- `allye` server pointing to `https://mcp.allye.app/mcp/<tenant-slug>`.
68
- Authenticate with `/mcp-auth allye` when required. Existing MCP servers are
69
- preserved. `./install.sh install pi` reports the first supported source that
70
- already contains Allye and warns only when none does.
71
-
72
- Both npm and Git packages use the root Pi manifest and let Pi install
73
- `pi-mcp-adapter` as a runtime dependency. The npm tarball contains the adapter
74
- source, canonical `skills/` directory, and Pi documentation; it is not the full
75
- plugin checkout and is not the installer input.
76
-
77
- ## Adaptive toolkit
78
-
79
- Pi does not select an executor or orchestrator mode. Allye is available as an
80
- adaptive toolkit in the current session. Use `/allye-capabilities` to inspect
81
- Allye/MCP, filesystem, subagent, and Herdr capabilities.
82
-
83
- When `HERDR_ENV=1`, the optional `allye_herdr` tool provides bounded `detect`,
84
- `workspace`, `tab`, `spawn`, `dispatch`, `status`, `mark_intervened`, `wait`,
85
- `collect`, and ownership-guarded `cleanup` operations. Without it, Pi continues
86
- locally. Herdr and subagents are capabilities, not prerequisites.
87
- Tasks are recommended for meaningful, delegated, multi-step, or review-heavy
88
- work, but an explicitly approved no-task path is supported.
89
-
90
- The adapter does not create work items or change statuses automatically. When a
91
- work item exists, Allye remains the source of truth for scope, decisions, and
92
- evidence; otherwise the user can proceed with proportional verification.
93
-
94
- ## Existing Pi startup extension
95
-
96
- This package includes its own Allye bootstrap. If a user already has a separate
97
- `allye-memory-startup.ts`, both can be loaded without changing global files, but
98
- startup context may be fetched twice. To keep the existing global bootstrap as
99
- the only startup fetcher, set `ALLYE_PI_NATIVE_BOOTSTRAP=0`; canonical skill
100
- loading, capability detection, and team-selection guidance remain available.
101
-
102
- When `initialize` reports multiple teams without an active team, the adapter does
103
- not choose one silently and skips team-scoped memory search. If initialization
104
- fails or its payload is unreadable, the bootstrap is also fail-closed and marks
105
- Allye as unavailable rather than pretending a team is resolved. It injects the
106
- team list or connectivity error and instructs the agent to use `allye_team` with
107
- `team_switch` first. In an interactive session, `/allye-team <name|prefix|id>`
108
- is available; in headless mode the same instruction is injected for the
109
- model/user to follow.
39
+ When `initialize` reports several teams and none is active, the extension does not choose one. It tells the agent to ask the user, and `/allye-team <name|prefix|id>` switches the team through the `team` tool (`team_switch`). Set `ALLYE_PI_NATIVE_BOOTSTRAP=0` to skip the context preload (the bootstrap text and the Bridge skill stay available), or `ALLYE_PI_MCP=0` to disable MCP calls from the extension.
110
40
 
111
41
  ## Local development
112
42
 
@@ -116,31 +46,5 @@ From the repository root:
116
46
  npm install
117
47
  npm run typecheck
118
48
  npm run test:pi
119
- ./install.sh status
120
- jq -e '.pi.extensions and (.pi.skills == ["./skills"])' package.json
49
+ pi -e ./packages/allye-pi/src/index.ts -p "Which Allye tools and Bridge modes are available?"
121
50
  ```
122
-
123
- The extension is at `packages/allye-pi/src/index.ts`. Test it without changing
124
- Pi's global settings with:
125
-
126
- ```text
127
- pi -e ./packages/allye-pi/src/index.ts -p "Report the available Allye capabilities"
128
- ```
129
-
130
- When `allye_herdr dispatch` registers a wait, the wait runs inside the Pi
131
- process through managed `pi.exec`. On settlement it persists a durable session
132
- entry, shows a UI notification/message when available, and queues a follow-up
133
- turn to the current Pi session. That message is evidence only and explicitly
134
- tells the agent to run `allye_herdr collect` when a managed work item exists and
135
- inspect Allye `work_children`, Review memories, and Implementation memories
136
- before declaring completion. Normal completion, timeout, error, and abort are
137
- distinguished.
138
- Manual `herdr agent wait` commands started outside this Pi session (for example
139
- with `nohup` or Bash) do not wake Pi and do not generate this notification.
140
-
141
- A real Herdr dispatch still requires `HERDR_ENV=1`, a compatible Herdr session,
142
- and an existing isolated worktree. Pi records execution IDs plus
143
- workspace/tab/pane/agent ownership for safe teardown; it never adopts foreign
144
- panes, stops Herdr, closes panes, merges, pushes, or publishes without explicit
145
- authorization. Cleanup is only allowed after a settled and collected execution;
146
- blocked, unknown, timed-out, interrupted, or manually assumed resources remain open.
package/package.json CHANGED
@@ -1,18 +1,22 @@
1
1
  {
2
2
  "name": "allye-pi",
3
- "version": "1.7.1",
4
- "description": "Pi package adapter for the canonical Allye workflow",
3
+ "version": "2.0.0",
4
+ "description": "Allye extension for Pi and OMP: the Allye bootstrap, the Bridge skill and the team gate",
5
5
  "type": "module",
6
6
  "keywords": [
7
7
  "pi-package",
8
+ "omp-plugin",
8
9
  "allye",
9
- "workflow"
10
+ "bridge",
11
+ "mcp"
10
12
  ],
11
13
  "files": [
12
14
  "packages/allye-pi/src/index.ts",
13
15
  "packages/allye-pi/tsconfig.json",
14
16
  "skills",
17
+ "bootstrap",
15
18
  "docs/install-pi.md",
19
+ "docs/install-omp.md",
16
20
  "LICENSE"
17
21
  ],
18
22
  "pi": {
@@ -39,7 +43,9 @@
39
43
  "scripts": {
40
44
  "typecheck": "tsc --noEmit -p packages/allye-pi/tsconfig.json",
41
45
  "test:pi": "node --experimental-strip-types --test packages/allye-pi/src/index.test.ts",
42
- "test:installer": "bash install/test-pi.sh"
46
+ "test:installer": "bash install/test-validation.sh && bash install/test-installer.sh",
47
+ "test:bootstrap": "bash test/test-bootstrap.sh && bash hooks/test-session-start.sh",
48
+ "test": "npm run test:bootstrap && npm run test:installer && npm run test:pi"
43
49
  },
44
50
  "repository": {
45
51
  "type": "git",