hool-cli 0.3.2 → 0.4.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/agents/claude/be-dev.md +147 -0
- package/agents/claude/be-tech-lead.md +201 -0
- package/agents/claude/fe-dev.md +137 -0
- package/agents/claude/fe-tech-lead.md +186 -0
- package/agents/claude/forensic.md +138 -0
- package/agents/claude/governor.md +90 -0
- package/agents/claude/qa.md +163 -0
- package/agents/cursor/be-dev.md +41 -0
- package/agents/cursor/be-tech-lead.md +47 -0
- package/agents/cursor/fe-dev.md +39 -0
- package/agents/cursor/fe-tech-lead.md +47 -0
- package/agents/cursor/forensic.md +39 -0
- package/agents/cursor/governor.md +37 -0
- package/agents/cursor/qa.md +40 -0
- package/dist/adapters/claude-code.js +7 -7
- package/dist/adapters/cursor.js +3 -3
- package/dist/adapters/generic.js +3 -3
- package/dist/core/scaffold.d.ts +6 -1
- package/dist/core/scaffold.js +164 -40
- package/dist/core/scaffold.js.map +1 -1
- package/dist/index.js +56 -24
- package/dist/index.js.map +1 -1
- package/dist/mcps/registry.js +2 -2
- package/dist/mcps/registry.js.map +1 -1
- package/hooks/agent-checklist.sh +17 -0
- package/hooks/block-pl-src-write.sh +21 -0
- package/hooks/inject-pl-context.sh +32 -0
- package/hooks/track-prompt-count.sh +50 -0
- package/package.json +6 -2
- package/prompts/agents/05-fe-tech-lead.md +47 -47
- package/prompts/agents/06-be-tech-lead.md +44 -44
- package/prompts/agents/08-be-dev.md +37 -37
- package/prompts/agents/08-fe-dev.md +37 -37
- package/prompts/agents/10-qa.md +36 -36
- package/prompts/agents/11-forensic.md +24 -24
- package/prompts/agents/governor.md +25 -25
- package/prompts/orchestrator.md +203 -203
- package/prompts/skills/01-brainstorm.md +10 -10
- package/prompts/skills/02-spec.md +14 -14
- package/prompts/skills/03-design.md +21 -21
- package/prompts/skills/04-architecture.md +23 -23
- package/rules/cursor/be-dev.mdc +38 -0
- package/rules/cursor/be-tech-lead.mdc +39 -0
- package/rules/cursor/fe-dev.mdc +36 -0
- package/rules/cursor/fe-tech-lead.mdc +39 -0
- package/rules/cursor/forensic.mdc +35 -0
- package/rules/cursor/governor.mdc +33 -0
- package/rules/cursor/qa.mdc +35 -0
- package/settings/claude-settings.json +64 -0
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import chalk from 'chalk';
|
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import fs from 'fs/promises';
|
|
7
7
|
import { fileURLToPath } from 'url';
|
|
8
|
-
import { scaffoldProject, scaffoldOnboard, reonboard, copyPrompts, writeMcpManifest, writeAgentManifest } from './core/scaffold.js';
|
|
8
|
+
import { scaffoldProject, scaffoldOnboard, reonboard, copyPrompts, writeMcpManifest, writeAgentManifest, copyPlatformFiles } from './core/scaffold.js';
|
|
9
9
|
import { createAdapter } from './adapters/index.js';
|
|
10
10
|
import { checkAndInstallMcps } from './mcps/installer.js';
|
|
11
11
|
import { getRequiredMcpNames } from './mcps/registry.js';
|
|
@@ -14,21 +14,33 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
14
14
|
import { createRequire } from 'module';
|
|
15
15
|
const require = createRequire(import.meta.url);
|
|
16
16
|
const { version: PKG_VERSION } = require('../package.json');
|
|
17
|
-
//
|
|
18
|
-
|
|
17
|
+
// Template root: check monorepo dev paths first (hool-mini has agents/hooks/settings),
|
|
18
|
+
// then bundled (npm install where prepublishOnly copies them alongside dist/).
|
|
19
|
+
// Returns the directory that contains prompts/, agents/, hooks/, settings/
|
|
20
|
+
async function getTemplateRootDir() {
|
|
19
21
|
const candidates = [
|
|
20
|
-
path.resolve(__dirname, '..', '
|
|
21
|
-
path.resolve(__dirname, '..', '..', '
|
|
22
|
-
path.resolve(__dirname, '..'
|
|
22
|
+
path.resolve(__dirname, '..', '..', 'hool-mini'), // dev: cli/src/ -> hool/hool-mini/
|
|
23
|
+
path.resolve(__dirname, '..', '..', '..', 'hool-mini'), // dev: cli/dist/ -> hool/hool-mini/
|
|
24
|
+
path.resolve(__dirname, '..'), // npm: cli/dist/ -> cli/ (bundled prompts/agents/hooks/settings alongside dist/)
|
|
23
25
|
];
|
|
24
26
|
for (const dir of candidates) {
|
|
25
27
|
try {
|
|
26
|
-
|
|
28
|
+
// Check for prompts/ AND agents/ to ensure it's a complete template root
|
|
29
|
+
await fs.access(path.join(dir, 'prompts'));
|
|
30
|
+
await fs.access(path.join(dir, 'agents'));
|
|
27
31
|
return dir;
|
|
28
32
|
}
|
|
29
33
|
catch { /* not found, try next */ }
|
|
30
34
|
}
|
|
31
|
-
|
|
35
|
+
// Fallback: just check prompts/ (handles incomplete bundles)
|
|
36
|
+
for (const dir of candidates) {
|
|
37
|
+
try {
|
|
38
|
+
await fs.access(path.join(dir, 'prompts'));
|
|
39
|
+
return dir;
|
|
40
|
+
}
|
|
41
|
+
catch { /* not found, try next */ }
|
|
42
|
+
}
|
|
43
|
+
return candidates[0]; // last resort
|
|
32
44
|
}
|
|
33
45
|
const program = new Command();
|
|
34
46
|
program
|
|
@@ -78,7 +90,8 @@ program
|
|
|
78
90
|
],
|
|
79
91
|
});
|
|
80
92
|
const adapter = createAdapter(platform);
|
|
81
|
-
const
|
|
93
|
+
const templateRootDir = await getTemplateRootDir();
|
|
94
|
+
const promptsDir = path.join(templateRootDir, 'prompts');
|
|
82
95
|
const config = {
|
|
83
96
|
platform,
|
|
84
97
|
projectType,
|
|
@@ -99,11 +112,20 @@ program
|
|
|
99
112
|
catch {
|
|
100
113
|
console.log(chalk.yellow(' ⚠ Could not copy prompts (source not found). Copy them manually to .hool/prompts/'));
|
|
101
114
|
}
|
|
102
|
-
// 5.
|
|
115
|
+
// 5. Copy platform-specific files (agents, hooks, settings)
|
|
116
|
+
console.log(chalk.dim(' Copying platform files (agents, hooks, settings)...'));
|
|
117
|
+
try {
|
|
118
|
+
await copyPlatformFiles(projectDir, templateRootDir, platform);
|
|
119
|
+
console.log(chalk.green(` ✓ Platform files copied for ${platform}`));
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
console.log(chalk.yellow(` ⚠ Could not copy platform files (source not found).`));
|
|
123
|
+
}
|
|
124
|
+
// 6. Inject platform instructions
|
|
103
125
|
console.log(chalk.dim(` Configuring for ${platform}...`));
|
|
104
126
|
await adapter.injectInstructions(config);
|
|
105
127
|
console.log(chalk.green(` ✓ ${platform} instructions injected`));
|
|
106
|
-
//
|
|
128
|
+
// 7. Check & install MCPs
|
|
107
129
|
if (platform !== 'generic') {
|
|
108
130
|
console.log(chalk.dim(' Checking MCPs...'));
|
|
109
131
|
const results = await checkAndInstallMcps(adapter, config);
|
|
@@ -164,7 +186,7 @@ program
|
|
|
164
186
|
// Re-onboard: read existing mode from project profile, flip phase + prepend tasks
|
|
165
187
|
let mode = 'interactive';
|
|
166
188
|
try {
|
|
167
|
-
const profile = await fs.readFile(path.join(projectDir, 'phases/00-init/project-profile.md'), 'utf-8');
|
|
189
|
+
const profile = await fs.readFile(path.join(projectDir, '.hool/phases/00-init/project-profile.md'), 'utf-8');
|
|
168
190
|
const match = profile.match(/\*\*Mode\*\*:\s*(\S+)/);
|
|
169
191
|
if (match && (match[1] === 'interactive' || match[1] === 'full-hool')) {
|
|
170
192
|
mode = match[1];
|
|
@@ -212,7 +234,8 @@ program
|
|
|
212
234
|
],
|
|
213
235
|
});
|
|
214
236
|
const adapter = createAdapter(platform);
|
|
215
|
-
const
|
|
237
|
+
const templateRootDir = await getTemplateRootDir();
|
|
238
|
+
const promptsDir = path.join(templateRootDir, 'prompts');
|
|
216
239
|
const config = {
|
|
217
240
|
platform,
|
|
218
241
|
projectType,
|
|
@@ -233,11 +256,20 @@ program
|
|
|
233
256
|
catch {
|
|
234
257
|
console.log(chalk.yellow(' ⚠ Could not copy prompts (source not found). Copy them manually to .hool/prompts/'));
|
|
235
258
|
}
|
|
236
|
-
// 6.
|
|
259
|
+
// 6. Copy platform-specific files (agents, hooks, settings)
|
|
260
|
+
console.log(chalk.dim(' Copying platform files (agents, hooks, settings)...'));
|
|
261
|
+
try {
|
|
262
|
+
await copyPlatformFiles(projectDir, templateRootDir, platform);
|
|
263
|
+
console.log(chalk.green(` ✓ Platform files copied for ${platform}`));
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
console.log(chalk.yellow(` ⚠ Could not copy platform files (source not found).`));
|
|
267
|
+
}
|
|
268
|
+
// 7. Inject platform instructions
|
|
237
269
|
console.log(chalk.dim(` Configuring for ${platform}...`));
|
|
238
270
|
await adapter.injectInstructions(config);
|
|
239
271
|
console.log(chalk.green(` ✓ ${platform} instructions injected`));
|
|
240
|
-
//
|
|
272
|
+
// 8. Check & install MCPs
|
|
241
273
|
if (platform !== 'generic') {
|
|
242
274
|
console.log(chalk.dim(' Checking MCPs...'));
|
|
243
275
|
const results = await checkAndInstallMcps(adapter, config);
|
|
@@ -302,10 +334,10 @@ program
|
|
|
302
334
|
.action(async (opts) => {
|
|
303
335
|
const projectDir = path.resolve(opts.dir);
|
|
304
336
|
try {
|
|
305
|
-
const phase = await fs.readFile(path.join(projectDir, 'operations/current-phase.md'), 'utf-8');
|
|
306
|
-
const taskBoard = await fs.readFile(path.join(projectDir, 'operations/task-board.md'), 'utf-8');
|
|
307
|
-
const bugs = await fs.readFile(path.join(projectDir, 'operations/bugs.md'), 'utf-8');
|
|
308
|
-
const review = await fs.readFile(path.join(projectDir, 'operations/needs-human-review.md'), 'utf-8');
|
|
337
|
+
const phase = await fs.readFile(path.join(projectDir, '.hool/operations/current-phase.md'), 'utf-8');
|
|
338
|
+
const taskBoard = await fs.readFile(path.join(projectDir, '.hool/operations/task-board.md'), 'utf-8');
|
|
339
|
+
const bugs = await fs.readFile(path.join(projectDir, '.hool/operations/bugs.md'), 'utf-8');
|
|
340
|
+
const review = await fs.readFile(path.join(projectDir, '.hool/operations/needs-human-review.md'), 'utf-8');
|
|
309
341
|
console.log(chalk.bold('\n HOOL Status\n'));
|
|
310
342
|
console.log(chalk.dim(' ── Phase ──'));
|
|
311
343
|
console.log(' ' + phase.split('\n').slice(0, 5).join('\n '));
|
|
@@ -322,7 +354,7 @@ program
|
|
|
322
354
|
console.log('');
|
|
323
355
|
}
|
|
324
356
|
catch {
|
|
325
|
-
console.log(chalk.red('\n Not a HOOL project (
|
|
357
|
+
console.log(chalk.red('\n Not a HOOL project (.hool/ not found). Run `hool init` first.\n'));
|
|
326
358
|
}
|
|
327
359
|
});
|
|
328
360
|
// ── hool reset ─────────────────────────────────────────────
|
|
@@ -344,12 +376,12 @@ program
|
|
|
344
376
|
const { getOperationTemplates, getMemoryHeaders } = await import('./core/templates.js');
|
|
345
377
|
const opTemplates = getOperationTemplates();
|
|
346
378
|
for (const [filename, content] of Object.entries(opTemplates)) {
|
|
347
|
-
await fs.writeFile(path.join(projectDir, 'operations', filename), content, 'utf-8');
|
|
379
|
+
await fs.writeFile(path.join(projectDir, '.hool/operations', filename), content, 'utf-8');
|
|
348
380
|
}
|
|
349
381
|
const agents = ['product-lead', 'fe-tech-lead', 'be-tech-lead', 'fe-dev', 'be-dev', 'qa', 'forensic', 'governor'];
|
|
350
382
|
const memoryHeaders = getMemoryHeaders();
|
|
351
383
|
for (const agent of agents) {
|
|
352
|
-
const agentDir = path.join(projectDir, 'memory', agent);
|
|
384
|
+
const agentDir = path.join(projectDir, '.hool/memory', agent);
|
|
353
385
|
await fs.mkdir(agentDir, { recursive: true });
|
|
354
386
|
for (const [filename, content] of Object.entries(memoryHeaders)) {
|
|
355
387
|
await fs.writeFile(path.join(agentDir, filename), content, 'utf-8');
|
|
@@ -365,8 +397,8 @@ program
|
|
|
365
397
|
.option('-d, --dir <path>', 'Project directory', '.')
|
|
366
398
|
.action(async (newMode, opts) => {
|
|
367
399
|
const projectDir = path.resolve(opts.dir);
|
|
368
|
-
const profilePath = path.join(projectDir, 'phases/00-init/project-profile.md');
|
|
369
|
-
const phasePath = path.join(projectDir, 'operations/current-phase.md');
|
|
400
|
+
const profilePath = path.join(projectDir, '.hool/phases/00-init/project-profile.md');
|
|
401
|
+
const phasePath = path.join(projectDir, '.hool/operations/current-phase.md');
|
|
370
402
|
try {
|
|
371
403
|
let profile = await fs.readFile(profilePath, 'utf-8');
|
|
372
404
|
const currentMode = profile.match(/\*\*Mode\*\*:\s*(\S+)/)?.[1] || 'unknown';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcps/registry.js
CHANGED
|
@@ -9,10 +9,10 @@ export const MCP_REGISTRY = {
|
|
|
9
9
|
},
|
|
10
10
|
playwright: {
|
|
11
11
|
name: 'playwright',
|
|
12
|
-
installCommand: 'npx @
|
|
12
|
+
installCommand: 'npx -y @playwright/mcp',
|
|
13
13
|
configEntry: {
|
|
14
14
|
command: 'npx',
|
|
15
|
-
args: ['@
|
|
15
|
+
args: ['-y', '@playwright/mcp'],
|
|
16
16
|
},
|
|
17
17
|
},
|
|
18
18
|
deepwiki: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/mcps/registry.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE,sBAAsB;QACtC,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC;SAC9B;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,cAAc,EAAE
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/mcps/registry.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE,sBAAsB;QACtC,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC;SAC9B;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,cAAc,EAAE,wBAAwB;QACxC,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC;SAChC;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC;SAC7B;KACF;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAkC;IAC1D,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;IACjD,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;IACtD,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;IAC1C,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;IACnD,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;IACpC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;IACpC,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;IACnC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;CAClC,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,WAAwB;IACtD,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAwB;IAC1D,OAAO,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Hook: Post-agent operational checklist reminder
|
|
3
|
+
# Type: Stop and SubagentStop
|
|
4
|
+
# Injects a reminder asking if the agent completed its operational duties
|
|
5
|
+
|
|
6
|
+
echo "OPERATIONAL CHECKLIST — Did you complete these before finishing?"
|
|
7
|
+
echo "[ ] Updated memory/cold.md with work log entries"
|
|
8
|
+
echo "[ ] Rebuilt memory/hot.md from cold log"
|
|
9
|
+
echo "[ ] Moved [GOTCHA]/[PATTERN] entries to best-practices.md"
|
|
10
|
+
echo "[ ] Logged any issues to operations/issues.md"
|
|
11
|
+
echo "[ ] Logged any inconsistencies to operations/inconsistencies.md"
|
|
12
|
+
echo "[ ] Marked task complete on operations/task-board.md"
|
|
13
|
+
echo "[ ] Verified no governor-feedback.md violations in your output"
|
|
14
|
+
echo ""
|
|
15
|
+
echo "If any items are incomplete, address them now before returning."
|
|
16
|
+
|
|
17
|
+
exit 0
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Hook: Block Product Lead (main agent) from writing to src/ directly
|
|
3
|
+
# Type: PreToolUse on Edit, Write
|
|
4
|
+
# Reads CLAUDE_TOOL_INPUT from stdin (JSON)
|
|
5
|
+
|
|
6
|
+
INPUT=$(cat)
|
|
7
|
+
FILE_PATH=$(echo "$INPUT" | grep -o '"file_path"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"file_path"[[:space:]]*:[[:space:]]*"//' | sed 's/"$//')
|
|
8
|
+
|
|
9
|
+
# Check if the file is in src/ or tests/
|
|
10
|
+
if echo "$FILE_PATH" | grep -qE '(^|/)src/|(^|/)tests/'; then
|
|
11
|
+
# This is the main agent trying to edit application code
|
|
12
|
+
# Subagents have their own identity and writable paths — they're allowed
|
|
13
|
+
# But we can't distinguish main vs subagent here, so we block at main level
|
|
14
|
+
# The hook only runs for the main conversation (PreToolUse)
|
|
15
|
+
echo "BLOCKED: Product Lead cannot edit files in src/ or tests/ directly."
|
|
16
|
+
echo "Dispatch the assigned agent (be-dev, fe-dev, qa) to make this change."
|
|
17
|
+
echo "See CLAUDE.md Forbidden Actions section."
|
|
18
|
+
exit 2
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
exit 0
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Hook: Inject Product Lead context on every user prompt
|
|
3
|
+
# Type: UserPromptSubmit — fires BEFORE Claude processes each user message
|
|
4
|
+
# Outputs JSON with additionalContext to remind the PL of its identity and state
|
|
5
|
+
|
|
6
|
+
PROJECT_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || echo '.')"
|
|
7
|
+
|
|
8
|
+
# Read current phase
|
|
9
|
+
PHASE="unknown"
|
|
10
|
+
if [ -f "$PROJECT_ROOT/.hool/operations/current-phase.md" ]; then
|
|
11
|
+
PHASE=$(head -5 "$PROJECT_ROOT/.hool/operations/current-phase.md" | grep -i "phase\|standby\|onboard" | head -1 | sed 's/^[[:space:]]*//' | tr -d '\n')
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
# Count pending tasks
|
|
15
|
+
PENDING=0
|
|
16
|
+
if [ -f "$PROJECT_ROOT/.hool/operations/task-board.md" ]; then
|
|
17
|
+
PENDING=$(grep -c '^\- \[ \]' "$PROJECT_ROOT/.hool/operations/task-board.md" 2>/dev/null | tr -d '\n' || echo "0")
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Check for items needing human review
|
|
21
|
+
REVIEW_ITEMS=0
|
|
22
|
+
if [ -f "$PROJECT_ROOT/.hool/operations/needs-human-review.md" ]; then
|
|
23
|
+
REVIEW_ITEMS=$(grep -c '^##\|^- ' "$PROJECT_ROOT/.hool/operations/needs-human-review.md" 2>/dev/null | tr -d '\n' || echo "0")
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
# Build context as a single line (JSON-safe)
|
|
27
|
+
CONTEXT="HOOL PRODUCT LEAD CONTEXT | Current: ${PHASE} | Pending tasks: ${PENDING} | Human review items: ${REVIEW_ITEMS} | RULES: (1) NEVER edit src/ or tests/ - dispatch agents via .claude/agents/{name}.md (2) Read .hool/operations/current-phase.md and task-board.md FIRST (3) All state in .hool/ (memory/, phases/, operations/) (4) After every 3 agent dispatches, run the governor (5) No task too small for dispatch (6) If pending tasks exist, tell user and ask if you should proceed"
|
|
28
|
+
|
|
29
|
+
# Output valid JSON
|
|
30
|
+
printf '{"hookSpecificOutput":{"hookEventName":"UserPromptSubmit","additionalContext":"%s"}}\n' "$CONTEXT"
|
|
31
|
+
|
|
32
|
+
exit 0
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Hook: Track prompt/tool count and trigger governor every 3 dispatches
|
|
3
|
+
# Type: PostToolUse
|
|
4
|
+
# Outputs JSON with additionalContext when governor should run
|
|
5
|
+
|
|
6
|
+
PROJECT_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || echo '.')"
|
|
7
|
+
METRICS_DIR="$PROJECT_ROOT/.hool/metrics"
|
|
8
|
+
mkdir -p "$METRICS_DIR"
|
|
9
|
+
|
|
10
|
+
COUNTER_FILE="$METRICS_DIR/prompt-count.log"
|
|
11
|
+
SESSION_FILE="$METRICS_DIR/current-session.txt"
|
|
12
|
+
DISPATCH_FILE="$METRICS_DIR/dispatch-count.txt"
|
|
13
|
+
|
|
14
|
+
# Get or create session ID
|
|
15
|
+
if [ ! -f "$SESSION_FILE" ]; then
|
|
16
|
+
echo "session-$(date +%Y%m%d-%H%M%S)" > "$SESSION_FILE"
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
|
|
20
|
+
|
|
21
|
+
# Append to log
|
|
22
|
+
echo "$TIMESTAMP | tool-call" >> "$COUNTER_FILE"
|
|
23
|
+
|
|
24
|
+
# Track dispatch count (Agent tool calls specifically)
|
|
25
|
+
# Read from stdin to check tool name
|
|
26
|
+
INPUT=$(cat)
|
|
27
|
+
TOOL_NAME=$(echo "$INPUT" | grep -o '"tool_name"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"tool_name"[[:space:]]*:[[:space:]]*"//' | sed 's/"$//')
|
|
28
|
+
|
|
29
|
+
if [ "$TOOL_NAME" = "Agent" ]; then
|
|
30
|
+
# Increment dispatch counter
|
|
31
|
+
CURRENT=$(cat "$DISPATCH_FILE" 2>/dev/null || echo "0")
|
|
32
|
+
NEXT=$((CURRENT + 1))
|
|
33
|
+
echo "$NEXT" > "$DISPATCH_FILE"
|
|
34
|
+
|
|
35
|
+
# Check if divisible by 3
|
|
36
|
+
if [ $((NEXT % 3)) -eq 0 ]; then
|
|
37
|
+
# Output JSON to inject governor reminder into conversation
|
|
38
|
+
cat <<'JSONEOF'
|
|
39
|
+
{
|
|
40
|
+
"hookSpecificOutput": {
|
|
41
|
+
"hookEventName": "PostToolUse",
|
|
42
|
+
"additionalContext": "GOVERNOR CHECK: You have completed 3 agent dispatches since the last governor audit. Run the governor NOW before dispatching any more agents. Dispatch the governor agent (.claude/agents/governor.md) to audit recent agent activity."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
JSONEOF
|
|
46
|
+
exit 0
|
|
47
|
+
fi
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
exit 0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hool-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Agent-Driven SDLC — scaffold and configure HOOL for any project",
|
|
5
5
|
"bin": {
|
|
6
6
|
"hool": "./dist/index.js"
|
|
@@ -8,11 +8,15 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "tsc",
|
|
10
10
|
"dev": "tsx src/index.ts",
|
|
11
|
-
"prepublishOnly": "npm run build && rm -rf ./prompts && cp -R ../hool-mini/prompts ./prompts"
|
|
11
|
+
"prepublishOnly": "npm run build && rm -rf ./prompts ./agents ./rules ./hooks ./settings && cp -R ../hool-mini/prompts ./prompts && cp -R ../hool-mini/agents ./agents && cp -R ../hool-mini/rules ./rules && cp -R ../hool-mini/hooks ./hooks && cp -R ../hool-mini/settings ./settings"
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"dist",
|
|
15
15
|
"prompts",
|
|
16
|
+
"agents",
|
|
17
|
+
"rules",
|
|
18
|
+
"hooks",
|
|
19
|
+
"settings",
|
|
16
20
|
"README.md"
|
|
17
21
|
],
|
|
18
22
|
"dependencies": {
|
|
@@ -3,32 +3,32 @@ You are the FE Tech Lead. You own the frontend domain — architecture validatio
|
|
|
3
3
|
|
|
4
4
|
## Global Context (always loaded)
|
|
5
5
|
### Always Read
|
|
6
|
-
- phases/00-init/project-profile.md — project type, domain, constraints
|
|
7
|
-
- phases/04-architecture/architecture.md — stack, cross-cutting decisions
|
|
8
|
-
- operations/client-preferences.md — user's tech/product preferences (honour these)
|
|
9
|
-
- operations/governor-rules.md — hard rules that must never be violated
|
|
10
|
-
- memory/fe-tech-lead/hot.md — your hot context from prior invocations
|
|
11
|
-
- memory/fe-tech-lead/best-practices.md — accumulated patterns and gotchas
|
|
12
|
-
- memory/fe-tech-lead/issues.md — your personal issues log
|
|
13
|
-
- memory/fe-tech-lead/governor-feedback.md — governor corrections (treat as rules)
|
|
6
|
+
- .hool/phases/00-init/project-profile.md — project type, domain, constraints
|
|
7
|
+
- .hool/phases/04-architecture/architecture.md — stack, cross-cutting decisions
|
|
8
|
+
- .hool/operations/client-preferences.md — user's tech/product preferences (honour these)
|
|
9
|
+
- .hool/operations/governor-rules.md — hard rules that must never be violated
|
|
10
|
+
- .hool/memory/fe-tech-lead/hot.md — your hot context from prior invocations
|
|
11
|
+
- .hool/memory/fe-tech-lead/best-practices.md — accumulated patterns and gotchas
|
|
12
|
+
- .hool/memory/fe-tech-lead/issues.md — your personal issues log
|
|
13
|
+
- .hool/memory/fe-tech-lead/governor-feedback.md — governor corrections (treat as rules)
|
|
14
14
|
### Always Write
|
|
15
|
-
- memory/fe-tech-lead/cold.md — append every significant event
|
|
16
|
-
- memory/fe-tech-lead/hot.md — rebuild after each task from cold log
|
|
15
|
+
- .hool/memory/fe-tech-lead/cold.md — append every significant event
|
|
16
|
+
- .hool/memory/fe-tech-lead/hot.md — rebuild after each task from cold log
|
|
17
17
|
### On Invocation
|
|
18
|
-
When invoked with any task, check all memory files (hot.md, best-practices.md, issues.md) FIRST before starting work. Cross-reference with other agents' memory when relevant (e.g., memory/fe-dev/hot.md, memory/fe-dev/best-practices.md).
|
|
19
|
-
If you believe your own process or rules should change based on experience, escalate to
|
|
18
|
+
When invoked with any task, check all memory files (hot.md, best-practices.md, issues.md) FIRST before starting work. Cross-reference with other agents' memory when relevant (e.g., .hool/memory/fe-dev/hot.md, .hool/memory/fe-dev/best-practices.md).
|
|
19
|
+
If you believe your own process or rules should change based on experience, escalate to `.hool/operations/needs-human-review.md` — never modify your own prompt.
|
|
20
20
|
**Before submitting your work**, review `best-practices.md` and `governor-feedback.md` and verify you haven't violated any entries. If you did, fix it before returning.
|
|
21
21
|
|
|
22
22
|
## Phase 4: Architecture Validation
|
|
23
23
|
### Reads
|
|
24
|
-
- phases/04-architecture/contracts/ — API contracts to validate from FE perspective (read _index.md first, then domain files)
|
|
25
|
-
- phases/04-architecture/schema.md — data model context
|
|
26
|
-
- phases/04-architecture/flows/ — interaction flows (read all flow files)
|
|
27
|
-
- phases/03-design/design.md — what the UI needs
|
|
28
|
-
- phases/03-design/cards/*.html — visual reference for data requirements
|
|
24
|
+
- .hool/phases/04-architecture/contracts/ — API contracts to validate from FE perspective (read _index.md first, then domain files)
|
|
25
|
+
- .hool/phases/04-architecture/schema.md — data model context
|
|
26
|
+
- .hool/phases/04-architecture/flows/ — interaction flows (read all flow files)
|
|
27
|
+
- .hool/phases/03-design/design.md — what the UI needs
|
|
28
|
+
- .hool/phases/03-design/cards/*.html — visual reference for data requirements
|
|
29
29
|
### Writes
|
|
30
|
-
- phases/04-architecture/fe/ — FE validation notes (one file per concern)
|
|
31
|
-
- operations/inconsistencies.md — INC-XXX entries tagged [ARCH-VALIDATE]
|
|
30
|
+
- .hool/phases/04-architecture/fe/ — FE validation notes (one file per concern)
|
|
31
|
+
- .hool/operations/inconsistencies.md — INC-XXX entries tagged [ARCH-VALIDATE]
|
|
32
32
|
### Process
|
|
33
33
|
1. Read architecture doc, contracts, and design doc
|
|
34
34
|
2. Cross-validate contracts from the FE perspective. Flag issues like:
|
|
@@ -38,20 +38,20 @@ If you believe your own process or rules should change based on experience, esca
|
|
|
38
38
|
- Inconsistent naming between contract fields and design card labels
|
|
39
39
|
- Missing error codes the UI needs to handle (validation errors with field-level detail)
|
|
40
40
|
- Websocket/SSE needs not reflected in contracts
|
|
41
|
-
3. Write validation notes to phases/04-architecture/fe/
|
|
42
|
-
4. Log any inconsistencies to operations/inconsistencies.md with INC-XXX format
|
|
41
|
+
3. Write validation notes to .hool/phases/04-architecture/fe/
|
|
42
|
+
4. Log any inconsistencies to .hool/operations/inconsistencies.md with INC-XXX format
|
|
43
43
|
5. Log findings to work log
|
|
44
44
|
|
|
45
45
|
## Phase 5: Domain Architecture + Scaffold + LLD
|
|
46
46
|
### Reads
|
|
47
|
-
- phases/04-architecture/contracts/ — API shapes to build against
|
|
48
|
-
- phases/04-architecture/flows/ — user flows to support
|
|
49
|
-
- phases/03-design/design.md — visual requirements
|
|
50
|
-
- phases/03-design/cards/*.html — screen inventory for routing and components
|
|
51
|
-
- phases/02-spec/spec.md (and features/ if split) — acceptance criteria context
|
|
47
|
+
- .hool/phases/04-architecture/contracts/ — API shapes to build against
|
|
48
|
+
- .hool/phases/04-architecture/flows/ — user flows to support
|
|
49
|
+
- .hool/phases/03-design/design.md — visual requirements
|
|
50
|
+
- .hool/phases/03-design/cards/*.html — screen inventory for routing and components
|
|
51
|
+
- .hool/phases/02-spec/spec.md (and features/ if split) — acceptance criteria context
|
|
52
52
|
### Writes
|
|
53
|
-
- phases/05-fe-scaffold/fe-lld.md — LLD index with domain architecture decisions + rationale
|
|
54
|
-
- phases/05-fe-scaffold/pages/ — per-page implementation specs (for larger projects with 10+ pages)
|
|
53
|
+
- .hool/phases/05-fe-scaffold/fe-lld.md — LLD index with domain architecture decisions + rationale
|
|
54
|
+
- .hool/phases/05-fe-scaffold/pages/ — per-page implementation specs (for larger projects with 10+ pages)
|
|
55
55
|
- src/frontend/ — scaffolded project
|
|
56
56
|
### Process
|
|
57
57
|
1. Read architecture doc for stack and cross-cutting decisions
|
|
@@ -76,9 +76,9 @@ If you believe your own process or rules should change based on experience, esca
|
|
|
76
76
|
h. Set up API client — base HTTP client with base URL, auth headers, error handling
|
|
77
77
|
i. Create placeholder components — for every reusable component identified in design
|
|
78
78
|
j. Verify it runs — npm run dev (or equivalent) must work
|
|
79
|
-
6. Write FE LLD to phases/05-fe-scaffold/fe-lld.md using the output template below
|
|
79
|
+
6. Write FE LLD to .hool/phases/05-fe-scaffold/fe-lld.md using the output template below
|
|
80
80
|
|
|
81
|
-
### FE LLD Output Template: phases/05-fe-scaffold/fe-lld.md
|
|
81
|
+
### FE LLD Output Template: .hool/phases/05-fe-scaffold/fe-lld.md
|
|
82
82
|
```markdown
|
|
83
83
|
# Frontend Low-Level Design
|
|
84
84
|
|
|
@@ -130,27 +130,27 @@ How logging works. Where logs go. How to read them.
|
|
|
130
130
|
|
|
131
131
|
## Phase 9: Code Review
|
|
132
132
|
### Reads
|
|
133
|
-
- phases/04-architecture/contracts/ — contract compliance check
|
|
134
|
-
- phases/02-spec/spec.md (and features/ if split) — acceptance criteria check
|
|
135
|
-
- phases/03-design/cards/*.html — design compliance check
|
|
136
|
-
- phases/05-fe-scaffold/fe-lld.md — LLD compliance check
|
|
137
|
-
- phases/07-test-plan/test-plan.md — test coverage check
|
|
138
|
-
- memory/fe-dev/hot.md — what FE Dev has been doing
|
|
133
|
+
- .hool/phases/04-architecture/contracts/ — contract compliance check
|
|
134
|
+
- .hool/phases/02-spec/spec.md (and features/ if split) — acceptance criteria check
|
|
135
|
+
- .hool/phases/03-design/cards/*.html — design compliance check
|
|
136
|
+
- .hool/phases/05-fe-scaffold/fe-lld.md — LLD compliance check
|
|
137
|
+
- .hool/phases/07-test-plan/test-plan.md — test coverage check
|
|
138
|
+
- .hool/memory/fe-dev/hot.md — what FE Dev has been doing
|
|
139
139
|
### Writes
|
|
140
|
-
- operations/inconsistencies.md — INC-XXX entries for any issues found
|
|
140
|
+
- .hool/operations/inconsistencies.md — INC-XXX entries for any issues found
|
|
141
141
|
### Process
|
|
142
142
|
1. Read the code FE Dev produced for the task
|
|
143
143
|
2. Run the 6-point review checklist:
|
|
144
|
-
- **Contract compliance** — API calls match phases/04-architecture/contracts/ (endpoints, methods, request/response shapes, status codes handled)
|
|
145
|
-
- **Spec compliance** — acceptance criteria from phases/02-spec/spec.md are implemented, edge cases covered
|
|
146
|
-
- **Design compliance** — UI matches phases/03-design/cards/*.html, all states present (loading, error, empty, populated)
|
|
147
|
-
- **LLD compliance** — directory structure followed, conventions from phases/05-fe-scaffold/fe-lld.md respected
|
|
144
|
+
- **Contract compliance** — API calls match .hool/phases/04-architecture/contracts/ (endpoints, methods, request/response shapes, status codes handled)
|
|
145
|
+
- **Spec compliance** — acceptance criteria from .hool/phases/02-spec/spec.md are implemented, edge cases covered
|
|
146
|
+
- **Design compliance** — UI matches .hool/phases/03-design/cards/*.html, all states present (loading, error, empty, populated)
|
|
147
|
+
- **LLD compliance** — directory structure followed, conventions from .hool/phases/05-fe-scaffold/fe-lld.md respected
|
|
148
148
|
- **Code quality** — single responsibility, logging present, no hardcoded values, no security vulnerabilities (XSS, exposed secrets)
|
|
149
|
-
- **Test coverage** — tests exist and match phases/07-test-plan/test-plan.md for the relevant feature
|
|
149
|
+
- **Test coverage** — tests exist and match .hool/phases/07-test-plan/test-plan.md for the relevant feature
|
|
150
150
|
3. Determine outcome:
|
|
151
151
|
- All checks pass -> log pass with [REVIEW-FE]
|
|
152
|
-
- Code inconsistency found -> write to operations/inconsistencies.md with INC-XXX format
|
|
153
|
-
- Doc inconsistency found (spec says X, contract says Y) -> escalate to Product Lead via operations/inconsistencies.md
|
|
152
|
+
- Code inconsistency found -> write to .hool/operations/inconsistencies.md with INC-XXX format
|
|
153
|
+
- Doc inconsistency found (spec says X, contract says Y) -> escalate to Product Lead via .hool/operations/inconsistencies.md
|
|
154
154
|
|
|
155
155
|
## Work Log
|
|
156
156
|
### Tags
|
|
@@ -173,9 +173,9 @@ How logging works. Where logs go. How to read them.
|
|
|
173
173
|
- [REVIEW-FE] INC-012: contract missing field-level validation errors for signup form
|
|
174
174
|
```
|
|
175
175
|
### Compaction Rules
|
|
176
|
-
- Append every event to memory/fe-tech-lead/cold.md
|
|
177
|
-
- [GOTCHA], [PATTERN], [ARCH-FE], [ARCH-VALIDATE] entries go to memory/fe-tech-lead/best-practices.md (always verbatim, never compacted)
|
|
178
|
-
- After each task, rebuild memory/fe-tech-lead/hot.md:
|
|
176
|
+
- Append every event to .hool/memory/fe-tech-lead/cold.md
|
|
177
|
+
- [GOTCHA], [PATTERN], [ARCH-FE], [ARCH-VALIDATE] entries go to .hool/memory/fe-tech-lead/best-practices.md (always verbatim, never compacted)
|
|
178
|
+
- After each task, rebuild .hool/memory/fe-tech-lead/hot.md:
|
|
179
179
|
- **## Compact** — batch summary of oldest entries
|
|
180
180
|
- **## Summary** — up to 30 half-line summaries of middle entries
|
|
181
181
|
- **## Recent** — last 20 entries verbatim from cold
|