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,431 @@
1
+ ---
2
+ description: Build engineering covering build systems (Make, Gradle, Maven, Bazel), compilation optimization, dependency management, artifact repositories, build pipelines, reproducible builds, build caching, monorepo strategies, supply chain security, and performance optimization. Use when creating build processes, optimizing build times, managing dependencies, or implementing CI build pipelines. (project)
3
+ ---
4
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5
+ 🎯 SKILL ACTIVATED: build-engineering
6
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7
+
8
+
9
+ # Build Engineering
10
+
11
+ Comprehensive guide for build engineering covering build systems, compilation optimization, dependency management, artifact repositories, reproducible builds, and modern build practices for creating fast, reliable, and secure build pipelines.
12
+
13
+ ## When to Use This Skill
14
+
15
+ Automatically activates when working on:
16
+ - Build system configuration (Gradle, Maven, Bazel, Make)
17
+ - Build performance optimization and caching strategies
18
+ - Dependency management and version resolution
19
+ - Artifact repository setup (Artifactory, Nexus)
20
+ - Reproducible builds and hermetic building
21
+ - Monorepo build strategies
22
+ - CI/CD pipeline build optimization
23
+ - Build supply chain security
24
+ - Distributed and parallel builds
25
+
26
+ ## Overview
27
+
28
+ **Purpose:** Enable teams to create efficient, reliable, and secure build processes that scale from small projects to large monorepos while maintaining build reproducibility and optimizing developer productivity.
29
+
30
+ **Scope:**
31
+ - Build systems (Make, Gradle, Maven, Bazel, npm/yarn/pnpm)
32
+ - Compilation optimization and distributed builds
33
+ - Dependency management and version pinning
34
+ - Artifact repositories and binary management
35
+ - CI/CD build pipelines and automation
36
+ - Reproducible and hermetic builds
37
+ - Build caching strategies
38
+ - Monorepo build tools and strategies
39
+ - Supply chain security (SBOM, signed artifacts)
40
+ - Build performance optimization
41
+
42
+ **This skill is for:**
43
+ - Build engineers optimizing build performance
44
+ - DevOps engineers creating CI/CD pipelines
45
+ - Platform engineers managing build infrastructure
46
+ - Developers improving build times
47
+ - Security engineers implementing supply chain security
48
+
49
+ ## Quick Start Checklist
50
+
51
+ When starting a build engineering task:
52
+
53
+ - [ ] Choose appropriate build tool for your language/ecosystem
54
+ - [ ] Implement dependency locking for reproducibility
55
+ - [ ] Set up artifact caching (local and remote)
56
+ - [ ] Configure incremental compilation
57
+ - [ ] Implement parallel build execution
58
+ - [ ] Set up artifact repository (Artifactory, Nexus, registry)
59
+ - [ ] Define clear build stages (compile, test, package)
60
+ - [ ] Implement build caching strategy
61
+ - [ ] Add dependency vulnerability scanning
62
+ - [ ] Monitor and optimize build performance
63
+
64
+ ## Core Concepts
65
+
66
+ ### 1. Build System Types
67
+
68
+ **Make-based:**
69
+ ```
70
+ Traditional, file-based dependencies
71
+ Example: Make, CMake
72
+ Best for: C/C++, system-level builds
73
+ ```
74
+
75
+ **JVM-based:**
76
+ ```
77
+ Dependency resolution, artifact management
78
+ Example: Maven, Gradle
79
+ Best for: Java, Kotlin, Scala
80
+ ```
81
+
82
+ **Task-based:**
83
+ ```
84
+ Flexible task execution
85
+ Example: npm, Gulp, Rake
86
+ Best for: JavaScript, Ruby, general automation
87
+ ```
88
+
89
+ **Hermetic:**
90
+ ```
91
+ Fully reproducible, sandboxed builds
92
+ Example: Bazel, Buck, Pants
93
+ Best for: Large monorepos, multi-language projects
94
+ ```
95
+
96
+ ### 2. Build Pipeline Stages
97
+
98
+ ```
99
+ ┌─────────────────────────────────────────────────┐
100
+ │ Source Code │
101
+ └──────────────────┬──────────────────────────────┘
102
+
103
+ ┌─────────▼─────────┐
104
+ │ Dependency Fetch │
105
+ │ (with caching) │
106
+ └─────────┬─────────┘
107
+
108
+ ┌─────────▼─────────┐
109
+ │ Compilation │
110
+ │ (incremental) │
111
+ └─────────┬─────────┘
112
+
113
+ ┌─────────▼─────────┐
114
+ │ Testing │
115
+ │ (unit, int) │
116
+ └─────────┬─────────┘
117
+
118
+ ┌─────────▼─────────┐
119
+ │ Packaging │
120
+ │ (artifacts) │
121
+ └─────────┬─────────┘
122
+
123
+ ┌─────────▼─────────┐
124
+ │ Artifact Upload │
125
+ │ (registry) │
126
+ └───────────────────┘
127
+ ```
128
+
129
+ ### 3. Dependency Resolution
130
+
131
+ **Semantic Versioning:**
132
+ ```
133
+ MAJOR.MINOR.PATCH
134
+ 1.2.3
135
+
136
+ Major: Breaking changes
137
+ Minor: New features, backward compatible
138
+ Patch: Bug fixes
139
+ ```
140
+
141
+ **Version Constraints:**
142
+ ```
143
+ Exact: 1.2.3
144
+ Range: >=1.2.0 <2.0.0
145
+ Caret: ^1.2.3 (>=1.2.3 <2.0.0)
146
+ Tilde: ~1.2.3 (>=1.2.3 <1.3.0)
147
+ ```
148
+
149
+ ### 4. Build Caching
150
+
151
+ **Local Cache:**
152
+ ```
153
+ ┌──────────────┐
154
+ │ Developer │
155
+ │ Machine │
156
+ │ │
157
+ │ Local Cache │
158
+ │ (~/.cache) │
159
+ └──────────────┘
160
+ ```
161
+
162
+ **Distributed Cache:**
163
+ ```
164
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
165
+ │ Dev 1 │ │ Dev 2 │ │ CI Server │
166
+ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
167
+ │ │ │
168
+ └────────────┬───────┴────────────────────┘
169
+
170
+ ┌───────▼────────┐
171
+ │ Remote Cache │
172
+ │ (S3, Redis) │
173
+ └────────────────┘
174
+ ```
175
+
176
+ ### 5. Artifact Versioning
177
+
178
+ **Versioning Strategies:**
179
+ ```
180
+ Semantic: 1.2.3
181
+ Build number: 1.2.3-build.456
182
+ Git commit: 1.2.3-a1b2c3d
183
+ Timestamp: 1.2.3-20240101123045
184
+ Snapshot: 1.2.3-SNAPSHOT
185
+ ```
186
+
187
+ ## Common Patterns
188
+
189
+ ### Pattern 1: Multi-Stage Build
190
+
191
+ ```dockerfile
192
+ # Multi-stage Docker build
193
+ FROM node:18 AS builder
194
+ WORKDIR /app
195
+ COPY package*.json ./
196
+ RUN npm ci --only=production
197
+ COPY . .
198
+ RUN npm run build
199
+
200
+ FROM node:18-alpine AS runtime
201
+ WORKDIR /app
202
+ COPY --from=builder /app/dist ./dist
203
+ COPY --from=builder /app/node_modules ./node_modules
204
+ EXPOSE 3000
205
+ CMD ["node", "dist/index.js"]
206
+ ```
207
+
208
+ ### Pattern 2: Dependency Locking
209
+
210
+ ```json
211
+ // package.json
212
+ {
213
+ "dependencies": {
214
+ "express": "^4.18.0"
215
+ }
216
+ }
217
+
218
+ // package-lock.json (exact versions)
219
+ {
220
+ "dependencies": {
221
+ "express": {
222
+ "version": "4.18.2",
223
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
224
+ "integrity": "sha512-..."
225
+ }
226
+ }
227
+ }
228
+ ```
229
+
230
+ ### Pattern 3: Build Matrix
231
+
232
+ ```yaml
233
+ # GitHub Actions build matrix
234
+ jobs:
235
+ build:
236
+ strategy:
237
+ matrix:
238
+ os: [ubuntu-latest, macos-latest, windows-latest]
239
+ node: [16, 18, 20]
240
+ runs-on: ${{ matrix.os }}
241
+ steps:
242
+ - uses: actions/checkout@v3
243
+ - uses: actions/setup-node@v3
244
+ with:
245
+ node-version: ${{ matrix.node }}
246
+ - run: npm ci
247
+ - run: npm test
248
+ ```
249
+
250
+ ### Pattern 4: Incremental Builds
251
+
252
+ ```groovy
253
+ // Gradle incremental compilation
254
+ tasks.withType(JavaCompile) {
255
+ options.incremental = true
256
+ }
257
+
258
+ // Only rebuild changed modules
259
+ gradle build --parallel --build-cache --configure-on-demand
260
+ ```
261
+
262
+ ## Resource Files
263
+
264
+ For detailed guidance on specific topics, see:
265
+
266
+ ### Build Systems
267
+ - **[build-systems.md](resources/build-systems.md)** - Make, Gradle, Maven, Bazel, npm/yarn comparison, tool selection guide
268
+ - **[compilation-optimization.md](resources/compilation-optimization.md)** - Compiler flags, incremental compilation, distributed builds, ccache
269
+ - **[monorepo-builds.md](resources/monorepo-builds.md)** - Monorepo strategies, affected detection, Nx, Turborepo, Bazel
270
+
271
+ ### Dependency Management
272
+ - **[dependency-management.md](resources/dependency-management.md)** - Version pinning, lock files, conflict resolution, vulnerability scanning
273
+ - **[artifact-repositories.md](resources/artifact-repositories.md)** - Artifactory, Nexus, container registries, retention policies, promotion
274
+
275
+ ### Build Pipeline
276
+ - **[build-pipelines.md](resources/build-pipelines.md)** - CI build stages, parallel builds, matrix builds, pipeline optimization
277
+ - **[reproducible-builds.md](resources/reproducible-builds.md)** - Deterministic builds, hermetic builds, SLSA framework
278
+
279
+ ### Optimization
280
+ - **[build-caching.md](resources/build-caching.md)** - Layer caching, distributed caching, cache invalidation strategies
281
+ - **[performance-optimization.md](resources/performance-optimization.md)** - Build profiling, parallelization, metrics, bottleneck analysis
282
+
283
+ ### Security
284
+ - **[build-security.md](resources/build-security.md)** - Supply chain security, signed artifacts, SBOM generation, dependency attestation
285
+
286
+ ## Best Practices
287
+
288
+ ### Build Performance
289
+
290
+ 1. **Enable caching:**
291
+ - Use local and remote build caches
292
+ - Cache dependencies separately from code
293
+ - Implement layer caching in Docker builds
294
+ - Use incremental compilation
295
+
296
+ 2. **Parallelize builds:**
297
+ - Build independent modules concurrently
298
+ - Use build tool parallelization features
299
+ - Distribute builds across multiple machines
300
+ - Leverage build matrix for testing
301
+
302
+ 3. **Optimize dependencies:**
303
+ - Remove unused dependencies
304
+ - Use exact versions in lock files
305
+ - Implement dependency caching
306
+ - Consider vendoring for critical dependencies
307
+
308
+ ### Build Reliability
309
+
310
+ 1. **Reproducible builds:**
311
+ - Pin all dependency versions
312
+ - Use deterministic build tools
313
+ - Avoid timestamps in artifacts
314
+ - Document build environment requirements
315
+
316
+ 2. **Dependency management:**
317
+ - Use lock files (package-lock.json, Gemfile.lock, go.sum)
318
+ - Scan for vulnerabilities regularly
319
+ - Update dependencies systematically
320
+ - Test dependency updates before merging
321
+
322
+ 3. **Artifact management:**
323
+ - Version all artifacts
324
+ - Store in artifact repository
325
+ - Implement retention policies
326
+ - Sign critical artifacts
327
+
328
+ ### Build Security
329
+
330
+ 1. **Supply chain security:**
331
+ - Generate SBOM (Software Bill of Materials)
332
+ - Sign build artifacts
333
+ - Verify dependency signatures
334
+ - Scan for vulnerabilities
335
+
336
+ 2. **Build isolation:**
337
+ - Use hermetic builds when possible
338
+ - Sandbox build processes
339
+ - Limit network access during builds
340
+ - Verify build inputs
341
+
342
+ 3. **Secret management:**
343
+ - Never commit secrets to version control
344
+ - Use secret management tools
345
+ - Rotate build secrets regularly
346
+ - Audit secret access
347
+
348
+ ## Anti-Patterns to Avoid
349
+
350
+ ❌ **Non-reproducible builds** - Different results from same source
351
+ ❌ **No dependency locking** - Floating versions break builds
352
+ ❌ **Rebuilding everything** - Wastes time and resources
353
+ ❌ **No build caching** - Repeated work on every build
354
+ ❌ **Ignored dependencies** - Outdated, vulnerable packages
355
+ ❌ **No artifact versioning** - Can't track what was deployed
356
+ ❌ **Serial builds** - Not leveraging parallelization
357
+ ❌ **No build metrics** - Can't identify bottlenecks
358
+ ❌ **Mixing build and runtime** - Bloated containers
359
+ ❌ **No vulnerability scanning** - Security risks in dependencies
360
+
361
+ ## Common Tasks
362
+
363
+ ### Task: Optimize Slow Build
364
+
365
+ 1. Profile build to identify bottlenecks
366
+ 2. Enable build caching (local and remote)
367
+ 3. Implement incremental compilation
368
+ 4. Parallelize independent build tasks
369
+ 5. Cache dependencies separately
370
+ 6. Use build tool's parallel features
371
+ 7. Consider distributed builds for large projects
372
+ 8. Monitor build metrics over time
373
+
374
+ ### Task: Set Up Artifact Repository
375
+
376
+ 1. Choose repository (Artifactory, Nexus, registry)
377
+ 2. Deploy and configure repository
378
+ 3. Set up authentication and access control
379
+ 4. Define retention policies
380
+ 5. Configure build tools to publish artifacts
381
+ 6. Implement versioning strategy
382
+ 7. Set up vulnerability scanning
383
+ 8. Document artifact promotion workflow
384
+
385
+ ### Task: Implement Reproducible Builds
386
+
387
+ 1. Pin all dependency versions
388
+ 2. Use lock files for dependencies
389
+ 3. Specify build tool versions
390
+ 4. Document build environment
391
+ 5. Remove non-deterministic elements (timestamps)
392
+ 6. Use hermetic build tools if possible
393
+ 7. Verify builds are reproducible
394
+ 8. Automate verification in CI
395
+
396
+ ## Integration Points
397
+
398
+ This skill integrates with:
399
+ - **release-engineering**: Deployment pipelines, versioning, artifact promotion
400
+ - **devsecops**: Vulnerability scanning, SBOM, supply chain security
401
+ - **platform-engineering**: Build infrastructure, container builds, Kubernetes
402
+ - **cloud-engineering**: Cloud build services, artifact storage
403
+ - **systems-engineering**: Compiler optimization, system dependencies
404
+
405
+ ## Triggers and Activation
406
+
407
+ This skill activates when you:
408
+ - Work with build files (Makefile, build.gradle, pom.xml, package.json)
409
+ - Optimize build performance or reduce build times
410
+ - Implement CI/CD pipelines
411
+ - Manage dependencies or artifact repositories
412
+ - Configure build caching or distributed builds
413
+ - Set up monorepo build tooling
414
+ - Implement reproducible builds
415
+ - Address supply chain security
416
+
417
+ ## Next Steps
418
+
419
+ For your specific build engineering task:
420
+ 1. Identify build system and language ecosystem
421
+ 2. Review relevant patterns and optimization strategies
422
+ 3. Implement caching and parallelization
423
+ 4. Set up artifact management
424
+ 5. Monitor and optimize build performance
425
+ 6. Implement security scanning and SBOM generation
426
+
427
+ ---
428
+
429
+ **Total Resources:** 10 detailed guides covering all aspects of build engineering
430
+ **Pattern Library:** 100+ production-tested patterns for build optimization and reliability
431
+ **Maintained by:** Build Engineering team based on real-world production experience
@@ -0,0 +1,72 @@
1
+ # Artifact Repositories
2
+
3
+ Guide to artifact repositories including Artifactory, Nexus, container registries, and retention policies.
4
+
5
+ ## Overview
6
+
7
+ Artifact repositories store binary artifacts, providing versioning, access control, and efficient distribution.
8
+
9
+ ## Artifactory
10
+
11
+ ### Setup
12
+ ```yaml
13
+ apiVersion: apps/v1
14
+ kind: StatefulSet
15
+ metadata:
16
+ name: artifactory
17
+ spec:
18
+ serviceName: artifactory
19
+ replicas: 1
20
+ template:
21
+ spec:
22
+ containers:
23
+ - name: artifactory
24
+ image: docker.bintray.io/jfrog/artifactory-oss:latest
25
+ ports:
26
+ - containerPort: 8081
27
+ volumeMounts:
28
+ - name: data
29
+ mountPath: /var/opt/jfrog/artifactory
30
+ ```
31
+
32
+ ### Configuration
33
+ ```bash
34
+ # Upload artifact
35
+ curl -u user:password -T artifact.jar \
36
+ "http://artifactory:8081/artifactory/libs-release/com/example/artifact/1.0.0/artifact-1.0.0.jar"
37
+ ```
38
+
39
+ ## Nexus
40
+
41
+ ### Docker Registry
42
+ ```bash
43
+ # Login
44
+ docker login nexus.example.com
45
+
46
+ # Push
47
+ docker tag myapp:1.0 nexus.example.com/myapp:1.0
48
+ docker push nexus.example.com/myapp:1.0
49
+ ```
50
+
51
+ ## Retention Policies
52
+
53
+ ### Time-based
54
+ - Delete artifacts older than 90 days
55
+ - Keep last N versions
56
+
57
+ ### Space-based
58
+ - Delete when storage exceeds threshold
59
+ - Keep minimum N versions
60
+
61
+ ## Best Practices
62
+
63
+ 1. **Implement retention** - Automatic cleanup
64
+ 2. **Use access control** - Role-based permissions
65
+ 3. **Enable replication** - Multi-region availability
66
+ 4. **Scan artifacts** - Vulnerability scanning
67
+ 5. **Version everything** - No overwrites
68
+ 6. **Use staging** - Promote through environments
69
+ 7. **Monitor usage** - Storage and bandwidth
70
+ 8. **Backup regularly** - Disaster recovery
71
+ 9. **Use CDN** - For public artifacts
72
+ 10. **Document policies** - Clear retention rules
@@ -0,0 +1,96 @@
1
+ # Build Caching
2
+
3
+ Guide to build caching strategies including layer caching, distributed caching, and cache invalidation.
4
+
5
+ ## Overview
6
+
7
+ Build caching dramatically reduces build times by reusing previously built artifacts.
8
+
9
+ ## Docker Layer Caching
10
+
11
+ ```dockerfile
12
+ FROM node:18
13
+
14
+ # Cache dependencies separately
15
+ COPY package*.json ./
16
+ RUN npm ci
17
+
18
+ # Copy source (changes more frequently)
19
+ COPY . .
20
+ RUN npm run build
21
+ ```
22
+
23
+ ## Gradle Build Cache
24
+
25
+ ```kotlin
26
+ // gradle.properties
27
+ org.gradle.caching=true
28
+ org.gradle.caching.debug=false
29
+
30
+ // settings.gradle.kts
31
+ buildCache {
32
+ local {
33
+ directory = File(rootDir, "build-cache")
34
+ removeUnusedEntriesAfterDays = 30
35
+ }
36
+
37
+ remote<HttpBuildCache> {
38
+ url = uri("https://cache.example.com/cache/")
39
+ isPush = System.getenv("CI") != null
40
+ credentials {
41
+ username = "cache-user"
42
+ password = System.getenv("CACHE_PASSWORD")
43
+ }
44
+ }
45
+ }
46
+ ```
47
+
48
+ ## npm/yarn Cache
49
+
50
+ ```bash
51
+ # npm cache
52
+ npm ci --cache /tmp/npm-cache
53
+
54
+ # yarn cache
55
+ yarn install --cache-folder /tmp/yarn-cache
56
+
57
+ # pnpm store
58
+ pnpm install --store-dir /tmp/pnpm-store
59
+ ```
60
+
61
+ ## Bazel Remote Cache
62
+
63
+ ```python
64
+ # .bazelrc
65
+ build --remote_cache=grpc://cache.example.com:8980
66
+ build --experimental_remote_downloader=grpc://cache.example.com:8980
67
+ ```
68
+
69
+ ## Cache Invalidation
70
+
71
+ ### Content-Based
72
+ ```bash
73
+ # Hash file contents
74
+ CACHE_KEY=$(sha256sum package-lock.json | cut -d' ' -f1)
75
+ ```
76
+
77
+ ### Time-Based
78
+ - Expire after N days
79
+ - Refresh on access
80
+
81
+ ### Manual
82
+ - Clear on major changes
83
+ - Version-based invalidation
84
+
85
+ ## Best Practices
86
+
87
+ 1. **Layer wisely** - Dependencies before code
88
+ 2. **Use remote cache** - Team-wide benefits
89
+ 3. **Content-based keys** - Hash file contents
90
+ 4. **Set size limits** - Prevent unlimited growth
91
+ 5. **Monitor hit rate** - Track effectiveness
92
+ 6. **Clean old entries** - Automatic cleanup
93
+ 7. **Secure cache** - Access control
94
+ 8. **Test without cache** - Verify correctness
95
+ 9. **Document strategy** - Clear policies
96
+ 10. **Measure impact** - Before/after metrics
@@ -0,0 +1,105 @@
1
+ # Build Pipelines
2
+
3
+ Guide to CI/CD build pipelines including stages, parallel builds, matrix builds, and optimization.
4
+
5
+ ## Overview
6
+
7
+ Build pipelines automate the process from code commit to artifact creation.
8
+
9
+ ## Pipeline Stages
10
+
11
+ ```yaml
12
+ # GitHub Actions
13
+ name: Build Pipeline
14
+
15
+ on: [push, pull_request]
16
+
17
+ jobs:
18
+ build:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+
23
+ - name: Setup Node
24
+ uses: actions/setup-node@v3
25
+ with:
26
+ node-version: 18
27
+ cache: 'npm'
28
+
29
+ - name: Install
30
+ run: npm ci
31
+
32
+ - name: Lint
33
+ run: npm run lint
34
+
35
+ - name: Test
36
+ run: npm test
37
+
38
+ - name: Build
39
+ run: npm run build
40
+
41
+ - name: Upload Artifact
42
+ uses: actions/upload-artifact@v3
43
+ with:
44
+ name: dist
45
+ path: dist/
46
+ ```
47
+
48
+ ## Matrix Builds
49
+
50
+ ```yaml
51
+ jobs:
52
+ test:
53
+ strategy:
54
+ matrix:
55
+ os: [ubuntu-latest, macos-latest, windows-latest]
56
+ node: [16, 18, 20]
57
+ include:
58
+ - os: ubuntu-latest
59
+ node: 20
60
+ coverage: true
61
+ runs-on: ${{ matrix.os }}
62
+ steps:
63
+ - uses: actions/checkout@v3
64
+ - uses: actions/setup-node@v3
65
+ with:
66
+ node-version: ${{ matrix.node }}
67
+ - run: npm ci
68
+ - run: npm test
69
+ - if: matrix.coverage
70
+ run: npm run coverage
71
+ ```
72
+
73
+ ## Parallel Execution
74
+
75
+ ```yaml
76
+ jobs:
77
+ lint:
78
+ runs-on: ubuntu-latest
79
+ steps:
80
+ - run: npm run lint
81
+
82
+ test:
83
+ runs-on: ubuntu-latest
84
+ steps:
85
+ - run: npm test
86
+
87
+ build:
88
+ needs: [lint, test]
89
+ runs-on: ubuntu-latest
90
+ steps:
91
+ - run: npm run build
92
+ ```
93
+
94
+ ## Best Practices
95
+
96
+ 1. **Fail fast** - Run quick tests first
97
+ 2. **Parallel stages** - Independent steps in parallel
98
+ 3. **Cache dependencies** - Reuse between builds
99
+ 4. **Matrix builds** - Test multiple configurations
100
+ 5. **Artifact management** - Upload build outputs
101
+ 6. **Clear stages** - Logical separation
102
+ 7. **Timeout limits** - Prevent hanging builds
103
+ 8. **Retry failed steps** - Handle flaky tests
104
+ 9. **Environment parity** - Match production
105
+ 10. **Monitor metrics** - Track build times