grimoire-framework 1.0.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 (1174) hide show
  1. package/.claude/CLAUDE.md +318 -0
  2. package/.claude/hooks/README.md +170 -0
  3. package/.claude/hooks/enforce-architecture-first.py +198 -0
  4. package/.claude/hooks/install-hooks.sh +43 -0
  5. package/.claude/hooks/mind-clone-governance.py +192 -0
  6. package/.claude/hooks/pre-commit-version-check.sh +157 -0
  7. package/.claude/hooks/precompact-session-digest.js +47 -0
  8. package/.claude/hooks/read-protection.py +153 -0
  9. package/.claude/hooks/slug-validation.py +176 -0
  10. package/.claude/hooks/sql-governance.py +182 -0
  11. package/.claude/hooks/synapse-engine.js +77 -0
  12. package/.claude/hooks/write-path-validation.py +196 -0
  13. package/.claude/rules/mcp-usage.md +177 -0
  14. package/.grimoire/cli/commands/config/index.js +609 -0
  15. package/.grimoire/cli/commands/generate/index.js +222 -0
  16. package/.grimoire/cli/commands/manifest/index.js +47 -0
  17. package/.grimoire/cli/commands/manifest/regenerate.js +97 -0
  18. package/.grimoire/cli/commands/manifest/validate.js +66 -0
  19. package/.grimoire/cli/commands/mcp/add.js +235 -0
  20. package/.grimoire/cli/commands/mcp/index.js +77 -0
  21. package/.grimoire/cli/commands/mcp/link.js +218 -0
  22. package/.grimoire/cli/commands/mcp/setup.js +165 -0
  23. package/.grimoire/cli/commands/mcp/status.js +184 -0
  24. package/.grimoire/cli/commands/metrics/cleanup.js +91 -0
  25. package/.grimoire/cli/commands/metrics/index.js +66 -0
  26. package/.grimoire/cli/commands/metrics/record.js +154 -0
  27. package/.grimoire/cli/commands/metrics/seed.js +127 -0
  28. package/.grimoire/cli/commands/metrics/show.js +209 -0
  29. package/.grimoire/cli/commands/migrate/analyze.js +355 -0
  30. package/.grimoire/cli/commands/migrate/backup.js +354 -0
  31. package/.grimoire/cli/commands/migrate/execute.js +294 -0
  32. package/.grimoire/cli/commands/migrate/index.js +443 -0
  33. package/.grimoire/cli/commands/migrate/rollback.js +325 -0
  34. package/.grimoire/cli/commands/migrate/update-imports.js +398 -0
  35. package/.grimoire/cli/commands/migrate/validate.js +454 -0
  36. package/.grimoire/cli/commands/pro/index.js +705 -0
  37. package/.grimoire/cli/commands/qa/index.js +57 -0
  38. package/.grimoire/cli/commands/qa/run.js +163 -0
  39. package/.grimoire/cli/commands/qa/status.js +195 -0
  40. package/.grimoire/cli/commands/validate/index.js +431 -0
  41. package/.grimoire/cli/commands/workers/formatters/info-formatter.js +275 -0
  42. package/.grimoire/cli/commands/workers/formatters/list-table.js +265 -0
  43. package/.grimoire/cli/commands/workers/formatters/list-tree.js +160 -0
  44. package/.grimoire/cli/commands/workers/index.js +57 -0
  45. package/.grimoire/cli/commands/workers/info.js +195 -0
  46. package/.grimoire/cli/commands/workers/list.js +215 -0
  47. package/.grimoire/cli/commands/workers/search-filters.js +185 -0
  48. package/.grimoire/cli/commands/workers/search-keyword.js +310 -0
  49. package/.grimoire/cli/commands/workers/search-semantic.js +294 -0
  50. package/.grimoire/cli/commands/workers/search.js +155 -0
  51. package/.grimoire/cli/commands/workers/utils/pagination.js +102 -0
  52. package/.grimoire/cli/index.js +150 -0
  53. package/.grimoire/cli/utils/output-formatter-cli.js +233 -0
  54. package/.grimoire/cli/utils/score-calculator.js +221 -0
  55. package/.grimoire/constitution.md +172 -0
  56. package/.grimoire/core/README.md +231 -0
  57. package/.grimoire/core/code-intel/code-intel-client.js +280 -0
  58. package/.grimoire/core/code-intel/code-intel-enricher.js +160 -0
  59. package/.grimoire/core/code-intel/index.js +137 -0
  60. package/.grimoire/core/code-intel/providers/code-graph-provider.js +201 -0
  61. package/.grimoire/core/code-intel/providers/provider-interface.js +108 -0
  62. package/.grimoire/core/config/config-cache.js +233 -0
  63. package/.grimoire/core/config/config-loader.js +281 -0
  64. package/.grimoire/core/config/config-resolver.js +609 -0
  65. package/.grimoire/core/config/env-interpolator.js +122 -0
  66. package/.grimoire/core/config/merge-utils.js +101 -0
  67. package/.grimoire/core/config/migrate-config.js +293 -0
  68. package/.grimoire/core/config/schemas/framework-config.schema.json +19 -0
  69. package/.grimoire/core/config/schemas/local-config.schema.json +20 -0
  70. package/.grimoire/core/config/schemas/project-config.schema.json +32 -0
  71. package/.grimoire/core/config/schemas/user-config.schema.json +33 -0
  72. package/.grimoire/core/config/templates/user-config.yaml +24 -0
  73. package/.grimoire/core/docs/SHARD-TRANSLATION-GUIDE.md +337 -0
  74. package/.grimoire/core/docs/component-creation-guide.md +459 -0
  75. package/.grimoire/core/docs/session-update-pattern.md +316 -0
  76. package/.grimoire/core/docs/template-syntax.md +267 -0
  77. package/.grimoire/core/docs/troubleshooting-guide.md +626 -0
  78. package/.grimoire/core/elicitation/agent-elicitation.js +272 -0
  79. package/.grimoire/core/elicitation/elicitation-engine.js +486 -0
  80. package/.grimoire/core/elicitation/session-manager.js +322 -0
  81. package/.grimoire/core/elicitation/task-elicitation.js +281 -0
  82. package/.grimoire/core/elicitation/workflow-elicitation.js +349 -0
  83. package/.grimoire/core/events/dashboard-emitter.js +369 -0
  84. package/.grimoire/core/events/index.js +17 -0
  85. package/.grimoire/core/events/types.js +52 -0
  86. package/.grimoire/core/execution/autonomous-build-loop.js +1068 -0
  87. package/.grimoire/core/execution/build-orchestrator.js +1055 -0
  88. package/.grimoire/core/execution/build-state-manager.js +1530 -0
  89. package/.grimoire/core/execution/context-injector.js +537 -0
  90. package/.grimoire/core/execution/parallel-executor.js +292 -0
  91. package/.grimoire/core/execution/parallel-monitor.js +429 -0
  92. package/.grimoire/core/execution/rate-limit-manager.js +314 -0
  93. package/.grimoire/core/execution/result-aggregator.js +486 -0
  94. package/.grimoire/core/execution/semantic-merge-engine.js +1736 -0
  95. package/.grimoire/core/execution/subagent-dispatcher.js +848 -0
  96. package/.grimoire/core/execution/wave-executor.js +397 -0
  97. package/.grimoire/core/health-check/base-check.js +224 -0
  98. package/.grimoire/core/health-check/check-registry.js +253 -0
  99. package/.grimoire/core/health-check/checks/deployment/build-config.js +111 -0
  100. package/.grimoire/core/health-check/checks/deployment/ci-config.js +125 -0
  101. package/.grimoire/core/health-check/checks/deployment/deployment-readiness.js +152 -0
  102. package/.grimoire/core/health-check/checks/deployment/docker-config.js +122 -0
  103. package/.grimoire/core/health-check/checks/deployment/env-file.js +111 -0
  104. package/.grimoire/core/health-check/checks/deployment/index.js +29 -0
  105. package/.grimoire/core/health-check/checks/index.js +56 -0
  106. package/.grimoire/core/health-check/checks/local/disk-space.js +214 -0
  107. package/.grimoire/core/health-check/checks/local/environment-vars.js +136 -0
  108. package/.grimoire/core/health-check/checks/local/git-install.js +158 -0
  109. package/.grimoire/core/health-check/checks/local/ide-detection.js +148 -0
  110. package/.grimoire/core/health-check/checks/local/index.js +35 -0
  111. package/.grimoire/core/health-check/checks/local/memory.js +138 -0
  112. package/.grimoire/core/health-check/checks/local/network.js +170 -0
  113. package/.grimoire/core/health-check/checks/local/npm-install.js +149 -0
  114. package/.grimoire/core/health-check/checks/local/shell-environment.js +120 -0
  115. package/.grimoire/core/health-check/checks/project/agent-config.js +167 -0
  116. package/.grimoire/core/health-check/checks/project/dependencies.js +150 -0
  117. package/.grimoire/core/health-check/checks/project/framework-config.js +133 -0
  118. package/.grimoire/core/health-check/checks/project/grimoire-directory.js +143 -0
  119. package/.grimoire/core/health-check/checks/project/index.js +35 -0
  120. package/.grimoire/core/health-check/checks/project/node-version.js +163 -0
  121. package/.grimoire/core/health-check/checks/project/package-json.js +107 -0
  122. package/.grimoire/core/health-check/checks/project/task-definitions.js +192 -0
  123. package/.grimoire/core/health-check/checks/project/workflow-dependencies.js +214 -0
  124. package/.grimoire/core/health-check/checks/repository/branch-protection.js +107 -0
  125. package/.grimoire/core/health-check/checks/repository/commit-history.js +144 -0
  126. package/.grimoire/core/health-check/checks/repository/conflicts.js +152 -0
  127. package/.grimoire/core/health-check/checks/repository/git-repo.js +159 -0
  128. package/.grimoire/core/health-check/checks/repository/git-status.js +149 -0
  129. package/.grimoire/core/health-check/checks/repository/gitignore.js +194 -0
  130. package/.grimoire/core/health-check/checks/repository/index.js +35 -0
  131. package/.grimoire/core/health-check/checks/repository/large-files.js +183 -0
  132. package/.grimoire/core/health-check/checks/repository/lockfile-integrity.js +144 -0
  133. package/.grimoire/core/health-check/checks/services/api-endpoints.js +168 -0
  134. package/.grimoire/core/health-check/checks/services/claude-code.js +139 -0
  135. package/.grimoire/core/health-check/checks/services/gemini-cli.js +241 -0
  136. package/.grimoire/core/health-check/checks/services/github-cli.js +117 -0
  137. package/.grimoire/core/health-check/checks/services/index.js +29 -0
  138. package/.grimoire/core/health-check/checks/services/mcp-integration.js +125 -0
  139. package/.grimoire/core/health-check/engine.js +407 -0
  140. package/.grimoire/core/health-check/healers/backup-manager.js +340 -0
  141. package/.grimoire/core/health-check/healers/index.js +330 -0
  142. package/.grimoire/core/health-check/index.js +370 -0
  143. package/.grimoire/core/health-check/reporters/console.js +331 -0
  144. package/.grimoire/core/health-check/reporters/index.js +117 -0
  145. package/.grimoire/core/health-check/reporters/json.js +301 -0
  146. package/.grimoire/core/health-check/reporters/markdown.js +323 -0
  147. package/.grimoire/core/ideation/ideation-engine.js +834 -0
  148. package/.grimoire/core/ids/README.md +123 -0
  149. package/.grimoire/core/ids/circuit-breaker.js +156 -0
  150. package/.grimoire/core/ids/framework-governor.js +567 -0
  151. package/.grimoire/core/ids/gates/g1-epic-creation.js +101 -0
  152. package/.grimoire/core/ids/gates/g2-story-creation.js +133 -0
  153. package/.grimoire/core/ids/gates/g3-story-validation.js +166 -0
  154. package/.grimoire/core/ids/gates/g4-dev-context.js +155 -0
  155. package/.grimoire/core/ids/incremental-decision-engine.js +651 -0
  156. package/.grimoire/core/ids/index.js +157 -0
  157. package/.grimoire/core/ids/registry-healer.js +868 -0
  158. package/.grimoire/core/ids/registry-loader.js +281 -0
  159. package/.grimoire/core/ids/registry-updater.js +703 -0
  160. package/.grimoire/core/ids/verification-gate.js +306 -0
  161. package/.grimoire/core/index.esm.js +44 -0
  162. package/.grimoire/core/index.js +90 -0
  163. package/.grimoire/core/manifest/manifest-generator.js +388 -0
  164. package/.grimoire/core/manifest/manifest-validator.js +431 -0
  165. package/.grimoire/core/mcp/config-migrator.js +341 -0
  166. package/.grimoire/core/mcp/global-config-manager.js +370 -0
  167. package/.grimoire/core/mcp/index.js +34 -0
  168. package/.grimoire/core/mcp/os-detector.js +189 -0
  169. package/.grimoire/core/mcp/symlink-manager.js +415 -0
  170. package/.grimoire/core/memory/__tests__/active-modules.verify.js +254 -0
  171. package/.grimoire/core/memory/gotchas-memory.js +1154 -0
  172. package/.grimoire/core/migration/migration-config.yaml +85 -0
  173. package/.grimoire/core/migration/module-mapping.yaml +91 -0
  174. package/.grimoire/core/orchestration/agent-invoker.js +612 -0
  175. package/.grimoire/core/orchestration/bob-orchestrator.js +1032 -0
  176. package/.grimoire/core/orchestration/bob-status-writer.js +482 -0
  177. package/.grimoire/core/orchestration/bob-surface-criteria.yaml +272 -0
  178. package/.grimoire/core/orchestration/brownfield-handler.js +741 -0
  179. package/.grimoire/core/orchestration/checklist-runner.js +328 -0
  180. package/.grimoire/core/orchestration/cli-commands.js +581 -0
  181. package/.grimoire/core/orchestration/condition-evaluator.js +379 -0
  182. package/.grimoire/core/orchestration/context-manager.js +616 -0
  183. package/.grimoire/core/orchestration/dashboard-integration.js +520 -0
  184. package/.grimoire/core/orchestration/data-lifecycle-manager.js +357 -0
  185. package/.grimoire/core/orchestration/epic-context-accumulator.js +396 -0
  186. package/.grimoire/core/orchestration/execution-profile-resolver.js +107 -0
  187. package/.grimoire/core/orchestration/executor-assignment.js +413 -0
  188. package/.grimoire/core/orchestration/executors/epic-3-executor.js +223 -0
  189. package/.grimoire/core/orchestration/executors/epic-4-executor.js +269 -0
  190. package/.grimoire/core/orchestration/executors/epic-5-executor.js +329 -0
  191. package/.grimoire/core/orchestration/executors/epic-6-executor.js +265 -0
  192. package/.grimoire/core/orchestration/executors/epic-executor.js +237 -0
  193. package/.grimoire/core/orchestration/executors/index.js +86 -0
  194. package/.grimoire/core/orchestration/gate-evaluator.js +495 -0
  195. package/.grimoire/core/orchestration/gemini-model-selector.js +161 -0
  196. package/.grimoire/core/orchestration/greenfield-handler.js +890 -0
  197. package/.grimoire/core/orchestration/index.js +323 -0
  198. package/.grimoire/core/orchestration/lock-manager.js +327 -0
  199. package/.grimoire/core/orchestration/master-orchestrator.js +1544 -0
  200. package/.grimoire/core/orchestration/message-formatter.js +279 -0
  201. package/.grimoire/core/orchestration/parallel-executor.js +225 -0
  202. package/.grimoire/core/orchestration/recovery-handler.js +721 -0
  203. package/.grimoire/core/orchestration/session-state.js +876 -0
  204. package/.grimoire/core/orchestration/skill-dispatcher.js +364 -0
  205. package/.grimoire/core/orchestration/subagent-prompt-builder.js +370 -0
  206. package/.grimoire/core/orchestration/surface-checker.js +403 -0
  207. package/.grimoire/core/orchestration/task-complexity-classifier.js +123 -0
  208. package/.grimoire/core/orchestration/tech-stack-detector.js +599 -0
  209. package/.grimoire/core/orchestration/terminal-spawner.js +1044 -0
  210. package/.grimoire/core/orchestration/workflow-executor.js +1182 -0
  211. package/.grimoire/core/orchestration/workflow-orchestrator.js +907 -0
  212. package/.grimoire/core/permissions/__tests__/permission-mode.test.js +293 -0
  213. package/.grimoire/core/permissions/index.js +140 -0
  214. package/.grimoire/core/permissions/operation-guard.js +395 -0
  215. package/.grimoire/core/permissions/permission-mode.js +271 -0
  216. package/.grimoire/core/quality-gates/base-layer.js +134 -0
  217. package/.grimoire/core/quality-gates/checklist-generator.js +329 -0
  218. package/.grimoire/core/quality-gates/focus-area-recommender.js +361 -0
  219. package/.grimoire/core/quality-gates/human-review-orchestrator.js +530 -0
  220. package/.grimoire/core/quality-gates/layer1-precommit.js +336 -0
  221. package/.grimoire/core/quality-gates/layer2-pr-automation.js +331 -0
  222. package/.grimoire/core/quality-gates/layer3-human-review.js +350 -0
  223. package/.grimoire/core/quality-gates/notification-manager.js +551 -0
  224. package/.grimoire/core/quality-gates/quality-gate-config.yaml +87 -0
  225. package/.grimoire/core/quality-gates/quality-gate-manager.js +603 -0
  226. package/.grimoire/core/registry/README.md +181 -0
  227. package/.grimoire/core/registry/build-registry.js +454 -0
  228. package/.grimoire/core/registry/registry-loader.js +331 -0
  229. package/.grimoire/core/registry/registry-schema.json +168 -0
  230. package/.grimoire/core/registry/service-registry.json +6468 -0
  231. package/.grimoire/core/registry/validate-registry.js +341 -0
  232. package/.grimoire/core/session/context-detector.js +233 -0
  233. package/.grimoire/core/session/context-loader.js +443 -0
  234. package/.grimoire/core/synapse/context/context-builder.js +34 -0
  235. package/.grimoire/core/synapse/context/context-tracker.js +190 -0
  236. package/.grimoire/core/synapse/diagnostics/collectors/consistency-collector.js +168 -0
  237. package/.grimoire/core/synapse/diagnostics/collectors/hook-collector.js +129 -0
  238. package/.grimoire/core/synapse/diagnostics/collectors/manifest-collector.js +82 -0
  239. package/.grimoire/core/synapse/diagnostics/collectors/output-analyzer.js +134 -0
  240. package/.grimoire/core/synapse/diagnostics/collectors/pipeline-collector.js +75 -0
  241. package/.grimoire/core/synapse/diagnostics/collectors/quality-collector.js +252 -0
  242. package/.grimoire/core/synapse/diagnostics/collectors/relevance-matrix.js +174 -0
  243. package/.grimoire/core/synapse/diagnostics/collectors/safe-read-json.js +31 -0
  244. package/.grimoire/core/synapse/diagnostics/collectors/session-collector.js +102 -0
  245. package/.grimoire/core/synapse/diagnostics/collectors/timing-collector.js +126 -0
  246. package/.grimoire/core/synapse/diagnostics/collectors/uap-collector.js +83 -0
  247. package/.grimoire/core/synapse/diagnostics/report-formatter.js +485 -0
  248. package/.grimoire/core/synapse/diagnostics/synapse-diagnostics.js +95 -0
  249. package/.grimoire/core/synapse/domain/domain-loader.js +322 -0
  250. package/.grimoire/core/synapse/engine.js +380 -0
  251. package/.grimoire/core/synapse/layers/l0-constitution.js +80 -0
  252. package/.grimoire/core/synapse/layers/l1-global.js +102 -0
  253. package/.grimoire/core/synapse/layers/l2-agent.js +94 -0
  254. package/.grimoire/core/synapse/layers/l3-workflow.js +94 -0
  255. package/.grimoire/core/synapse/layers/l4-task.js +83 -0
  256. package/.grimoire/core/synapse/layers/l5-squad.js +244 -0
  257. package/.grimoire/core/synapse/layers/l6-keyword.js +154 -0
  258. package/.grimoire/core/synapse/layers/l7-star-command.js +169 -0
  259. package/.grimoire/core/synapse/layers/layer-processor.js +82 -0
  260. package/.grimoire/core/synapse/memory/memory-bridge.js +246 -0
  261. package/.grimoire/core/synapse/output/formatter.js +561 -0
  262. package/.grimoire/core/synapse/runtime/hook-runtime.js +61 -0
  263. package/.grimoire/core/synapse/scripts/generate-constitution.js +205 -0
  264. package/.grimoire/core/synapse/session/session-manager.js +403 -0
  265. package/.grimoire/core/synapse/utils/paths.js +57 -0
  266. package/.grimoire/core/synapse/utils/tokens.js +25 -0
  267. package/.grimoire/core/ui/index.js +43 -0
  268. package/.grimoire/core/ui/observability-panel.js +394 -0
  269. package/.grimoire/core/ui/panel-renderer.js +337 -0
  270. package/.grimoire/core/utils/output-formatter.js +299 -0
  271. package/.grimoire/core/utils/security-utils.js +336 -0
  272. package/.grimoire/core/utils/yaml-validator.js +416 -0
  273. package/.grimoire/core-config.yaml +357 -0
  274. package/.grimoire/data/agent-config-requirements.yaml +409 -0
  275. package/.grimoire/data/entity-registry.yaml +9219 -0
  276. package/.grimoire/data/grimoire-kb.md +918 -0
  277. package/.grimoire/data/learned-patterns.yaml +3 -0
  278. package/.grimoire/data/tech-presets/_template.md +259 -0
  279. package/.grimoire/data/tech-presets/nextjs-react.md +933 -0
  280. package/.grimoire/data/technical-preferences.md +85 -0
  281. package/.grimoire/data/workflow-patterns.yaml +836 -0
  282. package/.grimoire/data/workflow-state-schema.yaml +203 -0
  283. package/.grimoire/development/README.md +143 -0
  284. package/.grimoire/development/agent-teams/team-all.yaml +16 -0
  285. package/.grimoire/development/agent-teams/team-fullstack.yaml +19 -0
  286. package/.grimoire/development/agent-teams/team-ide-minimal.yaml +10 -0
  287. package/.grimoire/development/agent-teams/team-no-ui.yaml +14 -0
  288. package/.grimoire/development/agent-teams/team-qa-focused.yaml +155 -0
  289. package/.grimoire/development/agents/analyst.md +261 -0
  290. package/.grimoire/development/agents/architect.md +461 -0
  291. package/.grimoire/development/agents/caravaggio.md +31 -0
  292. package/.grimoire/development/agents/data-engineer.md +482 -0
  293. package/.grimoire/development/agents/dev.md +548 -0
  294. package/.grimoire/development/agents/devops.md +500 -0
  295. package/.grimoire/development/agents/frida.md +31 -0
  296. package/.grimoire/development/agents/grimoire-master.md +447 -0
  297. package/.grimoire/development/agents/picasso.md +31 -0
  298. package/.grimoire/development/agents/pm.md +365 -0
  299. package/.grimoire/development/agents/po.md +323 -0
  300. package/.grimoire/development/agents/qa.md +437 -0
  301. package/.grimoire/development/agents/salvador.md +31 -0
  302. package/.grimoire/development/agents/sm.md +275 -0
  303. package/.grimoire/development/agents/squad-creator.md +330 -0
  304. package/.grimoire/development/agents/tarsila.md +31 -0
  305. package/.grimoire/development/agents/ux-design-expert.md +482 -0
  306. package/.grimoire/development/agents/van-gogh.md +31 -0
  307. package/.grimoire/development/agents/warhol.md +31 -0
  308. package/.grimoire/development/checklists/agent-quality-gate.md +560 -0
  309. package/.grimoire/development/checklists/brownfield-compatibility-checklist.md +116 -0
  310. package/.grimoire/development/checklists/self-critique-checklist.md +274 -0
  311. package/.grimoire/development/data/decision-heuristics-framework.md +622 -0
  312. package/.grimoire/development/data/quality-dimensions-framework.md +427 -0
  313. package/.grimoire/development/data/tier-system-framework.md +476 -0
  314. package/.grimoire/development/scripts/activation-runtime.js +64 -0
  315. package/.grimoire/development/scripts/agent-assignment-resolver.js +231 -0
  316. package/.grimoire/development/scripts/agent-config-loader.js +628 -0
  317. package/.grimoire/development/scripts/agent-exit-hooks.js +97 -0
  318. package/.grimoire/development/scripts/apply-inline-greeting-all-agents.js +147 -0
  319. package/.grimoire/development/scripts/approval-workflow.js +643 -0
  320. package/.grimoire/development/scripts/audit-agent-config.js +382 -0
  321. package/.grimoire/development/scripts/backlog-manager.js +409 -0
  322. package/.grimoire/development/scripts/backup-manager.js +607 -0
  323. package/.grimoire/development/scripts/batch-update-agents-session-context.js +97 -0
  324. package/.grimoire/development/scripts/branch-manager.js +390 -0
  325. package/.grimoire/development/scripts/code-quality-improver.js +1312 -0
  326. package/.grimoire/development/scripts/commit-message-generator.js +850 -0
  327. package/.grimoire/development/scripts/conflict-resolver.js +675 -0
  328. package/.grimoire/development/scripts/decision-context.js +229 -0
  329. package/.grimoire/development/scripts/decision-log-generator.js +294 -0
  330. package/.grimoire/development/scripts/decision-log-indexer.js +285 -0
  331. package/.grimoire/development/scripts/decision-recorder.js +169 -0
  332. package/.grimoire/development/scripts/dependency-analyzer.js +639 -0
  333. package/.grimoire/development/scripts/dev-context-loader.js +298 -0
  334. package/.grimoire/development/scripts/diff-generator.js +352 -0
  335. package/.grimoire/development/scripts/elicitation-engine.js +385 -0
  336. package/.grimoire/development/scripts/elicitation-session-manager.js +300 -0
  337. package/.grimoire/development/scripts/generate-greeting.js +109 -0
  338. package/.grimoire/development/scripts/git-wrapper.js +462 -0
  339. package/.grimoire/development/scripts/greeting-builder.js +1406 -0
  340. package/.grimoire/development/scripts/greeting-config-cli.js +86 -0
  341. package/.grimoire/development/scripts/greeting-preference-manager.js +170 -0
  342. package/.grimoire/development/scripts/manifest-preview.js +245 -0
  343. package/.grimoire/development/scripts/metrics-tracker.js +776 -0
  344. package/.grimoire/development/scripts/migrate-task-to-v2.js +379 -0
  345. package/.grimoire/development/scripts/modification-validator.js +555 -0
  346. package/.grimoire/development/scripts/pattern-learner.js +1225 -0
  347. package/.grimoire/development/scripts/performance-analyzer.js +758 -0
  348. package/.grimoire/development/scripts/populate-entity-registry.js +281 -0
  349. package/.grimoire/development/scripts/refactoring-suggester.js +1139 -0
  350. package/.grimoire/development/scripts/rollback-handler.js +532 -0
  351. package/.grimoire/development/scripts/security-checker.js +359 -0
  352. package/.grimoire/development/scripts/skill-validator.js +343 -0
  353. package/.grimoire/development/scripts/squad/README.md +114 -0
  354. package/.grimoire/development/scripts/squad/index.js +124 -0
  355. package/.grimoire/development/scripts/squad/squad-analyzer.js +638 -0
  356. package/.grimoire/development/scripts/squad/squad-designer.js +1010 -0
  357. package/.grimoire/development/scripts/squad/squad-downloader.js +511 -0
  358. package/.grimoire/development/scripts/squad/squad-extender.js +872 -0
  359. package/.grimoire/development/scripts/squad/squad-generator.js +1406 -0
  360. package/.grimoire/development/scripts/squad/squad-loader.js +359 -0
  361. package/.grimoire/development/scripts/squad/squad-migrator.js +628 -0
  362. package/.grimoire/development/scripts/squad/squad-publisher.js +630 -0
  363. package/.grimoire/development/scripts/squad/squad-validator.js +857 -0
  364. package/.grimoire/development/scripts/story-index-generator.js +339 -0
  365. package/.grimoire/development/scripts/story-manager.js +375 -0
  366. package/.grimoire/development/scripts/story-update-hook.js +259 -0
  367. package/.grimoire/development/scripts/task-identifier-resolver.js +145 -0
  368. package/.grimoire/development/scripts/template-engine.js +240 -0
  369. package/.grimoire/development/scripts/template-validator.js +279 -0
  370. package/.grimoire/development/scripts/test-generator.js +844 -0
  371. package/.grimoire/development/scripts/test-greeting-system.js +143 -0
  372. package/.grimoire/development/scripts/transaction-manager.js +591 -0
  373. package/.grimoire/development/scripts/unified-activation-pipeline.js +796 -0
  374. package/.grimoire/development/scripts/usage-tracker.js +675 -0
  375. package/.grimoire/development/scripts/validate-filenames.js +228 -0
  376. package/.grimoire/development/scripts/validate-task-v2.js +320 -0
  377. package/.grimoire/development/scripts/verify-workflow-gaps.js +1034 -0
  378. package/.grimoire/development/scripts/version-tracker.js +527 -0
  379. package/.grimoire/development/scripts/workflow-navigator.js +328 -0
  380. package/.grimoire/development/scripts/workflow-state-manager.js +652 -0
  381. package/.grimoire/development/scripts/workflow-validator.js +697 -0
  382. package/.grimoire/development/scripts/yaml-validator.js +397 -0
  383. package/.grimoire/development/tasks/add-mcp.md +437 -0
  384. package/.grimoire/development/tasks/advanced-elicitation.md +320 -0
  385. package/.grimoire/development/tasks/analyst-facilitate-brainstorming.md +343 -0
  386. package/.grimoire/development/tasks/analyze-brownfield.md +458 -0
  387. package/.grimoire/development/tasks/analyze-cross-artifact.md +358 -0
  388. package/.grimoire/development/tasks/analyze-framework.md +698 -0
  389. package/.grimoire/development/tasks/analyze-performance.md +639 -0
  390. package/.grimoire/development/tasks/analyze-project-structure.md +623 -0
  391. package/.grimoire/development/tasks/apply-qa-fixes.md +342 -0
  392. package/.grimoire/development/tasks/architect-analyze-impact.md +828 -0
  393. package/.grimoire/development/tasks/audit-codebase.md +431 -0
  394. package/.grimoire/development/tasks/audit-tailwind-config.md +272 -0
  395. package/.grimoire/development/tasks/audit-utilities.md +360 -0
  396. package/.grimoire/development/tasks/blocks/README.md +180 -0
  397. package/.grimoire/development/tasks/blocks/agent-prompt-template.md +117 -0
  398. package/.grimoire/development/tasks/blocks/context-loading.md +110 -0
  399. package/.grimoire/development/tasks/blocks/execution-pattern.md +122 -0
  400. package/.grimoire/development/tasks/blocks/finalization.md +123 -0
  401. package/.grimoire/development/tasks/bootstrap-shadcn-library.md +288 -0
  402. package/.grimoire/development/tasks/brownfield-create-epic.md +533 -0
  403. package/.grimoire/development/tasks/brownfield-create-story.md +358 -0
  404. package/.grimoire/development/tasks/build-autonomous.md +186 -0
  405. package/.grimoire/development/tasks/build-component.md +480 -0
  406. package/.grimoire/development/tasks/build-resume.md +125 -0
  407. package/.grimoire/development/tasks/build-status.md +155 -0
  408. package/.grimoire/development/tasks/build.md +142 -0
  409. package/.grimoire/development/tasks/calculate-roi.md +457 -0
  410. package/.grimoire/development/tasks/check-docs-links.md +114 -0
  411. package/.grimoire/development/tasks/ci-cd-configuration.md +766 -0
  412. package/.grimoire/development/tasks/cleanup-utilities.md +672 -0
  413. package/.grimoire/development/tasks/cleanup-worktrees.md +39 -0
  414. package/.grimoire/development/tasks/collaborative-edit.md +1110 -0
  415. package/.grimoire/development/tasks/compose-molecule.md +286 -0
  416. package/.grimoire/development/tasks/consolidate-patterns.md +416 -0
  417. package/.grimoire/development/tasks/correct-course.md +281 -0
  418. package/.grimoire/development/tasks/create-agent.md +1199 -0
  419. package/.grimoire/development/tasks/create-brownfield-story.md +728 -0
  420. package/.grimoire/development/tasks/create-deep-research-prompt.md +500 -0
  421. package/.grimoire/development/tasks/create-doc.md +318 -0
  422. package/.grimoire/development/tasks/create-next-story.md +776 -0
  423. package/.grimoire/development/tasks/create-service.md +393 -0
  424. package/.grimoire/development/tasks/create-suite.md +285 -0
  425. package/.grimoire/development/tasks/create-task.md +391 -0
  426. package/.grimoire/development/tasks/create-workflow.md +429 -0
  427. package/.grimoire/development/tasks/create-worktree.md +439 -0
  428. package/.grimoire/development/tasks/db-analyze-hotpaths.md +574 -0
  429. package/.grimoire/development/tasks/db-apply-migration.md +383 -0
  430. package/.grimoire/development/tasks/db-bootstrap.md +644 -0
  431. package/.grimoire/development/tasks/db-domain-modeling.md +695 -0
  432. package/.grimoire/development/tasks/db-dry-run.md +295 -0
  433. package/.grimoire/development/tasks/db-env-check.md +262 -0
  434. package/.grimoire/development/tasks/db-explain.md +633 -0
  435. package/.grimoire/development/tasks/db-impersonate.md +497 -0
  436. package/.grimoire/development/tasks/db-load-csv.md +595 -0
  437. package/.grimoire/development/tasks/db-policy-apply.md +655 -0
  438. package/.grimoire/development/tasks/db-rls-audit.md +413 -0
  439. package/.grimoire/development/tasks/db-rollback.md +741 -0
  440. package/.grimoire/development/tasks/db-run-sql.md +615 -0
  441. package/.grimoire/development/tasks/db-schema-audit.md +1013 -0
  442. package/.grimoire/development/tasks/db-seed.md +392 -0
  443. package/.grimoire/development/tasks/db-smoke-test.md +353 -0
  444. package/.grimoire/development/tasks/db-snapshot.md +571 -0
  445. package/.grimoire/development/tasks/db-squad-integration.md +665 -0
  446. package/.grimoire/development/tasks/db-supabase-setup.md +714 -0
  447. package/.grimoire/development/tasks/db-verify-order.md +517 -0
  448. package/.grimoire/development/tasks/deprecate-component.md +958 -0
  449. package/.grimoire/development/tasks/dev-apply-qa-fixes.md +320 -0
  450. package/.grimoire/development/tasks/dev-backlog-debt.md +471 -0
  451. package/.grimoire/development/tasks/dev-develop-story.md +912 -0
  452. package/.grimoire/development/tasks/dev-improve-code-quality.md +874 -0
  453. package/.grimoire/development/tasks/dev-optimize-performance.md +1035 -0
  454. package/.grimoire/development/tasks/dev-suggest-refactoring.md +872 -0
  455. package/.grimoire/development/tasks/dev-validate-next-story.md +350 -0
  456. package/.grimoire/development/tasks/document-gotchas.md +479 -0
  457. package/.grimoire/development/tasks/document-project.md +554 -0
  458. package/.grimoire/development/tasks/environment-bootstrap.md +1391 -0
  459. package/.grimoire/development/tasks/execute-checklist.md +303 -0
  460. package/.grimoire/development/tasks/execute-epic-plan.md +887 -0
  461. package/.grimoire/development/tasks/export-design-tokens-dtcg.md +276 -0
  462. package/.grimoire/development/tasks/extend-pattern.md +271 -0
  463. package/.grimoire/development/tasks/extract-patterns.md +399 -0
  464. package/.grimoire/development/tasks/extract-tokens.md +469 -0
  465. package/.grimoire/development/tasks/facilitate-brainstorming-session.md +520 -0
  466. package/.grimoire/development/tasks/generate-ai-frontend-prompt.md +262 -0
  467. package/.grimoire/development/tasks/generate-documentation.md +286 -0
  468. package/.grimoire/development/tasks/generate-migration-strategy.md +524 -0
  469. package/.grimoire/development/tasks/generate-shock-report.md +503 -0
  470. package/.grimoire/development/tasks/github-devops-github-pr-automation.md +666 -0
  471. package/.grimoire/development/tasks/github-devops-pre-push-quality-gate.md +791 -0
  472. package/.grimoire/development/tasks/github-devops-repository-cleanup.md +376 -0
  473. package/.grimoire/development/tasks/github-devops-version-management.md +485 -0
  474. package/.grimoire/development/tasks/gotcha.md +138 -0
  475. package/.grimoire/development/tasks/gotchas.md +155 -0
  476. package/.grimoire/development/tasks/health-check.yaml +227 -0
  477. package/.grimoire/development/tasks/ids-governor.md +96 -0
  478. package/.grimoire/development/tasks/ids-health.md +91 -0
  479. package/.grimoire/development/tasks/ids-query.md +156 -0
  480. package/.grimoire/development/tasks/improve-self.md +824 -0
  481. package/.grimoire/development/tasks/index-docs.md +389 -0
  482. package/.grimoire/development/tasks/init-project-status.md +508 -0
  483. package/.grimoire/development/tasks/integrate-squad.md +316 -0
  484. package/.grimoire/development/tasks/kb-mode-interaction.md +285 -0
  485. package/.grimoire/development/tasks/learn-patterns.md +902 -0
  486. package/.grimoire/development/tasks/list-mcps.md +33 -0
  487. package/.grimoire/development/tasks/list-worktrees.md +344 -0
  488. package/.grimoire/development/tasks/mcp-workflow.md +438 -0
  489. package/.grimoire/development/tasks/merge-worktree.md +42 -0
  490. package/.grimoire/development/tasks/modify-agent.md +399 -0
  491. package/.grimoire/development/tasks/modify-task.md +442 -0
  492. package/.grimoire/development/tasks/modify-workflow.md +511 -0
  493. package/.grimoire/development/tasks/next.md +327 -0
  494. package/.grimoire/development/tasks/orchestrate-resume.md +60 -0
  495. package/.grimoire/development/tasks/orchestrate-status.md +64 -0
  496. package/.grimoire/development/tasks/orchestrate-stop.md +55 -0
  497. package/.grimoire/development/tasks/orchestrate.md +66 -0
  498. package/.grimoire/development/tasks/patterns.md +336 -0
  499. package/.grimoire/development/tasks/plan-create-context.md +812 -0
  500. package/.grimoire/development/tasks/plan-create-implementation.md +797 -0
  501. package/.grimoire/development/tasks/plan-execute-subtask.md +962 -0
  502. package/.grimoire/development/tasks/po-backlog-add.md +372 -0
  503. package/.grimoire/development/tasks/po-close-story.md +428 -0
  504. package/.grimoire/development/tasks/po-manage-story-backlog.md +525 -0
  505. package/.grimoire/development/tasks/po-pull-story-from-clickup.md +542 -0
  506. package/.grimoire/development/tasks/po-pull-story.md +318 -0
  507. package/.grimoire/development/tasks/po-stories-index.md +353 -0
  508. package/.grimoire/development/tasks/po-sync-story-to-clickup.md +459 -0
  509. package/.grimoire/development/tasks/po-sync-story.md +305 -0
  510. package/.grimoire/development/tasks/pr-automation.md +703 -0
  511. package/.grimoire/development/tasks/propose-modification.md +844 -0
  512. package/.grimoire/development/tasks/publish-npm.md +259 -0
  513. package/.grimoire/development/tasks/qa-after-creation.md +519 -0
  514. package/.grimoire/development/tasks/qa-backlog-add-followup.md +427 -0
  515. package/.grimoire/development/tasks/qa-browser-console-check.md +343 -0
  516. package/.grimoire/development/tasks/qa-create-fix-request.md +625 -0
  517. package/.grimoire/development/tasks/qa-evidence-requirements.md +314 -0
  518. package/.grimoire/development/tasks/qa-false-positive-detection.md +374 -0
  519. package/.grimoire/development/tasks/qa-fix-issues.md +686 -0
  520. package/.grimoire/development/tasks/qa-gate.md +375 -0
  521. package/.grimoire/development/tasks/qa-generate-tests.md +1176 -0
  522. package/.grimoire/development/tasks/qa-library-validation.md +497 -0
  523. package/.grimoire/development/tasks/qa-migration-validation.md +584 -0
  524. package/.grimoire/development/tasks/qa-nfr-assess.md +559 -0
  525. package/.grimoire/development/tasks/qa-review-build.md +1225 -0
  526. package/.grimoire/development/tasks/qa-review-proposal.md +1159 -0
  527. package/.grimoire/development/tasks/qa-review-story.md +684 -0
  528. package/.grimoire/development/tasks/qa-risk-profile.md +568 -0
  529. package/.grimoire/development/tasks/qa-run-tests.md +279 -0
  530. package/.grimoire/development/tasks/qa-security-checklist.md +552 -0
  531. package/.grimoire/development/tasks/qa-test-design.md +389 -0
  532. package/.grimoire/development/tasks/qa-trace-requirements.md +478 -0
  533. package/.grimoire/development/tasks/release-management.md +754 -0
  534. package/.grimoire/development/tasks/remove-mcp.md +35 -0
  535. package/.grimoire/development/tasks/remove-worktree.md +435 -0
  536. package/.grimoire/development/tasks/run-design-system-pipeline.md +642 -0
  537. package/.grimoire/development/tasks/run-workflow-engine.md +861 -0
  538. package/.grimoire/development/tasks/run-workflow.md +389 -0
  539. package/.grimoire/development/tasks/search-mcp.md +309 -0
  540. package/.grimoire/development/tasks/security-audit.md +556 -0
  541. package/.grimoire/development/tasks/security-scan.md +792 -0
  542. package/.grimoire/development/tasks/session-resume.md +193 -0
  543. package/.grimoire/development/tasks/setup-database.md +743 -0
  544. package/.grimoire/development/tasks/setup-design-system.md +464 -0
  545. package/.grimoire/development/tasks/setup-github.md +876 -0
  546. package/.grimoire/development/tasks/setup-llm-routing.md +231 -0
  547. package/.grimoire/development/tasks/setup-mcp-docker.md +628 -0
  548. package/.grimoire/development/tasks/setup-project-docs.md +442 -0
  549. package/.grimoire/development/tasks/shard-doc.md +539 -0
  550. package/.grimoire/development/tasks/sm-create-next-story.md +482 -0
  551. package/.grimoire/development/tasks/spec-assess-complexity.md +461 -0
  552. package/.grimoire/development/tasks/spec-critique.md +595 -0
  553. package/.grimoire/development/tasks/spec-gather-requirements.md +545 -0
  554. package/.grimoire/development/tasks/spec-research-dependencies.md +446 -0
  555. package/.grimoire/development/tasks/spec-write-spec.md +531 -0
  556. package/.grimoire/development/tasks/squad-creator-analyze.md +318 -0
  557. package/.grimoire/development/tasks/squad-creator-create.md +314 -0
  558. package/.grimoire/development/tasks/squad-creator-design.md +335 -0
  559. package/.grimoire/development/tasks/squad-creator-download.md +169 -0
  560. package/.grimoire/development/tasks/squad-creator-extend.md +413 -0
  561. package/.grimoire/development/tasks/squad-creator-list.md +226 -0
  562. package/.grimoire/development/tasks/squad-creator-migrate.md +245 -0
  563. package/.grimoire/development/tasks/squad-creator-publish.md +231 -0
  564. package/.grimoire/development/tasks/squad-creator-sync-grimoire.md +317 -0
  565. package/.grimoire/development/tasks/squad-creator-sync-ide-command.md +403 -0
  566. package/.grimoire/development/tasks/squad-creator-validate.md +160 -0
  567. package/.grimoire/development/tasks/story-checkpoint.md +361 -0
  568. package/.grimoire/development/tasks/sync-documentation.md +866 -0
  569. package/.grimoire/development/tasks/tailwind-upgrade.md +296 -0
  570. package/.grimoire/development/tasks/test-as-user.md +623 -0
  571. package/.grimoire/development/tasks/test-validation-task.md +172 -0
  572. package/.grimoire/development/tasks/undo-last.md +348 -0
  573. package/.grimoire/development/tasks/update-grimoire.md +153 -0
  574. package/.grimoire/development/tasks/update-manifest.md +411 -0
  575. package/.grimoire/development/tasks/update-source-tree.md +138 -0
  576. package/.grimoire/development/tasks/ux-create-wireframe.md +619 -0
  577. package/.grimoire/development/tasks/ux-ds-scan-artifact.md +674 -0
  578. package/.grimoire/development/tasks/ux-user-research.md +561 -0
  579. package/.grimoire/development/tasks/validate-agents.md +117 -0
  580. package/.grimoire/development/tasks/validate-next-story.md +456 -0
  581. package/.grimoire/development/tasks/validate-tech-preset.md +187 -0
  582. package/.grimoire/development/tasks/validate-workflow.md +323 -0
  583. package/.grimoire/development/tasks/verify-subtask.md +237 -0
  584. package/.grimoire/development/tasks/waves.md +206 -0
  585. package/.grimoire/development/tasks/yolo-toggle.md +115 -0
  586. package/.grimoire/development/templates/grimoire-doc-template.md +496 -0
  587. package/.grimoire/development/templates/research-prompt-tmpl.md +486 -0
  588. package/.grimoire/development/templates/service-template/README.md.hbs +159 -0
  589. package/.grimoire/development/templates/service-template/__tests__/index.test.ts.hbs +238 -0
  590. package/.grimoire/development/templates/service-template/client.ts.hbs +404 -0
  591. package/.grimoire/development/templates/service-template/errors.ts.hbs +183 -0
  592. package/.grimoire/development/templates/service-template/index.ts.hbs +121 -0
  593. package/.grimoire/development/templates/service-template/jest.config.js +89 -0
  594. package/.grimoire/development/templates/service-template/package.json.hbs +88 -0
  595. package/.grimoire/development/templates/service-template/tsconfig.json +45 -0
  596. package/.grimoire/development/templates/service-template/types.ts.hbs +146 -0
  597. package/.grimoire/development/templates/squad/agent-template.md +69 -0
  598. package/.grimoire/development/templates/squad/checklist-template.md +82 -0
  599. package/.grimoire/development/templates/squad/data-template.yaml +105 -0
  600. package/.grimoire/development/templates/squad/script-template.js +179 -0
  601. package/.grimoire/development/templates/squad/task-template.md +125 -0
  602. package/.grimoire/development/templates/squad/template-template.md +98 -0
  603. package/.grimoire/development/templates/squad/tool-template.js +103 -0
  604. package/.grimoire/development/templates/squad/workflow-template.yaml +108 -0
  605. package/.grimoire/development/templates/squad-template/LICENSE +21 -0
  606. package/.grimoire/development/templates/squad-template/README.md +37 -0
  607. package/.grimoire/development/templates/squad-template/agents/example-agent.yaml +36 -0
  608. package/.grimoire/development/templates/squad-template/package.json +20 -0
  609. package/.grimoire/development/templates/squad-template/squad.yaml +26 -0
  610. package/.grimoire/development/templates/squad-template/tasks/example-task.yaml +46 -0
  611. package/.grimoire/development/templates/squad-template/templates/example-template.md +24 -0
  612. package/.grimoire/development/templates/squad-template/tests/example-agent.test.js +54 -0
  613. package/.grimoire/development/templates/squad-template/workflows/example-workflow.yaml +54 -0
  614. package/.grimoire/development/templates/subagent-step-prompt.md +122 -0
  615. package/.grimoire/development/workflows/README.md +82 -0
  616. package/.grimoire/development/workflows/auto-worktree.yaml +423 -0
  617. package/.grimoire/development/workflows/brownfield-discovery.yaml +933 -0
  618. package/.grimoire/development/workflows/brownfield-fullstack.yaml +369 -0
  619. package/.grimoire/development/workflows/brownfield-service.yaml +246 -0
  620. package/.grimoire/development/workflows/brownfield-ui.yaml +260 -0
  621. package/.grimoire/development/workflows/design-system-build-quality.yaml +228 -0
  622. package/.grimoire/development/workflows/development-cycle.yaml +427 -0
  623. package/.grimoire/development/workflows/epic-orchestration.yaml +328 -0
  624. package/.grimoire/development/workflows/greenfield-fullstack.yaml +386 -0
  625. package/.grimoire/development/workflows/greenfield-service.yaml +278 -0
  626. package/.grimoire/development/workflows/greenfield-ui.yaml +284 -0
  627. package/.grimoire/development/workflows/qa-loop.yaml +444 -0
  628. package/.grimoire/development/workflows/spec-pipeline.yaml +577 -0
  629. package/.grimoire/development/workflows/story-development-cycle.yaml +285 -0
  630. package/.grimoire/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +574 -0
  631. package/.grimoire/docs/standards/EXECUTOR-DECISION-TREE.md +698 -0
  632. package/.grimoire/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +513 -0
  633. package/.grimoire/docs/standards/QUALITY-GATES-SPECIFICATION.md +558 -0
  634. package/.grimoire/docs/standards/STANDARDS-INDEX.md +212 -0
  635. package/.grimoire/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +551 -0
  636. package/.grimoire/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1415 -0
  637. package/.grimoire/docs/standards/grimoire-COLOR-PALETTE-QUICK-REFERENCE.md +186 -0
  638. package/.grimoire/docs/standards/grimoire-COLOR-PALETTE-V2.1.md +354 -0
  639. package/.grimoire/docs/standards/grimoire-LIVRO-DE-OURO-V2.1-COMPLETE.md +839 -0
  640. package/.grimoire/docs/standards/grimoire-LIVRO-DE-OURO-V2.2-SUMMARY.md +1341 -0
  641. package/.grimoire/elicitation/agent-elicitation.js +272 -0
  642. package/.grimoire/elicitation/task-elicitation.js +281 -0
  643. package/.grimoire/elicitation/workflow-elicitation.js +315 -0
  644. package/.grimoire/framework-config.yaml +152 -0
  645. package/.grimoire/hooks/gemini/after-tool.js +78 -0
  646. package/.grimoire/hooks/gemini/before-agent.js +80 -0
  647. package/.grimoire/hooks/gemini/before-tool.js +115 -0
  648. package/.grimoire/hooks/gemini/rewind-handler.js +69 -0
  649. package/.grimoire/hooks/gemini/session-end.js +91 -0
  650. package/.grimoire/hooks/gemini/session-start.js +91 -0
  651. package/.grimoire/hooks/ids-post-commit.js +118 -0
  652. package/.grimoire/hooks/ids-pre-push.js +125 -0
  653. package/.grimoire/hooks/unified/README.md +309 -0
  654. package/.grimoire/hooks/unified/hook-interface.js +161 -0
  655. package/.grimoire/hooks/unified/hook-registry.js +143 -0
  656. package/.grimoire/hooks/unified/index.js +36 -0
  657. package/.grimoire/hooks/unified/runners/precompact-runner.js +98 -0
  658. package/.grimoire/index.esm.js +17 -0
  659. package/.grimoire/index.js +17 -0
  660. package/.grimoire/infrastructure/README.md +128 -0
  661. package/.grimoire/infrastructure/contracts/compatibility/grimoire-4.0.4.yaml +46 -0
  662. package/.grimoire/infrastructure/index.js +200 -0
  663. package/.grimoire/infrastructure/integrations/ai-providers/README.md +103 -0
  664. package/.grimoire/infrastructure/integrations/ai-providers/ai-provider-factory.js +286 -0
  665. package/.grimoire/infrastructure/integrations/ai-providers/ai-provider.js +145 -0
  666. package/.grimoire/infrastructure/integrations/ai-providers/claude-provider.js +170 -0
  667. package/.grimoire/infrastructure/integrations/ai-providers/gemini-provider.js +365 -0
  668. package/.grimoire/infrastructure/integrations/ai-providers/index.js +45 -0
  669. package/.grimoire/infrastructure/integrations/gemini-extensions/cloudrun-adapter.js +129 -0
  670. package/.grimoire/infrastructure/integrations/gemini-extensions/index.js +41 -0
  671. package/.grimoire/infrastructure/integrations/gemini-extensions/policy-sync.js +74 -0
  672. package/.grimoire/infrastructure/integrations/gemini-extensions/security-adapter.js +159 -0
  673. package/.grimoire/infrastructure/integrations/gemini-extensions/supabase-adapter.js +88 -0
  674. package/.grimoire/infrastructure/integrations/gemini-extensions/workspace-adapter.js +100 -0
  675. package/.grimoire/infrastructure/integrations/pm-adapters/README.md +60 -0
  676. package/.grimoire/infrastructure/integrations/pm-adapters/clickup-adapter.js +345 -0
  677. package/.grimoire/infrastructure/integrations/pm-adapters/github-adapter.js +393 -0
  678. package/.grimoire/infrastructure/integrations/pm-adapters/jira-adapter.js +449 -0
  679. package/.grimoire/infrastructure/integrations/pm-adapters/local-adapter.js +176 -0
  680. package/.grimoire/infrastructure/schemas/agent-v3-schema.json +160 -0
  681. package/.grimoire/infrastructure/schemas/build-state.schema.json +158 -0
  682. package/.grimoire/infrastructure/schemas/task-v3-schema.json +152 -0
  683. package/.grimoire/infrastructure/scripts/approach-manager.js +1005 -0
  684. package/.grimoire/infrastructure/scripts/approval-workflow.js +644 -0
  685. package/.grimoire/infrastructure/scripts/asset-inventory.js +622 -0
  686. package/.grimoire/infrastructure/scripts/atomic-layer-classifier.js +309 -0
  687. package/.grimoire/infrastructure/scripts/backup-manager.js +607 -0
  688. package/.grimoire/infrastructure/scripts/batch-creator.js +609 -0
  689. package/.grimoire/infrastructure/scripts/branch-manager.js +391 -0
  690. package/.grimoire/infrastructure/scripts/capability-analyzer.js +535 -0
  691. package/.grimoire/infrastructure/scripts/changelog-generator.js +554 -0
  692. package/.grimoire/infrastructure/scripts/cicd-discovery.js +1269 -0
  693. package/.grimoire/infrastructure/scripts/clickup-helpers.js +227 -0
  694. package/.grimoire/infrastructure/scripts/code-quality-improver.js +1312 -0
  695. package/.grimoire/infrastructure/scripts/codebase-mapper.js +1288 -0
  696. package/.grimoire/infrastructure/scripts/codex-skills-sync/index.js +184 -0
  697. package/.grimoire/infrastructure/scripts/codex-skills-sync/validate.js +174 -0
  698. package/.grimoire/infrastructure/scripts/commit-message-generator.js +850 -0
  699. package/.grimoire/infrastructure/scripts/component-generator.js +738 -0
  700. package/.grimoire/infrastructure/scripts/component-metadata.js +628 -0
  701. package/.grimoire/infrastructure/scripts/component-search.js +278 -0
  702. package/.grimoire/infrastructure/scripts/config-cache.js +322 -0
  703. package/.grimoire/infrastructure/scripts/config-loader.js +351 -0
  704. package/.grimoire/infrastructure/scripts/conflict-resolver.js +675 -0
  705. package/.grimoire/infrastructure/scripts/coverage-analyzer.js +882 -0
  706. package/.grimoire/infrastructure/scripts/dashboard-status-writer.js +310 -0
  707. package/.grimoire/infrastructure/scripts/dependency-analyzer.js +639 -0
  708. package/.grimoire/infrastructure/scripts/dependency-impact-analyzer.js +704 -0
  709. package/.grimoire/infrastructure/scripts/diff-generator.js +129 -0
  710. package/.grimoire/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +502 -0
  711. package/.grimoire/infrastructure/scripts/documentation-integrity/config-generator.js +369 -0
  712. package/.grimoire/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +309 -0
  713. package/.grimoire/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
  714. package/.grimoire/infrastructure/scripts/documentation-integrity/gitignore-generator.js +314 -0
  715. package/.grimoire/infrastructure/scripts/documentation-integrity/index.js +75 -0
  716. package/.grimoire/infrastructure/scripts/documentation-integrity/mode-detector.js +391 -0
  717. package/.grimoire/infrastructure/scripts/documentation-synchronizer.js +1432 -0
  718. package/.grimoire/infrastructure/scripts/framework-analyzer.js +763 -0
  719. package/.grimoire/infrastructure/scripts/git-config-detector.js +293 -0
  720. package/.grimoire/infrastructure/scripts/git-hooks/post-commit.js +75 -0
  721. package/.grimoire/infrastructure/scripts/git-wrapper.js +444 -0
  722. package/.grimoire/infrastructure/scripts/gotchas-documenter.js +1296 -0
  723. package/.grimoire/infrastructure/scripts/grimoire-validator.js +295 -0
  724. package/.grimoire/infrastructure/scripts/ide-sync/README.md +220 -0
  725. package/.grimoire/infrastructure/scripts/ide-sync/agent-parser.js +295 -0
  726. package/.grimoire/infrastructure/scripts/ide-sync/gemini-commands.js +207 -0
  727. package/.grimoire/infrastructure/scripts/ide-sync/index.js +540 -0
  728. package/.grimoire/infrastructure/scripts/ide-sync/redirect-generator.js +179 -0
  729. package/.grimoire/infrastructure/scripts/ide-sync/transformers/antigravity.js +107 -0
  730. package/.grimoire/infrastructure/scripts/ide-sync/transformers/claude-code.js +86 -0
  731. package/.grimoire/infrastructure/scripts/ide-sync/transformers/cursor.js +96 -0
  732. package/.grimoire/infrastructure/scripts/ide-sync/validator.js +273 -0
  733. package/.grimoire/infrastructure/scripts/improvement-engine.js +758 -0
  734. package/.grimoire/infrastructure/scripts/improvement-validator.js +710 -0
  735. package/.grimoire/infrastructure/scripts/llm-routing/install-llm-routing.js +282 -0
  736. package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +129 -0
  737. package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
  738. package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free.cmd +80 -0
  739. package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-free.sh +62 -0
  740. package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-max.cmd +26 -0
  741. package/.grimoire/infrastructure/scripts/llm-routing/templates/claude-max.sh +18 -0
  742. package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +73 -0
  743. package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
  744. package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +53 -0
  745. package/.grimoire/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
  746. package/.grimoire/infrastructure/scripts/llm-routing/usage-tracker/index.js +551 -0
  747. package/.grimoire/infrastructure/scripts/migrate-agent.js +528 -0
  748. package/.grimoire/infrastructure/scripts/modification-risk-assessment.js +970 -0
  749. package/.grimoire/infrastructure/scripts/modification-validator.js +555 -0
  750. package/.grimoire/infrastructure/scripts/output-formatter.js +298 -0
  751. package/.grimoire/infrastructure/scripts/path-analyzer.js +476 -0
  752. package/.grimoire/infrastructure/scripts/pattern-extractor.js +1563 -0
  753. package/.grimoire/infrastructure/scripts/performance-analyzer.js +758 -0
  754. package/.grimoire/infrastructure/scripts/performance-and-error-resolver.js +258 -0
  755. package/.grimoire/infrastructure/scripts/performance-optimizer.js +1902 -0
  756. package/.grimoire/infrastructure/scripts/performance-tracker.js +454 -0
  757. package/.grimoire/infrastructure/scripts/plan-tracker.js +922 -0
  758. package/.grimoire/infrastructure/scripts/pm-adapter-factory.js +182 -0
  759. package/.grimoire/infrastructure/scripts/pm-adapter.js +134 -0
  760. package/.grimoire/infrastructure/scripts/pr-review-ai.js +1062 -0
  761. package/.grimoire/infrastructure/scripts/project-status-loader.js +850 -0
  762. package/.grimoire/infrastructure/scripts/qa-loop-orchestrator.js +1264 -0
  763. package/.grimoire/infrastructure/scripts/qa-report-generator.js +1154 -0
  764. package/.grimoire/infrastructure/scripts/recovery-tracker.js +965 -0
  765. package/.grimoire/infrastructure/scripts/refactoring-suggester.js +1139 -0
  766. package/.grimoire/infrastructure/scripts/repository-detector.js +66 -0
  767. package/.grimoire/infrastructure/scripts/rollback-manager.js +734 -0
  768. package/.grimoire/infrastructure/scripts/sandbox-tester.js +618 -0
  769. package/.grimoire/infrastructure/scripts/security-checker.js +359 -0
  770. package/.grimoire/infrastructure/scripts/spot-check-validator.js +149 -0
  771. package/.grimoire/infrastructure/scripts/status-mapper.js +116 -0
  772. package/.grimoire/infrastructure/scripts/story-worktree-hooks.js +426 -0
  773. package/.grimoire/infrastructure/scripts/stuck-detector.js +1251 -0
  774. package/.grimoire/infrastructure/scripts/subtask-verifier.js +793 -0
  775. package/.grimoire/infrastructure/scripts/template-engine.js +240 -0
  776. package/.grimoire/infrastructure/scripts/template-validator.js +279 -0
  777. package/.grimoire/infrastructure/scripts/test-discovery.js +1259 -0
  778. package/.grimoire/infrastructure/scripts/test-generator.js +845 -0
  779. package/.grimoire/infrastructure/scripts/test-quality-assessment.js +1082 -0
  780. package/.grimoire/infrastructure/scripts/test-utilities-fast.js +126 -0
  781. package/.grimoire/infrastructure/scripts/test-utilities.js +201 -0
  782. package/.grimoire/infrastructure/scripts/tool-resolver.js +362 -0
  783. package/.grimoire/infrastructure/scripts/transaction-manager.js +590 -0
  784. package/.grimoire/infrastructure/scripts/usage-analytics.js +636 -0
  785. package/.grimoire/infrastructure/scripts/validate-agents.js +527 -0
  786. package/.grimoire/infrastructure/scripts/validate-claude-integration.js +103 -0
  787. package/.grimoire/infrastructure/scripts/validate-codex-integration.js +143 -0
  788. package/.grimoire/infrastructure/scripts/validate-gemini-integration.js +153 -0
  789. package/.grimoire/infrastructure/scripts/validate-output-pattern.js +213 -0
  790. package/.grimoire/infrastructure/scripts/validate-parity.js +357 -0
  791. package/.grimoire/infrastructure/scripts/validate-paths.js +144 -0
  792. package/.grimoire/infrastructure/scripts/validate-user-profile.js +251 -0
  793. package/.grimoire/infrastructure/scripts/visual-impact-generator.js +1056 -0
  794. package/.grimoire/infrastructure/scripts/worktree-manager.js +704 -0
  795. package/.grimoire/infrastructure/scripts/yaml-validator.js +397 -0
  796. package/.grimoire/infrastructure/templates/coderabbit.yaml.template +280 -0
  797. package/.grimoire/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +177 -0
  798. package/.grimoire/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +169 -0
  799. package/.grimoire/infrastructure/templates/github-workflows/README.md +110 -0
  800. package/.grimoire/infrastructure/templates/github-workflows/ci.yml.template +170 -0
  801. package/.grimoire/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -0
  802. package/.grimoire/infrastructure/templates/github-workflows/release.yml.template +197 -0
  803. package/.grimoire/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +20 -0
  804. package/.grimoire/infrastructure/templates/gitignore/gitignore-grimoire-base.tmpl +65 -0
  805. package/.grimoire/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -0
  806. package/.grimoire/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -0
  807. package/.grimoire/infrastructure/templates/grimoire-sync.yaml.template +183 -0
  808. package/.grimoire/infrastructure/templates/project-docs/coding-standards-tmpl.md +347 -0
  809. package/.grimoire/infrastructure/templates/project-docs/source-tree-tmpl.md +179 -0
  810. package/.grimoire/infrastructure/templates/project-docs/tech-stack-tmpl.md +269 -0
  811. package/.grimoire/infrastructure/tests/project-status-loader.test.js +569 -0
  812. package/.grimoire/infrastructure/tests/regression-suite-v2.md +622 -0
  813. package/.grimoire/infrastructure/tests/validate-module.js +98 -0
  814. package/.grimoire/infrastructure/tests/worktree-manager.test.js +620 -0
  815. package/.grimoire/infrastructure/tools/README.md +224 -0
  816. package/.grimoire/infrastructure/tools/cli/github-cli.yaml +200 -0
  817. package/.grimoire/infrastructure/tools/cli/llm-routing.yaml +128 -0
  818. package/.grimoire/infrastructure/tools/cli/railway-cli.yaml +260 -0
  819. package/.grimoire/infrastructure/tools/cli/supabase-cli.yaml +224 -0
  820. package/.grimoire/infrastructure/tools/local/ffmpeg.yaml +261 -0
  821. package/.grimoire/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -0
  822. package/.grimoire/infrastructure/tools/mcp/browser.yaml +103 -0
  823. package/.grimoire/infrastructure/tools/mcp/clickup.yaml +535 -0
  824. package/.grimoire/infrastructure/tools/mcp/context7.yaml +78 -0
  825. package/.grimoire/infrastructure/tools/mcp/desktop-commander.yaml +180 -0
  826. package/.grimoire/infrastructure/tools/mcp/exa.yaml +103 -0
  827. package/.grimoire/infrastructure/tools/mcp/google-workspace.yaml +930 -0
  828. package/.grimoire/infrastructure/tools/mcp/n8n.yaml +551 -0
  829. package/.grimoire/infrastructure/tools/mcp/supabase.yaml +808 -0
  830. package/.grimoire/install-manifest.yaml +4058 -0
  831. package/.grimoire/local-config.yaml.template +73 -0
  832. package/.grimoire/manifests/schema/manifest-schema.json +191 -0
  833. package/.grimoire/monitor/hooks/lib/__init__.py +2 -0
  834. package/.grimoire/monitor/hooks/lib/enrich.py +59 -0
  835. package/.grimoire/monitor/hooks/lib/send_event.py +48 -0
  836. package/.grimoire/monitor/hooks/notification.py +30 -0
  837. package/.grimoire/monitor/hooks/post_tool_use.py +46 -0
  838. package/.grimoire/monitor/hooks/pre_compact.py +30 -0
  839. package/.grimoire/monitor/hooks/pre_tool_use.py +41 -0
  840. package/.grimoire/monitor/hooks/stop.py +30 -0
  841. package/.grimoire/monitor/hooks/subagent_stop.py +30 -0
  842. package/.grimoire/monitor/hooks/user_prompt_submit.py +39 -0
  843. package/.grimoire/package.json +104 -0
  844. package/.grimoire/presets/README.md +359 -0
  845. package/.grimoire/product/README.md +57 -0
  846. package/.grimoire/product/checklists/accessibility-wcag-checklist.md +80 -0
  847. package/.grimoire/product/checklists/architect-checklist.md +444 -0
  848. package/.grimoire/product/checklists/change-checklist.md +183 -0
  849. package/.grimoire/product/checklists/component-quality-checklist.md +74 -0
  850. package/.grimoire/product/checklists/database-design-checklist.md +119 -0
  851. package/.grimoire/product/checklists/dba-predeploy-checklist.md +97 -0
  852. package/.grimoire/product/checklists/dba-rollback-checklist.md +99 -0
  853. package/.grimoire/product/checklists/migration-readiness-checklist.md +75 -0
  854. package/.grimoire/product/checklists/pattern-audit-checklist.md +88 -0
  855. package/.grimoire/product/checklists/pm-checklist.md +376 -0
  856. package/.grimoire/product/checklists/po-master-checklist.md +442 -0
  857. package/.grimoire/product/checklists/pre-push-checklist.md +108 -0
  858. package/.grimoire/product/checklists/release-checklist.md +122 -0
  859. package/.grimoire/product/checklists/self-critique-checklist.md +387 -0
  860. package/.grimoire/product/checklists/story-dod-checklist.md +102 -0
  861. package/.grimoire/product/checklists/story-draft-checklist.md +216 -0
  862. package/.grimoire/product/data/atomic-design-principles.md +108 -0
  863. package/.grimoire/product/data/brainstorming-techniques.md +37 -0
  864. package/.grimoire/product/data/consolidation-algorithms.md +142 -0
  865. package/.grimoire/product/data/database-best-practices.md +182 -0
  866. package/.grimoire/product/data/design-token-best-practices.md +107 -0
  867. package/.grimoire/product/data/elicitation-methods.md +135 -0
  868. package/.grimoire/product/data/integration-patterns.md +207 -0
  869. package/.grimoire/product/data/migration-safety-guide.md +329 -0
  870. package/.grimoire/product/data/mode-selection-best-practices.md +471 -0
  871. package/.grimoire/product/data/postgres-tuning-guide.md +300 -0
  872. package/.grimoire/product/data/rls-security-patterns.md +333 -0
  873. package/.grimoire/product/data/roi-calculation-guide.md +142 -0
  874. package/.grimoire/product/data/supabase-patterns.md +330 -0
  875. package/.grimoire/product/data/test-levels-framework.md +149 -0
  876. package/.grimoire/product/data/test-priorities-matrix.md +175 -0
  877. package/.grimoire/product/data/wcag-compliance-guide.md +267 -0
  878. package/.grimoire/product/templates/activation-instructions-inline-greeting.yaml +64 -0
  879. package/.grimoire/product/templates/activation-instructions-template.md +260 -0
  880. package/.grimoire/product/templates/adr.hbs +126 -0
  881. package/.grimoire/product/templates/agent-template.yaml +122 -0
  882. package/.grimoire/product/templates/architecture-tmpl.yaml +651 -0
  883. package/.grimoire/product/templates/brainstorming-output-tmpl.yaml +156 -0
  884. package/.grimoire/product/templates/brownfield-architecture-tmpl.yaml +476 -0
  885. package/.grimoire/product/templates/brownfield-prd-tmpl.yaml +280 -0
  886. package/.grimoire/product/templates/brownfield-risk-report-tmpl.yaml +278 -0
  887. package/.grimoire/product/templates/changelog-template.md +134 -0
  888. package/.grimoire/product/templates/command-rationalization-matrix.md +154 -0
  889. package/.grimoire/product/templates/competitor-analysis-tmpl.yaml +293 -0
  890. package/.grimoire/product/templates/component-react-tmpl.tsx +98 -0
  891. package/.grimoire/product/templates/current-approach-tmpl.md +56 -0
  892. package/.grimoire/product/templates/dbdr.hbs +242 -0
  893. package/.grimoire/product/templates/design-story-tmpl.yaml +588 -0
  894. package/.grimoire/product/templates/ds-artifact-analysis.md +70 -0
  895. package/.grimoire/product/templates/engine/elicitation.js +298 -0
  896. package/.grimoire/product/templates/engine/index.js +310 -0
  897. package/.grimoire/product/templates/engine/loader.js +232 -0
  898. package/.grimoire/product/templates/engine/renderer.js +343 -0
  899. package/.grimoire/product/templates/engine/schemas/adr.schema.json +102 -0
  900. package/.grimoire/product/templates/engine/schemas/dbdr.schema.json +205 -0
  901. package/.grimoire/product/templates/engine/schemas/epic.schema.json +175 -0
  902. package/.grimoire/product/templates/engine/schemas/pmdr.schema.json +175 -0
  903. package/.grimoire/product/templates/engine/schemas/prd-v2.schema.json +300 -0
  904. package/.grimoire/product/templates/engine/schemas/prd.schema.json +152 -0
  905. package/.grimoire/product/templates/engine/schemas/story.schema.json +222 -0
  906. package/.grimoire/product/templates/engine/schemas/task.schema.json +154 -0
  907. package/.grimoire/product/templates/engine/validator.js +295 -0
  908. package/.grimoire/product/templates/epic.hbs +213 -0
  909. package/.grimoire/product/templates/eslintrc-security.json +32 -0
  910. package/.grimoire/product/templates/front-end-architecture-tmpl.yaml +206 -0
  911. package/.grimoire/product/templates/front-end-spec-tmpl.yaml +349 -0
  912. package/.grimoire/product/templates/fullstack-architecture-tmpl.yaml +805 -0
  913. package/.grimoire/product/templates/gemini/settings.json +81 -0
  914. package/.grimoire/product/templates/github-actions-cd.yml +213 -0
  915. package/.grimoire/product/templates/github-actions-ci.yml +173 -0
  916. package/.grimoire/product/templates/github-pr-template.md +68 -0
  917. package/.grimoire/product/templates/gordon-mcp.yaml +141 -0
  918. package/.grimoire/product/templates/grimoire-ai-config.yaml +107 -0
  919. package/.grimoire/product/templates/ide-rules/antigravity-rules.md +117 -0
  920. package/.grimoire/product/templates/ide-rules/claude-rules.md +233 -0
  921. package/.grimoire/product/templates/ide-rules/codex-rules.md +67 -0
  922. package/.grimoire/product/templates/ide-rules/copilot-rules.md +94 -0
  923. package/.grimoire/product/templates/ide-rules/cursor-rules.md +116 -0
  924. package/.grimoire/product/templates/ide-rules/gemini-rules.md +89 -0
  925. package/.grimoire/product/templates/index-strategy-tmpl.yaml +53 -0
  926. package/.grimoire/product/templates/market-research-tmpl.yaml +252 -0
  927. package/.grimoire/product/templates/mcp-workflow.js +273 -0
  928. package/.grimoire/product/templates/migration-plan-tmpl.yaml +1022 -0
  929. package/.grimoire/product/templates/migration-strategy-tmpl.md +524 -0
  930. package/.grimoire/product/templates/personalized-agent-template.md +260 -0
  931. package/.grimoire/product/templates/personalized-checklist-template.md +341 -0
  932. package/.grimoire/product/templates/personalized-task-template-v2.md +907 -0
  933. package/.grimoire/product/templates/personalized-task-template.md +345 -0
  934. package/.grimoire/product/templates/personalized-template-file.yaml +323 -0
  935. package/.grimoire/product/templates/personalized-workflow-template.yaml +461 -0
  936. package/.grimoire/product/templates/pmdr.hbs +187 -0
  937. package/.grimoire/product/templates/prd-tmpl.yaml +202 -0
  938. package/.grimoire/product/templates/prd-v2.0.hbs +217 -0
  939. package/.grimoire/product/templates/prd.hbs +202 -0
  940. package/.grimoire/product/templates/project-brief-tmpl.yaml +221 -0
  941. package/.grimoire/product/templates/qa-gate-tmpl.yaml +240 -0
  942. package/.grimoire/product/templates/qa-report-tmpl.md +235 -0
  943. package/.grimoire/product/templates/rls-policies-tmpl.yaml +1203 -0
  944. package/.grimoire/product/templates/schema-design-tmpl.yaml +428 -0
  945. package/.grimoire/product/templates/shock-report-tmpl.html +502 -0
  946. package/.grimoire/product/templates/spec-tmpl.md +235 -0
  947. package/.grimoire/product/templates/state-persistence-tmpl.yaml +219 -0
  948. package/.grimoire/product/templates/statusline/statusline-script.js +190 -0
  949. package/.grimoire/product/templates/statusline/track-agent.sh +70 -0
  950. package/.grimoire/product/templates/story-tmpl.yaml +369 -0
  951. package/.grimoire/product/templates/story.hbs +264 -0
  952. package/.grimoire/product/templates/task-execution-report.md +496 -0
  953. package/.grimoire/product/templates/task-template.md +123 -0
  954. package/.grimoire/product/templates/task.hbs +171 -0
  955. package/.grimoire/product/templates/tmpl-comment-on-examples.sql +158 -0
  956. package/.grimoire/product/templates/tmpl-migration-script.sql +91 -0
  957. package/.grimoire/product/templates/tmpl-rls-granular-policies.sql +104 -0
  958. package/.grimoire/product/templates/tmpl-rls-kiss-policy.sql +10 -0
  959. package/.grimoire/product/templates/tmpl-rls-roles.sql +135 -0
  960. package/.grimoire/product/templates/tmpl-rls-simple.sql +77 -0
  961. package/.grimoire/product/templates/tmpl-rls-tenant.sql +152 -0
  962. package/.grimoire/product/templates/tmpl-rollback-script.sql +77 -0
  963. package/.grimoire/product/templates/tmpl-seed-data.sql +140 -0
  964. package/.grimoire/product/templates/tmpl-smoke-test.sql +16 -0
  965. package/.grimoire/product/templates/tmpl-staging-copy-merge.sql +139 -0
  966. package/.grimoire/product/templates/tmpl-stored-proc.sql +140 -0
  967. package/.grimoire/product/templates/tmpl-trigger.sql +152 -0
  968. package/.grimoire/product/templates/tmpl-view-materialized.sql +133 -0
  969. package/.grimoire/product/templates/tmpl-view.sql +177 -0
  970. package/.grimoire/product/templates/token-exports-css-tmpl.css +240 -0
  971. package/.grimoire/product/templates/token-exports-tailwind-tmpl.js +395 -0
  972. package/.grimoire/product/templates/tokens-schema-tmpl.yaml +305 -0
  973. package/.grimoire/product/templates/workflow-template.yaml +152 -0
  974. package/.grimoire/project-config.yaml +166 -0
  975. package/.grimoire/quality/metrics-collector.js +601 -0
  976. package/.grimoire/quality/metrics-hook.js +261 -0
  977. package/.grimoire/quality/schemas/quality-metrics.schema.json +234 -0
  978. package/.grimoire/quality/seed-metrics.js +336 -0
  979. package/.grimoire/schemas/README.md +405 -0
  980. package/.grimoire/schemas/agent-v3-schema.json +395 -0
  981. package/.grimoire/schemas/squad-design-schema.json +300 -0
  982. package/.grimoire/schemas/squad-schema.json +187 -0
  983. package/.grimoire/schemas/task-v3-schema.json +354 -0
  984. package/.grimoire/schemas/validate-v3-schema.js +431 -0
  985. package/.grimoire/scripts/README.md +124 -0
  986. package/.grimoire/scripts/batch-migrate-phase1.ps1 +37 -0
  987. package/.grimoire/scripts/batch-migrate-phase2.ps1 +89 -0
  988. package/.grimoire/scripts/batch-migrate-phase3.ps1 +46 -0
  989. package/.grimoire/scripts/command-execution-hook.js +202 -0
  990. package/.grimoire/scripts/diagnostics/diagnose-installation.js +276 -0
  991. package/.grimoire/scripts/diagnostics/diagnose-npx-issue.ps1 +98 -0
  992. package/.grimoire/scripts/diagnostics/health-dashboard/README.md +123 -0
  993. package/.grimoire/scripts/diagnostics/health-dashboard/index.html +14 -0
  994. package/.grimoire/scripts/diagnostics/health-dashboard/package-lock.json +5262 -0
  995. package/.grimoire/scripts/diagnostics/health-dashboard/package.json +25 -0
  996. package/.grimoire/scripts/diagnostics/health-dashboard/public/favicon.svg +10 -0
  997. package/.grimoire/scripts/diagnostics/health-dashboard/src/App.jsx +22 -0
  998. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/AutoFixLog.css +122 -0
  999. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/AutoFixLog.jsx +72 -0
  1000. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/DomainCard.css +121 -0
  1001. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/DomainCard.jsx +116 -0
  1002. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/HealthScore.css +80 -0
  1003. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/HealthScore.jsx +81 -0
  1004. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/IssuesList.css +184 -0
  1005. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/IssuesList.jsx +145 -0
  1006. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/TechDebtList.css +114 -0
  1007. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/TechDebtList.jsx +72 -0
  1008. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/index.js +9 -0
  1009. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Card.css +44 -0
  1010. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Card.jsx +25 -0
  1011. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Chart.css +14 -0
  1012. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Chart.jsx +138 -0
  1013. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Header.css +54 -0
  1014. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/Header.jsx +22 -0
  1015. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/StatusBadge.css +77 -0
  1016. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/StatusBadge.jsx +45 -0
  1017. package/.grimoire/scripts/diagnostics/health-dashboard/src/components/shared/index.js +4 -0
  1018. package/.grimoire/scripts/diagnostics/health-dashboard/src/hooks/index.js +2 -0
  1019. package/.grimoire/scripts/diagnostics/health-dashboard/src/hooks/useAutoRefresh.js +89 -0
  1020. package/.grimoire/scripts/diagnostics/health-dashboard/src/hooks/useHealthData.js +308 -0
  1021. package/.grimoire/scripts/diagnostics/health-dashboard/src/main.jsx +13 -0
  1022. package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/Dashboard.css +238 -0
  1023. package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/Dashboard.jsx +154 -0
  1024. package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/DomainDetail.css +259 -0
  1025. package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/DomainDetail.jsx +164 -0
  1026. package/.grimoire/scripts/diagnostics/health-dashboard/src/pages/index.js +2 -0
  1027. package/.grimoire/scripts/diagnostics/health-dashboard/src/styles/App.css +19 -0
  1028. package/.grimoire/scripts/diagnostics/health-dashboard/src/styles/index.css +67 -0
  1029. package/.grimoire/scripts/diagnostics/health-dashboard/vite.config.js +23 -0
  1030. package/.grimoire/scripts/diagnostics/quick-diagnose.cmd +86 -0
  1031. package/.grimoire/scripts/diagnostics/quick-diagnose.ps1 +118 -0
  1032. package/.grimoire/scripts/grimoire-doc-template.md +326 -0
  1033. package/.grimoire/scripts/migrate-framework-docs.sh +302 -0
  1034. package/.grimoire/scripts/pm.sh +455 -0
  1035. package/.grimoire/scripts/session-context-loader.js +46 -0
  1036. package/.grimoire/scripts/test-template-system.js +942 -0
  1037. package/.grimoire/scripts/update-grimoire.sh +176 -0
  1038. package/.grimoire/scripts/validate-phase1.ps1 +36 -0
  1039. package/.grimoire/scripts/workflow-management.md +70 -0
  1040. package/.grimoire/user-guide.md +1411 -0
  1041. package/.grimoire/utils/format-duration.js +95 -0
  1042. package/.grimoire/utils/grimoire-validator.js +27 -0
  1043. package/.grimoire/workflow-intelligence/__tests__/confidence-scorer.test.js +334 -0
  1044. package/.grimoire/workflow-intelligence/__tests__/integration.test.js +339 -0
  1045. package/.grimoire/workflow-intelligence/__tests__/suggestion-engine.test.js +437 -0
  1046. package/.grimoire/workflow-intelligence/__tests__/wave-analyzer.test.js +447 -0
  1047. package/.grimoire/workflow-intelligence/__tests__/workflow-registry.test.js +302 -0
  1048. package/.grimoire/workflow-intelligence/engine/confidence-scorer.js +306 -0
  1049. package/.grimoire/workflow-intelligence/engine/output-formatter.js +299 -0
  1050. package/.grimoire/workflow-intelligence/engine/suggestion-engine.js +798 -0
  1051. package/.grimoire/workflow-intelligence/engine/wave-analyzer.js +683 -0
  1052. package/.grimoire/workflow-intelligence/index.js +330 -0
  1053. package/.grimoire/workflow-intelligence/learning/capture-hook.js +148 -0
  1054. package/.grimoire/workflow-intelligence/learning/gotcha-registry.js +654 -0
  1055. package/.grimoire/workflow-intelligence/learning/index.js +306 -0
  1056. package/.grimoire/workflow-intelligence/learning/pattern-capture.js +330 -0
  1057. package/.grimoire/workflow-intelligence/learning/pattern-store.js +497 -0
  1058. package/.grimoire/workflow-intelligence/learning/pattern-validator.js +310 -0
  1059. package/.grimoire/workflow-intelligence/learning/qa-feedback.js +586 -0
  1060. package/.grimoire/workflow-intelligence/learning/semantic-search.js +521 -0
  1061. package/.grimoire/workflow-intelligence/registry/workflow-registry.js +357 -0
  1062. package/.grimoire/working-in-the-brownfield.md +362 -0
  1063. package/LICENSE +25 -0
  1064. package/README.md +59 -0
  1065. package/bin/grimoire-ids.js +560 -0
  1066. package/bin/grimoire-init.js +1232 -0
  1067. package/bin/grimoire-minimal.js +40 -0
  1068. package/bin/grimoire.js +1118 -0
  1069. package/bin/modules/env-config.js +436 -0
  1070. package/bin/modules/mcp-installer.js +384 -0
  1071. package/bin/utils/install-errors.js +340 -0
  1072. package/bin/utils/install-transaction.js +447 -0
  1073. package/bin/utils/pro-detector.js +110 -0
  1074. package/package.json +158 -0
  1075. package/packages/gemini-grimoire-extension/README.md +55 -0
  1076. package/packages/gemini-grimoire-extension/commands/grimoire-agent.js +7 -0
  1077. package/packages/gemini-grimoire-extension/commands/grimoire-agents.js +51 -0
  1078. package/packages/gemini-grimoire-extension/commands/grimoire-analyst.js +6 -0
  1079. package/packages/gemini-grimoire-extension/commands/grimoire-architect.js +6 -0
  1080. package/packages/gemini-grimoire-extension/commands/grimoire-data-engineer.js +6 -0
  1081. package/packages/gemini-grimoire-extension/commands/grimoire-dev.js +6 -0
  1082. package/packages/gemini-grimoire-extension/commands/grimoire-devops.js +6 -0
  1083. package/packages/gemini-grimoire-extension/commands/grimoire-master.js +7 -0
  1084. package/packages/gemini-grimoire-extension/commands/grimoire-menu.js +6 -0
  1085. package/packages/gemini-grimoire-extension/commands/grimoire-pm.js +6 -0
  1086. package/packages/gemini-grimoire-extension/commands/grimoire-po.js +6 -0
  1087. package/packages/gemini-grimoire-extension/commands/grimoire-qa.js +6 -0
  1088. package/packages/gemini-grimoire-extension/commands/grimoire-sm.js +6 -0
  1089. package/packages/gemini-grimoire-extension/commands/grimoire-squad-creator.js +6 -0
  1090. package/packages/gemini-grimoire-extension/commands/grimoire-status.js +68 -0
  1091. package/packages/gemini-grimoire-extension/commands/grimoire-ux-design-expert.js +6 -0
  1092. package/packages/gemini-grimoire-extension/commands/grimoire-validate.js +35 -0
  1093. package/packages/gemini-grimoire-extension/commands/lib/agent-launcher.js +147 -0
  1094. package/packages/gemini-grimoire-extension/extension.json +149 -0
  1095. package/packages/gemini-grimoire-extension/gemini-extension.json +149 -0
  1096. package/packages/gemini-grimoire-extension/hooks/hooks.json +72 -0
  1097. package/packages/grimoire-install/.releaserc.json +39 -0
  1098. package/packages/grimoire-install/CHANGELOG.md +33 -0
  1099. package/packages/grimoire-install/README.md +119 -0
  1100. package/packages/grimoire-install/bin/edmcp.js +80 -0
  1101. package/packages/grimoire-install/bin/grimoire-install.js +51 -0
  1102. package/packages/grimoire-install/jest.config.js +27 -0
  1103. package/packages/grimoire-install/package.json +68 -0
  1104. package/packages/grimoire-install/src/dep-checker.js +306 -0
  1105. package/packages/grimoire-install/src/edmcp/index.js +382 -0
  1106. package/packages/grimoire-install/src/installer.js +487 -0
  1107. package/packages/grimoire-install/src/os-detector.js +280 -0
  1108. package/packages/grimoire-pro-cli/bin/grimoire-pro.js +233 -0
  1109. package/packages/grimoire-pro-cli/package.json +38 -0
  1110. package/packages/grimoire-pro-cli/src/recover.js +101 -0
  1111. package/packages/installer/package.json +40 -0
  1112. package/packages/installer/src/__tests__/performance-benchmark.js +384 -0
  1113. package/packages/installer/src/config/configure-environment.js +373 -0
  1114. package/packages/installer/src/config/ide-configs.js +161 -0
  1115. package/packages/installer/src/config/templates/core-config-template.js +199 -0
  1116. package/packages/installer/src/config/templates/env-template.js +272 -0
  1117. package/packages/installer/src/config/validation/config-validator.js +244 -0
  1118. package/packages/installer/src/detection/detect-project-type.js +83 -0
  1119. package/packages/installer/src/installer/brownfield-upgrader.js +440 -0
  1120. package/packages/installer/src/installer/dependency-installer.js +335 -0
  1121. package/packages/installer/src/installer/file-hasher.js +234 -0
  1122. package/packages/installer/src/installer/grimoire-core-installer.js +428 -0
  1123. package/packages/installer/src/installer/manifest-signature.js +380 -0
  1124. package/packages/installer/src/installer/post-install-validator.js +1524 -0
  1125. package/packages/installer/src/merger/index.js +72 -0
  1126. package/packages/installer/src/merger/parsers/env-parser.js +153 -0
  1127. package/packages/installer/src/merger/parsers/markdown-section-parser.js +199 -0
  1128. package/packages/installer/src/merger/strategies/base-merger.js +61 -0
  1129. package/packages/installer/src/merger/strategies/env-merger.js +138 -0
  1130. package/packages/installer/src/merger/strategies/index.js +105 -0
  1131. package/packages/installer/src/merger/strategies/markdown-merger.js +208 -0
  1132. package/packages/installer/src/merger/strategies/replace-merger.js +68 -0
  1133. package/packages/installer/src/merger/types.js +72 -0
  1134. package/packages/installer/src/pro/pro-scaffolder.js +387 -0
  1135. package/packages/installer/src/updater/index.js +814 -0
  1136. package/packages/installer/src/utils/grimoire-colors.js +235 -0
  1137. package/packages/installer/src/wizard/feedback.js +232 -0
  1138. package/packages/installer/src/wizard/i18n.js +230 -0
  1139. package/packages/installer/src/wizard/ide-config-generator.js +993 -0
  1140. package/packages/installer/src/wizard/ide-selector.js +86 -0
  1141. package/packages/installer/src/wizard/index.js +831 -0
  1142. package/packages/installer/src/wizard/pro-setup.js +1223 -0
  1143. package/packages/installer/src/wizard/questions.js +336 -0
  1144. package/packages/installer/src/wizard/validation/index.js +121 -0
  1145. package/packages/installer/src/wizard/validation/report-generator.js +254 -0
  1146. package/packages/installer/src/wizard/validation/troubleshooting-system.js +348 -0
  1147. package/packages/installer/src/wizard/validation/validators/config-validator.js +364 -0
  1148. package/packages/installer/src/wizard/validation/validators/dependency-validator.js +333 -0
  1149. package/packages/installer/src/wizard/validation/validators/file-structure-validator.js +175 -0
  1150. package/packages/installer/src/wizard/validation/validators/mcp-health-checker.js +310 -0
  1151. package/packages/installer/src/wizard/validators.js +274 -0
  1152. package/packages/installer/src/wizard/wizard.js +246 -0
  1153. package/packages/installer/tests/integration/environment-configuration.test.js +331 -0
  1154. package/packages/installer/tests/integration/wizard-detection.test.js +353 -0
  1155. package/packages/installer/tests/unit/config-validator.test.js +316 -0
  1156. package/packages/installer/tests/unit/detection/detect-project-type.test.js +403 -0
  1157. package/packages/installer/tests/unit/env-template.test.js +189 -0
  1158. package/packages/installer/tests/unit/merger/env-merger.test.js +192 -0
  1159. package/packages/installer/tests/unit/merger/markdown-merger.test.js +262 -0
  1160. package/packages/installer/tests/unit/merger/strategies.test.js +153 -0
  1161. package/scripts/check-markdown-links.py +353 -0
  1162. package/scripts/code-intel-health-check.js +344 -0
  1163. package/scripts/dashboard-parallel-dev.sh +184 -0
  1164. package/scripts/dashboard-parallel-phase3.sh +130 -0
  1165. package/scripts/dashboard-parallel-phase4.sh +131 -0
  1166. package/scripts/ensure-manifest.js +59 -0
  1167. package/scripts/generate-install-manifest.js +368 -0
  1168. package/scripts/install-monitor-hooks.sh +83 -0
  1169. package/scripts/package-synapse.js +325 -0
  1170. package/scripts/semantic-lint.js +191 -0
  1171. package/scripts/sign-manifest.ps1 +132 -0
  1172. package/scripts/sign-manifest.sh +122 -0
  1173. package/scripts/validate-manifest.js +267 -0
  1174. package/scripts/validate-package-completeness.js +319 -0
