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.
Files changed (49) hide show
  1. package/agents/claude/be-dev.md +147 -0
  2. package/agents/claude/be-tech-lead.md +201 -0
  3. package/agents/claude/fe-dev.md +137 -0
  4. package/agents/claude/fe-tech-lead.md +186 -0
  5. package/agents/claude/forensic.md +138 -0
  6. package/agents/claude/governor.md +90 -0
  7. package/agents/claude/qa.md +163 -0
  8. package/agents/cursor/be-dev.md +41 -0
  9. package/agents/cursor/be-tech-lead.md +47 -0
  10. package/agents/cursor/fe-dev.md +39 -0
  11. package/agents/cursor/fe-tech-lead.md +47 -0
  12. package/agents/cursor/forensic.md +39 -0
  13. package/agents/cursor/governor.md +37 -0
  14. package/agents/cursor/qa.md +40 -0
  15. package/dist/adapters/claude-code.js +7 -7
  16. package/dist/adapters/cursor.js +3 -3
  17. package/dist/adapters/generic.js +3 -3
  18. package/dist/core/scaffold.d.ts +6 -1
  19. package/dist/core/scaffold.js +164 -40
  20. package/dist/core/scaffold.js.map +1 -1
  21. package/dist/index.js +56 -24
  22. package/dist/index.js.map +1 -1
  23. package/dist/mcps/registry.js +2 -2
  24. package/dist/mcps/registry.js.map +1 -1
  25. package/hooks/agent-checklist.sh +17 -0
  26. package/hooks/block-pl-src-write.sh +21 -0
  27. package/hooks/inject-pl-context.sh +32 -0
  28. package/hooks/track-prompt-count.sh +50 -0
  29. package/package.json +6 -2
  30. package/prompts/agents/05-fe-tech-lead.md +47 -47
  31. package/prompts/agents/06-be-tech-lead.md +44 -44
  32. package/prompts/agents/08-be-dev.md +37 -37
  33. package/prompts/agents/08-fe-dev.md +37 -37
  34. package/prompts/agents/10-qa.md +36 -36
  35. package/prompts/agents/11-forensic.md +24 -24
  36. package/prompts/agents/governor.md +25 -25
  37. package/prompts/orchestrator.md +203 -203
  38. package/prompts/skills/01-brainstorm.md +10 -10
  39. package/prompts/skills/02-spec.md +14 -14
  40. package/prompts/skills/03-design.md +21 -21
  41. package/prompts/skills/04-architecture.md +23 -23
  42. package/rules/cursor/be-dev.mdc +38 -0
  43. package/rules/cursor/be-tech-lead.mdc +39 -0
  44. package/rules/cursor/fe-dev.mdc +36 -0
  45. package/rules/cursor/fe-tech-lead.mdc +39 -0
  46. package/rules/cursor/forensic.mdc +35 -0
  47. package/rules/cursor/governor.mdc +33 -0
  48. package/rules/cursor/qa.mdc +35 -0
  49. 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
