blockmine 1.21.0 → 1.22.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 (433) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +55 -0
  55. package/.claude/settings.local.json +27 -14
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +90 -54
  255. package/README.md +94 -0
  256. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  257. package/backend/jest.config.js +59 -0
  258. package/backend/package-lock.json +6129 -0
  259. package/backend/package.json +16 -4
  260. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  261. package/backend/prisma/schema.prisma +33 -0
  262. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  263. package/backend/src/__tests__/core/UserService.test.js +875 -0
  264. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  265. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  266. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  267. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  268. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  269. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  270. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  271. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  272. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  273. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  274. package/backend/src/__tests__/services/BotLifecycleService.test.js +411 -0
  275. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  276. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  277. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  278. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  279. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  280. package/backend/src/__tests__/setup.js +25 -0
  281. package/backend/src/api/routes/apiKeys.js +181 -0
  282. package/backend/src/api/routes/bots.js +49 -7
  283. package/backend/src/api/routes/plugins.js +2 -1
  284. package/backend/src/api/routes/system.js +174 -0
  285. package/backend/src/container.js +82 -0
  286. package/backend/src/core/BotManager.js +142 -871
  287. package/backend/src/core/BotManager.old.js +1093 -0
  288. package/backend/src/core/BotProcess.js +1092 -858
  289. package/backend/src/core/EventGraphManager.js +280 -198
  290. package/backend/src/core/GraphExecutionEngine.js +321 -325
  291. package/backend/src/core/MessageQueue.js +27 -6
  292. package/backend/src/core/NodeRegistry.js +37 -1134
  293. package/backend/src/core/PluginManager.js +62 -12
  294. package/backend/src/core/PrismaService.js +32 -0
  295. package/backend/src/core/UserService.js +3 -3
  296. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  297. package/backend/src/core/commands/README.md +305 -0
  298. package/backend/src/core/commands/dev.js +13 -7
  299. package/backend/src/core/commands/ping.js +10 -4
  300. package/backend/src/core/commands/whois.js +63 -0
  301. package/backend/src/core/config/validation.js +27 -0
  302. package/backend/src/core/constants/graphTypes.js +21 -0
  303. package/backend/src/core/node-registries/actions.js +132 -0
  304. package/backend/src/core/node-registries/arrays.js +137 -0
  305. package/backend/src/core/node-registries/bot.js +23 -0
  306. package/backend/src/core/node-registries/data.js +290 -0
  307. package/backend/src/core/node-registries/debug.js +26 -0
  308. package/backend/src/core/node-registries/events.js +187 -0
  309. package/backend/src/core/node-registries/flow.js +139 -0
  310. package/backend/src/core/node-registries/logic.js +45 -0
  311. package/backend/src/core/node-registries/math.js +42 -0
  312. package/backend/src/core/node-registries/objects.js +98 -0
  313. package/backend/src/core/node-registries/strings.js +153 -0
  314. package/backend/src/core/node-registries/time.js +113 -0
  315. package/backend/src/core/node-registries/users.js +79 -0
  316. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  317. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  318. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  319. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  320. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  321. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  322. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +8 -0
  323. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  324. package/backend/src/core/nodes/data/entity_info.js +69 -0
  325. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  326. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  327. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  328. package/backend/src/core/nodes/data/type_check.js +53 -0
  329. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  330. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  331. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  332. package/backend/src/core/nodes/flow/delay.js +43 -0
  333. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  334. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  335. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  336. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  337. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  338. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  339. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  340. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  341. package/backend/src/core/nodes/time/add.js +33 -0
  342. package/backend/src/core/nodes/time/compare.js +35 -0
  343. package/backend/src/core/nodes/time/diff.js +29 -0
  344. package/backend/src/core/nodes/time/format.js +32 -0
  345. package/backend/src/core/nodes/time/now.js +18 -0
  346. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  347. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  348. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  349. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  350. package/backend/src/core/services/BotLifecycleService.js +596 -0
  351. package/backend/src/core/services/BotProcessManager.js +163 -0
  352. package/backend/src/core/services/CacheManager.js +111 -0
  353. package/backend/src/core/services/CommandExecutionService.js +351 -0
  354. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  355. package/backend/src/core/services/TelemetryService.js +124 -0
  356. package/backend/src/core/services/ValidationService.js +132 -0
  357. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  358. package/backend/src/core/services.js +20 -5
  359. package/backend/src/core/system/CommandContext.js +84 -0
  360. package/backend/src/core/system/Transport.js +78 -0
  361. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  362. package/backend/src/core/utils/jsonParser.js +18 -0
  363. package/backend/src/core/utils/secretsFilter.js +262 -0
  364. package/backend/src/core/utils/variableParser.js +89 -0
  365. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  366. package/backend/src/core/validation/nodeSchemas.js +112 -0
  367. package/backend/src/lib/prisma.js +2 -4
  368. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  369. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  370. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  371. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  372. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  373. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  374. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  375. package/backend/src/real-time/botApi/index.js +40 -0
  376. package/backend/src/real-time/botApi/middleware.js +79 -0
  377. package/backend/src/real-time/botApi/utils.js +54 -0
  378. package/backend/src/real-time/socketHandler.js +6 -2
  379. package/backend/src/repositories/BaseRepository.js +43 -0
  380. package/backend/src/repositories/BotRepository.js +42 -0
  381. package/backend/src/repositories/CommandRepository.js +53 -0
  382. package/backend/src/repositories/EventGraphRepository.js +40 -0
  383. package/backend/src/repositories/GroupRepository.js +69 -0
  384. package/backend/src/repositories/PermissionRepository.js +48 -0
  385. package/backend/src/repositories/PluginRepository.js +42 -0
  386. package/backend/src/repositories/ServerRepository.js +27 -0
  387. package/backend/src/repositories/UserRepository.js +48 -0
  388. package/backend/src/server.js +3 -0
  389. package/backend/src/test-refactor.js +85 -0
  390. package/frontend/dist/assets/index-CfTo92bP.css +1 -0
  391. package/frontend/dist/assets/index-CiFD5X9Z.js +8344 -0
  392. package/frontend/dist/index.html +2 -2
  393. package/frontend/package.json +0 -5
  394. package/package.json +2 -1
  395. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  396. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  397. package/nul +0 -0
  398. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  399. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  400. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  401. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  402. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  403. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  404. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  405. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  406. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  407. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  408. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  409. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  410. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  411. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  412. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  413. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  414. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  415. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  416. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  417. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  418. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  419. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  420. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  421. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  422. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  423. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  424. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  425. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  426. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  427. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  428. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  429. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  430. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  431. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  432. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
  433. /package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +0 -0