@@ -0,0 +1,1118 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * grimoire-FullStack CLI
5
+ * Main entry point - Standalone (no external dependencies for npx compatibility)
6
+ * Version: 4.0.0
7
+ */
8
+
9
+ const path = require('path');
10
+ const fs = require('fs');
11
+ const { execSync } = require('child_process');
12
+
13
+ // Read package.json for version
14
+ const packageJsonPath = path.join(__dirname, '..', 'package.json');
15
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
16
+
17
+ // Parse arguments
18
+ const args = process.argv.slice(2);
19
+ const command = args[0];
20
+
21
+ // Helper: Run initialization wizard
22
+ async function runWizard(options = {}) {
23
+ // Use the v4 wizard from packages/installer/src/wizard/index.js
24
+ const wizardPath = path.join(__dirname, '..', 'packages', 'installer', 'src', 'wizard', 'index.js');
25
+
26
+ if (!fs.existsSync(wizardPath)) {
27
+ // Fallback to legacy wizard if new wizard not found
28
+ const legacyScript = path.join(__dirname, 'grimoire-init.js');
29
+ if (fs.existsSync(legacyScript)) {
30
+ if (!options.quiet) {
31
+ console.log('⚠️ Using legacy wizard (src/wizard not found)');
32
+ }
33
+ // Legacy wizard doesn't support options, pass via env vars
34
+ process.env.grimoire_INSTALL_FORCE = options.force ? '1' : '';
35
+ process.env.grimoire_INSTALL_QUIET = options.quiet ? '1' : '';
36
+ process.env.grimoire_INSTALL_DRY_RUN = options.dryRun ? '1' : '';
37
+ require(legacyScript);
38
+ return;
39
+ }
40
+ console.error('❌ Initialization wizard not found');
41
+ console.error('Please ensure grimoire-FullStack is installed correctly.');
42
+ process.exit(1);
43
+ }
44
+
45
+ try {
46
+ // Run the v4 wizard with options
47
+ const { runWizard: executeWizard } = require(wizardPath);
48
+ await executeWizard(options);
49
+ } catch (error) {
50
+ console.error('❌ Wizard error:', error.message);
51
+ process.exit(1);
52
+ }
53
+ }
54
+
55
+ // Helper: Show help
56
+ function showHelp() {
57
+ console.log(`
58
+ grimoire-FullStack v${packageJson.version}
59
+ AI-Orchestrated System for Full Stack Development
60
+
61
+ USAGE:
62
+ npx grimoire@latest # Run installation wizard
63
+ npx grimoire@latest install # Install in current project
64
+ npx grimoire@latest init <name> # Create new project
65
+ npx grimoire@latest update # Update to latest version
66
+ npx grimoire@latest validate # Validate installation integrity
67
+ npx grimoire@latest info # Show system info
68
+ npx grimoire@latest doctor # Run diagnostics
69
+ npx grimoire@latest --version # Show version
70
+ npx grimoire@latest --version -d # Show detailed version info
71
+ npx grimoire@latest --help # Show this help
72
+
73
+ UPDATE:
74
+ grimoire update # Update to latest version
75
+ grimoire update --check # Check for updates without applying
76
+ grimoire update --dry-run # Preview what would be updated
77
+ grimoire update --force # Force update even if up-to-date
78
+ grimoire update --verbose # Show detailed output
79
+
80
+ VALIDATION:
81
+ grimoire validate # Validate installation integrity
82
+ grimoire validate --repair # Repair missing/corrupted files
83
+ grimoire validate --repair --dry-run # Preview repairs
84
+ grimoire validate --detailed # Show detailed file list
85
+
86
+ CONFIGURATION:
87
+ grimoire config show # Show resolved configuration
88
+ grimoire config show --debug # Show with source annotations
89
+ grimoire config diff --levels L1,L2 # Compare config levels
90
+ grimoire config migrate # Migrate monolithic to layered
91
+ grimoire config validate # Validate config files
92
+ grimoire config init-local # Create local-config.yaml
93
+
94
+ SERVICE DISCOVERY:
95
+ grimoire workers search <query> # Search for workers
96
+ grimoire workers search "json" --category=data
97
+ grimoire workers search "transform" --tags=etl,data
98
+ grimoire workers search "api" --format=json
99
+
100
+ EXAMPLES:
101
+ # Install in current directory
102
+ npx grimoire@latest
103
+
104
+ # Install with minimal mode (only expansion-creator)
105
+ npx grimoire-minimal@latest
106
+
107
+ # Create new project
108
+ npx grimoire@latest init my-project
109
+
110
+ # Search for workers
111
+ grimoire workers search "json csv"
112
+
113
+ For more information, visit: https://github.com/grimoireAI/grimoire
114
+ `);
115
+ }
116
+
117
+ // Helper: Show version
118
+ async function showVersion() {
119
+ const isDetailed = args.includes('--detailed') || args.includes('-d');
120
+
121
+ if (!isDetailed) {
122
+ // Simple version output (backwards compatible)
123
+ console.log(packageJson.version);
124
+ return;
125
+ }
126
+
127
+ // Detailed version output (Story 7.2: Version Tracking)
128
+ console.log(`grimoire-FullStack v${packageJson.version}`);
129
+ console.log('Package: grimoire');
130
+
131
+ // Check for local installation
132
+ const localVersionPath = path.join(process.cwd(), '.grimoire', 'version.json');
133
+
134
+ if (fs.existsSync(localVersionPath)) {
135
+ try {
136
+ const versionInfo = JSON.parse(fs.readFileSync(localVersionPath, 'utf8'));
137
+ console.log('\n📦 Local Installation:');
138
+ console.log(` Version: ${versionInfo.version}`);
139
+ console.log(` Mode: ${versionInfo.mode || 'unknown'}`);
140
+
141
+ if (versionInfo.installedAt) {
142
+ const installedDate = new Date(versionInfo.installedAt);
143
+ console.log(` Installed: ${installedDate.toLocaleDateString()}`);
144
+ }
145
+
146
+ if (versionInfo.updatedAt) {
147
+ const updatedDate = new Date(versionInfo.updatedAt);
148
+ console.log(` Updated: ${updatedDate.toLocaleDateString()}`);
149
+ }
150
+
151
+ if (versionInfo.fileHashes) {
152
+ const fileCount = Object.keys(versionInfo.fileHashes).length;
153
+ console.log(` Files: ${fileCount} tracked`);
154
+ }
155
+
156
+ if (versionInfo.customized && versionInfo.customized.length > 0) {
157
+ console.log(` Customized: ${versionInfo.customized.length} files`);
158
+ }
159
+
160
+ // Version comparison
161
+ if (versionInfo.version !== packageJson.version) {
162
+ console.log('\n⚠️ Version mismatch!');
163
+ console.log(` Local: ${versionInfo.version}`);
164
+ console.log(` Latest: ${packageJson.version}`);
165
+ console.log(' Run \'npx grimoire update\' to update.');
166
+ } else {
167
+ console.log('\n✅ Up to date');
168
+ }
169
+ } catch (error) {
170
+ console.log(`\n⚠️ Could not read version.json: ${error.message}`);
171
+ }
172
+ } else {
173
+ console.log('\n📭 No local installation found');
174
+ console.log(' Run \'npx grimoire install\' to install grimoire in this project.');
175
+ }
176
+ }
177
+
178
+ // Helper: Show system info
179
+ function showInfo() {
180
+ console.log('📊 grimoire-FullStack System Information\n');
181
+ console.log(`Version: ${packageJson.version}`);
182
+ console.log(`Platform: ${process.platform}`);
183
+ console.log(`Node.js: ${process.version}`);
184
+ console.log(`Architecture: ${process.arch}`);
185
+ console.log(`Working Directory: ${process.cwd()}`);
186
+ console.log(`Install Location: ${path.join(__dirname, '..')}`);
187
+
188
+ // Check if .grimoire exists
189
+ const grimoireCoreDir = path.join(__dirname, '..', '.grimoire');
190
+ if (fs.existsSync(grimoireCoreDir)) {
191
+ console.log('\n✓ grimoire Core installed');
192
+
193
+ // Count components
194
+ const countFiles = (dir) => {
195
+ try {
196
+ return fs.readdirSync(dir).length;
197
+ } catch {
198
+ return 0;
199
+ }
200
+ };
201
+
202
+ console.log(` - Agents: ${countFiles(path.join(grimoireCoreDir, 'development', 'agents'))}`);
203
+ console.log(` - Tasks: ${countFiles(path.join(grimoireCoreDir, 'development', 'tasks'))}`);
204
+ console.log(` - Templates: ${countFiles(path.join(grimoireCoreDir, 'development', 'templates'))}`);
205
+ console.log(` - Workflows: ${countFiles(path.join(grimoireCoreDir, 'development', 'workflows'))}`);
206
+ } else {
207
+ console.log('\n⚠️ grimoire Core not found');
208
+ }
209
+
210
+ // Check grimoire Pro status (Task 5.1)
211
+ const proDir = path.join(__dirname, '..', 'pro');
212
+ if (fs.existsSync(proDir)) {
213
+ console.log('\n✓ grimoire Pro installed');
214
+
215
+ try {
216
+ const { featureGate } = require(path.join(proDir, 'license', 'feature-gate'));
217
+ const state = featureGate.getLicenseState();
218
+ const info = featureGate.getLicenseInfo();
219
+
220
+ const stateEmoji = {
221
+ 'Active': '✅',
222
+ 'Grace': '⚠️',
223
+ 'Expired': '❌',
224
+ 'Not Activated': '➖',
225
+ };
226
+
227
+ console.log(` - License: ${stateEmoji[state] || ''} ${state}`);
228
+
229
+ if (info && info.features) {
230
+ const availableCount = featureGate.listAvailable().length;
231
+ console.log(` - Features: ${availableCount} available`);
232
+ }
233
+ } catch {
234
+ console.log(' - License: Unable to check status');
235
+ }
236
+ }
237
+ }
238
+
239
+ // Helper: Run installation validation
240
+ async function runValidate() {
241
+ const validateArgs = args.slice(1); // Remove 'validate' from args
242
+
243
+ try {
244
+ // Load the validate command module
245
+ const { createValidateCommand } = require('../.grimoire/cli/commands/validate/index.js');
246
+ const validateCmd = createValidateCommand();
247
+
248
+ // Parse and execute (Note: don't include 'validate' as it's the command name, not an argument)
249
+ await validateCmd.parseAsync(['node', 'grimoire', ...validateArgs]);
250
+ } catch (_error) {
251
+ // Fallback: Run quick validation inline
252
+ console.log('Running installation validation...\n');
253
+
254
+ try {
255
+ const validatorPath = path.join(
256
+ __dirname,
257
+ '..',
258
+ 'packages',
259
+ 'installer',
260
+ 'src',
261
+ 'installer',
262
+ 'post-install-validator.js',
263
+ );
264
+ const { PostInstallValidator, formatReport } = require(validatorPath);
265
+
266
+ const projectRoot = process.cwd();
267
+ const validator = new PostInstallValidator(projectRoot, path.join(__dirname, '..'));
268
+ const report = await validator.validate();
269
+
270
+ console.log(formatReport(report, { colors: true }));
271
+
272
+ if (
273
+ report.status === 'failed' ||
274
+ report.stats.missingFiles > 0 ||
275
+ report.stats.corruptedFiles > 0
276
+ ) {
277
+ process.exit(1);
278
+ }
279
+ } catch (validatorError) {
280
+ console.error(`❌ Validation error: ${validatorError.message}`);
281
+ if (args.includes('--verbose') || args.includes('-v')) {
282
+ console.error(validatorError.stack);
283
+ }
284
+ process.exit(2);
285
+ }
286
+ }
287
+ }
288
+
289
+ // Helper: Run update command
290
+ async function runUpdate() {
291
+ const updateArgs = args.slice(1);
292
+ const isCheck = updateArgs.includes('--check');
293
+ const isDryRun = updateArgs.includes('--dry-run');
294
+ const isForce = updateArgs.includes('--force');
295
+ const isVerbose = updateArgs.includes('--verbose') || updateArgs.includes('-v');
296
+
297
+ try {
298
+ const updaterPath = path.join(__dirname, '..', 'packages', 'installer', 'src', 'updater', 'index.js');
299
+
300
+ if (!fs.existsSync(updaterPath)) {
301
+ console.error('❌ Updater module not found');
302
+ console.error('Please ensure grimoire-FullStack is installed correctly.');
303
+ process.exit(1);
304
+ }
305
+
306
+ const { grimoireUpdater, formatCheckResult, formatUpdateResult } = require(updaterPath);
307
+
308
+ const updater = new grimoireUpdater(process.cwd(), {
309
+ verbose: isVerbose,
310
+ force: isForce,
311
+ });
312
+
313
+ if (isCheck) {
314
+ // Check only mode
315
+ console.log('🔍 Checking for updates...\n');
316
+ const result = await updater.checkForUpdates();
317
+ console.log(formatCheckResult(result, { colors: true }));
318
+
319
+ if (result.status === 'check_failed') {
320
+ process.exit(1);
321
+ }
322
+ } else {
323
+ // Update mode
324
+ console.log('🔄 grimoire Update\n');
325
+
326
+ const result = await updater.update({
327
+ dryRun: isDryRun,
328
+ onProgress: (phase, message) => {
329
+ if (isVerbose) {
330
+ console.log(`[${phase}] ${message}`);
331
+ }
332
+ },
333
+ });
334
+
335
+ console.log(formatUpdateResult(result, { colors: true }));
336
+
337
+ if (!result.success && result.error !== 'Already up to date') {
338
+ process.exit(1);
339
+ }
340
+ }
341
+ } catch (error) {
342
+ console.error(`❌ Update error: ${error.message}`);
343
+ if (args.includes('--verbose') || args.includes('-v')) {
344
+ console.error(error.stack);
345
+ }
346
+ process.exit(1);
347
+ }
348
+ }
349
+
350
+ // Helper: Run doctor diagnostics
351
+ async function runDoctor() {
352
+ const doctorArgs = args.slice(1);
353
+ const shouldFix = doctorArgs.includes('--fix');
354
+ const isDryRun = doctorArgs.includes('--dry-run');
355
+ const showHelp = doctorArgs.includes('--help') || doctorArgs.includes('-h');
356
+
357
+ if (showHelp) {
358
+ console.log(`
359
+ Usage: grimoire doctor [options]
360
+
361
+ Run system diagnostics and optionally fix issues.
362
+
363
+ Options:
364
+ --fix Attempt to automatically fix detected issues
365
+ --dry-run Show what would be fixed without making changes
366
+ -h, --help Show this help message
367
+
368
+ Examples:
369
+ $ npx grimoire doctor # Run diagnostics
370
+ $ npx grimoire doctor --fix # Fix detected issues
371
+ $ npx grimoire doctor --dry-run # Preview fixes
372
+ `);
373
+ return;
374
+ }
375
+
376
+ console.log('🏥 grimoire System Diagnostics\n');
377
+
378
+ const issues = [];
379
+ let hasErrors = false;
380
+
381
+ // Helper: Compare semver versions
382
+ const compareVersions = (a, b) => {
383
+ const pa = a.split('.').map((n) => parseInt(n, 10));
384
+ const pb = b.split('.').map((n) => parseInt(n, 10));
385
+ for (let i = 0; i < 3; i++) {
386
+ const na = pa[i] || 0;
387
+ const nb = pb[i] || 0;
388
+ if (na > nb) return 1;
389
+ if (na < nb) return -1;
390
+ }
391
+ return 0;
392
+ };
393
+
394
+ // Check 1: Node.js version
395
+ const nodeVersion = process.version.replace('v', '');
396
+ const requiredNodeVersion = '18.0.0';
397
+ const nodeOk = compareVersions(nodeVersion, requiredNodeVersion) >= 0;
398
+
399
+ if (!nodeOk) {
400
+ issues.push({
401
+ type: 'node_version',
402
+ autoFix: false,
403
+ message: `Node.js version: ${process.version} (requires >=18.0.0)`,
404
+ suggestion: 'nvm install 20 && nvm use 20',
405
+ });
406
+ hasErrors = true;
407
+ }
408
+ console.log(
409
+ `${nodeOk ? '✔' : '✗'} Node.js version: ${process.version} ${nodeOk ? '(meets requirement: >=18.0.0)' : '(requires >=18.0.0)'}`,
410
+ );
411
+
412
+ // Check 2: npm
413
+ try {
414
+ const npmVersion = execSync('npm --version', { encoding: 'utf8' }).trim();
415
+ console.log(`✔ npm version: ${npmVersion}`);
416
+ } catch {
417
+ issues.push({
418
+ type: 'npm',
419
+ autoFix: false,
420
+ message: 'npm not found',
421
+ suggestion: 'Install Node.js from https://nodejs.org (includes npm)',
422
+ });
423
+ console.log('✗ npm not found');
424
+ hasErrors = true;
425
+ }
426
+
427
+ // Check 3: Git
428
+ try {
429
+ const gitVersion = execSync('git --version', { encoding: 'utf8' }).trim();
430
+ console.log(`✔ Git installed: ${gitVersion}`);
431
+ } catch {
432
+ issues.push({
433
+ type: 'git',
434
+ autoFix: false,
435
+ message: 'Git not found (optional but recommended)',
436
+ suggestion: 'Install Git from https://git-scm.com',
437
+ });
438
+ console.log('⚠️ Git not found (optional but recommended)');
439
+ }
440
+
441
+ // Check 4: grimoire installation
442
+ const grimoireCoreDir = path.join(__dirname, '..', '.grimoire');
443
+ if (fs.existsSync(grimoireCoreDir)) {
444
+ console.log(`✔ Grimoire: v${packageJson.version}`);
445
+
446
+ // Check for corruption using validate (if available)
447
+ try {
448
+ const validatorPath = path.join(__dirname, '..', 'packages', 'installer', 'src', 'installer', 'post-install-validator');
449
+ const { PostInstallValidator } = require(validatorPath);
450
+ const validator = new PostInstallValidator(process.cwd(), path.join(__dirname, '..'));
451
+ const report = await validator.validate();
452
+
453
+ if (report.stats && (report.stats.missingFiles > 0 || report.stats.corruptedFiles > 0)) {
454
+ issues.push({
455
+ type: 'grimoire_corrupted',
456
+ autoFix: true,
457
+ message: `grimoire Core: ${report.stats.missingFiles} missing, ${report.stats.corruptedFiles} corrupted files`,
458
+ fixAction: async () => {
459
+ console.log(' 🔧 Repairing grimoire installation...');
460
+ await validator.repair();
461
+ console.log(' ✓ Repair complete');
462
+ },
463
+ });
464
+ hasErrors = true;
465
+ console.log(`⚠️ grimoire Core: ${report.stats.missingFiles} missing, ${report.stats.corruptedFiles} corrupted files`);
466
+ }
467
+ } catch {
468
+ // Validation not available, skip corruption check
469
+ }
470
+ } else {
471
+ issues.push({
472
+ type: 'grimoire_missing',
473
+ autoFix: true,
474
+ message: 'grimoire Core not installed',
475
+ fixAction: async () => {
476
+ console.log(' 🔧 Installing grimoire...');
477
+ try {
478
+ execSync('npx grimoire install --force --quiet', { stdio: 'inherit', timeout: 60000 });
479
+ console.log(' ✓ Installation complete');
480
+ } catch (installError) {
481
+ console.error(` ✗ Installation failed: ${installError.message}`);
482
+ throw installError;
483
+ }
484
+ },
485
+ });
486
+ hasErrors = true;
487
+ console.log('✗ grimoire Core not installed');
488
+ console.log(' Run: npx grimoire@latest');
489
+ }
490
+
491
+ // Check 5: grimoire Pro status
492
+ const proDetector = require('./utils/pro-detector');
493
+ if (proDetector.isProAvailable()) {
494
+ console.log('✔ grimoire Pro: Active (Full Version)');
495
+ }
496
+
497
+ // Apply fixes if --fix
498
+ if (shouldFix && issues.length > 0) {
499
+ console.log('\n🔧 Attempting fixes...\n');
500
+
501
+ let fixed = 0;
502
+ let manual = 0;
503
+
504
+ for (const issue of issues) {
505
+ if (issue.autoFix && issue.fixAction) {
506
+ if (isDryRun) {
507
+ console.log(` [DRY RUN] Would fix: ${issue.type}`);
508
+ fixed++;
509
+ } else {
510
+ try {
511
+ await issue.fixAction();
512
+ fixed++;
513
+ } catch (fixError) {
514
+ console.error(` ✗ Failed to fix ${issue.type}: ${fixError.message}`);
515
+ manual++;
516
+ }
517
+ }
518
+ } else {
519
+ manual++;
520
+ console.log(` ⚠️ ${issue.message}`);
521
+ console.log(` 💡 Fix: ${issue.suggestion}`);
522
+ }
523
+ }
524
+
525
+ console.log('');
526
+ if (isDryRun) {
527
+ console.log(`✅ Dry run completed - ${fixed} issues would be fixed`);
528
+ if (manual > 0) {
529
+ console.log(`⚠️ ${manual} issues require manual action`);
530
+ }
531
+ } else {
532
+ if (fixed > 0) {
533
+ console.log(`✅ Fixed ${fixed} issue${fixed > 1 ? 's' : ''}`);
534
+ }
535
+ if (manual > 0) {
536
+ console.log(`⚠️ ${manual} issue${manual > 1 ? 's' : ''} require manual action`);
537
+ process.exit(1);
538
+ }
539
+ }
540
+ } else {
541
+ // Summary (no --fix)
542
+ console.log('');
543
+ if (hasErrors) {
544
+ console.log('⚠️ Some issues were detected. Run with --fix to auto-repair.');
545
+ process.exit(1);
546
+ } else {
547
+ console.log('✅ All checks passed! Your installation is healthy.');
548
+ }
549
+ }
550
+ }
551
+
552
+ // Helper: Format bytes to human readable
553
+ function formatBytes(bytes) {
554
+ if (bytes === 0) return '0 Bytes';
555
+ const k = 1024;
556
+ const sizes = ['Bytes', 'KB', 'MB', 'GB'];
557
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
558
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
559
+ }
560
+
561
+ // Helper: Remove grimoire sections from .gitignore
562
+ function cleanGitignore(gitignorePath) {
563
+ if (!fs.existsSync(gitignorePath)) return { removed: false };
564
+
565
+ const content = fs.readFileSync(gitignorePath, 'utf8');
566
+ const lines = content.split('\n');
567
+ const newLines = [];
568
+ let ingrimoireSection = false;
569
+ let removedLines = 0;
570
+
571
+ for (const line of lines) {
572
+ if (line.includes('# grimoire') || line.includes('# Added by grimoire')) {
573
+ ingrimoireSection = true;
574
+ removedLines++;
575
+ continue;
576
+ }
577
+ if (ingrimoireSection && line.trim() === '') {
578
+ ingrimoireSection = false;
579
+ continue;
580
+ }
581
+ if (ingrimoireSection) {
582
+ removedLines++;
583
+ continue;
584
+ }
585
+ newLines.push(line);
586
+ }
587
+
588
+ if (removedLines > 0) {
589
+ fs.writeFileSync(gitignorePath, newLines.join('\n'));
590
+ return { removed: true, lines: removedLines };
591
+ }
592
+ return { removed: false };
593
+ }
594
+
595
+ // Helper: Show uninstall help
596
+ function showUninstallHelp() {
597
+ console.log(`
598
+ Usage: npx grimoire uninstall [options]
599
+
600
+ Remove grimoire from the current project.
601
+
602
+ Options:
603
+ --force Skip confirmation prompt
604
+ --keep-data Keep .grimoire/ directory (settings and history)
605
+ --dry-run Show what would be removed without removing
606
+ -h, --help Show this help message
607
+
608
+ What gets removed:
609
+ - .grimoire/ Framework core files
610
+ - docs/stories/ Story files (if created by grimoire)
611
+ - squads/ Squad definitions
612
+ - .gitignore grimoire-added entries only
613
+
614
+ What is preserved (with --keep-data):
615
+ - .grimoire/ Project settings and agent history
616
+
617
+ Exit Codes:
618
+ 0 Uninstall successful
619
+ 1 Uninstall failed or cancelled
620
+
621
+ Examples:
622
+ # Interactive uninstall (with confirmation)
623
+ npx grimoire uninstall
624
+
625
+ # Force uninstall without prompts
626
+ npx grimoire uninstall --force
627
+
628
+ # See what would be removed
629
+ npx grimoire uninstall --dry-run
630
+
631
+ # Uninstall but keep project data
632
+ npx grimoire uninstall --keep-data
633
+ `);
634
+ }
635
+
636
+ // Helper: Show doctor help
637
+ function showDoctorHelp() {
638
+ console.log(`
639
+ Usage: npx grimoire doctor [options]
640
+
641
+ Run health checks on your grimoire installation.
642
+
643
+ Options:
644
+ --fix Automatically fix detected issues
645
+ --dry-run Show what --fix would do without making changes
646
+ --quiet Minimal output (exit code only)
647
+ -h, --help Show this help message
648
+
649
+ Checks performed:
650
+ • Required directories exist (.grimoire/, .grimoire/)
651
+ • Configuration files are valid JSON/YAML
652
+ • Agent definitions are complete
653
+ • Task files have required fields
654
+ • Dependencies are installed
655
+
656
+ Exit Codes:
657
+ 0 All checks passed (or issues fixed with --fix)
658
+ 1 Issues detected (run with --fix to repair)
659
+
660
+ Examples:
661
+ # Run health check
662
+ npx grimoire doctor
663
+
664
+ # Auto-fix detected issues
665
+ npx grimoire doctor --fix
666
+
667
+ # Preview what would be fixed
668
+ npx grimoire doctor --fix --dry-run
669
+ `);
670
+ }
671
+
672
+ // Uninstall grimoire from project
673
+ async function runUninstall(options = {}) {
674
+ const { force = false, keepData = false, dryRun = false, quiet = false } = options;
675
+ const cwd = process.cwd();
676
+
677
+ // Items to remove
678
+ const itemsToRemove = [
679
+ { path: '.grimoire', description: 'Framework core' },
680
+ { path: 'squads', description: 'Squad definitions' },
681
+ ];
682
+
683
+ // Optionally remove .grimoire
684
+ if (!keepData) {
685
+ itemsToRemove.push({ path: '.grimoire', description: 'Project data and settings' });
686
+ }
687
+
688
+ // Check what exists
689
+ const existingItems = itemsToRemove.filter(item =>
690
+ fs.existsSync(path.join(cwd, item.path)),
691
+ );
692
+
693
+ if (existingItems.length === 0) {
694
+ console.log('ℹ️ No grimoire installation found in this directory.');
695
+ return;
696
+ }
697
+
698
+ // Calculate total size
699
+ let totalSize = 0;
700
+ const itemSizes = [];
701
+
702
+ for (const item of existingItems) {
703
+ const itemPath = path.join(cwd, item.path);
704
+ try {
705
+ const stats = fs.statSync(itemPath);
706
+ if (stats.isDirectory()) {
707
+ // Simple recursive size calculation
708
+ const getSize = (dir) => {
709
+ let size = 0;
710
+ try {
711
+ const files = fs.readdirSync(dir);
712
+ for (const file of files) {
713
+ const filePath = path.join(dir, file);
714
+ const stat = fs.statSync(filePath);
715
+ if (stat.isDirectory()) {
716
+ size += getSize(filePath);
717
+ } else {
718
+ size += stat.size;
719
+ }
720
+ }
721
+ } catch { /* ignore errors */ }
722
+ return size;
723
+ };
724
+ const size = getSize(itemPath);
725
+ totalSize += size;
726
+ itemSizes.push({ ...item, size });
727
+ } else {
728
+ totalSize += stats.size;
729
+ itemSizes.push({ ...item, size: stats.size });
730
+ }
731
+ } catch {
732
+ itemSizes.push({ ...item, size: 0 });
733
+ }
734
+ }
735
+
736
+ // Show what will be removed
737
+ if (!quiet) {
738
+ console.log('\n📋 Items to be removed:\n');
739
+ for (const item of itemSizes) {
740
+ const sizeStr = item.size > 0 ? ` (${formatBytes(item.size)})` : '';
741
+ console.log(` • ${item.path}/${sizeStr} - ${item.description}`);
742
+ }
743
+ console.log(`\n Total: ${formatBytes(totalSize)}`);
744
+
745
+ // Check for .gitignore cleanup
746
+ const gitignorePath = path.join(cwd, '.gitignore');
747
+ if (fs.existsSync(gitignorePath)) {
748
+ const content = fs.readFileSync(gitignorePath, 'utf8');
749
+ if (content.includes('# grimoire') || content.includes('# Added by grimoire')) {
750
+ console.log(' • .gitignore grimoire entries will be cleaned');
751
+ }
752
+ }
753
+ console.log('');
754
+ }
755
+
756
+ // Dry run - stop here
757
+ if (dryRun) {
758
+ console.log('🔍 Dry run - no changes made.');
759
+ return;
760
+ }
761
+
762
+ // Confirmation
763
+ if (!force) {
764
+ const readline = require('readline');
765
+ const rl = readline.createInterface({
766
+ input: process.stdin,
767
+ output: process.stdout,
768
+ });
769
+
770
+ const answer = await new Promise(resolve => {
771
+ rl.question('⚠️ Are you sure you want to uninstall grimoire? (y/N): ', resolve);
772
+ });
773
+ rl.close();
774
+
775
+ if (answer.toLowerCase() !== 'y' && answer.toLowerCase() !== 'yes') {
776
+ console.log('❌ Uninstall cancelled.');
777
+ process.exit(1);
778
+ }
779
+ }
780
+
781
+ // Perform removal
782
+ if (!quiet) console.log('\n🗑️ Removing grimoire components...\n');
783
+
784
+ for (const item of existingItems) {
785
+ const itemPath = path.join(cwd, item.path);
786
+ try {
787
+ fs.rmSync(itemPath, { recursive: true, force: true });
788
+ if (!quiet) console.log(` ✓ Removed ${item.path}/`);
789
+ } catch (error) {
790
+ console.error(` ✗ Failed to remove ${item.path}: ${error.message}`);
791
+ }
792
+ }
793
+
794
+ // Clean .gitignore
795
+ const gitignorePath = path.join(cwd, '.gitignore');
796
+ const gitignoreResult = cleanGitignore(gitignorePath);
797
+ if (gitignoreResult.removed && !quiet) {
798
+ console.log(` ✓ Cleaned ${gitignoreResult.lines} grimoire entries from .gitignore`);
799
+ }
800
+
801
+ // Summary
802
+ if (!quiet) {
803
+ console.log('\n✅ grimoire has been uninstalled.');
804
+ if (keepData) {
805
+ console.log(' Your project data in .grimoire/ has been preserved.');
806
+ }
807
+ console.log('\n To reinstall: npx grimoire install');
808
+ }
809
+ }
810
+
811
+ // Helper: Show install help
812
+ function showInstallHelp() {
813
+ console.log(`
814
+ Usage: npx grimoire install [options]
815
+
816
+ Install grimoire in the current directory.
817
+
818
+ Options:
819
+ --force Overwrite existing grimoire installation
820
+ --quiet Minimal output (no banner, no prompts) - ideal for CI/CD
821
+ --dry-run Simulate installation without modifying files
822
+ --merge Auto-merge existing config files (brownfield mode)
823
+ --no-merge Disable merge option, use legacy overwrite behavior
824
+ -h, --help Show this help message
825
+
826
+ Smart Merge (Brownfield):
827
+ When installing in a project with existing config files (.env, CLAUDE.md),
828
+ grimoire can merge new settings while preserving your customizations.
829
+
830
+ - .env files: Adds new variables, preserves existing values
831
+ - CLAUDE.md: Updates grimoire sections, keeps your custom rules
832
+
833
+ Exit Codes:
834
+ 0 Installation successful
835
+ 1 Installation failed
836
+
837
+ Examples:
838
+ # Interactive installation
839
+ npx grimoire install
840
+
841
+ # Force reinstall without prompts
842
+ npx grimoire install --force
843
+
844
+ # Brownfield: merge configs automatically
845
+ npx grimoire install --merge
846
+
847
+ # Silent install for CI/CD
848
+ npx grimoire install --quiet --force
849
+
850
+ # Preview what would be installed
851
+ npx grimoire install --dry-run
852
+ `);
853
+ }
854
+
855
+ // Helper: Create new project
856
+ // Helper: Show init help
857
+ function showInitHelp() {
858
+ console.log(`
859
+ Usage: npx grimoire init <project-name> [options]
860
+
861
+ Create a new grimoire project with the specified name.
862
+
863
+ Options:
864
+ --force Force creation in non-empty directory
865
+ --skip-install Skip npm dependency installation
866
+ --template <name> Use specific template (default: default)
867
+ -t <name> Shorthand for --template
868
+ -h, --help Show this help message
869
+
870
+ Available Templates:
871
+ default Full installation with all agents, tasks, and workflows
872
+ minimal Essential files only (dev agent + basic tasks)
873
+ enterprise Everything + dashboards + team integrations
874
+
875
+ Examples:
876
+ npx grimoire init my-project
877
+ npx grimoire init my-project --template minimal
878
+ npx grimoire init my-project --force --skip-install
879
+ npx grimoire init . --template enterprise
880
+ `);
881
+ }
882
+
883
+ async function initProject() {
884
+ // 1. Parse ALL args after 'init'
885
+ const initArgs = args.slice(1);
886
+
887
+ // 2. Handle --help FIRST (before creating any directories)
888
+ if (initArgs.includes('--help') || initArgs.includes('-h')) {
889
+ showInitHelp();
890
+ return;
891
+ }
892
+
893
+ // 3. Parse flags
894
+ const isForce = initArgs.includes('--force');
895
+ const skipInstall = initArgs.includes('--skip-install');
896
+
897
+ // Template with argument
898
+ const templateIndex = initArgs.findIndex((a) => a === '--template' || a === '-t');
899
+ let template = 'default';
900
+ if (templateIndex !== -1) {
901
+ template = initArgs[templateIndex + 1];
902
+ if (!template || template.startsWith('-')) {
903
+ console.error('❌ --template requires a template name');
904
+ console.error('Available templates: default, minimal, enterprise');
905
+ process.exit(1);
906
+ }
907
+ }
908
+
909
+ // Validate template
910
+ const validTemplates = ['default', 'minimal', 'enterprise'];
911
+ if (!validTemplates.includes(template)) {
912
+ console.error(`❌ Unknown template: ${template}`);
913
+ console.error(`Available templates: ${validTemplates.join(', ')}`);
914
+ process.exit(1);
915
+ }
916
+
917
+ // 4. Extract project name (anything that doesn't start with - and isn't a template value)
918
+ const projectName = initArgs.find((arg, i) => {
919
+ if (arg.startsWith('-')) return false;
920
+ // Skip if it's the value after --template
921
+ const prevArg = initArgs[i - 1];
922
+ if (prevArg === '--template' || prevArg === '-t') return false;
923
+ return true;
924
+ });
925
+
926
+ if (!projectName) {
927
+ console.error('❌ Project name is required');
928
+ console.log('\nUsage: npx grimoire init <project-name> [options]');
929
+ console.log('Run with --help for more information.');
930
+ process.exit(1);
931
+ }
932
+
933
+ // 5. Handle "." to install in current directory
934
+ const isCurrentDir = projectName === '.';
935
+ const targetPath = isCurrentDir ? process.cwd() : path.join(process.cwd(), projectName);
936
+ const displayName = isCurrentDir ? path.basename(process.cwd()) : projectName;
937
+
938
+ // 6. Check if directory exists
939
+ if (fs.existsSync(targetPath) && !isCurrentDir) {
940
+ const contents = fs.readdirSync(targetPath).filter((f) => !f.startsWith('.'));
941
+ if (contents.length > 0 && !isForce) {
942
+ console.error(`❌ Directory already exists and is not empty: ${projectName}`);
943
+ console.error('Use --force to overwrite.');
944
+ process.exit(1);
945
+ }
946
+ if (contents.length > 0 && isForce) {
947
+ console.log(`⚠️ Using --force: overwriting existing directory: ${projectName}`);
948
+ } else {
949
+ console.log(`✓ Using existing empty directory: ${projectName}`);
950
+ }
951
+ } else if (!fs.existsSync(targetPath)) {
952
+ fs.mkdirSync(targetPath, { recursive: true });
953
+ console.log(`✓ Created directory: ${projectName}`);
954
+ }
955
+
956
+ console.log(`Creating new grimoire project: ${displayName}`);
957
+ if (template !== 'default') {
958
+ console.log(`Template: ${template}`);
959
+ }
960
+ if (skipInstall) {
961
+ console.log('Skip install: enabled');
962
+ }
963
+ console.log('');
964
+
965
+ // 7. Change to project directory (if not already there)
966
+ if (!isCurrentDir) {
967
+ process.chdir(targetPath);
968
+ }
969
+
970
+ // 8. Run the initialization wizard with options
971
+ await runWizard({
972
+ template,
973
+ skipInstall,
974
+ force: isForce,
975
+ });
976
+ }
977
+
978
+ // Command routing (async main function)
979
+ async function main() {
980
+ switch (command) {
981
+ case 'workers':
982
+ // Service Discovery CLI - Story 2.7
983
+ try {
984
+ const { run } = require('../.grimoire/cli/index.js');
985
+ await run(process.argv);
986
+ } catch (error) {
987
+ console.error(`❌ Workers command error: ${error.message}`);
988
+ process.exit(1);
989
+ }
990
+ break;
991
+
992
+ case 'config':
993
+ // Layered Configuration CLI - Story PRO-4
994
+ try {
995
+ const { run } = require('../.grimoire/cli/index.js');
996
+ await run(process.argv);
997
+ } catch (error) {
998
+ console.error(`❌ Config command error: ${error.message}`);
999
+ process.exit(1);
1000
+ }
1001
+ break;
1002
+
1003
+ case 'pro':
1004
+ // grimoire Pro License Management - Story PRO-6
1005
+ try {
1006
+ const { run } = require('../.grimoire/cli/index.js');
1007
+ await run(process.argv);
1008
+ } catch (error) {
1009
+ console.error(`❌ Pro command error: ${error.message}`);
1010
+ process.exit(1);
1011
+ }
1012
+ break;
1013
+
1014
+ case 'install': {
1015
+ // Install in current project with flag support
1016
+ const installArgs = args.slice(1);
1017
+ if (installArgs.includes('--help') || installArgs.includes('-h')) {
1018
+ showInstallHelp();
1019
+ break;
1020
+ }
1021
+ const installOptions = {
1022
+ force: installArgs.includes('--force'),
1023
+ quiet: installArgs.includes('--quiet'),
1024
+ dryRun: installArgs.includes('--dry-run'),
1025
+ forceMerge: installArgs.includes('--merge'),
1026
+ noMerge: installArgs.includes('--no-merge'),
1027
+ };
1028
+ if (!installOptions.quiet) {
1029
+ console.log('grimoire-FullStack Installation\n');
1030
+ }
1031
+ await runWizard(installOptions);
1032
+ break;
1033
+ }
1034
+
1035
+ case 'uninstall': {
1036
+ // Uninstall grimoire from project
1037
+ const uninstallArgs = args.slice(1);
1038
+ if (uninstallArgs.includes('--help') || uninstallArgs.includes('-h')) {
1039
+ showUninstallHelp();
1040
+ break;
1041
+ }
1042
+ const uninstallOptions = {
1043
+ force: uninstallArgs.includes('--force'),
1044
+ keepData: uninstallArgs.includes('--keep-data'),
1045
+ dryRun: uninstallArgs.includes('--dry-run'),
1046
+ quiet: uninstallArgs.includes('--quiet'),
1047
+ };
1048
+ await runUninstall(uninstallOptions);
1049
+ break;
1050
+ }
1051
+
1052
+ case 'init': {
1053
+ // Create new project (flags parsed inside initProject)
1054
+ await initProject();
1055
+ break;
1056
+ }
1057
+
1058
+ case 'info':
1059
+ showInfo();
1060
+ break;
1061
+
1062
+ case 'doctor': {
1063
+ // Run health check with flag support
1064
+ const doctorArgs = args.slice(1);
1065
+ if (doctorArgs.includes('--help') || doctorArgs.includes('-h')) {
1066
+ showDoctorHelp();
1067
+ break;
1068
+ }
1069
+ const doctorOptions = {
1070
+ fix: doctorArgs.includes('--fix'),
1071
+ dryRun: doctorArgs.includes('--dry-run'),
1072
+ quiet: doctorArgs.includes('--quiet'),
1073
+ };
1074
+ await runDoctor(doctorOptions);
1075
+ break;
1076
+ }
1077
+
1078
+ case 'validate':
1079
+ // Post-installation validation - Story 6.19
1080
+ await runValidate();
1081
+ break;
1082
+
1083
+ case 'update':
1084
+ // Update to latest version - Epic 7
1085
+ await runUpdate();
1086
+ break;
1087
+
1088
+ case '--version':
1089
+ case '-v':
1090
+ case '-V':
1091
+ await showVersion();
1092
+ break;
1093
+
1094
+ case '--help':
1095
+ case '-h':
1096
+ showHelp();
1097
+ break;
1098
+
1099
+ case undefined:
1100
+ // No arguments - run wizard directly (npx default behavior)
1101
+ console.log('grimoire-FullStack Installation\n');
1102
+ await runWizard();
1103
+ break;
1104
+
1105
+ default:
1106
+ console.error(`❌ Unknown command: ${command}`);
1107
+ console.log('\nRun with --help to see available commands');
1108
+ process.exit(1);
1109
+ }
1110
+ }
1111
+
1112
+ // Execute main function
1113
+ main().catch((error) => {
1114
+ console.error('❌ Fatal error:', error.message);
1115
+ process.exit(1);
1116
+ });
1117
+
1118
+