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,392 @@
1
+ ---
2
+ name: route-tester
3
+ description: Test authenticated routes in the your project using cookie-based authentication. Use this skill when testing API endpoints, validating route functionality, or debugging authentication issues. Includes patterns for using test-auth-route.js and mock authentication.
4
+ ---
5
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6
+ 🎯 SKILL ACTIVATED: route-tester
7
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
8
+
9
+
10
+ # your project Route Tester Skill
11
+
12
+ ## Purpose
13
+ This skill provides patterns for testing authenticated routes in the your project using cookie-based JWT authentication.
14
+
15
+ ## When to Use This Skill
16
+ - Testing new API endpoints
17
+ - Validating route functionality after changes
18
+ - Debugging authentication issues
19
+ - Testing POST/PUT/DELETE operations
20
+ - Verifying request/response data
21
+
22
+ ## your project Authentication Overview
23
+
24
+ The your project uses:
25
+ - **Keycloak** for SSO (realm: yourRealm)
26
+ - **Cookie-based JWT** tokens (not Bearer headers)
27
+ - **Cookie name**: `refresh_token`
28
+ - **JWT signing**: Using secret from `config.ini`
29
+
30
+ ## Testing Methods
31
+
32
+ ### Method 1: test-auth-route.js (RECOMMENDED)
33
+
34
+ The `test-auth-route.js` script handles all authentication complexity automatically.
35
+
36
+ **Location**: `/root/git/your project_pre/scripts/test-auth-route.js`
37
+
38
+ #### Basic GET Request
39
+
40
+ ```bash
41
+ node scripts/test-auth-route.js http://localhost:3000/blog-api/api/endpoint
42
+ ```
43
+
44
+ #### POST Request with JSON Data
45
+
46
+ ```bash
47
+ node scripts/test-auth-route.js \
48
+ http://localhost:3000/blog-api/777/submit \
49
+ POST \
50
+ '{"responses":{"4577":"13295"},"submissionID":5,"stepInstanceId":"11"}'
51
+ ```
52
+
53
+ #### What the Script Does
54
+
55
+ 1. Gets a refresh token from Keycloak
56
+ - Username: `testuser`
57
+ - Password: `testpassword`
58
+ 2. Signs the token with JWT secret from `config.ini`
59
+ 3. Creates cookie header: `refresh_token=<signed-token>`
60
+ 4. Makes the authenticated request
61
+ 5. Shows the exact curl command to reproduce manually
62
+
63
+ #### Script Output
64
+
65
+ The script outputs:
66
+ - The request details
67
+ - The response status and body
68
+ - A curl command for manual reproduction
69
+
70
+ **Note**: The script is verbose - look for the actual response in the output.
71
+
72
+ ### Method 2: Manual curl with Token
73
+
74
+ Use the curl command from the test-auth-route.js output:
75
+
76
+ ```bash
77
+ # The script outputs something like:
78
+ # 💡 To test manually with curl:
79
+ # curl -b "refresh_token=eyJhbGci..." http://localhost:3000/blog-api/api/endpoint
80
+
81
+ # Copy and modify that curl command:
82
+ curl -X POST http://localhost:3000/blog-api/777/submit \
83
+ -H "Content-Type: application/json" \
84
+ -b "refresh_token=<COPY_TOKEN_FROM_SCRIPT_OUTPUT>" \
85
+ -d '{"your": "data"}'
86
+ ```
87
+
88
+ ### Method 3: Mock Authentication (Development Only - EASIEST)
89
+
90
+ For development, bypass Keycloak entirely using mock auth.
91
+
92
+ #### Setup
93
+
94
+ ```bash
95
+ # Add to service .env file (e.g., blog-api/.env)
96
+ MOCK_AUTH=true
97
+ MOCK_USER_ID=test-user
98
+ MOCK_USER_ROLES=admin,operations
99
+ ```
100
+
101
+ #### Usage
102
+
103
+ ```bash
104
+ curl -H "X-Mock-Auth: true" \
105
+ -H "X-Mock-User: test-user" \
106
+ -H "X-Mock-Roles: admin,operations" \
107
+ http://localhost:3002/api/protected
108
+ ```
109
+
110
+ #### Mock Auth Requirements
111
+
112
+ Mock auth ONLY works when:
113
+ - `NODE_ENV` is `development` or `test`
114
+ - The `mockAuth` middleware is added to the route
115
+ - Will NEVER work in production (security feature)
116
+
117
+ ## Common Testing Patterns
118
+
119
+ ### Test Form Submission
120
+
121
+ ```bash
122
+ node scripts/test-auth-route.js \
123
+ http://localhost:3000/blog-api/777/submit \
124
+ POST \
125
+ '{"responses":{"4577":"13295"},"submissionID":5,"stepInstanceId":"11"}'
126
+ ```
127
+
128
+ ### Test Workflow Start
129
+
130
+ ```bash
131
+ node scripts/test-auth-route.js \
132
+ http://localhost:3002/api/workflow/start \
133
+ POST \
134
+ '{"workflowCode":"DHS_CLOSEOUT","entityType":"Submission","entityID":123}'
135
+ ```
136
+
137
+ ### Test Workflow Step Completion
138
+
139
+ ```bash
140
+ node scripts/test-auth-route.js \
141
+ http://localhost:3002/api/workflow/step/complete \
142
+ POST \
143
+ '{"stepInstanceID":789,"answers":{"decision":"approved","comments":"Looks good"}}'
144
+ ```
145
+
146
+ ### Test GET with Query Parameters
147
+
148
+ ```bash
149
+ node scripts/test-auth-route.js \
150
+ "http://localhost:3002/api/workflows?status=active&limit=10"
151
+ ```
152
+
153
+ ### Test File Upload
154
+
155
+ ```bash
156
+ # Get token from test-auth-route.js first, then:
157
+ curl -X POST http://localhost:5000/upload \
158
+ -H "Content-Type: multipart/form-data" \
159
+ -b "refresh_token=<TOKEN>" \
160
+ -F "file=@/path/to/file.pdf" \
161
+ -F "metadata={\"description\":\"Test file\"}"
162
+ ```
163
+
164
+ ## Hardcoded Test Credentials
165
+
166
+ The `test-auth-route.js` script uses these credentials:
167
+
168
+ - **Username**: `testuser`
169
+ - **Password**: `testpassword`
170
+ - **Keycloak URL**: From `config.ini` (usually `http://localhost:8081`)
171
+ - **Realm**: `yourRealm`
172
+ - **Client ID**: From `config.ini`
173
+
174
+ ## Service Ports
175
+
176
+ | Service | Port | Base URL |
177
+ |---------|------|----------|
178
+ | Users | 3000 | http://localhost:3000 |
179
+ | Projects| 3001 | http://localhost:3001 |
180
+ | Form | 3002 | http://localhost:3002 |
181
+ | Email | 3003 | http://localhost:3003 |
182
+ | Uploads | 5000 | http://localhost:5000 |
183
+
184
+ ## Route Prefixes
185
+
186
+ Check `/src/app.ts` in each service for route prefixes:
187
+
188
+ ```typescript
189
+ // Example from blog-api/src/app.ts
190
+ app.use('/blog-api/api', formRoutes); // Prefix: /blog-api/api
191
+ app.use('/api/workflow', workflowRoutes); // Prefix: /api/workflow
192
+ ```
193
+
194
+ **Full Route** = Base URL + Prefix + Route Path
195
+
196
+ Example:
197
+ - Base: `http://localhost:3002`
198
+ - Prefix: `/form`
199
+ - Route: `/777/submit`
200
+ - **Full URL**: `http://localhost:3000/blog-api/777/submit`
201
+
202
+ ## Testing Checklist
203
+
204
+ Before testing a route:
205
+
206
+ - [ ] Identify the service (form, email, users, etc.)
207
+ - [ ] Find the correct port
208
+ - [ ] Check route prefixes in `app.ts`
209
+ - [ ] Construct the full URL
210
+ - [ ] Prepare request body (if POST/PUT)
211
+ - [ ] Determine authentication method
212
+ - [ ] Run the test
213
+ - [ ] Verify response status and data
214
+ - [ ] Check database changes if applicable
215
+
216
+ ## Verifying Database Changes
217
+
218
+ After testing routes that modify data:
219
+
220
+ ```bash
221
+ # Connect to MySQL
222
+ docker exec -i local-mysql mysql -u root -ppassword1 blog_dev
223
+
224
+ # Check specific table
225
+ mysql> SELECT * FROM WorkflowInstance WHERE id = 123;
226
+ mysql> SELECT * FROM WorkflowStepInstance WHERE instanceId = 123;
227
+ mysql> SELECT * FROM WorkflowNotification WHERE recipientUserId = 'user-123';
228
+ ```
229
+
230
+ ## Debugging Failed Tests
231
+
232
+ ### 401 Unauthorized
233
+
234
+ **Possible causes**:
235
+ 1. Token expired (regenerate with test-auth-route.js)
236
+ 2. Incorrect cookie format
237
+ 3. JWT secret mismatch
238
+ 4. Keycloak not running
239
+
240
+ **Solutions**:
241
+ ```bash
242
+ # Check Keycloak is running
243
+ docker ps | grep keycloak
244
+
245
+ # Regenerate token
246
+ node scripts/test-auth-route.js http://localhost:3002/api/health
247
+
248
+ # Verify config.ini has correct jwtSecret
249
+ ```
250
+
251
+ ### 403 Forbidden
252
+
253
+ **Possible causes**:
254
+ 1. User lacks required role
255
+ 2. Resource permissions incorrect
256
+ 3. Route requires specific permissions
257
+
258
+ **Solutions**:
259
+ ```bash
260
+ # Use mock auth with admin role
261
+ curl -H "X-Mock-Auth: true" \
262
+ -H "X-Mock-User: test-admin" \
263
+ -H "X-Mock-Roles: admin" \
264
+ http://localhost:3002/api/protected
265
+ ```
266
+
267
+ ### 404 Not Found
268
+
269
+ **Possible causes**:
270
+ 1. Incorrect URL
271
+ 2. Missing route prefix
272
+ 3. Route not registered
273
+
274
+ **Solutions**:
275
+ 1. Check `app.ts` for route prefixes
276
+ 2. Verify route registration
277
+ 3. Check service is running (`pm2 list`)
278
+
279
+ ### 500 Internal Server Error
280
+
281
+ **Possible causes**:
282
+ 1. Database connection issue
283
+ 2. Missing required fields
284
+ 3. Validation error
285
+ 4. Application error
286
+
287
+ **Solutions**:
288
+ 1. Check service logs (`pm2 logs <service>`)
289
+ 2. Check Sentry for error details
290
+ 3. Verify request body matches expected schema
291
+ 4. Check database connectivity
292
+
293
+ ## Using auth-route-tester Agent
294
+
295
+ For comprehensive route testing after making changes:
296
+
297
+ 1. **Identify affected routes**
298
+ 2. **Gather route information**:
299
+ - Full route path (with prefix)
300
+ - Expected POST data
301
+ - Tables to verify
302
+ 3. **Invoke auth-route-tester agent**
303
+
304
+ The agent will:
305
+ - Test the route with proper authentication
306
+ - Verify database changes
307
+ - Check response format
308
+ - Report any issues
309
+
310
+ ## Example Test Scenarios
311
+
312
+ ### After Creating a New Route
313
+
314
+ ```bash
315
+ # 1. Test with valid data
316
+ node scripts/test-auth-route.js \
317
+ http://localhost:3002/api/my-new-route \
318
+ POST \
319
+ '{"field1":"value1","field2":"value2"}'
320
+
321
+ # 2. Verify database
322
+ docker exec -i local-mysql mysql -u root -ppassword1 blog_dev \
323
+ -e "SELECT * FROM MyTable ORDER BY createdAt DESC LIMIT 1;"
324
+
325
+ # 3. Test with invalid data
326
+ node scripts/test-auth-route.js \
327
+ http://localhost:3002/api/my-new-route \
328
+ POST \
329
+ '{"field1":"invalid"}'
330
+
331
+ # 4. Test without authentication
332
+ curl http://localhost:3002/api/my-new-route
333
+ # Should return 401
334
+ ```
335
+
336
+ ### After Modifying a Route
337
+
338
+ ```bash
339
+ # 1. Test existing functionality still works
340
+ node scripts/test-auth-route.js \
341
+ http://localhost:3002/api/existing-route \
342
+ POST \
343
+ '{"existing":"data"}'
344
+
345
+ # 2. Test new functionality
346
+ node scripts/test-auth-route.js \
347
+ http://localhost:3002/api/existing-route \
348
+ POST \
349
+ '{"new":"field","existing":"data"}'
350
+
351
+ # 3. Verify backward compatibility
352
+ # Test with old request format (if applicable)
353
+ ```
354
+
355
+ ## Configuration Files
356
+
357
+ ### config.ini (each service)
358
+
359
+ ```ini
360
+ [keycloak]
361
+ url = http://localhost:8081
362
+ realm = yourRealm
363
+ clientId = app-client
364
+
365
+ [jwt]
366
+ jwtSecret = your-jwt-secret-here
367
+ ```
368
+
369
+ ### .env (each service)
370
+
371
+ ```bash
372
+ NODE_ENV=development
373
+ MOCK_AUTH=true # Optional: Enable mock auth
374
+ MOCK_USER_ID=test-user # Optional: Default mock user
375
+ MOCK_USER_ROLES=admin # Optional: Default mock roles
376
+ ```
377
+
378
+ ## Key Files
379
+
380
+ - `/root/git/your project_pre/scripts/test-auth-route.js` - Main testing script
381
+ - `/blog-api/src/app.ts` - Form service routes
382
+ - `/notifications/src/app.ts` - Email service routes
383
+ - `/auth/src/app.ts` - Users service routes
384
+ - `/config.ini` - Service configuration
385
+ - `/.env` - Environment variables
386
+
387
+ ## Related Skills
388
+
389
+ - Use **database-verification** to verify database changes
390
+ - Use **error-tracking** to check for captured errors
391
+ - Use **workflow-builder** for workflow route testing
392
+ - Use **notification-sender** to verify notifications sent
@@ -0,0 +1,197 @@
1
+ # Advanced Topics & Future Enhancements
2
+
3
+ Ideas and concepts for future improvements to the skill system.
4
+
5
+ ---
6
+
7
+ ## Dynamic Rule Updates
8
+
9
+ **Current State:** Requires Claude Code restart to pick up changes to skill-rules.json
10
+
11
+ **Future Enhancement:** Hot-reload configuration without restart
12
+
13
+ **Implementation Ideas:**
14
+ - Watch skill-rules.json for changes
15
+ - Reload on file modification
16
+ - Invalidate cached compiled regexes
17
+ - Notify user of reload
18
+
19
+ **Benefits:**
20
+ - Faster iteration during skill development
21
+ - No need to restart Claude Code
22
+ - Better developer experience
23
+
24
+ ---
25
+
26
+ ## Skill Dependencies
27
+
28
+ **Current State:** Skills are independent
29
+
30
+ **Future Enhancement:** Specify skill dependencies and load order
31
+
32
+ **Configuration Idea:**
33
+ ```json
34
+ {
35
+ "my-advanced-skill": {
36
+ "dependsOn": ["prerequisite-skill", "base-skill"],
37
+ "type": "domain",
38
+ ...
39
+ }
40
+ }
41
+ ```
42
+
43
+ **Use Cases:**
44
+ - Advanced skill builds on base skill knowledge
45
+ - Ensure foundational skills loaded first
46
+ - Chain skills for complex workflows
47
+
48
+ **Benefits:**
49
+ - Better skill composition
50
+ - Clearer skill relationships
51
+ - Progressive disclosure
52
+
53
+ ---
54
+
55
+ ## Conditional Enforcement
56
+
57
+ **Current State:** Enforcement level is static
58
+
59
+ **Future Enhancement:** Enforce based on context or environment
60
+
61
+ **Configuration Idea:**
62
+ ```json
63
+ {
64
+ "enforcement": {
65
+ "default": "suggest",
66
+ "when": {
67
+ "production": "block",
68
+ "development": "suggest",
69
+ "ci": "block"
70
+ }
71
+ }
72
+ }
73
+ ```
74
+
75
+ **Use Cases:**
76
+ - Stricter enforcement in production
77
+ - Relaxed rules during development
78
+ - CI/CD pipeline requirements
79
+
80
+ **Benefits:**
81
+ - Environment-appropriate enforcement
82
+ - Flexible rule application
83
+ - Context-aware guardrails
84
+
85
+ ---
86
+
87
+ ## Skill Analytics
88
+
89
+ **Current State:** No usage tracking
90
+
91
+ **Future Enhancement:** Track skill usage patterns and effectiveness
92
+
93
+ **Metrics to Collect:**
94
+ - Skill trigger frequency
95
+ - False positive rate
96
+ - False negative rate
97
+ - Time to skill usage after suggestion
98
+ - User override rate (skip markers, env vars)
99
+ - Performance metrics (execution time)
100
+
101
+ **Dashbord Ideas:**
102
+ - Most/least used skills
103
+ - Skills with highest false positive rate
104
+ - Performance bottlenecks
105
+ - Skill effectiveness scores
106
+
107
+ **Benefits:**
108
+ - Data-driven skill improvement
109
+ - Identify problems early
110
+ - Optimize patterns based on real usage
111
+
112
+ ---
113
+
114
+ ## Skill Versioning
115
+
116
+ **Current State:** No version tracking
117
+
118
+ **Future Enhancement:** Version skills and track compatibility
119
+
120
+ **Configuration Idea:**
121
+ ```json
122
+ {
123
+ "my-skill": {
124
+ "version": "2.1.0",
125
+ "minClaudeVersion": "1.5.0",
126
+ "changelog": "Added support for new workflow patterns",
127
+ ...
128
+ }
129
+ }
130
+ ```
131
+
132
+ **Benefits:**
133
+ - Track skill evolution
134
+ - Ensure compatibility
135
+ - Document changes
136
+ - Support migration paths
137
+
138
+ ---
139
+
140
+ ## Multi-Language Support
141
+
142
+ **Current State:** English only
143
+
144
+ **Future Enhancement:** Support multiple languages for skill content
145
+
146
+ **Implementation Ideas:**
147
+ - Language-specific SKILL.md variants
148
+ - Automatic language detection
149
+ - Fallback to English
150
+
151
+ **Use Cases:**
152
+ - International teams
153
+ - Localized documentation
154
+ - Multi-language projects
155
+
156
+ ---
157
+
158
+ ## Skill Testing Framework
159
+
160
+ **Current State:** Manual testing with npx tsx commands
161
+
162
+ **Future Enhancement:** Automated skill testing
163
+
164
+ **Features:**
165
+ - Test cases for trigger patterns
166
+ - Assertion framework
167
+ - CI/CD integration
168
+ - Coverage reports
169
+
170
+ **Example Test:**
171
+ ```typescript
172
+ describe('database-verification', () => {
173
+ it('triggers on Prisma imports', () => {
174
+ const result = testSkill({
175
+ prompt: "add user tracking",
176
+ file: "services/user.ts",
177
+ content: "import { PrismaService } from './prisma'"
178
+ });
179
+
180
+ expect(result.triggered).toBe(true);
181
+ expect(result.skill).toBe('database-verification');
182
+ });
183
+ });
184
+ ```
185
+
186
+ **Benefits:**
187
+ - Prevent regressions
188
+ - Validate patterns before deployment
189
+ - Confidence in changes
190
+
191
+ ---
192
+
193
+ ## Related Files
194
+
195
+ - [SKILL.md](SKILL.md) - Main skill guide
196
+ - [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Current debugging guide
197
+ - [HOOK_MECHANISMS.md](HOOK_MECHANISMS.md) - How hooks work today