gentle-agent-extensions 1.0.1 → 1.2.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/README.md +177 -287
- package/package.json +17 -14
- package/resources/agents/architecture-council.md +158 -0
- package/resources/overlays/orchestrator.overlay.md +162 -0
- package/resources/routing/architecture-council.md +65 -0
- package/resources/skills/architecture-quest/SKILL.md +238 -0
- package/resources/skills/gentle-agent-extension/SKILL.md +329 -0
- package/src/extension.ts +544 -0
- package/.manifest.json +0 -15
- package/agents/.gitkeep +0 -0
- package/assets/.gitkeep +0 -0
- package/docs/conventions.md +0 -278
- package/extensions/gentle-agent-extensions.ts +0 -547
- package/mcp/.gitkeep +0 -31
- package/overlays/.gitkeep +0 -0
- package/routing/.gitkeep +0 -0
- package/scripts/doctor.sh +0 -509
- package/scripts/install.sh +0 -206
- package/scripts/sync.sh +0 -513
- package/skills/gentle-agent-extension/SKILL.md +0 -360
- package/tests/gentle-extensions.test.ts +0 -653
package/README.md
CHANGED
|
@@ -1,405 +1,294 @@
|
|
|
1
1
|
# gentle-agent-extensions
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Bundled extensions for Gentle Shell** — Install once, get architecture-quest, architecture-council, orchestrator overlay, and gentle-agent-extension skill automatically. No configuration needed.
|
|
4
4
|
|
|
5
|
-
## What This
|
|
5
|
+
## What This Package Provides
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
| Resource | Description |
|
|
8
|
+
|----------|-------------|
|
|
9
|
+
| **architecture-council** agent | Read-only contractual verifier for Architecture Quest contracts |
|
|
10
|
+
| **architecture-quest** skill | Explores architectural needs, identifies gaps, produces verifiable contracts |
|
|
11
|
+
| **gentle-agent-extension** skill | Teaches how to extend this package (for maintainers) |
|
|
12
|
+
| **orchestrator.overlay.md** | Integrates Quest + Council into ODD workflow before RDD review |
|
|
13
|
+
| **architecture-council routing** | Semantic delegation rules for the council agent |
|
|
13
14
|
|
|
14
|
-
## What This
|
|
15
|
+
## What This Package Does NOT Do
|
|
15
16
|
|
|
17
|
+
- ❌ Require user project directories (`agents/`, `overlays/`, `skills/`)
|
|
18
|
+
- ❌ Need `sync.sh`, `doctor.sh`, `install.sh` scripts (removed)
|
|
16
19
|
- ❌ Modify Gentle AI or Gentle Pi official repositories
|
|
17
20
|
- ❌ Create parallel agent registries or skill indexes
|
|
18
|
-
- ❌ Require code changes for new agents/overlays
|
|
19
|
-
- ❌ Install demo agents or overlays by default
|
|
20
|
-
- ❌ Automatically update Gentle AI or Gentle Pi
|
|
21
21
|
|
|
22
|
-
## Architecture
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
gentle-agent-extensions/
|
|
26
|
-
├── agents/ # Custom agent definitions (Markdown + YAML frontmatter)
|
|
27
|
-
├── overlays/ # Instruction overlays for existing agents/orchestrator
|
|
28
|
-
├── routing/ # Delegation rules for custom agents
|
|
29
|
-
├── skills/ # Project skills (including gentle-agent-extension skill)
|
|
30
|
-
├── extensions/ # Pi extension (gentle-agent-extensions.ts)
|
|
31
|
-
├── scripts/ # install.sh, sync.sh, doctor.sh
|
|
32
|
-
├── tests/ # Automated tests
|
|
33
|
-
├── docs/ # Documentation (conventions.md)
|
|
34
|
-
├── .manifest.json # Tracks project-owned files
|
|
35
|
-
└── README.md # This file
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Extension (`extensions/gentle-agent-extensions.ts`)
|
|
39
|
-
|
|
40
|
-
A Pi extension that:
|
|
41
|
-
1. **Discovers** agents, overlays, and skills from project directories on `session_start`
|
|
42
|
-
2. **Injects** orchestrator context via `before_agent_start` using `appendSystemPromptOnce`
|
|
43
|
-
3. **Applies overlays** to target agents/orchestrator at runtime
|
|
44
|
-
4. **Registers commands**: `/gentle-extensions:sync`, `/gentle-extensions:doctor`, `/gentle-extensions:status`
|
|
45
|
-
|
|
46
|
-
### Declarative Conventions
|
|
47
|
-
|
|
48
|
-
See [docs/conventions.md](docs/conventions.md) for complete specification.
|
|
49
|
-
|
|
50
|
-
**Agents** (`agents/{name}.md`):
|
|
51
|
-
```markdown
|
|
52
|
-
---
|
|
53
|
-
name: my-agent
|
|
54
|
-
description: "When to use this agent"
|
|
55
|
-
model: anthropic/claude-opus-4
|
|
56
|
-
thinking: high
|
|
57
|
-
mode: task
|
|
58
|
-
tools: [read, write, bash]
|
|
59
|
-
---
|
|
60
|
-
# Agent Instructions
|
|
61
|
-
...
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**Overlays** (`overlays/{target}.overlay.md`):
|
|
65
|
-
```markdown
|
|
66
22
|
---
|
|
67
|
-
target: orchestrator # or agent name
|
|
68
|
-
priority: 100
|
|
69
|
-
mode: append
|
|
70
|
-
---
|
|
71
|
-
# Additional instructions appended to target's prompt
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**Routing** (`routing/{agent}.md`):
|
|
75
|
-
```markdown
|
|
76
|
-
---
|
|
77
|
-
agent: my-agent
|
|
78
|
-
triggers: ["trigger phrase"]
|
|
79
|
-
conditions: ["condition"]
|
|
80
|
-
delegation: subagent_run
|
|
81
|
-
---
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**Skills** (`skills/{name}/SKILL.md`):
|
|
85
|
-
Follows [Gentle AI Skill Style Guide](https://github.com/Gentleman-Programming/gentle-pi/blob/main/docs/skill-style-guide.md)
|
|
86
23
|
|
|
87
24
|
## Installation
|
|
88
25
|
|
|
89
|
-
###
|
|
90
|
-
|
|
91
|
-
- Pi 1.2.0+
|
|
92
|
-
- Gentle Pi (`gentle-pi` package installed)
|
|
93
|
-
- Node.js 22+
|
|
94
|
-
|
|
95
|
-
### Quick Install
|
|
96
|
-
|
|
26
|
+
### From npm (recommended)
|
|
97
27
|
```bash
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
# Make scripts executable
|
|
102
|
-
chmod +x scripts/*.sh
|
|
103
|
-
|
|
104
|
-
# Install for standard Pi (default profile)
|
|
105
|
-
./scripts/install.sh
|
|
106
|
-
|
|
107
|
-
# Or for Gentle Shell isolated
|
|
108
|
-
./scripts/install.sh --profile gentle-shell
|
|
28
|
+
pi install npm:gentle-agent-extensions@latest
|
|
29
|
+
```
|
|
109
30
|
|
|
110
|
-
|
|
111
|
-
|
|
31
|
+
### From Git
|
|
32
|
+
```bash
|
|
33
|
+
pi install git:github.com/AndyTechnologies/gentle-agent-extensions@v1.2.0
|
|
112
34
|
```
|
|
113
35
|
|
|
114
|
-
###
|
|
36
|
+
### Local development
|
|
37
|
+
```bash
|
|
38
|
+
pi install ./gentle-agent-extensions
|
|
39
|
+
# Or for testing without installing:
|
|
40
|
+
pi -e ./src/extension.ts
|
|
41
|
+
```
|
|
115
42
|
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
pi install file:$(pwd)
|
|
119
|
-
```
|
|
43
|
+
**That's it.** No scripts, no sync, no doctor. Open Pi and everything works.
|
|
120
44
|
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
./scripts/sync.sh
|
|
124
|
-
```
|
|
45
|
+
---
|
|
125
46
|
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
./scripts/doctor.sh
|
|
129
|
-
```
|
|
47
|
+
## Usage
|
|
130
48
|
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
/gentle-extensions:status
|
|
134
|
-
```
|
|
49
|
+
### Automatic on Session Start
|
|
135
50
|
|
|
136
|
-
|
|
51
|
+
When you open Pi, the extension:
|
|
52
|
+
1. Copies bundled agents to your project's `.pi/agents/`
|
|
53
|
+
2. Registers bundled MCP servers (when added)
|
|
54
|
+
3. Applies bundled overlays to orchestrator and agents
|
|
55
|
+
4. Skills are auto-registered via `pi.skills`
|
|
137
56
|
|
|
138
|
-
|
|
139
|
-
|---------|------------|----------|
|
|
140
|
-
| `pi` | `~/.pi/agent` | Standard Pi installation |
|
|
141
|
-
| `gentle-shell` | `~/.local/share/gentle-shell/agent` | Isolated Gentle Shell |
|
|
142
|
-
| `gentle-shell-linked` | `~/.pi/agent` | Gentle Shell with `--link` |
|
|
57
|
+
### Commands (inside Pi)
|
|
143
58
|
|
|
144
|
-
|
|
59
|
+
| Command | Description |
|
|
60
|
+
|---------|-------------|
|
|
61
|
+
| `/gentle-extensions:status` | Show bundled resources status |
|
|
62
|
+
| `/gentle-extensions:sync` | Re-sync bundled agents to current project |
|
|
63
|
+
| `/gentle-extensions:doctor` | Validate bundled resources + installation |
|
|
64
|
+
| `/gentle-extensions:mcp-reload` | Reload MCP servers from bundled resources |
|
|
65
|
+
| `/gentle-extensions:fix` | Auto-fix non-destructive issues |
|
|
66
|
+
| `/gentle-extensions:mcp-health` | Test MCP connectivity (stdio + HTTP) |
|
|
67
|
+
| `/gentle-extensions:conflicts` | Interactive conflict resolution |
|
|
145
68
|
|
|
146
|
-
###
|
|
69
|
+
### Delegation
|
|
147
70
|
|
|
148
|
-
Preview changes without making them:
|
|
149
71
|
```bash
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Usage
|
|
72
|
+
# Architecture Council - verify architectural contract
|
|
73
|
+
"Use architecture-council to verify AC-01"
|
|
155
74
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
After adding/modifying agents, overlays, routing, or skills:
|
|
159
|
-
```bash
|
|
160
|
-
./scripts/sync.sh
|
|
75
|
+
# Architecture Quest - explore architectural decisions
|
|
76
|
+
"Run architecture quest for this feature"
|
|
161
77
|
```
|
|
162
78
|
|
|
163
|
-
|
|
164
|
-
- `--dry-run` — Preview changes
|
|
165
|
-
- `--check` — Validate only (exit 1 on issues)
|
|
166
|
-
- `--profile PROFILE` / `--agent-home PATH` — Target installation
|
|
79
|
+
### Skills
|
|
167
80
|
|
|
168
|
-
|
|
81
|
+
Skills are auto-available via `/skill-registry:refresh`:
|
|
82
|
+
- `architecture-quest` — Architectural exploration
|
|
83
|
+
- `gentle-agent-extension` — Package maintainer guide
|
|
169
84
|
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
./scripts/doctor.sh
|
|
173
|
-
./scripts/doctor.sh --verbose # Detailed output
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
Checks:
|
|
177
|
-
- Project structure completeness
|
|
178
|
-
- Manifest validity
|
|
179
|
-
- Extension installation
|
|
180
|
-
- Pi / Gentle Pi versions
|
|
181
|
-
- Agent/overlay/skill validation
|
|
182
|
-
- Conflict detection (shadowing, unknown targets)
|
|
183
|
-
- Skill registry status
|
|
184
|
-
- Script permissions
|
|
85
|
+
---
|
|
185
86
|
|
|
186
|
-
|
|
87
|
+
## Architecture
|
|
187
88
|
|
|
188
|
-
Inside Pi:
|
|
189
89
|
```
|
|
190
|
-
/gentle-extensions
|
|
90
|
+
~/.pi/agent/npm/node_modules/gentle-agent-extensions/ ← Installed package (read-only)
|
|
91
|
+
├── src/extension.ts ← Pi extension entry point
|
|
92
|
+
├── resources/
|
|
93
|
+
│ ├── agents/architecture-council.md ← Bundled agent
|
|
94
|
+
│ ├── overlays/orchestrator.overlay.md ← Bundled overlay
|
|
95
|
+
│ ├── skills/
|
|
96
|
+
│ │ ├── architecture-quest/SKILL.md ← Bundled skill
|
|
97
|
+
│ │ └── gentle-agent-extension/SKILL.md ← Bundled skill
|
|
98
|
+
│ ├── routing/architecture-council.md ← Bundled routing
|
|
99
|
+
│ └── mcp/ ← Bundled MCPs (future)
|
|
100
|
+
├── package.json ← pi: {extensions, skills}
|
|
101
|
+
└── README.md
|
|
191
102
|
```
|
|
192
103
|
|
|
193
|
-
|
|
104
|
+
### How It Works
|
|
194
105
|
|
|
195
|
-
|
|
106
|
+
1. **`pi install`** downloads package to `~/.pi/agent/npm/node_modules/gentle-agent-extensions/`
|
|
107
|
+
2. **Pi loads** `src/extension.ts` via `pi.extensions` in package.json
|
|
108
|
+
3. **`session_start`**: Extension reads bundled resources from `resources/` (using `import.meta.url`)
|
|
109
|
+
4. **`before_agent_start`**: Applies overlays, injects MCP info to orchestrator
|
|
110
|
+
5. **Skills** loaded via `pi.skills: ["resources/skills/*"]` in package.json
|
|
196
111
|
|
|
197
|
-
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## For Package Maintainers
|
|
115
|
+
|
|
116
|
+
### Adding a New Bundled Agent
|
|
198
117
|
|
|
199
118
|
```bash
|
|
200
|
-
# 1. Create agent
|
|
201
|
-
cat > agents/my-agent.md <<'EOF'
|
|
119
|
+
# 1. Create agent in resources/agents/
|
|
120
|
+
cat > resources/agents/my-agent.md <<'EOF'
|
|
202
121
|
---
|
|
203
122
|
name: my-agent
|
|
204
|
-
description: "
|
|
123
|
+
description: "What this agent does"
|
|
205
124
|
model: anthropic/claude-opus-4
|
|
206
125
|
thinking: high
|
|
207
126
|
mode: task
|
|
208
|
-
tools: [read,
|
|
127
|
+
tools: [read, write, bash]
|
|
209
128
|
---
|
|
210
|
-
# My Agent
|
|
211
|
-
|
|
212
|
-
You are a security reviewer...
|
|
129
|
+
# My Agent Instructions
|
|
213
130
|
EOF
|
|
214
131
|
|
|
215
|
-
# 2.
|
|
216
|
-
cat > routing/my-agent.md <<'EOF'
|
|
132
|
+
# 2. Add routing in resources/routing/
|
|
133
|
+
cat > resources/routing/my-agent.md <<'EOF'
|
|
217
134
|
---
|
|
218
135
|
agent: my-agent
|
|
219
|
-
triggers:
|
|
220
|
-
- "security review"
|
|
221
|
-
- "check for vulnerabilities"
|
|
222
|
-
conditions:
|
|
223
|
-
- "User requests security review"
|
|
136
|
+
triggers: ["trigger phrase"]
|
|
224
137
|
delegation: subagent_run
|
|
225
138
|
---
|
|
226
|
-
# Routing for my-agent
|
|
227
|
-
...
|
|
228
139
|
EOF
|
|
229
140
|
|
|
230
|
-
# 3.
|
|
231
|
-
mkdir -p skills/my-agent
|
|
232
|
-
cat > skills/my-agent/SKILL.md <<'EOF'
|
|
141
|
+
# 3. (Optional) Add skill in resources/skills/
|
|
142
|
+
mkdir -p resources/skills/my-agent
|
|
143
|
+
cat > resources/skills/my-agent/SKILL.md <<'EOF'
|
|
233
144
|
---
|
|
234
145
|
name: my-agent
|
|
235
|
-
description: "Trigger:
|
|
146
|
+
description: "Trigger: trigger phrase. Delegates to my-agent."
|
|
236
147
|
license: Apache-2.0
|
|
237
148
|
metadata:
|
|
238
|
-
author:
|
|
149
|
+
author: AndyTechnologies
|
|
239
150
|
version: "1.0"
|
|
240
151
|
---
|
|
241
152
|
# My Agent Skill
|
|
242
153
|
## Activation Contract
|
|
243
|
-
Use when
|
|
154
|
+
Use when...
|
|
244
155
|
## Hard Rules
|
|
245
|
-
Only delegate via subagent_run to my-agent
|
|
156
|
+
- Only delegate via subagent_run to my-agent
|
|
246
157
|
## Decision Gates
|
|
247
158
|
| Situation | Action |
|
|
248
|
-
|
|
249
|
-
| "security review" | Delegate to my-agent |
|
|
159
|
+
| "trigger phrase" | Delegate to my-agent |
|
|
250
160
|
| General coding | Do NOT delegate |
|
|
251
161
|
## Execution Steps
|
|
252
|
-
1.
|
|
253
|
-
2.
|
|
254
|
-
3. Return results
|
|
162
|
+
1. Call subagent_run with agent=my-agent
|
|
163
|
+
2. Return results
|
|
255
164
|
## Output Contract
|
|
256
|
-
|
|
165
|
+
Findings with severity
|
|
257
166
|
## References
|
|
258
|
-
- agents/my-agent.md
|
|
259
|
-
- routing/my-agent.md
|
|
167
|
+
- resources/agents/my-agent.md
|
|
168
|
+
- resources/routing/my-agent.md
|
|
260
169
|
EOF
|
|
261
|
-
|
|
262
|
-
# 4. Sync and verify
|
|
263
|
-
./scripts/sync.sh
|
|
264
|
-
./scripts/doctor.sh
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
Test in Pi:
|
|
268
170
|
```
|
|
269
|
-
"Please do a security review of my changes"
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
### Adding an Overlay
|
|
273
171
|
|
|
274
|
-
|
|
172
|
+
### Adding a Bundled Overlay
|
|
275
173
|
|
|
276
174
|
```bash
|
|
277
|
-
|
|
278
|
-
cat > overlays/gentle-ai-worker.overlay.md <<'EOF'
|
|
175
|
+
cat > resources/overlays/target-agent.overlay.md <<'EOF'
|
|
279
176
|
---
|
|
280
|
-
target:
|
|
177
|
+
target: target-agent
|
|
281
178
|
priority: 100
|
|
282
179
|
mode: append
|
|
283
180
|
---
|
|
284
|
-
#
|
|
285
|
-
|
|
286
|
-
## Additional Instructions
|
|
287
|
-
|
|
288
|
-
When writing tests, always use table-driven tests.
|
|
289
|
-
Prefer the project's test utilities.
|
|
181
|
+
# Additional Instructions for target-agent
|
|
290
182
|
EOF
|
|
291
|
-
|
|
292
|
-
# 2. Sync and verify
|
|
293
|
-
./scripts/sync.sh
|
|
294
|
-
./scripts/doctor.sh
|
|
295
183
|
```
|
|
184
|
+
Modes: `append` (default), `prepend`, `replace`
|
|
296
185
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
## Verifying Routing and Activation
|
|
300
|
-
|
|
301
|
-
1. **Check status**: `/gentle-extensions:status`
|
|
302
|
-
2. **Trigger delegation**: Use trigger phrases from routing
|
|
303
|
-
3. **Check doctor**: `./scripts/doctor.sh` validates targets exist
|
|
304
|
-
4. **Inspect prompt**: Add temporary overlay with obvious marker to verify injection
|
|
305
|
-
|
|
306
|
-
## Troubleshooting
|
|
307
|
-
|
|
308
|
-
### Agent Not Discovered
|
|
186
|
+
### Adding a Bundled MCP Server
|
|
309
187
|
|
|
310
188
|
```bash
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
189
|
+
cat > resources/mcp/my-server.mcp.json <<'EOF'
|
|
190
|
+
{
|
|
191
|
+
"name": "my-server",
|
|
192
|
+
"description": "What this server provides",
|
|
193
|
+
"transport": "stdio",
|
|
194
|
+
"command": "npx",
|
|
195
|
+
"args": ["-y", "@pkg/server"],
|
|
196
|
+
"env": { "API_KEY": "${API_KEY}" },
|
|
197
|
+
"exposure": "codemode",
|
|
198
|
+
"enabled": true
|
|
199
|
+
}
|
|
200
|
+
EOF
|
|
317
201
|
```
|
|
318
202
|
|
|
319
|
-
###
|
|
203
|
+
### Test Locally
|
|
320
204
|
|
|
321
205
|
```bash
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
#
|
|
326
|
-
|
|
206
|
+
# Test without installing
|
|
207
|
+
pi -e ./src/extension.ts
|
|
208
|
+
|
|
209
|
+
# In Pi:
|
|
210
|
+
/gentle-extensions:status
|
|
211
|
+
/gentle-extensions:doctor
|
|
327
212
|
```
|
|
328
213
|
|
|
329
|
-
###
|
|
214
|
+
### Publish
|
|
330
215
|
|
|
331
216
|
```bash
|
|
332
|
-
#
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
# Verify
|
|
336
|
-
cat .atl/skill-registry.md | grep your-skill
|
|
217
|
+
npm version patch # or minor/major
|
|
218
|
+
git push origin main --tags
|
|
219
|
+
npm publish --access public
|
|
337
220
|
```
|
|
338
221
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
```bash
|
|
342
|
-
# Check Pi settings
|
|
343
|
-
cat ~/.pi/agent/settings.json
|
|
344
|
-
# Should include: { "packages": [{ "source": "file:/path/to/gentle-agent-extensions" }] }
|
|
222
|
+
---
|
|
345
223
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
224
|
+
## Configuration
|
|
225
|
+
|
|
226
|
+
### `extension.config.json` (optional)
|
|
227
|
+
|
|
228
|
+
Override defaults in the package root:
|
|
229
|
+
|
|
230
|
+
```json
|
|
231
|
+
{
|
|
232
|
+
"features": {
|
|
233
|
+
"autoSync": true,
|
|
234
|
+
"versionTracking": true
|
|
235
|
+
},
|
|
236
|
+
"validation": {
|
|
237
|
+
"requireLicense": true,
|
|
238
|
+
"allowUnknownTargets": true
|
|
239
|
+
},
|
|
240
|
+
"mcpDefaults": {
|
|
241
|
+
"timeout": 60,
|
|
242
|
+
"exposure": "codemode"
|
|
243
|
+
}
|
|
244
|
+
}
|
|
349
245
|
```
|
|
350
246
|
|
|
351
|
-
###
|
|
247
|
+
### Peer Dependencies
|
|
352
248
|
|
|
353
|
-
|
|
354
|
-
- **Shadowing**: Project agent same name as global agent → rename or accept
|
|
355
|
-
- **Unknown overlay target**: Target agent doesn't exist → create agent or fix target name
|
|
249
|
+
Pinned to Pi 1.4.0 compatible versions:
|
|
356
250
|
|
|
357
|
-
|
|
251
|
+
```json
|
|
252
|
+
"peerDependencies": {
|
|
253
|
+
"@earendil-works/pi-coding-agent": "^1.4.0",
|
|
254
|
+
"@earendil-works/pi-agent-core": "^1.4.0",
|
|
255
|
+
"@earendil-works/pi-ai": "^1.4.0",
|
|
256
|
+
"@earendil-works/pi-tui": "^1.4.0",
|
|
257
|
+
"typebox": "^0.30.0"
|
|
258
|
+
}
|
|
259
|
+
```
|
|
358
260
|
|
|
359
|
-
|
|
360
|
-
|------------|------------|
|
|
361
|
-
| No agent removal via sync | Manually delete from `.pi/agents/` and manifest |
|
|
362
|
-
| Overlay priority only affects order | Use single overlay per target, or order by priority |
|
|
363
|
-
| Skills require manual registry refresh | Run `/skill-registry:refresh` after adding skills |
|
|
364
|
-
| No hot-reload of extension | Restart Pi or `reload` command |
|
|
365
|
-
| Profile detection is manual | Use `--profile` or `--agent-home` explicitly |
|
|
261
|
+
---
|
|
366
262
|
|
|
367
263
|
## Development
|
|
368
264
|
|
|
369
|
-
###
|
|
265
|
+
### Run Tests
|
|
370
266
|
|
|
371
267
|
```bash
|
|
268
|
+
# Unit tests (fast)
|
|
372
269
|
node --test tests/gentle-extensions.test.ts
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
### Project Skill
|
|
376
270
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
skills/gentle-agent-extension/SKILL.md
|
|
271
|
+
# Integration tests (slow, spawns Pi)
|
|
272
|
+
node --test tests/integration.test.ts
|
|
380
273
|
```
|
|
381
274
|
|
|
382
|
-
|
|
383
|
-
```
|
|
384
|
-
/skill-registry:refresh
|
|
385
|
-
# Then in agent context, the skill will be available for relevant tasks
|
|
386
|
-
```
|
|
275
|
+
### Test Without Installing
|
|
387
276
|
|
|
388
|
-
|
|
277
|
+
```bash
|
|
278
|
+
pi -e ./src/extension.ts
|
|
279
|
+
# Then in Pi:
|
|
280
|
+
/gentle-extensions:status
|
|
281
|
+
```
|
|
389
282
|
|
|
390
|
-
|
|
391
|
-
1. Verify the declarative approach cannot achieve the goal
|
|
392
|
-
2. Document the architectural justification
|
|
393
|
-
3. Update tests and conventions.md
|
|
283
|
+
---
|
|
394
284
|
|
|
395
285
|
## Compatibility
|
|
396
286
|
|
|
397
|
-
Tested with:
|
|
398
287
|
- Pi 1.4.0+
|
|
399
|
-
- gentle-pi (bundled in Gentle Shell)
|
|
288
|
+
- gentle-pi 4.5.1+ (bundled in Gentle Shell)
|
|
400
289
|
- gentle-ai (bundled)
|
|
401
290
|
|
|
402
|
-
|
|
291
|
+
---
|
|
403
292
|
|
|
404
293
|
## License
|
|
405
294
|
|
|
@@ -408,13 +297,14 @@ Apache-2.0 — see LICENSE file.
|
|
|
408
297
|
## References
|
|
409
298
|
|
|
410
299
|
- [Gentle Pi Documentation](https://github.com/Gentleman-Programming/gentle-shell)
|
|
411
|
-
- [Gentle AI Skill Style Guide](https://github.com/Gentleman-Programming/gentle-pi/blob/main/docs/skill-style-guide.md)
|
|
412
300
|
- [Pi Extensions API](https://pi.dev/docs/latest/extensions)
|
|
413
301
|
- [Pi Packages](https://pi.dev/docs/latest/packages)
|
|
302
|
+
- [Gentle AI Skill Style Guide](https://github.com/Gentleman-Programming/gentle-pi/blob/main/docs/skill-style-guide.md)
|
|
303
|
+
|
|
414
304
|
---
|
|
415
305
|
|
|
416
306
|
<div align="center">
|
|
417
307
|
|
|
418
308
|

|
|
419
309
|
|
|
420
|
-
</div>
|
|
310
|
+
</div>
|
package/package.json
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gentle-agent-extensions",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "
|
|
5
|
-
"keywords": ["pi-package", "gentle-pi", "gentle-ai", "extensions", "mcp"],
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Bundled extensions for Gentle Shell: architecture-quest, architecture-council, orchestrator overlay, and more",
|
|
5
|
+
"keywords": ["pi-package", "gentle-pi", "gentle-ai", "extensions", "mcp", "architecture"],
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
-
"author": "
|
|
7
|
+
"author": "AndyTechnologies",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "https://github.com/AndyTechnologies/gentle-agent-extensions.git"
|
|
11
11
|
},
|
|
12
12
|
"pi": {
|
|
13
|
-
"extensions": ["
|
|
14
|
-
"skills": ["skills/*"],
|
|
13
|
+
"extensions": ["src/extension.ts"],
|
|
14
|
+
"skills": ["resources/skills/*"],
|
|
15
15
|
"prompts": [],
|
|
16
16
|
"themes": []
|
|
17
17
|
},
|
|
18
|
+
"files": [
|
|
19
|
+
"src/",
|
|
20
|
+
"resources/"
|
|
21
|
+
],
|
|
18
22
|
"peerDependencies": {
|
|
19
|
-
"@earendil-works/pi-coding-agent": "
|
|
20
|
-
"@earendil-works/pi-agent-core": "
|
|
21
|
-
"@earendil-works/pi-ai": "
|
|
22
|
-
"@earendil-works/pi-tui": "
|
|
23
|
-
"typebox": "
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
}
|
|
23
|
+
"@earendil-works/pi-coding-agent": "^1.4.0",
|
|
24
|
+
"@earendil-works/pi-agent-core": "^1.4.0",
|
|
25
|
+
"@earendil-works/pi-ai": "^1.4.0",
|
|
26
|
+
"@earendil-works/pi-tui": "^1.4.0",
|
|
27
|
+
"typebox": "^0.30.0"
|
|
28
|
+
}
|
|
29
|
+
}
|