hool-cli 0.7.4 → 0.9.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/dist/adapters/adapters.test.js +88 -10
- package/dist/adapters/adapters.test.js.map +1 -1
- package/dist/adapters/claude-code.js +48 -31
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/types.d.ts +2 -0
- package/dist/core/scaffold.d.ts +4 -4
- package/dist/core/scaffold.js +151 -48
- package/dist/core/scaffold.js.map +1 -1
- package/dist/core/templates.d.ts +2 -0
- package/dist/core/templates.js +31 -0
- package/dist/core/templates.js.map +1 -1
- package/dist/e2e.test.js +241 -1
- package/dist/e2e.test.js.map +1 -1
- package/dist/index.js +23 -12
- package/dist/index.js.map +1 -1
- package/dist/mcps/mcps.test.js +1 -0
- package/dist/mcps/mcps.test.js.map +1 -1
- package/package.json +4 -8
- package/presets/solo/NEXT-v0.1-context-mcp.md +95 -0
- package/presets/solo/docs/workflow-reference.md +784 -0
- package/presets/solo/mcps/README.md +129 -0
- package/presets/solo/mcps/testing-by-domain.md +138 -0
- package/presets/solo/memory/be-dev/best-practices.md +0 -0
- package/presets/solo/memory/be-dev/cold.md +4 -0
- package/presets/solo/memory/be-dev/hot.md +0 -0
- package/presets/solo/memory/be-dev/issues.md +0 -0
- package/presets/solo/memory/be-tech-lead/best-practices.md +0 -0
- package/presets/solo/memory/be-tech-lead/cold.md +4 -0
- package/presets/solo/memory/be-tech-lead/hot.md +0 -0
- package/presets/solo/memory/be-tech-lead/issues.md +0 -0
- package/presets/solo/memory/fe-dev/best-practices.md +0 -0
- package/presets/solo/memory/fe-dev/cold.md +4 -0
- package/presets/solo/memory/fe-dev/hot.md +0 -0
- package/presets/solo/memory/fe-dev/issues.md +0 -0
- package/presets/solo/memory/fe-tech-lead/best-practices.md +0 -0
- package/presets/solo/memory/fe-tech-lead/cold.md +4 -0
- package/presets/solo/memory/fe-tech-lead/hot.md +0 -0
- package/presets/solo/memory/fe-tech-lead/issues.md +0 -0
- package/presets/solo/memory/forensic/best-practices.md +0 -0
- package/presets/solo/memory/forensic/cold.md +4 -0
- package/presets/solo/memory/forensic/hot.md +0 -0
- package/presets/solo/memory/forensic/issues.md +0 -0
- package/presets/solo/memory/product-lead/best-practices.md +0 -0
- package/presets/solo/memory/product-lead/cold.md +5 -0
- package/presets/solo/memory/product-lead/hot.md +0 -0
- package/presets/solo/memory/product-lead/issues.md +0 -0
- package/presets/solo/memory/qa/best-practices.md +0 -0
- package/presets/solo/memory/qa/cold.md +4 -0
- package/presets/solo/memory/qa/hot.md +0 -0
- package/presets/solo/memory/qa/issues.md +0 -0
- package/presets/solo/operations/bugs.md +10 -0
- package/presets/solo/operations/current-phase.md +8 -0
- package/presets/solo/operations/inconsistencies.md +8 -0
- package/presets/solo/operations/issues.md +11 -0
- package/presets/solo/operations/metrics.md +4 -0
- package/presets/solo/operations/needs-human-review.md +8 -0
- package/presets/solo/operations/task-board.md +10 -0
- package/presets/team/agents/claude/be-dev.md +166 -0
- package/presets/team/agents/claude/be-tech-lead.md +233 -0
- package/presets/team/agents/claude/fe-dev.md +202 -0
- package/presets/team/agents/claude/fe-tech-lead.md +229 -0
- package/presets/team/agents/claude/forensic.md +158 -0
- package/presets/team/agents/claude/governor.md +99 -0
- package/presets/team/agents/claude/product-lead.md +602 -0
- package/presets/team/agents/claude/qa.md +155 -0
- package/presets/team/cli/git-setup.md +175 -0
- package/presets/team/hooks/completion-checklist.sh +39 -0
- package/presets/team/hooks/governor-trigger.sh +30 -0
- package/presets/team/hooks/identity-reminder.sh +30 -0
- package/presets/team/hooks/login-nudge.sh +64 -0
- package/presets/team/hooks/metrics.sh +23 -0
- package/presets/team/mcps/mcps.json +50 -0
- package/presets/team/mcps/testing-by-domain.md +68 -0
- package/presets/team/prompts/claude-md.md +185 -0
- package/presets/team/settings/claude-settings.json +76 -0
- package/presets/team/skills/architect.md +75 -0
- package/presets/team/skills/auditor.md +89 -0
- package/presets/team/skills/brainstormer.md +53 -0
- package/presets/team/skills/code-reviewer.md +77 -0
- package/presets/team/skills/contract-negotiator.md +98 -0
- package/presets/team/skills/designer.md +87 -0
- package/presets/team/skills/root-cause-analyst.md +85 -0
- package/presets/team/skills/speccer.md +85 -0
- package/presets/team/skills/tdd-implementer.md +104 -0
- package/presets/team/skills/test-engineer.md +87 -0
- package/presets/team/templates/memory/best-practices.md +6 -0
- package/presets/team/templates/memory/client-preferences.md +14 -0
- package/presets/team/templates/memory/cold.md +5 -0
- package/presets/team/templates/memory/governor-feedback.md +5 -0
- package/presets/team/templates/memory/hot.md +12 -0
- package/presets/team/templates/memory/identity.md +22 -0
- package/presets/team/templates/memory/issues.md +9 -0
- package/presets/team/templates/memory/operational-knowledge.md +19 -0
- package/presets/team/templates/memory/picked-tasks.md +6 -0
- package/presets/team/templates/memory/skill.md +10 -0
- package/presets/team/templates/memory/task-log.md +17 -0
- package/presets/team/templates/operations/bugs.md +17 -0
- package/presets/team/templates/operations/client-preferences.md +21 -0
- package/presets/team/templates/operations/current-phase.md +4 -0
- package/presets/team/templates/operations/governor-feedback.md +11 -0
- package/presets/team/templates/operations/governor-log.md +14 -0
- package/presets/team/templates/operations/governor-rules.md +22 -0
- package/presets/team/templates/operations/human-feedback.md +7 -0
- package/presets/team/templates/operations/inconsistencies.md +12 -0
- package/presets/team/templates/operations/issues.md +13 -0
- package/presets/team/templates/operations/metrics.md +4 -0
- package/presets/team/templates/operations/needs-human-review.md +11 -0
- package/presets/team/templates/operations/task-board.md +11 -0
- package/presets/team/templates/phases/00-init/project-profile.md +45 -0
- package/presets/team/templates/phases/01-brainstorm/brainstorm.md +33 -0
- package/presets/team/templates/phases/02-spec/spec.md +28 -0
- package/presets/team/templates/phases/03-design/design.md +26 -0
- package/presets/team/templates/phases/04-architecture/architecture.md +26 -0
- package/presets/team/templates/phases/05-contracts/_index.md +20 -0
- package/presets/team/templates/phases/09-qa/test-plan.md +29 -0
- package/presets/team/templates/phases/12-retrospective/retrospective.md +24 -0
- /package/{agents → presets/solo/agents}/claude/be-dev.md +0 -0
- /package/{agents → presets/solo/agents}/claude/be-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/claude/fe-dev.md +0 -0
- /package/{agents → presets/solo/agents}/claude/fe-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/claude/forensic.md +0 -0
- /package/{agents → presets/solo/agents}/claude/governor.md +0 -0
- /package/{agents → presets/solo/agents}/claude/qa.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/be-dev.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/be-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/fe-dev.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/fe-tech-lead.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/forensic.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/governor.md +0 -0
- /package/{agents → presets/solo/agents}/cursor/qa.md +0 -0
- /package/{hooks → presets/solo/hooks}/agent-checklist.sh +0 -0
- /package/{hooks → presets/solo/hooks}/block-pl-src-write.sh +0 -0
- /package/{hooks → presets/solo/hooks}/inject-pl-context.sh +0 -0
- /package/{hooks → presets/solo/hooks}/pre-compact.sh +0 -0
- /package/{hooks → presets/solo/hooks}/run-if-profile.sh +0 -0
- /package/{hooks → presets/solo/hooks}/session-start.sh +0 -0
- /package/{hooks → presets/solo/hooks}/suggest-compact.sh +0 -0
- /package/{hooks → presets/solo/hooks}/track-prompt-count.sh +0 -0
- /package/{prompts → presets/solo/prompts}/agents/05-fe-tech-lead.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/06-be-tech-lead.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/08-be-dev.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/08-fe-dev.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/10-qa.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/11-forensic.md +0 -0
- /package/{prompts → presets/solo/prompts}/agents/governor.md +0 -0
- /package/{prompts → presets/solo/prompts}/checklists/code-review.md +0 -0
- /package/{prompts → presets/solo/prompts}/orchestrator.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/01-brainstorm.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/02-spec.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/03-design.md +0 -0
- /package/{prompts → presets/solo/prompts}/skills/04-architecture.md +0 -0
- /package/{rules → presets/solo/rules}/cursor/be-dev.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/be-tech-lead.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/fe-dev.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/fe-tech-lead.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/forensic.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/governor.mdc +0 -0
- /package/{rules → presets/solo/rules}/cursor/qa.mdc +0 -0
- /package/{settings → presets/solo/settings}/be-dev.json +0 -0
- /package/{settings → presets/solo/settings}/be-tech-lead.json +0 -0
- /package/{settings → presets/solo/settings}/claude-settings.json +0 -0
- /package/{settings → presets/solo/settings}/fe-dev.json +0 -0
- /package/{settings → presets/solo/settings}/fe-tech-lead.json +0 -0
- /package/{settings → presets/solo/settings}/forensic.json +0 -0
- /package/{settings → presets/solo/settings}/governor.json +0 -0
- /package/{settings → presets/solo/settings}/qa.json +0 -0
|
@@ -20,6 +20,7 @@ function makeConfig(overrides = {}) {
|
|
|
20
20
|
projectDir: tmpDir,
|
|
21
21
|
promptsDir: path.join(tmpDir, 'prompts'),
|
|
22
22
|
mode: 'interactive',
|
|
23
|
+
preset: 'solo',
|
|
23
24
|
...overrides,
|
|
24
25
|
};
|
|
25
26
|
}
|
|
@@ -40,13 +41,13 @@ describe('createAdapter', () => {
|
|
|
40
41
|
describe('ClaudeCodeAdapter', () => {
|
|
41
42
|
const adapter = new ClaudeCodeAdapter();
|
|
42
43
|
describe('injectInstructions', () => {
|
|
43
|
-
it('creates CLAUDE.md with HOOL markers', async () => {
|
|
44
|
+
it('creates CLAUDE.md with versioned HOOL markers', async () => {
|
|
44
45
|
const promptsDir = path.join(tmpDir, 'prompts');
|
|
45
46
|
await fs.mkdir(promptsDir, { recursive: true });
|
|
46
47
|
await fs.writeFile(path.join(promptsDir, 'orchestrator.md'), '# Test Orchestrator');
|
|
47
48
|
await adapter.injectInstructions(makeConfig({ promptsDir }));
|
|
48
49
|
const content = await fs.readFile(path.join(tmpDir, 'CLAUDE.md'), 'utf-8');
|
|
49
|
-
expect(content).
|
|
50
|
+
expect(content).toMatch(/<!-- HOOL:START v\d+\.\d+\.\d+ -->/);
|
|
50
51
|
expect(content).toContain('<!-- HOOL:END -->');
|
|
51
52
|
expect(content).toContain('# Test Orchestrator');
|
|
52
53
|
});
|
|
@@ -61,28 +62,47 @@ describe('ClaudeCodeAdapter', () => {
|
|
|
61
62
|
expect(content).toContain('.hool/settings/<role>.json');
|
|
62
63
|
expect(content).toContain('dispatched by the Product Lead via CLI');
|
|
63
64
|
});
|
|
64
|
-
it('replaces content between existing markers', async () => {
|
|
65
|
+
it('replaces content between existing versioned markers', async () => {
|
|
65
66
|
const promptsDir = path.join(tmpDir, 'prompts');
|
|
66
67
|
await fs.mkdir(promptsDir, { recursive: true });
|
|
67
68
|
await fs.writeFile(path.join(promptsDir, 'orchestrator.md'), '# Updated');
|
|
68
|
-
// Write initial CLAUDE.md with
|
|
69
|
-
await fs.writeFile(path.join(tmpDir, 'CLAUDE.md'), 'User content before\n\n<!-- HOOL:START -->\nOld HOOL content\n<!-- HOOL:END -->\n\nUser content after');
|
|
69
|
+
// Write initial CLAUDE.md with versioned markers
|
|
70
|
+
await fs.writeFile(path.join(tmpDir, 'CLAUDE.md'), 'User content before\n\n<!-- HOOL:START v0.7.0 -->\nOld HOOL content\n<!-- HOOL:END -->\n\nUser content after');
|
|
70
71
|
await adapter.injectInstructions(makeConfig({ promptsDir }));
|
|
71
72
|
const content = await fs.readFile(path.join(tmpDir, 'CLAUDE.md'), 'utf-8');
|
|
72
73
|
expect(content).toContain('User content before');
|
|
73
74
|
expect(content).toContain('User content after');
|
|
74
75
|
expect(content).toContain('# Updated');
|
|
75
76
|
expect(content).not.toContain('Old HOOL content');
|
|
77
|
+
expect(content).not.toContain('v0.7.0');
|
|
76
78
|
});
|
|
77
|
-
it('
|
|
79
|
+
it('replaces content between old unversioned markers (backward compat)', async () => {
|
|
80
|
+
const promptsDir = path.join(tmpDir, 'prompts');
|
|
81
|
+
await fs.mkdir(promptsDir, { recursive: true });
|
|
82
|
+
await fs.writeFile(path.join(promptsDir, 'orchestrator.md'), '# Upgraded');
|
|
83
|
+
// Write CLAUDE.md with old-style markers (no version)
|
|
84
|
+
await fs.writeFile(path.join(tmpDir, 'CLAUDE.md'), 'Before\n\n<!-- HOOL:START -->\nOld content\n<!-- HOOL:END -->\n\nAfter');
|
|
85
|
+
await adapter.injectInstructions(makeConfig({ promptsDir }));
|
|
86
|
+
const content = await fs.readFile(path.join(tmpDir, 'CLAUDE.md'), 'utf-8');
|
|
87
|
+
expect(content).toContain('Before');
|
|
88
|
+
expect(content).toContain('After');
|
|
89
|
+
expect(content).toContain('# Upgraded');
|
|
90
|
+
expect(content).not.toContain('Old content');
|
|
91
|
+
// Should now have versioned marker
|
|
92
|
+
expect(content).toMatch(/<!-- HOOL:START v\d+\.\d+\.\d+ -->/);
|
|
93
|
+
});
|
|
94
|
+
it('prepends HOOL block when CLAUDE.md has no markers', async () => {
|
|
78
95
|
const promptsDir = path.join(tmpDir, 'prompts');
|
|
79
96
|
await fs.mkdir(promptsDir, { recursive: true });
|
|
80
97
|
await fs.writeFile(path.join(promptsDir, 'orchestrator.md'), '# Orchestrator');
|
|
81
|
-
await fs.writeFile(path.join(tmpDir, 'CLAUDE.md'), 'Existing content
|
|
98
|
+
await fs.writeFile(path.join(tmpDir, 'CLAUDE.md'), 'Existing user content');
|
|
82
99
|
await adapter.injectInstructions(makeConfig({ promptsDir }));
|
|
83
100
|
const content = await fs.readFile(path.join(tmpDir, 'CLAUDE.md'), 'utf-8');
|
|
84
|
-
expect(content).toContain('Existing content
|
|
85
|
-
|
|
101
|
+
expect(content).toContain('Existing user content');
|
|
102
|
+
// HOOL block should come BEFORE user content (prepended)
|
|
103
|
+
const hoolIdx = content.indexOf('<!-- HOOL:START');
|
|
104
|
+
const userIdx = content.indexOf('Existing user content');
|
|
105
|
+
expect(hoolIdx).toBeLessThan(userIdx);
|
|
86
106
|
});
|
|
87
107
|
it('replaces from legacy # HOOL header', async () => {
|
|
88
108
|
const promptsDir = path.join(tmpDir, 'prompts');
|
|
@@ -93,7 +113,7 @@ describe('ClaudeCodeAdapter', () => {
|
|
|
93
113
|
const content = await fs.readFile(path.join(tmpDir, 'CLAUDE.md'), 'utf-8');
|
|
94
114
|
expect(content).toContain('User stuff');
|
|
95
115
|
expect(content).not.toContain('Old format content');
|
|
96
|
-
expect(content).
|
|
116
|
+
expect(content).toMatch(/<!-- HOOL:START v\d+\.\d+\.\d+ -->/);
|
|
97
117
|
});
|
|
98
118
|
it('includes MCP section for web-app with playwright', async () => {
|
|
99
119
|
const promptsDir = path.join(tmpDir, 'prompts');
|
|
@@ -137,6 +157,64 @@ describe('ClaudeCodeAdapter', () => {
|
|
|
137
157
|
expect(content).not.toMatch(/<TASK-ID>\.jsonl/);
|
|
138
158
|
});
|
|
139
159
|
});
|
|
160
|
+
describe('isMcpInstalled', () => {
|
|
161
|
+
it('returns true when MCP exists in ~/.claude.json mcpServers', async () => {
|
|
162
|
+
const fakeHome = path.join(tmpDir, 'fakehome');
|
|
163
|
+
await fs.mkdir(fakeHome, { recursive: true });
|
|
164
|
+
await fs.writeFile(path.join(fakeHome, '.claude.json'), JSON.stringify({ mcpServers: { context7: { command: 'npx' } } }));
|
|
165
|
+
// Temporarily override os.homedir
|
|
166
|
+
const origHomedir = os.homedir;
|
|
167
|
+
os.homedir = () => fakeHome;
|
|
168
|
+
try {
|
|
169
|
+
const result = await adapter.isMcpInstalled('context7');
|
|
170
|
+
expect(result).toBe(true);
|
|
171
|
+
}
|
|
172
|
+
finally {
|
|
173
|
+
os.homedir = origHomedir;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
it('returns false when MCP not in ~/.claude.json', async () => {
|
|
177
|
+
const fakeHome = path.join(tmpDir, 'fakehome');
|
|
178
|
+
await fs.mkdir(fakeHome, { recursive: true });
|
|
179
|
+
await fs.writeFile(path.join(fakeHome, '.claude.json'), JSON.stringify({ mcpServers: {} }));
|
|
180
|
+
const origHomedir = os.homedir;
|
|
181
|
+
os.homedir = () => fakeHome;
|
|
182
|
+
try {
|
|
183
|
+
const result = await adapter.isMcpInstalled('context7');
|
|
184
|
+
expect(result).toBe(false);
|
|
185
|
+
}
|
|
186
|
+
finally {
|
|
187
|
+
os.homedir = origHomedir;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
it('returns false when ~/.claude.json does not exist', async () => {
|
|
191
|
+
const fakeHome = path.join(tmpDir, 'fakehome-empty');
|
|
192
|
+
await fs.mkdir(fakeHome, { recursive: true });
|
|
193
|
+
const origHomedir = os.homedir;
|
|
194
|
+
os.homedir = () => fakeHome;
|
|
195
|
+
try {
|
|
196
|
+
const result = await adapter.isMcpInstalled('anything');
|
|
197
|
+
expect(result).toBe(false);
|
|
198
|
+
}
|
|
199
|
+
finally {
|
|
200
|
+
os.homedir = origHomedir;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
it('returns false when ~/.claude.json has no mcpServers key', async () => {
|
|
204
|
+
const fakeHome = path.join(tmpDir, 'fakehome2');
|
|
205
|
+
await fs.mkdir(fakeHome, { recursive: true });
|
|
206
|
+
await fs.writeFile(path.join(fakeHome, '.claude.json'), JSON.stringify({ otherKey: 'value' }));
|
|
207
|
+
const origHomedir = os.homedir;
|
|
208
|
+
os.homedir = () => fakeHome;
|
|
209
|
+
try {
|
|
210
|
+
const result = await adapter.isMcpInstalled('context7');
|
|
211
|
+
expect(result).toBe(false);
|
|
212
|
+
}
|
|
213
|
+
finally {
|
|
214
|
+
os.homedir = origHomedir;
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
});
|
|
140
218
|
describe('getCompletionMessage', () => {
|
|
141
219
|
it('includes claude start instructions', () => {
|
|
142
220
|
const msg = adapter.getCompletionMessage(makeConfig());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.test.js","sourceRoot":"","sources":["../../src/adapters/adapters.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapters.test.js","sourceRoot":"","sources":["../../src/adapters/adapters.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import fs from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import os from 'os';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { exec } from 'child_process';
|
|
5
|
+
import { promisify } from 'util';
|
|
6
|
+
import { createRequire } from 'module';
|
|
7
|
+
const execAsync = promisify(exec);
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
const { version: HOOL_VERSION } = require('../../package.json');
|
|
6
10
|
const HOOL_END_MARKER = '<!-- HOOL:END -->';
|
|
11
|
+
const HOOL_START_PATTERN = /<!-- HOOL:START(?:\s+v[\d.]+)? -->/;
|
|
12
|
+
function getHoolStartMarker(version) {
|
|
13
|
+
return `<!-- HOOL:START v${version} -->`;
|
|
14
|
+
}
|
|
7
15
|
function getMcpSection(projectType) {
|
|
8
16
|
const mcps = ['- **context7**: Use `mcp__context7__resolve-library-id` and `mcp__context7__query-docs` for up-to-date library documentation'];
|
|
9
17
|
if (['web-app', 'browser-game', 'animation'].includes(projectType)) {
|
|
@@ -15,7 +23,7 @@ function getMcpSection(projectType) {
|
|
|
15
23
|
return mcps.join('\n');
|
|
16
24
|
}
|
|
17
25
|
function generateClaudeMd(config, orchestratorContent) {
|
|
18
|
-
return `${
|
|
26
|
+
return `${getHoolStartMarker(HOOL_VERSION)}
|
|
19
27
|
# HOOL — Agent-Driven SDLC
|
|
20
28
|
|
|
21
29
|
This project uses the HOOL framework. The Product Lead is the sole user-facing agent.
|
|
@@ -88,28 +96,43 @@ export class ClaudeCodeAdapter {
|
|
|
88
96
|
platform = 'claude-code';
|
|
89
97
|
async injectInstructions(config) {
|
|
90
98
|
const claudeMdPath = path.join(config.projectDir, 'CLAUDE.md');
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
99
|
+
// Team preset: use claude-md.md (agent-neutral shared context)
|
|
100
|
+
// Solo preset: use orchestrator.md (PL-specific, embedded in CLAUDE.md)
|
|
101
|
+
let content;
|
|
102
|
+
if (config.preset === 'team') {
|
|
103
|
+
let claudeMdContent = '';
|
|
104
|
+
try {
|
|
105
|
+
claudeMdContent = await fs.readFile(path.join(config.promptsDir, 'claude-md.md'), 'utf-8');
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
claudeMdContent = '<!-- claude-md.md not found — run hool init to generate -->';
|
|
109
|
+
}
|
|
110
|
+
content = `${getHoolStartMarker(HOOL_VERSION)}\n${claudeMdContent}\n${HOOL_END_MARKER}\n`;
|
|
94
111
|
}
|
|
95
|
-
|
|
96
|
-
|
|
112
|
+
else {
|
|
113
|
+
let orchestratorContent = '';
|
|
97
114
|
try {
|
|
98
|
-
orchestratorContent = await fs.readFile(path.join(config.
|
|
115
|
+
orchestratorContent = await fs.readFile(path.join(config.promptsDir, 'orchestrator.md'), 'utf-8');
|
|
99
116
|
}
|
|
100
117
|
catch {
|
|
101
|
-
|
|
118
|
+
// Fallback: legacy .hool/prompts/ location
|
|
119
|
+
try {
|
|
120
|
+
orchestratorContent = await fs.readFile(path.join(config.projectDir, '.hool', 'prompts', 'orchestrator.md'), 'utf-8');
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
orchestratorContent = '<!-- orchestrator.md not found — run hool init to generate -->';
|
|
124
|
+
}
|
|
102
125
|
}
|
|
126
|
+
content = generateClaudeMd(config, orchestratorContent);
|
|
103
127
|
}
|
|
104
|
-
|
|
105
|
-
// Replace between markers, append, or create new
|
|
128
|
+
// Replace between markers, prepend, or create new
|
|
106
129
|
try {
|
|
107
130
|
const existing = await fs.readFile(claudeMdPath, 'utf-8');
|
|
108
|
-
const
|
|
131
|
+
const startMatch = existing.match(HOOL_START_PATTERN);
|
|
109
132
|
const endIdx = existing.indexOf(HOOL_END_MARKER);
|
|
110
|
-
if (
|
|
111
|
-
// Marker-based replacement — clean upgrade path
|
|
112
|
-
const before = existing.slice(0,
|
|
133
|
+
if (startMatch && endIdx >= 0) {
|
|
134
|
+
// Marker-based replacement — clean upgrade path (handles both old and versioned markers)
|
|
135
|
+
const before = existing.slice(0, startMatch.index);
|
|
113
136
|
const after = existing.slice(endIdx + HOOL_END_MARKER.length);
|
|
114
137
|
await fs.writeFile(claudeMdPath, before + content + after, 'utf-8');
|
|
115
138
|
}
|
|
@@ -119,7 +142,8 @@ export class ClaudeCodeAdapter {
|
|
|
119
142
|
await fs.writeFile(claudeMdPath, existing.slice(0, legacyIdx) + content, 'utf-8');
|
|
120
143
|
}
|
|
121
144
|
else {
|
|
122
|
-
|
|
145
|
+
// No markers, no HOOL header — prepend HOOL block so it takes priority (LLMs read top-first)
|
|
146
|
+
await fs.writeFile(claudeMdPath, content + '\n\n' + existing, 'utf-8');
|
|
123
147
|
}
|
|
124
148
|
}
|
|
125
149
|
catch {
|
|
@@ -127,24 +151,17 @@ export class ClaudeCodeAdapter {
|
|
|
127
151
|
}
|
|
128
152
|
}
|
|
129
153
|
async installMcp(mcp) {
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
config = JSON.parse(raw);
|
|
136
|
-
}
|
|
137
|
-
catch {
|
|
138
|
-
// File doesn't exist or is invalid — start fresh
|
|
139
|
-
}
|
|
140
|
-
config[mcp.name] = mcp.configEntry;
|
|
141
|
-
await fs.writeFile(CLAUDE_MCP_CONFIG_PATH, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
154
|
+
const args = mcp.configEntry.args || [];
|
|
155
|
+
const command = mcp.configEntry.command || 'npx';
|
|
156
|
+
// Use claude mcp add CLI command — writes to the correct config location (~/.claude.json)
|
|
157
|
+
const cmd = `claude mcp add --transport stdio --scope user ${mcp.name} -- ${command} ${args.join(' ')}`;
|
|
158
|
+
await execAsync(cmd);
|
|
142
159
|
}
|
|
143
160
|
async isMcpInstalled(mcpName) {
|
|
144
161
|
try {
|
|
145
|
-
const raw = await fs.readFile(
|
|
162
|
+
const raw = await fs.readFile(path.join(os.homedir(), '.claude.json'), 'utf-8');
|
|
146
163
|
const config = JSON.parse(raw);
|
|
147
|
-
return mcpName in config;
|
|
164
|
+
return mcpName in (config.mcpServers || {});
|
|
148
165
|
}
|
|
149
166
|
catch {
|
|
150
167
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/types.d.ts
CHANGED
|
@@ -6,12 +6,14 @@ export interface McpDefinition {
|
|
|
6
6
|
configEntry: Record<string, unknown>;
|
|
7
7
|
}
|
|
8
8
|
export type ExecutionMode = 'interactive' | 'full-hool';
|
|
9
|
+
export type ProjectPreset = 'solo' | 'team';
|
|
9
10
|
export interface AdapterConfig {
|
|
10
11
|
platform: AgentPlatform;
|
|
11
12
|
projectType: ProjectType;
|
|
12
13
|
projectDir: string;
|
|
13
14
|
promptsDir: string;
|
|
14
15
|
mode: ExecutionMode;
|
|
16
|
+
preset: ProjectPreset;
|
|
15
17
|
}
|
|
16
18
|
export interface Adapter {
|
|
17
19
|
readonly platform: AgentPlatform;
|
package/dist/core/scaffold.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ProjectType, ExecutionMode, AgentPlatform } from '../adapters/types.js';
|
|
2
|
-
export declare function scaffoldProject(projectDir: string, projectType: ProjectType, mode?: ExecutionMode): Promise<void>;
|
|
3
|
-
export declare function scaffoldOnboard(projectDir: string, projectType: ProjectType, mode?: ExecutionMode): Promise<void>;
|
|
1
|
+
import type { ProjectType, ExecutionMode, AgentPlatform, ProjectPreset } from '../adapters/types.js';
|
|
2
|
+
export declare function scaffoldProject(projectDir: string, projectType: ProjectType, mode?: ExecutionMode, preset?: ProjectPreset): Promise<void>;
|
|
3
|
+
export declare function scaffoldOnboard(projectDir: string, projectType: ProjectType, mode?: ExecutionMode, preset?: ProjectPreset): Promise<void>;
|
|
4
4
|
export declare function reonboard(projectDir: string, mode?: ExecutionMode): Promise<void>;
|
|
5
5
|
export declare function copySkills(projectDir: string, promptsSourceDir: string): Promise<void>;
|
|
6
6
|
export declare function copyChecklists(projectDir: string, promptsSourceDir: string): Promise<void>;
|
|
@@ -10,4 +10,4 @@ export declare function writeAgentManifest(projectDir: string): Promise<void>;
|
|
|
10
10
|
* Copy platform-specific agent definitions, hooks, and settings.
|
|
11
11
|
* Source files come from hool-mini templates (bundled with CLI).
|
|
12
12
|
*/
|
|
13
|
-
export declare function copyPlatformFiles(projectDir: string, templateRootDir: string, platform: AgentPlatform): Promise<void>;
|
|
13
|
+
export declare function copyPlatformFiles(projectDir: string, templateRootDir: string, platform: AgentPlatform, preset?: ProjectPreset): Promise<void>;
|