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.
- package/LICENSE +21 -0
- package/README.md +217 -130
- package/package.json +9 -5
- package/assets/agents/sdd-apply.md +0 -71
- package/assets/agents/sdd-archive.md +0 -14
- package/assets/agents/sdd-design.md +0 -14
- package/assets/agents/sdd-explore.md +0 -14
- package/assets/agents/sdd-init.md +0 -14
- package/assets/agents/sdd-onboard.md +0 -15
- package/assets/agents/sdd-proposal.md +0 -14
- package/assets/agents/sdd-spec.md +0 -14
- package/assets/agents/sdd-tasks.md +0 -61
- package/assets/agents/sdd-verify.md +0 -55
- package/assets/chains/sdd-full.chain.md +0 -75
- package/assets/chains/sdd-plan.chain.md +0 -35
- package/assets/chains/sdd-verify.chain.md +0 -27
- package/assets/gentle-logo-only.png +0 -0
- package/assets/orchestrator.md +0 -208
- package/assets/support/strict-tdd-verify.md +0 -269
- package/assets/support/strict-tdd.md +0 -364
- package/extensions/gentle-ai.ts +0 -742
- package/extensions/sdd-init.ts +0 -83
- package/extensions/skill-registry.ts +0 -267
- package/prompts/gcl.md +0 -54
- package/prompts/gis.md +0 -25
- package/prompts/gpr.md +0 -41
- package/prompts/gwr.md +0 -31
- package/skills/branch-pr/SKILL.md +0 -202
- package/skills/chained-pr/SKILL.md +0 -50
- package/skills/chained-pr/references/chaining-details.md +0 -99
- package/skills/cognitive-doc-design/SKILL.md +0 -81
- package/skills/comment-writer/SKILL.md +0 -74
- package/skills/gentle-ai/SKILL.md +0 -47
- package/skills/issue-creation/SKILL.md +0 -223
- package/skills/judgment-day/SKILL.md +0 -52
- package/skills/judgment-day/references/prompts-and-formats.md +0 -75
- 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
|
-
#
|
|
1
|
+
# gentle-pi
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/gentle-pi)
|
|
4
|
+
[](https://pi.dev/packages/gentle-pi)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](https://github.com/Gentleman-Programming/gentle-pi/stargazers)
|
|
7
|
+
[](https://github.com/Gentleman-Programming/gentle-ai)
|
|
8
|
+
[](https://github.com/Gentleman-Programming)
|
|
9
|
+
[](https://www.youtube.com/c/GentlemanProgramming)
|
|
10
|
+
[](https://discord.com/invite/gentleman-programming-769863833996754944)
|
|
11
|
+
[](#sddopenspec-flow)
|
|
12
|
+
[](#what-it-adds)
|
|
4
13
|
|
|
5
|
-
|
|
14
|
+
**Turn Pi from a powerful coding agent into a controlled development harness.**
|
|
6
15
|
|
|
7
|
-
|
|
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
|
|
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`
|
|
27
|
-
|
|
28
|
-
## What you get
|
|
81
|
+
On session start, `gentle-pi` installs local SDD assets without overwriting your edits.
|
|
29
82
|
|
|
30
|
-
|
|
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
|
|
45
|
-
/
|
|
46
|
-
/gentle
|
|
47
|
-
/
|
|
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
|
-
|
|
92
|
+
Typical flow:
|
|
58
93
|
|
|
59
|
-
|
|
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
|
-
|
|
100
|
+
## How the harness decides what to do
|
|
62
101
|
|
|
63
|
-
|
|
64
|
-
/gentle:persona
|
|
65
|
-
```
|
|
102
|
+
`gentle-pi` routes through the smallest safe workflow:
|
|
66
103
|
|
|
67
|
-
|
|
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
|
-
|
|
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
|
-
|
|
112
|
+
## SDD/OpenSpec flow
|
|
75
113
|
|
|
76
114
|
```text
|
|
77
|
-
|
|
115
|
+
init → explore → proposal → spec → design → tasks → apply → verify → archive
|
|
78
116
|
```
|
|
79
117
|
|
|
80
|
-
|
|
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
|
-
##
|
|
127
|
+
## Project files installed
|
|
83
128
|
|
|
84
|
-
|
|
129
|
+
On Pi `session_start`, `gentle-pi` copies these assets if they are missing:
|
|
85
130
|
|
|
86
131
|
```text
|
|
87
|
-
/
|
|
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
|
-
|
|
138
|
+
It does **not** overwrite existing files unless you explicitly run:
|
|
91
139
|
|
|
92
140
|
```text
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
Current assignments:
|
|
141
|
+
/gentle-ai:install-sdd --force
|
|
142
|
+
```
|
|
96
143
|
|
|
97
|
-
|
|
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
|
-
|
|
111
|
-
← Back
|
|
146
|
+
`gentle-pi` keeps a local registry at:
|
|
112
147
|
|
|
113
|
-
|
|
148
|
+
```text
|
|
149
|
+
.atl/skill-registry.md
|
|
114
150
|
```
|
|
115
151
|
|
|
116
|
-
|
|
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
|
-
|
|
154
|
+
It scans common roots such as:
|
|
119
155
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
170
|
+
Behavior:
|
|
125
171
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
|
|
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
|
-
|
|
183
|
+
/gentle:persona
|
|
138
184
|
```
|
|
139
185
|
|
|
140
|
-
|
|
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/
|
|
144
|
-
.pi/settings.json # project overrides for built-in pi-subagents agents
|
|
194
|
+
.pi/gentle-ai/persona.json
|
|
145
195
|
```
|
|
146
196
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
## Installed project files
|
|
197
|
+
Run `/reload` or start a new Pi session after switching persona.
|
|
150
198
|
|
|
151
|
-
|
|
199
|
+
## Model assignment
|
|
152
200
|
|
|
153
201
|
```text
|
|
154
|
-
|
|
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
|
-
|
|
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
|
|
224
|
+
.pi/gentle-ai/models.json
|
|
164
225
|
```
|
|
165
226
|
|
|
166
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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` —
|
|
185
|
-
- `branch-pr` — issue-first PR
|
|
186
|
-
- `chained-pr` — split oversized
|
|
187
|
-
- `work-unit-commits` —
|
|
188
|
-
- `judgment-day` — blind dual review and re-judgment
|
|
189
|
-
- `cognitive-doc-design` — documentation that reduces
|
|
190
|
-
- `comment-writer` — concise collaboration comments.
|
|
191
|
-
- `issue-creation` — issue
|
|
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
|
|
259
|
+
## Memory
|
|
194
260
|
|
|
195
|
-
|
|
261
|
+
`gentle-pi` does **not** provide persistent memory by itself.
|
|
196
262
|
|
|
197
|
-
|
|
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
|
|
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
|
-
##
|
|
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
|
-
|
|
285
|
+
## Development
|
|
286
|
+
|
|
287
|
+
Install from this repo:
|
|
208
288
|
|
|
209
289
|
```bash
|
|
210
|
-
pi install
|
|
290
|
+
pi install .
|
|
211
291
|
```
|
|
212
292
|
|
|
213
293
|
Validate before publishing:
|
|
214
294
|
|
|
215
295
|
```bash
|
|
216
|
-
node --
|
|
217
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
312
|
+
- SDD when risk justifies it.
|
|
313
|
+
- Strict TDD when tests exist.
|
|
226
314
|
- One parent orchestrator, focused subagents.
|
|
227
|
-
-
|
|
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.
|
|
4
|
-
"description": "
|
|
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.
|