gentle-pi 0.1.15 → 0.1.16

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 (37) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +217 -130
  3. package/package.json +9 -5
  4. package/assets/agents/sdd-apply.md +0 -71
  5. package/assets/agents/sdd-archive.md +0 -14
  6. package/assets/agents/sdd-design.md +0 -14
  7. package/assets/agents/sdd-explore.md +0 -14
  8. package/assets/agents/sdd-init.md +0 -14
  9. package/assets/agents/sdd-onboard.md +0 -15
  10. package/assets/agents/sdd-proposal.md +0 -14
  11. package/assets/agents/sdd-spec.md +0 -14
  12. package/assets/agents/sdd-tasks.md +0 -61
  13. package/assets/agents/sdd-verify.md +0 -55
  14. package/assets/chains/sdd-full.chain.md +0 -75
  15. package/assets/chains/sdd-plan.chain.md +0 -35
  16. package/assets/chains/sdd-verify.chain.md +0 -27
  17. package/assets/gentle-logo-only.png +0 -0
  18. package/assets/orchestrator.md +0 -208
  19. package/assets/support/strict-tdd-verify.md +0 -269
  20. package/assets/support/strict-tdd.md +0 -364
  21. package/extensions/gentle-ai.ts +0 -742
  22. package/extensions/sdd-init.ts +0 -83
  23. package/extensions/skill-registry.ts +0 -267
  24. package/prompts/gcl.md +0 -54
  25. package/prompts/gis.md +0 -25
  26. package/prompts/gpr.md +0 -41
  27. package/prompts/gwr.md +0 -31
  28. package/skills/branch-pr/SKILL.md +0 -202
  29. package/skills/chained-pr/SKILL.md +0 -50
  30. package/skills/chained-pr/references/chaining-details.md +0 -99
  31. package/skills/cognitive-doc-design/SKILL.md +0 -81
  32. package/skills/comment-writer/SKILL.md +0 -74
  33. package/skills/gentle-ai/SKILL.md +0 -47
  34. package/skills/issue-creation/SKILL.md +0 -223
  35. package/skills/judgment-day/SKILL.md +0 -52
  36. package/skills/judgment-day/references/prompts-and-formats.md +0 -75
  37. package/skills/work-unit-commits/SKILL.md +0 -86
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Mario Zechner
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,10 +1,60 @@
1
- # el Gentleman
1
+ # gentle-pi
2
2
 