- // Prompts source: check bundled (npm install), then monorepo dev paths
18
- async function getPromptsSourceDir() {
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, '..', 'prompts'), // npm: cli/dist/ -> cli/prompts/ (bundled)
21
- path.resolve(__dirname, '..', '..', 'hool-mini', 'prompts'), // dev: cli/src/ -> hool/hool-mini/prompts/
22
- path.resolve(__dirname, '..', '..', '..', 'hool-mini', 'prompts'), // dev: cli/dist/ -> hool/hool-mini/prompts/
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
- await fs.access(dir);
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
- return candidates[0]; // fallback will fail with a clear error
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 promptsDir = await getPromptsSourceDir();
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. Inject platform instructions
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
- // 6. Check & install MCPs
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 promptsDir = await getPromptsSourceDir();
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. Inject platform instructions
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
- // 7. Check & install MCPs
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 (operations/ not found). Run `hool init` first.\n'));
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":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAS,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEpI,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,iCAAiC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5D,uEAAuE;AACvE,KAAK,UAAU,mBAAmB;IAChC,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,EAAG,2CAA2C;QACtF,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAAG,2CAA2C;QACzG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAAG,4CAA4C;KACjH,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;AAClE,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,iEAAiE,CAAC;KAC9E,OAAO,CAAC,WAAW,CAAC,CAAC;AAExB,8DAA8D;AAE9D,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC;KAC9E,MAAM,CAAC,mBAAmB,EAAE,qGAAqG,CAAC;KAClI,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,gCAAgC;IAChC,MAAM,QAAQ,GAAkB,IAAI,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAgB;QAC3E,OAAO,EAAE,qCAAqC;QAC9C,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;YAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;SAC9C;KACF,CAAC,CAAC;IAEH,oCAAoC;IACpC,MAAM,WAAW,GAAgB,IAAI,CAAC,IAAI,IAAI,MAAM,MAAM,CAAc;QACtE,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;YAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;YAC/C,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,gBAAgB,EAAE;YACzD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,WAAW,EAAE;YAClD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;YACvC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE;YACjD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE;YACjD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAClC;KACF,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,IAAI,GAAkB,IAAI,CAAC,IAAI,IAAI,MAAM,MAAM,CAAgB;QACnE,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,iEAAiE,EAAE,KAAK,EAAE,aAAa,EAAE;YACjG,EAAE,IAAI,EAAE,qDAAqD,EAAE,KAAK,EAAE,WAAW,EAAE;SACpF;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAkB;QAC5B,QAAQ;QACR,WAAW;QACX,UAAU;QACV,UAAU;QACV,IAAI;KACL,CAAC;IAEF,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAC/D,MAAM,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAE1D,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qFAAqF,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,kCAAkC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,QAAQ,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,QAAQ,wBAAwB,CAAC,CAAC,CAAC;IAElE,0BAA0B;IAC1B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAExE,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAE5E,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,6DAA6D;AAE7D,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sEAAsE,CAAC;KACnF,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,CAAC;KAC9E,MAAM,CAAC,mBAAmB,EAAE,qGAAqG,CAAC;KAClI,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;IAEjE,qEAAqE;IACrE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAChD,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;YAC5B,OAAO,EAAE,4FAA4F;YACrG,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAExC,IAAI,WAAW,EAAE,CAAC;QAChB,kFAAkF;QAClF,IAAI,IAAI,GAAkB,aAAa,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mCAAmC,CAAC,EAAE,OAAO,CAAC,CAAC;YACvG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACrD,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;gBACtE,IAAI,GAAG,KAAK,CAAC,CAAC,CAAkB,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC/C,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,yBAAyB,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,+BAA+B;QAE/B,gCAAgC;QAChC,MAAM,QAAQ,GAAkB,IAAI,CAAC,QAAQ,IAAI,MAAM,MAAM,CAAgB;YAC3E,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;gBAC7C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;aAC9C;SACF,CAAC,CAAC;QAEH,oCAAoC;QACpC,MAAM,WAAW,GAAgB,IAAI,CAAC,IAAI,IAAI,MAAM,MAAM,CAAc;YACtE,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;gBAC/C,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACzD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,WAAW,EAAE;gBAClD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE;gBACjD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;aAClC;SACF,CAAC,CAAC;QAEH,sCAAsC;QACtC,MAAM,IAAI,GAAkB,IAAI,CAAC,IAAI,IAAI,MAAM,MAAM,CAAgB;YACnE,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,iEAAiE,EAAE,KAAK,EAAE,aAAa,EAAE;gBACjG,EAAE,IAAI,EAAE,0CAA0C,EAAE,KAAK,EAAE,WAAW,EAAE;aACzE;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAkB;YAC5B,QAAQ;YACR,WAAW;YACX,UAAU;YACV,UAAU;YACV,IAAI;SACL,CAAC;QAEF,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,MAAM,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAEjF,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qFAAqF,CAAC,CAAC,CAAC;QACnH,CAAC;QAED,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,QAAQ,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,QAAQ,wBAAwB,CAAC,CAAC,CAAC;QAElE,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC;gBAChE,CAAC;qBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAExE,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAE5E,UAAU;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7D,MAAM,cAAc,GAAG,QAAQ,KAAK,aAAa;YAC/C,CAAC,CAAC;gBACE,EAAE;gBACF,yCAAyC;gBACzC,cAAc;gBACd,6DAA6D;gBAC7D,EAAE;gBACF,mEAAmE;gBACnE,yEAAyE;aAC1E,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBACrB,CAAC,CAAC;oBACE,EAAE;oBACF,yCAAyC;oBACzC,oCAAoC;oBACpC,gFAAgF;oBAChF,EAAE;oBACF,qFAAqF;iBACtF,CAAC,IAAI,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC;oBACE,EAAE;oBACF,yCAAyC;oBACzC,iDAAiD;oBACjD,kCAAkC;oBAClC,gFAAgF;iBACjF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,8DAA8D;AAE9D,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,6BAA6B,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,EAAE,OAAO,CAAC,CAAC;QAChG,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kCAAkC,CAAC,EAAE,OAAO,CAAC,CAAC;QAErG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/D,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAChE,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,gBAAgB,cAAc,EAAE,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;QAEnC,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC5G,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC,CAAC;IACrG,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,8DAA8D;AAE9D,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,2FAA2F;QACpG,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,MAAM,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClH,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC;AAEL,6DAA6D;AAE7D,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yDAAyD,CAAC;KACtE,QAAQ,CAAC,YAAY,EAAE,kDAAkD,CAAC;KAC1E,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,IAAqB,EAAE,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mCAAmC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;IAEvE,IAAI,CAAC;QACH,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QAE7E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,IAAI,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,OAAO,uCAAuC,CAAC,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,WAAW,UAAU,CAAC,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAElD,0BAA0B;QAC1B,IAAI,CAAC;YACH,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;QAE1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,WAAW,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ export const MCP_REGISTRY = {
9
9
  },
10
10
  playwright: {
11
11
  name: 'playwright',
12
- installCommand: 'npx @anthropic/mcp-playwright',
12
+ installCommand: 'npx -y @playwright/mcp',
13
13
  configEntry: {
14
14
  command: 'npx',
15
- args: ['@anthropic/mcp-playwright'],
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,+BAA+B;QAC/C,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,2BAA2B,CAAC;SACpC;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"}
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.2",
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 `operations/needs-human-review.md` — never modify your own prompt.
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