@@ -0,0 +1,448 @@
1
+ # Hooks Configuration Guide
2
+
3
+ This guide explains how to configure and customize the hooks system for your project.
4
+
5
+ ## Quick Start Configuration
6
+
7
+ ### 1. Register Hooks in .claude/settings.json
8
+
9
+ Create or update `.claude/settings.json` in your project root:
10
+
11
+ ```json
12
+ {
13
+ "hooks": {
14
+ "UserPromptSubmit": [
15
+ {
16
+ "hooks": [
17
+ {
18
+ "type": "command",
19
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/skill-activation-prompt.sh"
20
+ }
21
+ ]
22
+ }
23
+ ],
24
+ "PostToolUse": [
25
+ {
26
+ "matcher": "Edit|MultiEdit|Write",
27
+ "hooks": [
28
+ {
29
+ "type": "command",
30
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/post-tool-use-tracker.sh"
31
+ }
32
+ ]
33
+ }
34
+ ],
35
+ "Stop": [
36
+ {
37
+ "hooks": [
38
+ {
39
+ "type": "command",
40
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/stop-prettier-formatter.sh"
41
+ },
42
+ {
43
+ "type": "command",
44
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/stop-build-check-enhanced.sh"
45
+ },
46
+ {
47
+ "type": "command",
48
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/error-handling-reminder.sh"
49
+ }
50
+ ]
51
+ }
52
+ ]
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### 2. Install Dependencies
58
+
59
+ ```bash
60
+ cd .claude/hooks
61
+ npm install
62
+ ```
63
+
64
+ ### 3. Set Execute Permissions
65
+
66
+ ```bash
67
+ chmod +x .claude/hooks/*.sh
68
+ ```
69
+
70
+ ## Customization Options
71
+
72
+ ### Project Structure Detection
73
+
74
+ By default, hooks detect these directory patterns:
75
+
76
+ **Frontend:** `frontend/`, `client/`, `web/`, `app/`, `ui/`
77
+ **Backend:** `backend/`, `server/`, `api/`, `src/`, `services/`
78
+ **Database:** `database/`, `prisma/`, `migrations/`
79
+ **Monorepo:** `packages/*`, `examples/*`
80
+
81
+ #### Adding Custom Directory Patterns
82
+
83
+ Edit `.claude/hooks/post-tool-use-tracker.sh`, function `detect_repo()`:
84
+
85
+ ```bash
86
+ case "$repo" in
87
+ # Add your custom directories here
88
+ my-custom-service)
89
+ echo "$repo"
90
+ ;;
91
+ admin-panel)
92
+ echo "$repo"
93
+ ;;
94
+ # ... existing patterns
95
+ esac
96
+ ```
97
+
98
+ ### Build Command Detection
99
+
100
+ The hooks auto-detect build commands based on:
101
+ 1. Presence of `package.json` with "build" script
102
+ 2. Package manager (pnpm > npm > yarn)
103
+ 3. Special cases (Prisma schemas)
104
+
105
+ #### Customizing Build Commands
106
+
107
+ Edit `.claude/hooks/post-tool-use-tracker.sh`, function `get_build_command()`:
108
+
109
+ ```bash
110
+ # Add custom build logic
111
+ if [[ "$repo" == "my-service" ]]; then
112
+ echo "cd $repo_path && make build"
113
+ return
114
+ fi
115
+ ```
116
+
117
+ ### TypeScript Configuration
118
+
119
+ Hooks automatically detect:
120
+ - `tsconfig.json` for standard TypeScript projects
121
+ - `tsconfig.app.json` for Vite/React projects
122
+
123
+ #### Custom TypeScript Configs
124
+
125
+ Edit `.claude/hooks/post-tool-use-tracker.sh`, function `get_tsc_command()`:
126
+
127
+ ```bash
128
+ if [[ "$repo" == "my-service" ]]; then
129
+ echo "cd $repo_path && npx tsc --project tsconfig.build.json --noEmit"
130
+ return
131
+ fi
132
+ ```
133
+
134
+ ### Prettier Configuration
135
+
136
+ The prettier hook searches for configs in this order:
137
+ 1. Current file directory (walking upward)
138
+ 2. Project root
139
+ 3. Falls back to Prettier defaults
140
+
141
+ #### Custom Prettier Config Search
142
+
143
+ Edit `.claude/hooks/stop-prettier-formatter.sh`, function `get_prettier_config()`:
144
+
145
+ ```bash
146
+ # Add custom config locations
147
+ if [[ -f "$project_root/config/.prettierrc" ]]; then
148
+ echo "$project_root/config/.prettierrc"
149
+ return
150
+ fi
151
+ ```
152
+
153
+ ### Error Handling Reminders
154
+
155
+ Configure file category detection in `.claude/hooks/error-handling-reminder.ts`:
156
+
157
+ ```typescript
158
+ function getFileCategory(filePath: string): 'backend' | 'frontend' | 'database' | 'other' {
159
+ // Add custom patterns
160
+ if (filePath.includes('/my-custom-dir/')) return 'backend';
161
+ // ... existing patterns
162
+ }
163
+ ```
164
+
165
+ ### Error Threshold Configuration
166
+
167
+ Change when to recommend the auto-error-resolver agent.
168
+
169
+ Edit `.claude/hooks/stop-build-check-enhanced.sh`:
170
+
171
+ ```bash
172
+ # Default is 5 errors - change to your preference
173
+ if [[ $total_errors -ge 10 ]]; then # Now requires 10+ errors
174
+ # Recommend agent
175
+ fi
176
+ ```
177
+
178
+ ## Environment Variables
179
+
180
+ ### Global Environment Variables
181
+
182
+ Set in your shell profile (`.bashrc`, `.zshrc`, etc.):
183
+
184
+ ```bash
185
+ # Disable error handling reminders
186
+ export SKIP_ERROR_REMINDER=1
187
+
188
+ # Custom project directory (if not using default)
189
+ export CLAUDE_PROJECT_DIR=/path/to/your/project
190
+ ```
191
+
192
+ ### Per-Session Environment Variables
193
+
194
+ Set before starting Claude Code:
195
+
196
+ ```bash
197
+ SKIP_ERROR_REMINDER=1 claude-code
198
+ ```
199
+
200
+ ## Hook Execution Order
201
+
202
+ Stop hooks run in the order specified in `settings.json`:
203
+
204
+ ```json
205
+ "Stop": [
206
+ {
207
+ "hooks": [
208
+ { "command": "...formatter.sh" }, // Runs FIRST
209
+ { "command": "...build-check.sh" }, // Runs SECOND
210
+ { "command": "...reminder.sh" } // Runs THIRD
211
+ ]
212
+ }
213
+ ]
214
+ ```
215
+
216
+ **Why this order matters:**
217
+ 1. Format files first (clean code)
218
+ 2. Then check for errors
219
+ 3. Finally show reminders
220
+
221
+ ## Selective Hook Enabling
222
+
223
+ You don't need all hooks. Choose what works for your project:
224
+
225
+ ### Minimal Setup (Skill Activation Only)
226
+
227
+ ```json
228
+ {
229
+ "hooks": {
230
+ "UserPromptSubmit": [
231
+ {
232
+ "hooks": [
233
+ {
234
+ "type": "command",
235
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/skill-activation-prompt.sh"
236
+ }
237
+ ]
238
+ }
239
+ ]
240
+ }
241
+ }
242
+ ```
243
+
244
+ ### Build Checking Only (No Formatting)
245
+
246
+ ```json
247
+ {
248
+ "hooks": {
249
+ "PostToolUse": [
250
+ {
251
+ "matcher": "Edit|MultiEdit|Write",
252
+ "hooks": [
253
+ {
254
+ "type": "command",
255
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/post-tool-use-tracker.sh"
256
+ }
257
+ ]
258
+ }
259
+ ],
260
+ "Stop": [
261
+ {
262
+ "hooks": [
263
+ {
264
+ "type": "command",
265
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/stop-build-check-enhanced.sh"
266
+ }
267
+ ]
268
+ }
269
+ ]
270
+ }
271
+ }
272
+ ```
273
+
274
+ ### Formatting Only (No Build Checking)
275
+
276
+ ```json
277
+ {
278
+ "hooks": {
279
+ "PostToolUse": [
280
+ {
281
+ "matcher": "Edit|MultiEdit|Write",
282
+ "hooks": [
283
+ {
284
+ "type": "command",
285
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/post-tool-use-tracker.sh"
286
+ }
287
+ ]
288
+ }
289
+ ],
290
+ "Stop": [
291
+ {
292
+ "hooks": [
293
+ {
294
+ "type": "command",
295
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/stop-prettier-formatter.sh"
296
+ }
297
+ ]
298
+ }
299
+ ]
300
+ }
301
+ }
302
+ ```
303
+
304
+ ## Cache Management
305
+
306
+ ### Cache Location
307
+
308
+ ```
309
+ $CLAUDE_PROJECT_DIR/.claude/tsc-cache/[session_id]/
310
+ ```
311
+
312
+ ### Manual Cache Cleanup
313
+
314
+ ```bash
315
+ # Remove all cached data
316
+ rm -rf $CLAUDE_PROJECT_DIR/.claude/tsc-cache/*
317
+
318
+ # Remove specific session
319
+ rm -rf $CLAUDE_PROJECT_DIR/.claude/tsc-cache/[session-id]
320
+ ```
321
+
322
+ ### Automatic Cleanup
323
+
324
+ The build-check hook automatically cleans up session cache on successful builds.
325
+
326
+ ## Troubleshooting Configuration
327
+
328
+ ### Hook Not Executing
329
+
330
+ 1. **Check registration:** Verify hook is in `.claude/settings.json`
331
+ 2. **Check permissions:** Run `chmod +x .claude/hooks/*.sh`
332
+ 3. **Check path:** Ensure `$CLAUDE_PROJECT_DIR` is set correctly
333
+ 4. **Check TypeScript:** Run `cd .claude/hooks && npx tsc` to check for errors
334
+
335
+ ### False Positive Detections
336
+
337
+ **Issue:** Hook triggers for files it shouldn't
338
+
339
+ **Solution:** Add skip conditions in the relevant hook:
340
+
341
+ ```bash
342
+ # In post-tool-use-tracker.sh
343
+ if [[ "$file_path" =~ /generated/ ]]; then
344
+ exit 0 # Skip generated files
345
+ fi
346
+ ```
347
+
348
+ ### Performance Issues
349
+
350
+ **Issue:** Hooks are slow
351
+
352
+ **Solutions:**
353
+ 1. Limit TypeScript checks to changed files only
354
+ 2. Use faster package managers (pnpm > npm)
355
+ 3. Add more skip conditions
356
+ 4. Disable Prettier for large files
357
+
358
+ ```bash
359
+ # Skip large files in stop-prettier-formatter.sh
360
+ file_size=$(wc -c < "$file" 2>/dev/null || echo 0)
361
+ if [[ $file_size -gt 100000 ]]; then # Skip files > 100KB
362
+ continue
363
+ fi
364
+ ```
365
+
366
+ ### Debugging Hooks
367
+
368
+ Add debug output to any hook:
369
+
370
+ ```bash
371
+ # At the top of the hook script
372
+ set -x # Enable debug mode
373
+
374
+ # Or add specific debug lines
375
+ echo "DEBUG: file_path=$file_path" >&2
376
+ echo "DEBUG: repo=$repo" >&2
377
+ ```
378
+
379
+ View hook execution in Claude Code's logs.
380
+
381
+ ## Advanced Configuration
382
+
383
+ ### Custom Hook Event Handlers
384
+
385
+ You can create your own hooks for other events:
386
+
387
+ ```json
388
+ {
389
+ "hooks": {
390
+ "PreToolUse": [
391
+ {
392
+ "matcher": "Bash",
393
+ "hooks": [
394
+ {
395
+ "type": "command",
396
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/my-custom-bash-guard.sh"
397
+ }
398
+ ]
399
+ }
400
+ ]
401
+ }
402
+ }
403
+ ```
404
+
405
+ ### Monorepo Configuration
406
+
407
+ For monorepos with multiple packages:
408
+
409
+ ```bash
410
+ # In post-tool-use-tracker.sh, detect_repo()
411
+ case "$repo" in
412
+ packages)
413
+ # Get the package name
414
+ local package=$(echo "$relative_path" | cut -d'/' -f2)
415
+ if [[ -n "$package" ]]; then
416
+ echo "packages/$package"
417
+ else
418
+ echo "$repo"
419
+ fi
420
+ ;;
421
+ esac
422
+ ```
423
+
424
+ ### Docker/Container Projects
425
+
426
+ If your build commands need to run in containers:
427
+
428
+ ```bash
429
+ # In post-tool-use-tracker.sh, get_build_command()
430
+ if [[ "$repo" == "api" ]]; then
431
+ echo "docker-compose exec api npm run build"
432
+ return
433
+ fi
434
+ ```
435
+
436
+ ## Best Practices
437
+
438
+ 1. **Start minimal** - Enable hooks one at a time
439
+ 2. **Test thoroughly** - Make changes and verify hooks work
440
+ 3. **Document customizations** - Add comments to explain custom logic
441
+ 4. **Version control** - Commit `.claude/` directory to git
442
+ 5. **Team consistency** - Share configuration across team
443
+
444
+ ## See Also
445
+
446
+ - [README.md](./README.md) - Hooks overview
447
+ - [../../docs/HOOKS_SYSTEM.md](../../docs/HOOKS_SYSTEM.md) - Complete hooks reference
448
+ - [../../docs/SKILLS_SYSTEM.md](../../docs/SKILLS_SYSTEM.md) - Skills integration
@@ -0,0 +1,163 @@
1
+ # Hooks
2
+
3
+ Claude Code hooks that enable skill auto-activation, file tracking, and validation.
4
+
5
+ ---
6
+
7
+ ## What Are Hooks?
8
+
9
+ Hooks are scripts that run at specific points in Claude's workflow:
10
+ - **UserPromptSubmit**: When user submits a prompt
11
+ - **PreToolUse**: Before a tool executes
12
+ - **PostToolUse**: After a tool completes
13
+ - **Stop**: When user requests to stop
14
+
15
+ **Key insight:** Hooks can modify prompts, block actions, and track state - enabling features Claude can't do alone.
16
+
17
+ ---
18
+
19
+ ## Essential Hooks (Start Here)
20
+
21
+ ### skill-activation-prompt (UserPromptSubmit)
22
+
23
+ **Purpose:** Automatically suggests relevant skills based on user prompts and file context
24
+
25
+ **How it works:**
26
+ 1. Reads `skill-rules.json`
27
+ 2. Matches user prompt against trigger patterns
28
+ 3. Checks which files user is working with
29
+ 4. Injects skill suggestions into Claude's context
30
+
31
+ **Why it's essential:** This is THE hook that makes skills auto-activate.
32
+
33
+ **Integration:**
34
+ ```bash
35
+ # Copy both files
36
+ cp skill-activation-prompt.sh your-project/.claude/hooks/
37
+ cp skill-activation-prompt.ts your-project/.claude/hooks/
38
+
39
+ # Make executable
40
+ chmod +x your-project/.claude/hooks/skill-activation-prompt.sh
41
+
42
+ # Install dependencies
43
+ cd your-project/.claude/hooks
44
+ npm install
45
+ ```
46
+
47
+ **Add to settings.json:**
48
+ ```json
49
+ {
50
+ "hooks": {
51
+ "UserPromptSubmit": [
52
+ {
53
+ "hooks": [
54
+ {
55
+ "type": "command",
56
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/skill-activation-prompt.sh"
57
+ }
58
+ ]
59
+ }
60
+ ]
61
+ }
62
+ }
63
+ ```
64
+
65
+ **Customization:** ✅ None needed - reads skill-rules.json automatically
66
+
67
+ ---
68
+
69
+ ### post-tool-use-tracker (PostToolUse)
70
+
71
+ **Purpose:** Tracks file changes to maintain context across sessions
72
+
73
+ **How it works:**
74
+ 1. Monitors Edit/Write/MultiEdit tool calls
75
+ 2. Records which files were modified
76
+ 3. Creates cache for context management
77
+ 4. Auto-detects project structure (frontend, backend, packages, etc.)
78
+
79
+ **Why it's essential:** Helps Claude understand what parts of your codebase are active.
80
+
81
+ **Integration:**
82
+ ```bash
83
+ # Copy file
84
+ cp post-tool-use-tracker.sh your-project/.claude/hooks/
85
+
86
+ # Make executable
87
+ chmod +x your-project/.claude/hooks/post-tool-use-tracker.sh
88
+ ```
89
+
90
+ **Add to settings.json:**
91
+ ```json
92
+ {
93
+ "hooks": {
94
+ "PostToolUse": [
95
+ {
96
+ "matcher": "Edit|MultiEdit|Write",
97
+ "hooks": [
98
+ {
99
+ "type": "command",
100
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/post-tool-use-tracker.sh"
101
+ }
102
+ ]
103
+ }
104
+ ]
105
+ }
106
+ }
107
+ ```
108
+
109
+ **Customization:** ✅ None needed - auto-detects structure
110
+
111
+ ---
112
+
113
+ ## Optional Hooks (Require Customization)
114
+
115
+ ### tsc-check (Stop)
116
+
117
+ **Purpose:** TypeScript compilation check when user stops
118
+
119
+ **⚠️ WARNING:** Configured for multi-service monorepo structure
120
+
121
+ **Integration:**
122
+
123
+ **First, determine if this is right for you:**
124
+ - ✅ Use if: Multi-service TypeScript monorepo
125
+ - ❌ Skip if: Single-service project or different build setup
126
+
127
+ **If using:**
128
+ 1. Copy tsc-check.sh
129
+ 2. **EDIT the service detection (line ~28):**
130
+ ```bash
131
+ # Replace example services with YOUR services:
132
+ case "$repo" in
133
+ api|web|auth|payments|...) # ← Your actual services
134
+ ```
135
+ 3. Test manually before adding to settings.json
136
+
137
+ **Customization:** ⚠️⚠️⚠️ Heavy
138
+
139
+ ---
140
+
141
+ ### trigger-build-resolver (Stop)
142
+
143
+ **Purpose:** Auto-launches build-error-resolver agent when compilation fails
144
+
145
+ **Depends on:** tsc-check hook working correctly
146
+
147
+ **Customization:** ✅ None (but tsc-check must work first)
148
+
149
+ ---
150
+
151
+ ## For Claude Code
152
+
153
+ **When setting up hooks for a user:**
154
+
155
+ 1. **Read [CLAUDE_INTEGRATION_GUIDE.md](../../CLAUDE_INTEGRATION_GUIDE.md)** first
156
+ 2. **Always start with the two essential hooks**
157
+ 3. **Ask before adding Stop hooks** - they can block if misconfigured
158
+ 4. **Verify after setup:**
159
+ ```bash
160
+ ls -la .claude/hooks/*.sh | grep rwx
161
+ ```
162
+
163
+ **Questions?** See [CLAUDE_INTEGRATION_GUIDE.md](../../CLAUDE_INTEGRATION_GUIDE.md)