3
- `gentle-pi` installs **el Gentleman** into Pi: a controlled-development harness with a senior architect persona, SDD/OpenSpec phase discipline, strict TDD evidence, subagent orchestration, and review-workload protection.
3
+ [![npm](https://img.shields.io/npm/v/gentle-pi?color=blue)](https://www.npmjs.com/package/gentle-pi)
4
+ [![pi package](https://img.shields.io/badge/Pi-package-6f42c1)](https://pi.dev/packages/gentle-pi)
5
+ [![license](https://img.shields.io/npm/l/gentle-pi?color=blue)](LICENSE)
6
+ [![GitHub stars](https://img.shields.io/github/stars/Gentleman-Programming/gentle-pi?style=flat&color=yellow)](https://github.com/Gentleman-Programming/gentle-pi/stargazers)
7
+ [![Gentle-AI](https://img.shields.io/badge/Gentle--AI-ecosystem-ff69b4)](https://github.com/Gentleman-Programming/gentle-ai)
8
+ [![Gentleman Programming](https://img.shields.io/badge/by-Gentleman%20Programming-black)](https://github.com/Gentleman-Programming)
9
+ [![YouTube](https://img.shields.io/badge/YouTube-Gentleman%20Programming-red?logo=youtube&logoColor=white)](https://www.youtube.com/c/GentlemanProgramming)
10
+ [![Discord](https://img.shields.io/badge/Discord-community-5865F2?logo=discord&logoColor=white)](https://discord.com/invite/gentleman-programming-769863833996754944)
11
+ [![SDD/OpenSpec](https://img.shields.io/badge/SDD-OpenSpec-00ADD8)](#sddopenspec-flow)
12
+ [![Subagents](https://img.shields.io/badge/Pi-subagents-brightgreen)](#what-it-adds)
4
13
 
5
- Install it when you want Pi to stop behaving like a generic chatbot and start acting like a disciplined development harness.
14
+ **Turn Pi from a powerful coding agent into a controlled development harness.**
6
15
 
7
- ## Quick start
16
+ `gentle-pi` installs **el Gentleman** in Pi: a senior-architect operating layer for Spec-Driven Development, focused subagents, strict TDD evidence, reviewable work units, safety guards, and project/user skill discovery.
17
+
18
+ Pi already has strong tools. `gentle-pi` adds the discipline for using them well.
19
+
20
+ `gentle-pi` is the Pi-native package from the [Gentle-AI ecosystem](https://github.com/Gentleman-Programming/gentle-ai), built by [Gentleman Programming](https://github.com/Gentleman-Programming): the broader open-source project for turning AI coding agents into disciplined engineering environments with SDD workflows, skills, memory integrations, model routing, and review guardrails across multiple agents.
21
+
22
+ Follow the project and the community around it:
23
+
24
+ - GitHub: [Gentleman-Programming](https://github.com/Gentleman-Programming)
25
+ - YouTube: [Gentleman Programming](https://www.youtube.com/c/GentlemanProgramming)
26
+ - Community Discord: [Gentleman Programming](https://discord.com/invite/gentleman-programming-769863833996754944)
27
+
28
+ ## The problem
29
+
30
+ Most coding-agent sessions fail for operational reasons, not model reasons:
31
+
32
+ - the agent jumps into code before requirements are clear;
33
+ - architectural decisions disappear into chat history;
34
+ - one request quietly becomes a huge multi-area diff;
35
+ - tests run late, or not at all;
36
+ - reviewers get handed a wall of changes;
37
+ - subagents are available, but the parent session has no orchestration discipline;
38
+ - project skills exist, but the model forgets to load them.
39
+
40
+ `gentle-pi` fixes the workflow around the agent.
41
+
42
+ ## What it adds
43
+
44
+ | Capability | What it does |
45
+ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
46
+ | **el Gentleman persona** | Makes Pi behave like a senior architect and teacher, not a generic chatbot. Spanish responses use Rioplatense voseo by default. |
47
+ | **Work routing discipline** | Small tasks stay inline. Context-heavy exploration can be delegated. Large or risky changes go through SDD/OpenSpec. |
48
+ | **SDD/OpenSpec assets** | Installs phase agents and chains for `init`, `explore`, `proposal`, `spec`, `design`, `tasks`, `apply`, `verify`, and `archive`. |
49
+ | **Subagent orchestration** | Keeps one parent session responsible while child agents explore, implement, test, or review with focused context. |
50
+ | **Strict TDD support** | When project config declares a test command, apply/verify phases must record RED → GREEN → TRIANGULATE → REFACTOR evidence. |
51
+ | **Reviewer protection** | Surfaces review workload risk before a task turns into an oversized PR. |
52
+ | **Per-agent model assignment** | Pi-native modal for assigning stronger or cheaper models to specific SDD/custom agents. |
53
+ | **Skill discovery registry** | Maintains `.atl/skill-registry.md` from project and user skills so review/comment/PR workflows do not silently miss the right skill. |
54
+ | **Delivery skills** | Includes issue-first PRs, chained PRs, work-unit commits, cognitive docs, comment writing, and Judgment Day review. |
55
+ | **Shell safety** | Blocks destructive shell commands and asks for confirmation for sensitive operations. |
56
+
57
+ ## Install
8
58
 
9
59
  ```bash
10
60
  pi install npm:gentle-pi
@@ -15,214 +65,251 @@ Recommended companion packages:
15
65
  ```bash
16
66
  pi install npm:pi-subagents
17
67
  pi install npm:pi-intercom
68
+ pi install npm:gentle-engram
69
+ pi install npm:pi-web-access
70
+ pi install npm:pi-lens
71
+ pi install npm:@juicesharp/rpiv-todo
72
+ pi install npm:@juicesharp/rpiv-ask-user-question
18
73
  ```
19
74
 
20
- Then start Pi in your project:
75
+ Then start Pi in a project:
21
76
 
22
77
  ```bash
23
78
  pi
24
79
  ```
25
80
 
26
- On session start, `gentle-pi` automatically installs SDD assets into the project without overwriting local edits.
27
-
28
- ## What you get
81
+ On session start, `gentle-pi` installs local SDD assets without overwriting your edits.
29
82
 
30
- | Capability | What it does |
31
- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
32
- | el Gentleman identity | Answers as a Pi-specific harness, not a generic assistant. Defaults to the `gentleman` persona and can switch to `neutral`. |
33
- | SDD/OpenSpec routing | Small work stays inline, context-heavy work delegates, large/risky work uses SDD artifacts. |
34
- | SDD phase agents | Installs `sdd-init`, `sdd-explore`, `sdd-proposal`, `sdd-spec`, `sdd-design`, `sdd-tasks`, `sdd-apply`, `sdd-verify`, and `sdd-archive`. |
35
- | Strict TDD support | Preserves RED → GREEN → TRIANGULATE → REFACTOR evidence and verify-time compliance checks. |
36
- | Review workload guard | Forecasts large diffs and recommends chained PRs or explicit `size:exception`. |
37
- | Model assignment UI | Opens a modal to assign Pi models to project, user, and built-in agents, with SDD agents shown first. |
38
- | Foundation skills | Adds PR, issue, chained-PR, comment, docs, work-unit, and Judgment Day skills. |
39
- | Safety policy | Blocks destructive shell actions unless there is explicit user approval. |
40
-
41
- ## Core commands
83
+ ## Quick start
42
84
 
43
85
  ```text
44
- /gentle-ai:status Show package, SDD asset, OpenSpec, and model config status.
45
- /gentle:models Open the per-agent model assignment modal.
46
- /gentle-ai:models Compatibility alias that points to /gentle:models.
47
- /gentleman:models Compatibility alias that points to /gentle:models.
48
- /gentle:persona Switch between gentleman and neutral personas.
49
- /gentle-ai:persona Compatibility alias that points to /gentle:persona.
50
- /gentleman:persona Compatibility alias that points to /gentle:persona.
51
- /sdd-init Bootstrap or refresh openspec/config.yaml.
52
- /gentle-ai:install-sdd Reinstall SDD assets without overwriting local files.
53
- /gentle-ai:install-sdd --force
54
- Force-refresh installed SDD assets.
86
+ /gentle-ai:status Check package, SDD assets, OpenSpec, and model config.
87
+ /sdd-init Create or refresh openspec/config.yaml.
88
+ /gentle:models Assign models to SDD/custom agents.
89
+ /gentle:persona Switch between gentleman and neutral persona modes.
55
90
  ```
56
91
 
57
- ## Switch persona
92
+ Typical flow:
58
93
 
59
- Default persona: `gentleman`.
94
+ 1. Open Pi in your repo.
95
+ 2. Run `/gentle-ai:status`.
96
+ 3. Run `/sdd-init` once per project, or when test/project capabilities change.
97
+ 4. For a substantial change, ask Pi to use SDD.
98
+ 5. Review the phase artifacts instead of trusting floating chat context.
60
99
 
61
- Run:
100
+ ## How the harness decides what to do
62
101
 
63
- ```text
64
- /gentle:persona
65
- ```
102
+ `gentle-pi` routes through the smallest safe workflow:
66
103
 
67
- Available modes:
104
+ | Request shape | Harness |
105
+ | --------------------------------------------------------------------------- | ---------------------------- |
106
+ | Small, clear, local edit | Inline direct work. |
107
+ | Unknown codebase area or context-heavy investigation | Focused subagent delegation. |
108
+ | Large, ambiguous, architectural, product-facing, or high-review-risk change | SDD/OpenSpec flow. |
68
109
 
69
- | Persona | Behavior |
70
- | ----------- | -------------------------------------------------------------------------------------------------------------------------- |
71
- | `gentleman` | Teaching-oriented senior architect persona with Rioplatense Spanish/voseo when the user writes Spanish. |
72
- | `neutral` | Same senior architect discipline and teaching philosophy, but with warm professional language and no regional expressions. |
110
+ The goal is not ceremony. The goal is to avoid accidental chaos.
73
111
 
74
- Saved config:
112
+ ## SDD/OpenSpec flow
75
113
 
76
114
  ```text
77
- .pi/gentle-ai/persona.json
115
+ init → explore → proposal → spec → design → tasks → apply → verify → archive
78
116
  ```
79
117
 
80
- Run `/reload` or start a new Pi session after switching if the current session already injected the previous persona.
118
+ For substantial work, the parent session coordinates the flow and each phase writes artifacts. That gives you:
119
+
120
+ - explicit requirements and non-goals;
121
+ - design decisions that survive compaction;
122
+ - task plans reviewers can reason about;
123
+ - implementation evidence;
124
+ - verification reports;
125
+ - archive notes for future agents.
81
126
 
82
- ## Assign models to agents
127
+ ## Project files installed
83
128
 
84
- Run:
129
+ On Pi `session_start`, `gentle-pi` copies these assets if they are missing:
85
130
 
86
131
  ```text
87
- /gentle:models
132
+ .pi/agents/sdd-*.md
133
+ .pi/chains/sdd-*.chain.md
134
+ .pi/gentle-ai/support/strict-tdd.md
135
+ .pi/gentle-ai/support/strict-tdd-verify.md
88
136
  ```
89
137
 
90
- This opens a modal similar to Gentle-AI's model picker. It discovers Pi subagents from project, user, and built-in sources, with SDD agents sorted first:
138
+ It does **not** overwrite existing files unless you explicitly run:
91
139
 
92
140
  ```text
93
- Assign Models to Agents
94
-
95
- Current assignments:
141
+ /gentle-ai:install-sdd --force
142
+ ```
96
143
 
97
- Set all agents mixed
98
- sdd-init inherit
99
- sdd-explore openai-codex/gpt-5.5
100
- sdd-proposal openai-codex/gpt-5.5
101
- sdd-spec anthropic/claude-sonnet-4
102
- sdd-design anthropic/claude-sonnet-4
103
- sdd-tasks anthropic/claude-sonnet-4
104
- sdd-apply anthropic/claude-sonnet-4
105
- sdd-verify google/gemini-3-pro
106
- sdd-archive inherit
107
- delegate inherit
108
- my-custom-agent anthropic/claude-sonnet-4
144
+ ## Skill registry
109
145
 
110
- Continue
111
- ← Back
146
+ `gentle-pi` keeps a local registry at:
112
147
 
113
- j/k: navigate • enter: change model / confirm • i: inherit • c: custom • ctrl+s: save • esc: back
148
+ ```text
149
+ .atl/skill-registry.md
114
150
  ```
115
151
 
116
- Model choices come from Pi itself via the active model registry. The modal also supports custom model IDs for advanced setups.
152
+ The registry scans project and user skill roots, not package-owned skills. It exists to catch workflow skills that are present on disk but not visible in Pi's injected skill list.
117
153
 
118
- The modal covers:
154
+ It scans common roots such as:
119
155
 
120
- - project agents from `.pi/agents/` and `.agents/`;
121
- - user agents from `~/.pi/agent/agents/` and `~/.agents/`;
122
- - built-in `pi-subagents` agents.
156
+ ```text
157
+ ./skills
158
+ .pi/skills
159
+ .agent/skills
160
+ .agents/skills
161
+ .claude/skills
162
+ .gemini/skills
163
+ ~/.config/opencode/skills
164
+ ~/.claude/skills
165
+ ~/.gemini/skills
166
+ ~/.cursor/skills
167
+ ~/.copilot/skills
168
+ ```
123
169
 
124
- Small recommendation in English:
170
+ Behavior:
125
171
 
126
- | Agent kind | Recommended model shape |
127
- | ------------------------------ | -------------------------------------------------------------------------------------- |
128
- | Exploration, proposal, archive | Fast and cheap is usually enough. |
129
- | Spec, design, tasks | Strong reasoning model, because these phases shape the implementation. |
130
- | Apply | Strong coding model with good tool-use reliability. |
131
- | Verify / review agents | Strongest fresh-context model you can afford; verification benefits from independence. |
132
- | Tiny utility agents | Inherit the active/default model unless they become a bottleneck. |
172
+ - `.atl/` is added to `.gitignore` when needed;
173
+ - the registry refreshes on session start;
174
+ - `/skill-registry:refresh` forces regeneration;
175
+ - a best-effort watcher refreshes when skill files change;
176
+ - skills without `## Compact Rules` are still listed with an instruction to load the full skill file.
133
177
 
134
- Saved config:
178
+ Skill discovery is a guardrail, not a workflow router: it helps Pi load the right skill without forcing extra ceremony.
179
+
180
+ ## Persona modes
135
181
 
136
182
  ```text
137
- .pi/gentle-ai/models.json
183
+ /gentle:persona
138
184
  ```
139
185
 
140
- Applied configuration:
186
+ | Persona | Behavior |
187
+ | ----------- | ------------------------------------------------------------------------------------------------------------- |
188
+ | `gentleman` | Senior architect, teacher, direct technical feedback, Rioplatense Spanish/voseo when the user writes Spanish. |
189
+ | `neutral` | Same discipline, warmer professional language, no regional expression. |
190
+
191
+ Saved at:
141
192
 
142
193
  ```text
143
- .pi/agents/*.md # project/user markdown agents
144
- .pi/settings.json # project overrides for built-in pi-subagents agents
194
+ .pi/gentle-ai/persona.json
145
195
  ```
146
196
 
147
- Use `Inherit active/default model` to remove an agent override.
148
-
149
- ## Installed project files
197
+ Run `/reload` or start a new Pi session after switching persona.
150
198
 
151
- `gentle-pi` installs these project-local assets on session start:
199
+ ## Model assignment
152
200
 
153
201
  ```text
154
- .pi/agents/sdd-*.md
155
- .pi/chains/sdd-*.chain.md
156
- .pi/gentle-ai/support/strict-tdd.md
157
- .pi/gentle-ai/support/strict-tdd-verify.md
202
+ /gentle:models
158
203
  ```
159
204
 
160
- Existing files are skipped. Your local edits remain unless you explicitly run:
205
+ The modal discovers:
206
+
207
+ - project agents in `.pi/agents/` and `.agents/`;
208
+ - user agents in `~/.pi/agent/agents/` and `~/.agents/`;
209
+ - built-in agents from `pi-subagents`.
210
+
211
+ Recommended model shape:
212
+
213
+ | Agent kind | Recommended model |
214
+ | -------------------------- | ---------------------------------------------------- |
215
+ | Explore, proposal, archive | Fast and cheap is usually enough. |
216
+ | Spec, design, tasks | Strong reasoning model. |
217
+ | Apply | Strong coding and tool-use model. |
218
+ | Verify / review | Strong fresh-context model. |
219
+ | Tiny utilities | Inherit active/default model unless they bottleneck. |
220
+
221
+ Saved at:
161
222
 
162
223
  ```text
163
- /gentle-ai:install-sdd --force
224
+ .pi/gentle-ai/models.json
164
225
  ```
165
226
 
166
- ## Package contents
227
+ ## Commands
228
+
229
+ | Command | What it does |
230
+ | -------------------------------- | ------------------------------------------------------------ |
231
+ | `/gentle-ai:status` | Shows package, SDD asset, OpenSpec, and model config status. |
232
+ | `/gentle:models` | Opens model assignment UI. |
233
+ | `/gentle:persona` | Switches persona mode. |
234
+ | `/sdd-init` | Initializes or refreshes `openspec/config.yaml`. |
235
+ | `/gentle-ai:install-sdd` | Reinstalls SDD assets without overwriting local files. |
236
+ | `/gentle-ai:install-sdd --force` | Force-refreshes installed SDD assets. |
237
+ | `/skill-registry:refresh` | Regenerates `.atl/skill-registry.md`. |
167
238
 
168
- | Path | Purpose |
169
- | ------------------------------ | ------------------------------------------------------------------------------------------------------------- |
170
- | `extensions/gentle-ai.ts` | Injects el Gentleman, installs assets, provides commands, applies model config, blocks unsafe shell commands. |
171
- | `extensions/sdd-init.ts` | Registers `/sdd-init` for OpenSpec project initialization. |
172
- | `extensions/skill-registry.ts` | Registers `/skill-registry:refresh` and maintains `.atl/skill-registry.md`. |
173
- | `assets/orchestrator.md` | Parent-session orchestration contract. |
174
- | `assets/agents/` | SDD phase agents copied into `.pi/agents/`. |
175
- | `assets/chains/` | SDD chains copied into `.pi/chains/`. |
176
- | `assets/support/` | Strict TDD apply/verify support docs. |
177
- | `skills/` | el Gentleman and foundation skills. |
178
- | `prompts/` | Gentle-prefixed prompt templates: `/gcl`, `/gis`, `/gpr`, `/gwr`. |
239
+ Compatibility aliases:
179
240
 
180
- ## Foundation skills
241
+ ```text
242
+ /gentle-ai:models
243
+ /gentleman:models
244
+ /gentle-ai:persona
245
+ /gentleman:persona
246
+ ```
181
247
 
182
- Included skills:
248
+ ## Included skills
183
249
 
184
- - `gentle-ai` — el Gentleman harness discipline.
185
- - `branch-pr` — issue-first PR creation.
186
- - `chained-pr` — split oversized PRs into reviewable chains.
187
- - `work-unit-commits` — commit by deliverable work unit.
188
- - `judgment-day` — blind dual review and re-judgment flow.
189
- - `cognitive-doc-design` — documentation that reduces reviewer load.
190
- - `comment-writer` — concise collaboration comments.
191
- - `issue-creation` — issue-first GitHub workflow.
250
+ - `gentle-ai` — harness discipline for controlled Pi work.
251
+ - `branch-pr` — issue-first PR preparation.
252
+ - `chained-pr` — split oversized changes into reviewable PR chains.
253
+ - `work-unit-commits` — commits as reviewable work units.
254
+ - `judgment-day` — blind dual review, fixes, and re-judgment.
255
+ - `cognitive-doc-design` — documentation that reduces cognitive load.
256
+ - `comment-writer` — concise, warm, postable collaboration comments.
257
+ - `issue-creation` — issue workflow with checks before creation.
192
258
 
193
- ## Memory is separate
259
+ ## Memory
194
260
 
195
- This package intentionally does **not** configure persistent memory.
261
+ `gentle-pi` does **not** provide persistent memory by itself.
196
262
 
197
- Use a separate memory package, for example:
263
+ For memory, install the companion package:
198
264
 
199
265
  ```bash
200
266
  pi install npm:gentle-engram
201
267
  ```
202
268
 
203
- el Gentleman may mention memory only when a memory package or callable memory tool is actually active.
269
+ When memory tools are actually active, el Gentleman can save decisions, bug fixes, discoveries, user prompts, and session summaries across Pi sessions.
204
270
 
205
- ## Local development
271
+ ## Package contents
272
+
273
+ | Path | Purpose |
274
+ | ------------------------------ | ---------------------------------------------------------------------------------------------------------- |
275
+ | `extensions/gentle-ai.ts` | Injects identity, installs assets, registers commands, applies model config, and protects shell execution. |
276
+ | `extensions/sdd-init.ts` | Registers `/sdd-init` for OpenSpec initialization. |
277
+ | `extensions/skill-registry.ts` | Maintains `.atl/skill-registry.md` from project/user skills. |
278
+ | `assets/orchestrator.md` | Parent-session orchestration contract. |
279
+ | `assets/agents/` | SDD agents copied into `.pi/agents/`. |
280
+ | `assets/chains/` | SDD chains copied into `.pi/chains/`. |
281
+ | `assets/support/` | Strict TDD support docs for apply/verify phases. |
282
+ | `skills/` | Gentle AI delivery and collaboration skills. |
283
+ | `prompts/` | Gentle-prefixed prompt templates. |
206
284
 
207
- From this repo:
285
+ ## Development
286
+
287
+ Install from this repo:
208
288
 
209
289
  ```bash
210
- pi install ./pi-packages/gentle-ai
290
+ pi install .
211
291
  ```
212
292
 
213
293
  Validate before publishing:
214
294
 
215
295
  ```bash
216
- node --experimental-strip-types --check pi-packages/gentle-ai/extensions/gentle-ai.ts
217
- cd pi-packages/gentle-ai
296
+ bun build extensions/skill-registry.ts --target=node --format=esm --outfile=/tmp/skill-registry.js
297
+ node --experimental-strip-types --check extensions/gentle-ai.ts
218
298
  npm pack --dry-run
219
299
  ```
220
300
 
221
- ## Design principles
301
+ Publish:
302
+
303
+ ```bash
304
+ npm publish
305
+ ```
306
+
307
+ ## Principles
222
308
 
309
+ - Human control over agent momentum.
223
310
  - Concepts before code.
224
311
  - Artifacts over floating chat context.
225
- - Strict TDD evidence when tests exist.
312
+ - SDD when risk justifies it.
313
+ - Strict TDD when tests exist.
226
314
  - One parent orchestrator, focused subagents.
227
- - Review workload is a first-class constraint.
228
- - Human control beats agent momentum.
315
+ - Reviewable changes over giant diffs.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gentle-pi",
3
- "version": "0.1.15",
4
- "description": "Opinionated el Gentleman harness package for Pi: SDD/OpenSpec workflow, strict TDD guidance, subagent assets, and safety defaults.",
3
+ "version": "0.1.16",
4
+ "description": "Turn Pi into el Gentleman: a senior-architect development harness with SDD/OpenSpec, subagents, strict TDD evidence, review guardrails, and skill discovery.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "keywords": [
@@ -9,14 +9,18 @@
9
9
  "pi",
10
10
  "pi-coding-agent",
11
11
  "gentle-pi",
12
+ "gentle-ai",
12
13
  "sdd",
13
14
  "openspec",
14
- "subagents"
15
+ "subagents",
16
+ "tdd",
17
+ "code-review",
18
+ "ai-coding-agent",
19
+ "agent-harness"
15
20
  ],
16
21
  "repository": {
17
22
  "type": "git",
18
- "url": "git+https://github.com/Gentleman-Programming/gentle-pi.git",
19
- "directory": "pi-packages/gentle-ai"
23
+ "url": "git+https://github.com/Gentleman-Programming/gentle-pi.git"
20
24
  },
21
25
  "files": [
22
26
  "assets/",
@@ -1,71 +0,0 @@
1
- ---
2
- name: sdd-apply
3
- description: Implement SDD tasks with strict TDD evidence and review workload guard.
4
- tools: read, grep, glob, edit, write, bash
5
- inheritProjectContext: true
6
- ---
7
-
8
- You are the SDD apply executor for Gentle AI.
9
-
10
- ## Before Writing Code
11
-
12
- Read proposal, specs, design, tasks, existing code, tests, `apply-progress.md` if present, and `openspec/config.yaml` when present.
13
-
14
- ## Review Workload Gate
15
-
16
- Before implementing, inspect `tasks.md` for `Review Workload Forecast` and these guard lines:
17
-
18
- ```text
19
- Decision needed before apply: Yes|No
20
- Chained PRs recommended: Yes|No
21
- Chain strategy: stacked-to-main|feature-branch-chain|size-exception|pending
22
- 400-line budget risk: Low|Medium|High
23
- ```
24
-
25
- If any of these are true:
26
-
27
- - `Decision needed before apply: Yes`
28
- - `Chained PRs recommended: Yes`
29
- - `400-line budget risk: High`
30
-
31
- then continue only when the parent prompt gives a resolved delivery path:
32
-
33
- - `auto-chain` or chosen chained/stacked PR mode: implement only the assigned work-unit slice and report the PR boundary.
34
- - `exception-ok` or `size:exception`: continue only if the prompt explicitly says the maintainer accepts the exception.
35
- - `single-pr` above budget: continue only after explicit `size:exception` approval.
36
-
37
- If no delivery decision is provided, STOP before writing code and return `blocked` with the exact decision needed.
38
-
39
- ## Strict TDD Gate
40
-
41
- If `openspec/config.yaml` declares strict TDD and a test runner, or the parent prompt says strict TDD is active:
42
-
43
- 1. Read `.pi/gentle-ai/support/strict-tdd.md` if present.
44
- 2. Follow RED → GREEN → TRIANGULATE → REFACTOR for every assigned task.
45
- 3. Do not write production code before a failing test or equivalent RED test is written.
46
- 4. Run relevant focused tests during GREEN and after refactors.
47
- 5. Write a `TDD Cycle Evidence` table in `apply-progress.md`.
48
-
49
- If strict TDD is active and `.pi/gentle-ai/support/strict-tdd.md` is missing, follow the RED/GREEN/TRIANGULATE/REFACTOR contract from this prompt and report the missing support file as a risk. Do not silently fall back to standard mode.
50
-
51
- ## Standard Mode
52
-
53
- If strict TDD is not active, implement assigned tasks against specs and design, update task checkboxes, and record verification evidence.
54
-
55
- ## Apply Progress
56
-
57
- Update `openspec/changes/{change}/apply-progress.md` cumulatively. If previous progress exists, merge it with new progress; never overwrite completed work.
58
-
59
- Include:
60
-
61
- - completed tasks;
62
- - files changed;
63
- - test commands run;
64
- - TDD evidence when strict TDD is active;
65
- - deviations from design;
66
- - remaining tasks;
67
- - workload / PR boundary.
68
-
69
- Do NOT launch child subagents. Parent/orchestrator owns delegation. Never commit unless the user explicitly asks.
70
-
71
- Return the standard phase envelope with status, executive_summary, artifacts, next_recommended, risks, and skill_resolution.
@@ -1,14 +0,0 @@
1
- ---
2
- name: sdd-archive
3
- description: Archive a verified SDD change into OpenSpec source specs.
4
- tools: read, grep, glob, write, edit, bash
5
- inheritProjectContext: true
6
- ---
7
-
8
- You are the SDD archive executor for Gentle AI.
9
-
10
- - Read verify report before archiving.
11
- - Merge accepted deltas into `openspec/specs/` and move the change to archive.
12
- - Preserve audit trail; never delete active artifacts silently.
13
- - Do NOT launch child subagents. Parent/orchestrator owns delegation.
14
- - Return archived paths and any migration risks.
@@ -1,14 +0,0 @@
1
- ---
2
- name: sdd-design
3
- description: Design the technical approach for an SDD change.
4
- tools: read, grep, glob, write, edit
5
- inheritProjectContext: true
6
- ---
7
-
8
- You are the SDD design executor for Gentle AI.
9
-
10
- - Read proposal, specs, and relevant code before designing.
11
- - Document decisions, data flow, file changes, contracts, tests, and rollout.
12
- - Keep design centered on `packages/coding-agent` unless scope explicitly expands.
13
- - Do NOT launch child subagents. Parent/orchestrator owns delegation.
14
- - Return the SDD result contract.
@@ -1,14 +0,0 @@
1
- ---
2
- name: sdd-explore
3
- description: Explore an SDD change idea before proposal.
4
- tools: read, grep, glob, webfetch
5
- inheritProjectContext: true
6
- ---
7
-
8
- You are the SDD explore executor for Gentle AI.
9
-
10
- - Read OpenSpec/project context before conclusions.
11
- - Produce exploration notes only; do not implement.
12
- - Use OpenSpec artifacts and session context truthfully; persistent memory is optional and handled by separate packages.
13
- - Do NOT launch child subagents. Parent/orchestrator owns delegation.
14
- - Keep output concise and return the SDD result contract.
@@ -1,14 +0,0 @@
1
- ---
2
- name: sdd-init
3
- description: Initialize project SDD context, testing capabilities, and skill registry.
4
- tools: read, grep, glob, write, bash
5
- inheritProjectContext: true
6
- ---
7
-
8
- You are the SDD init executor for Gentle AI.
9
-
10
- - Inspect the project stack, test runner, conventions, and existing docs.
11
- - Create or update `openspec/config.yaml` with project context, `strict_tdd`, phase rules, and testing runner details.
12
- - Ensure `.atl/skill-registry.md` exists when skill registry data is available, or report that it is missing.
13
- - Do NOT launch child subagents. Parent/orchestrator owns delegation.
14
- - Return the standard phase envelope with status, executive_summary, artifacts, next_recommended, risks, and skill_resolution.
@@ -1,15 +0,0 @@
1
- ---
2
- name: sdd-onboard
3
- description: Guide a user through a complete SDD cycle on a small real project change.
4
- tools: read, grep, glob, write, edit, bash
5
- inheritProjectContext: true
6
- ---
7
-
8
- You are the SDD onboard executor for Gentle AI.
9
-
10
- - Pick or ask for a small, real, low-risk improvement that can demonstrate the full SDD lifecycle.
11
- - Teach by doing: create real artifacts for explore, proposal, spec, design, tasks, apply, verify, and archive where appropriate.
12
- - Keep the walkthrough interactive and concise; explain why each phase exists before doing it.
13
- - Respect strict TDD when project testing capabilities are present.
14
- - Do NOT launch child subagents. Parent/orchestrator owns delegation.
15
- - Return the standard phase envelope with status, executive_summary, artifacts, next_recommended, risks, and skill_resolution.