blockmine 1.21.0 → 1.23.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 (492) 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 +59 -0
  55. package/.claude/settings.local.json +36 -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 +102 -42
  255. package/CLAUDE.md +284 -0
  256. package/README.md +315 -71
  257. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  258. package/backend/jest.config.js +59 -0
  259. package/backend/package-lock.json +6801 -0
  260. package/backend/package.json +24 -4
  261. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  262. package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
  263. package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
  264. package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
  265. package/backend/prisma/migrations/migration_lock.toml +2 -2
  266. package/backend/prisma/schema.prisma +103 -1
  267. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  268. package/backend/src/__tests__/core/UserService.test.js +875 -0
  269. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  270. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  271. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  272. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  273. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  274. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  275. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  276. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  277. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  278. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  279. package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
  280. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  281. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  282. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  283. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  284. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  285. package/backend/src/__tests__/setup.js +25 -0
  286. package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
  287. package/backend/src/api/middleware/auth.js +27 -0
  288. package/backend/src/api/middleware/botAccess.js +7 -3
  289. package/backend/src/api/middleware/panelApiAuth.js +135 -0
  290. package/backend/src/api/routes/aiAssistant.js +995 -0
  291. package/backend/src/api/routes/apiKeys.js +181 -0
  292. package/backend/src/api/routes/auth.js +669 -633
  293. package/backend/src/api/routes/botCommands.js +107 -0
  294. package/backend/src/api/routes/botGroups.js +165 -0
  295. package/backend/src/api/routes/botHistory.js +108 -0
  296. package/backend/src/api/routes/botPermissions.js +99 -0
  297. package/backend/src/api/routes/botStatus.js +36 -0
  298. package/backend/src/api/routes/botUsers.js +162 -0
  299. package/backend/src/api/routes/bots.js +2451 -2360
  300. package/backend/src/api/routes/eventGraphs.js +4 -1
  301. package/backend/src/api/routes/logs.js +13 -3
  302. package/backend/src/api/routes/panel.js +66 -66
  303. package/backend/src/api/routes/panelApiKeys.js +179 -0
  304. package/backend/src/api/routes/pluginIde.js +1715 -135
  305. package/backend/src/api/routes/plugins.js +376 -218
  306. package/backend/src/api/routes/proxies.js +130 -0
  307. package/backend/src/api/routes/search.js +4 -0
  308. package/backend/src/api/routes/servers.js +20 -3
  309. package/backend/src/api/routes/settings.js +5 -0
  310. package/backend/src/api/routes/system.js +174 -0
  311. package/backend/src/api/routes/traces.js +131 -0
  312. package/backend/src/config/debug.config.js +36 -0
  313. package/backend/src/container.js +82 -0
  314. package/backend/src/core/BotHistoryStore.js +180 -0
  315. package/backend/src/core/BotManager.js +149 -868
  316. package/backend/src/core/BotManager.old.js +1093 -0
  317. package/backend/src/core/BotProcess.js +850 -191
  318. package/backend/src/core/EventGraphManager.js +194 -198
  319. package/backend/src/core/GraphExecutionEngine.js +709 -57
  320. package/backend/src/core/MessageQueue.js +39 -12
  321. package/backend/src/core/NodeRegistry.js +37 -1134
  322. package/backend/src/core/PluginLoader.js +99 -5
  323. package/backend/src/core/PluginManager.js +126 -15
  324. package/backend/src/core/PrismaService.js +32 -0
  325. package/backend/src/core/TaskScheduler.js +1 -1
  326. package/backend/src/core/UserService.js +3 -3
  327. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  328. package/backend/src/core/commands/README.md +305 -0
  329. package/backend/src/core/commands/dev.js +13 -7
  330. package/backend/src/core/commands/ping.js +10 -4
  331. package/backend/src/core/commands/whois.js +63 -0
  332. package/backend/src/core/config/validation.js +27 -0
  333. package/backend/src/core/constants/graphTypes.js +21 -0
  334. package/backend/src/core/node-registries/actions.js +202 -0
  335. package/backend/src/core/node-registries/arrays.js +155 -0
  336. package/backend/src/core/node-registries/bot.js +23 -0
  337. package/backend/src/core/node-registries/data.js +290 -0
  338. package/backend/src/core/node-registries/debug.js +26 -0
  339. package/backend/src/core/node-registries/events.js +201 -0
  340. package/backend/src/core/node-registries/flow.js +139 -0
  341. package/backend/src/core/node-registries/logic.js +62 -0
  342. package/backend/src/core/node-registries/math.js +42 -0
  343. package/backend/src/core/node-registries/objects.js +98 -0
  344. package/backend/src/core/node-registries/strings.js +187 -0
  345. package/backend/src/core/node-registries/time.js +113 -0
  346. package/backend/src/core/node-registries/type.js +25 -0
  347. package/backend/src/core/node-registries/users.js +79 -0
  348. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  349. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  350. package/backend/src/core/nodes/actions/create_command.js +189 -0
  351. package/backend/src/core/nodes/actions/delete_command.js +92 -0
  352. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  353. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  354. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  355. package/backend/src/core/nodes/actions/update_command.js +133 -0
  356. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  357. package/backend/src/core/nodes/arrays/join.js +28 -0
  358. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
  359. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  360. package/backend/src/core/nodes/data/entity_info.js +69 -0
  361. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  362. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  363. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  364. package/backend/src/core/nodes/data/type_check.js +53 -0
  365. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  366. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  367. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  368. package/backend/src/core/nodes/flow/delay.js +43 -0
  369. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  370. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  371. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  372. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  373. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  374. package/backend/src/core/nodes/logic/not.js +22 -0
  375. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  376. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  377. package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
  378. package/backend/src/core/nodes/strings/to_lower.js +22 -0
  379. package/backend/src/core/nodes/strings/to_upper.js +22 -0
  380. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  381. package/backend/src/core/nodes/time/add.js +33 -0
  382. package/backend/src/core/nodes/time/compare.js +35 -0
  383. package/backend/src/core/nodes/time/diff.js +29 -0
  384. package/backend/src/core/nodes/time/format.js +32 -0
  385. package/backend/src/core/nodes/time/now.js +18 -0
  386. package/backend/src/core/nodes/type/to_string.js +32 -0
  387. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  388. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  389. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  390. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  391. package/backend/src/core/services/BotLifecycleService.js +835 -0
  392. package/backend/src/core/services/BotProcessManager.js +163 -0
  393. package/backend/src/core/services/CacheManager.js +111 -0
  394. package/backend/src/core/services/CommandExecutionService.js +430 -0
  395. package/backend/src/core/services/DebugSessionManager.js +347 -0
  396. package/backend/src/core/services/GraphCollaborationManager.js +501 -0
  397. package/backend/src/core/services/MinecraftBotManager.js +259 -0
  398. package/backend/src/core/services/MinecraftViewerService.js +216 -0
  399. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  400. package/backend/src/core/services/TelemetryService.js +124 -0
  401. package/backend/src/core/services/TraceCollectorService.js +545 -0
  402. package/backend/src/core/services/ValidationService.js +132 -0
  403. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  404. package/backend/src/core/services.js +20 -5
  405. package/backend/src/core/system/CommandContext.js +84 -0
  406. package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
  407. package/backend/src/core/system/Transport.js +74 -0
  408. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  409. package/backend/src/core/utils/jsonParser.js +18 -0
  410. package/backend/src/core/utils/secretsFilter.js +262 -0
  411. package/backend/src/core/utils/variableParser.js +89 -0
  412. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  413. package/backend/src/core/validation/nodeSchemas.js +112 -0
  414. package/backend/src/lib/prisma.js +2 -4
  415. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  416. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  417. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  418. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  419. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  420. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  421. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  422. package/backend/src/real-time/botApi/index.js +40 -0
  423. package/backend/src/real-time/botApi/middleware.js +79 -0
  424. package/backend/src/real-time/botApi/utils.js +65 -0
  425. package/backend/src/real-time/panelNamespace.js +387 -0
  426. package/backend/src/real-time/presence.js +7 -2
  427. package/backend/src/real-time/socketHandler.js +400 -5
  428. package/backend/src/repositories/BaseRepository.js +43 -0
  429. package/backend/src/repositories/BotRepository.js +42 -0
  430. package/backend/src/repositories/CommandRepository.js +53 -0
  431. package/backend/src/repositories/EventGraphRepository.js +40 -0
  432. package/backend/src/repositories/GroupRepository.js +69 -0
  433. package/backend/src/repositories/PermissionRepository.js +48 -0
  434. package/backend/src/repositories/PluginRepository.js +42 -0
  435. package/backend/src/repositories/ServerRepository.js +27 -0
  436. package/backend/src/repositories/UserRepository.js +48 -0
  437. package/backend/src/server.js +21 -0
  438. package/backend/src/test-refactor.js +85 -0
  439. package/frontend/dist/assets/index-B1serztM.js +11210 -0
  440. package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
  441. package/frontend/dist/index.html +2 -2
  442. package/frontend/package-lock.json +9437 -0
  443. package/frontend/package.json +8 -5
  444. package/package.json +3 -2
  445. package/screen/console.png +0 -0
  446. package/screen/dashboard.png +0 -0
  447. package/screen/graph_collabe.png +0 -0
  448. package/screen/graph_live_debug.png +0 -0
  449. package/screen/management_command.png +0 -0
  450. package/screen/node_debug_trace.png +0 -0
  451. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  452. package/screen/websocket.png +0 -0
  453. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  454. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  455. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  456. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  457. package/nul +0 -0
  458. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  459. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  460. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  461. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  462. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  463. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  464. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  465. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  466. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  467. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  468. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  469. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  470. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  471. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  472. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  473. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  474. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  475. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  476. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  477. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  478. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  479. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  480. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  481. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  482. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  483. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  484. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  485. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  486. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  487. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  488. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  489. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  490. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  491. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  492. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
@@ -0,0 +1,393 @@
1
+ # Release Engineering
2
+
3
+ Comprehensive guide for CI/CD pipelines, deployment strategies, versioning, artifact management, progressive delivery, and release automation.
4
+
5
+ ## Purpose
6
+
7
+ Enable teams to build robust, automated release pipelines that deliver software safely, quickly, and reliably from commit to production.
8
+
9
+ ## When to Use This Skill
10
+
11
+ Automatically activates when working on:
12
+ - CI/CD pipeline configuration
13
+ - Deployment automation
14
+ - Release processes
15
+ - Artifact management
16
+ - Versioning strategies
17
+ - Progressive delivery
18
+ - Rollback procedures
19
+
20
+ ## Quick Start Checklist
21
+
22
+ When implementing release engineering practices:
23
+
24
+ - [ ] Design CI/CD pipeline (build, test, deploy stages)
25
+ - [ ] Choose deployment strategy (blue-green, canary, rolling)
26
+ - [ ] Implement versioning scheme (semantic versioning, calendar versioning)
27
+ - [ ] Set up artifact repository (container registry, package registry)
28
+ - [ ] Configure automated testing gates
29
+ - [ ] Implement deployment safeguards (smoke tests, health checks)
30
+ - [ ] Define rollback procedures
31
+ - [ ] Set up deployment observability
32
+ - [ ] Document release process
33
+ - [ ] Establish release calendar/schedule
34
+
35
+ ## Core Concepts
36
+
37
+ ### CI/CD Pipeline Stages
38
+
39
+ ```
40
+ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
41
+ │ Build │───▶│ Test │───▶│ Stage │───▶│ Deploy │
42
+ │ │ │ │ │ │ │ │
43
+ └──────────┘ └──────────┘ └──────────┘ └──────────┘
44
+ │ │ │ │
45
+ ▼ ▼ ▼ ▼
46
+ Compile Unit Tests Integration Production
47
+ Package Lint UAT Testing Release
48
+ Scan Security Performance Monitor
49
+ ```
50
+
51
+ ### Deployment Strategies
52
+
53
+ **Rolling Update:**
54
+ ```
55
+ Old: [V1] [V1] [V1] [V1] [V1] [V1]
56
+ [V2] [V1] [V1] [V1] [V1] [V1] ← Replace one at a time
57
+ [V2] [V2] [V1] [V1] [V1] [V1]
58
+ [V2] [V2] [V2] [V1] [V1] [V1]
59
+ [V2] [V2] [V2] [V2] [V1] [V1]
60
+ [V2] [V2] [V2] [V2] [V2] [V1]
61
+ New: [V2] [V2] [V2] [V2] [V2] [V2]
62
+ ```
63
+
64
+ **Blue-Green:**
65
+ ```
66
+ Blue (V1): [V1] [V1] [V1] ← All traffic
67
+ Green (V2): [V2] [V2] [V2] ← Idle
68
+
69
+ Switch traffic:
70
+ Blue (V1): [V1] [V1] [V1] ← Idle (ready for rollback)
71
+ Green (V2): [V2] [V2] [V2] ← All traffic
72
+ ```
73
+
74
+ **Canary:**
75
+ ```
76
+ V1: [V1] [V1] [V1] [V1] [V1] ← 100% traffic
77
+ V2: [V2] ← 10% traffic
78
+
79
+ Gradually increase:
80
+ V1: [V1] [V1] [V1] [V1] ← 80% traffic
81
+ V2: [V2] [V2] ← 20% traffic
82
+
83
+ ...eventually:
84
+ V1: ← 0% traffic (removed)
85
+ V2: [V2] [V2] [V2] [V2] [V2] ← 100% traffic
86
+ ```
87
+
88
+ ### Semantic Versioning
89
+
90
+ ```
91
+ MAJOR.MINOR.PATCH (e.g., 2.3.1)
92
+
93
+ MAJOR: Breaking changes (API incompatibility)
94
+ MINOR: New features (backward compatible)
95
+ PATCH: Bug fixes (backward compatible)
96
+
97
+ Examples:
98
+ 1.0.0 → Initial release
99
+ 1.1.0 → Added new feature
100
+ 1.1.1 → Fixed bug
101
+ 2.0.0 → Breaking API change
102
+ ```
103
+
104
+ ## Common Patterns
105
+
106
+ ### Pattern 1: GitHub Actions CI/CD Pipeline
107
+
108
+ ```yaml
109
+ name: CI/CD Pipeline
110
+
111
+ on:
112
+ push:
113
+ branches: [main, develop]
114
+ pull_request:
115
+ branches: [main]
116
+
117
+ jobs:
118
+ build:
119
+ runs-on: ubuntu-latest
120
+ steps:
121
+ - uses: actions/checkout@v3
122
+
123
+ - name: Setup Node
124
+ uses: actions/setup-node@v3
125
+ with:
126
+ node-version: '20'
127
+ cache: 'npm'
128
+
129
+ - name: Install dependencies
130
+ run: npm ci
131
+
132
+ - name: Lint
133
+ run: npm run lint
134
+
135
+ - name: Test
136
+ run: npm test
137
+
138
+ - name: Build
139
+ run: npm run build
140
+
141
+ - name: Build Docker image
142
+ run: docker build -t myapp:${{ github.sha }} .
143
+
144
+ - name: Scan image
145
+ uses: aquasecurity/trivy-action@master
146
+ with:
147
+ image-ref: myapp:${{ github.sha }}
148
+ severity: CRITICAL,HIGH
149
+ exit-code: 1
150
+
151
+ deploy-staging:
152
+ needs: build
153
+ if: github.ref == 'refs/heads/develop'
154
+ runs-on: ubuntu-latest
155
+ steps:
156
+ - name: Deploy to staging
157
+ run: |
158
+ kubectl set image deployment/myapp \
159
+ app=myapp:${{ github.sha }} \
160
+ --namespace=staging
161
+
162
+ deploy-production:
163
+ needs: build
164
+ if: github.ref == 'refs/heads/main'
165
+ runs-on: ubuntu-latest
166
+ environment: production
167
+ steps:
168
+ - name: Deploy to production
169
+ run: |
170
+ kubectl set image deployment/myapp \
171
+ app=myapp:${{ github.sha }} \
172
+ --namespace=production
173
+
174
+ - name: Verify deployment
175
+ run: |
176
+ kubectl rollout status deployment/myapp \
177
+ --namespace=production
178
+ ```
179
+
180
+ ### Pattern 2: Canary Deployment with Flagger
181
+
182
+ ```yaml
183
+ apiVersion: flagger.app/v1beta1
184
+ kind: Canary
185
+ metadata:
186
+ name: myapp
187
+ namespace: production
188
+ spec:
189
+ targetRef:
190
+ apiVersion: apps/v1
191
+ kind: Deployment
192
+ name: myapp
193
+ service:
194
+ port: 80
195
+ analysis:
196
+ interval: 1m
197
+ threshold: 5
198
+ maxWeight: 50
199
+ stepWeight: 10
200
+ metrics:
201
+ - name: request-success-rate
202
+ thresholdRange:
203
+ min: 99
204
+ interval: 1m
205
+ - name: request-duration
206
+ thresholdRange:
207
+ max: 500
208
+ interval: 1m
209
+ webhooks:
210
+ - name: load-test
211
+ url: http://flagger-loadtester/
212
+ metadata:
213
+ cmd: "hey -z 1m -q 10 -c 2 http://myapp-canary/"
214
+ ```
215
+
216
+ ### Pattern 3: Artifact Management
217
+
218
+ ```yaml
219
+ # Publish to registry
220
+ docker build -t ghcr.io/myorg/myapp:v1.2.3 .
221
+ docker push ghcr.io/myorg/myapp:v1.2.3
222
+
223
+ # Tag as latest
224
+ docker tag ghcr.io/myorg/myapp:v1.2.3 ghcr.io/myorg/myapp:latest
225
+ docker push ghcr.io/myorg/myapp:latest
226
+
227
+ # Promotion strategy
228
+ prod: ghcr.io/myorg/myapp:v1.2.3 # Immutable tag
229
+ stage: ghcr.io/myorg/myapp:latest # Latest validated build
230
+ dev: ghcr.io/myorg/myapp:develop # Latest development build
231
+ ```
232
+
233
+ ## Resource Files
234
+
235
+ For detailed guidance on specific topics, see:
236
+
237
+ ### Core CI/CD
238
+ - **[ci-cd-pipelines.md](resources/ci-cd-pipelines.md)** - Pipeline design, GitHub Actions, GitLab CI, Jenkins patterns
239
+ - **[build-optimization.md](resources/build-optimization.md)** - Build caching, parallel builds, incremental builds
240
+ - **[pipeline-security.md](resources/pipeline-security.md)** - Securing CI/CD, secrets management, artifact signing
241
+
242
+ ### Deployment Strategies
243
+ - **[deployment-strategies.md](resources/deployment-strategies.md)** - Blue-green, canary, rolling updates, recreate strategies
244
+ - **[progressive-delivery.md](resources/progressive-delivery.md)** - Feature flags, traffic splitting, gradual rollout
245
+ - **[rollback-strategies.md](resources/rollback-strategies.md)** - Automated rollback, manual rollback, database rollback
246
+
247
+ ### Artifacts & Versioning
248
+ - **[artifact-management.md](resources/artifact-management.md)** - Container registries, package management, retention policies
249
+ - **[versioning-strategies.md](resources/versioning-strategies.md)** - Semantic versioning, calendar versioning, Git-based versioning
250
+ - **[release-automation.md](resources/release-automation.md)** - Automated releases, changelog generation, release notes
251
+
252
+ ### Orchestration
253
+ - **[release-orchestration.md](resources/release-orchestration.md)** - Multi-service deployments, dependency management, coordination
254
+
255
+ ## Best Practices
256
+
257
+ ### CI/CD Pipelines
258
+
259
+ 1. **Fast Feedback:**
260
+ - Run fastest tests first
261
+ - Fail fast on errors
262
+ - Parallel execution where possible
263
+ - Target < 10 minute pipeline
264
+
265
+ 2. **Immutable Artifacts:**
266
+ - Build once, deploy many times
267
+ - Never rebuild for different environments
268
+ - Use configuration management for environment differences
269
+
270
+ 3. **Automated Testing:**
271
+ - Unit tests in CI
272
+ - Integration tests in staging
273
+ - Smoke tests in production
274
+ - Automated rollback on failure
275
+
276
+ ### Deployment
277
+
278
+ 1. **Zero-Downtime:**
279
+ - Use rolling updates or blue-green
280
+ - Health checks before routing traffic
281
+ - Graceful shutdown (SIGTERM handling)
282
+
283
+ 2. **Observability:**
284
+ - Monitor during deployment
285
+ - Automated health checks
286
+ - Track deployment metrics
287
+ - Alert on deployment failures
288
+
289
+ 3. **Rollback Ready:**
290
+ - Keep previous version running (blue-green)
291
+ - Automated rollback triggers
292
+ - Database migrations backward-compatible
293
+ - Test rollback procedures regularly
294
+
295
+ ### Release Management
296
+
297
+ 1. **Version Control:**
298
+ - Semantic versioning for APIs
299
+ - Tag releases in Git
300
+ - Maintain changelog
301
+ - Document breaking changes
302
+
303
+ 2. **Release Notes:**
304
+ - Automated generation from commits
305
+ - Highlight breaking changes
306
+ - Include upgrade instructions
307
+ - Link to documentation
308
+
309
+ 3. **Release Schedule:**
310
+ - Regular release cadence (weekly, bi-weekly)
311
+ - Hotfix process for critical issues
312
+ - Freeze periods for high-traffic events
313
+
314
+ ## Anti-Patterns to Avoid
315
+
316
+ ❌ **Manual deployments** - Error-prone, not reproducible
317
+
318
+ ❌ **Building in production** - Slow, risky, inconsistent
319
+
320
+ ❌ **No rollback plan** - Cannot recover from bad deployments
321
+
322
+ ❌ **Skipping tests in CI** - Broken code reaches production
323
+
324
+ ❌ **Mutable tags (latest)** - Cannot reproduce deployments
325
+
326
+ ❌ **No deployment verification** - Silent failures
327
+
328
+ ❌ **Direct database changes** - Data loss risk
329
+
330
+ ❌ **No deployment approvals** - Unreviewed changes to production
331
+
332
+ ❌ **Ignoring deployment metrics** - Miss degradation
333
+
334
+ ❌ **Complex manual steps** - Slows releases, causes errors
335
+
336
+ ## Common Tasks
337
+
338
+ ### Task: Set Up CI/CD Pipeline
339
+
340
+ 1. Choose CI/CD platform (GitHub Actions, GitLab CI, Jenkins)
341
+ 2. Define pipeline stages (build, test, deploy)
342
+ 3. Configure triggers (push, PR, schedule)
343
+ 4. Add automated tests
344
+ 5. Implement deployment automation
345
+ 6. Set up notifications
346
+ 7. Document pipeline
347
+
348
+ ### Task: Implement Canary Deployment
349
+
350
+ 1. Install Flagger or similar tool
351
+ 2. Define canary configuration
352
+ 3. Set success metrics (error rate, latency)
353
+ 4. Configure progressive rollout (10%, 25%, 50%, 100%)
354
+ 5. Add automated rollback triggers
355
+ 6. Test deployment process
356
+ 7. Monitor first production canary
357
+
358
+ ### Task: Automate Release Process
359
+
360
+ 1. Implement semantic versioning
361
+ 2. Automate changelog generation
362
+ 3. Create Git tags automatically
363
+ 4. Generate release notes
364
+ 5. Publish artifacts to registries
365
+ 6. Notify stakeholders
366
+ 7. Update documentation
367
+
368
+ ## Integration Points
369
+
370
+ This skill integrates with:
371
+ - **platform-engineering**: Infrastructure provisioning, Kubernetes deployments
372
+ - **devsecops**: Security scanning, policy enforcement, artifact signing
373
+ - **sre**: Monitoring deployments, SLO tracking, incident response
374
+ - **cloud-engineering**: Cloud-specific deployment services (ECS, Cloud Run, App Engine)
375
+
376
+ ## Triggers and Activation
377
+
378
+ This skill activates when you:
379
+ - Work with CI/CD configuration files (.github/workflows/, .gitlab-ci.yml, Jenkinsfile)
380
+ - Implement deployment scripts or automation
381
+ - Configure container registries or artifact repositories
382
+ - Design release processes or strategies
383
+ - Set up deployment pipelines
384
+
385
+ ---
386
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
387
+ 🎯 SKILL ACTIVATED: release-engineering
388
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
389
+
390
+
391
+ **Total Resources:** 10 detailed guides covering all aspects of release engineering
392
+ **Focus:** Automation, safety, speed, reliability
393
+ **Maintained by:** Release Engineering team based on production experience
@@ -0,0 +1,108 @@
1
+ # Artifact Management
2
+
3
+ Container registries, package management, versioning, retention policies, and artifact security.
4
+
5
+ ## Container Registries
6
+
7
+ **Docker Hub:**
8
+ ```bash
9
+ docker login
10
+ docker tag myapp:latest myuser/myapp:v1.0.0
11
+ docker push myuser/myapp:v1.0.0
12
+ ```
13
+
14
+ **GitHub Container Registry (ghcr.io):**
15
+ ```bash
16
+ echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
17
+ docker tag myapp:latest ghcr.io/myorg/myapp:v1.0.0
18
+ docker push ghcr.io/myorg/myapp:v1.0.0
19
+ ```
20
+
21
+ **AWS ECR:**
22
+ ```bash
23
+ aws ecr get-login-password --region us-east-1 | \
24
+ docker login --username AWS --password-stdin 123456789.dkr.ecr.us-east-1.amazonaws.com
25
+
26
+ docker tag myapp:latest 123456789.dkr.ecr.us-east-1.amazonaws.com/myapp:v1.0.0
27
+ docker push 123456789.dkr.ecr.us-east-1.amazonaws.com/myapp:v1.0.0
28
+ ```
29
+
30
+ ## Versioning Strategy
31
+
32
+ **Semantic Versioning:**
33
+ ```
34
+ v1.0.0 - Initial release
35
+ v1.1.0 - New features (backward compatible)
36
+ v1.1.1 - Bug fixes
37
+ v2.0.0 - Breaking changes
38
+ ```
39
+
40
+ **Tags:**
41
+ ```bash
42
+ # Immutable version tag
43
+ docker tag myapp:latest myapp:v1.2.3
44
+
45
+ # Mutable tags (for convenience)
46
+ docker tag myapp:v1.2.3 myapp:1.2
47
+ docker tag myapp:v1.2.3 myapp:1
48
+ docker tag myapp:v1.2.3 myapp:latest
49
+
50
+ # Environment tags
51
+ docker tag myapp:v1.2.3 myapp:production
52
+ docker tag myapp:v1.2.3 myapp:staging
53
+ ```
54
+
55
+ ## Retention Policies
56
+
57
+ **Keep Recent and Important:**
58
+ ```yaml
59
+ retention_policy:
60
+ keep:
61
+ - All tagged releases (v*)
62
+ - Last 10 untagged builds
63
+ - Production/staging tags
64
+ delete:
65
+ - Untagged images older than 30 days
66
+ - Development tags older than 7 days
67
+ ```
68
+
69
+ **GitHub Package Retention:**
70
+ ```yaml
71
+ # .github/workflows/cleanup.yml
72
+ name: Cleanup Old Images
73
+
74
+ on:
75
+ schedule:
76
+ - cron: '0 0 * * 0' # Weekly
77
+
78
+ jobs:
79
+ cleanup:
80
+ runs-on: ubuntu-latest
81
+ steps:
82
+ - uses: actions/delete-package-versions@v4
83
+ with:
84
+ package-name: 'myapp'
85
+ min-versions-to-keep: 10
86
+ delete-only-untagged-versions: true
87
+ ```
88
+
89
+ ## Package Management
90
+
91
+ **npm Registry:**
92
+ ```bash
93
+ npm publish --access public
94
+ npm unpublish mypackage@1.0.0
95
+ ```
96
+
97
+ **Private Registry (Verdaccio):**
98
+ ```yaml
99
+ # .npmrc
100
+ registry=http://verdaccio.example.com/
101
+ //verdaccio.example.com/:_authToken=${NPM_TOKEN}
102
+ ```
103
+
104
+ ---
105
+
106
+ **Related Resources:**
107
+ - [versioning-strategies.md](versioning-strategies.md)
108
+ - [ci-cd-pipelines.md](ci-cd-pipelines.md)
@@ -0,0 +1,84 @@
1
+ # Build Optimization
2
+
3
+ Build caching, parallel builds, incremental builds, Docker layer caching, and build performance optimization.
4
+
5
+ ## Docker Layer Caching
6
+
7
+ **Multi-stage Build:**
8
+ ```dockerfile
9
+ # Cache dependencies layer
10
+ FROM node:20-alpine AS deps
11
+ WORKDIR /app
12
+ COPY package*.json ./
13
+ RUN npm ci --only=production
14
+
15
+ # Build layer
16
+ FROM node:20-alpine AS builder
17
+ WORKDIR /app
18
+ COPY package*.json ./
19
+ RUN npm ci
20
+ COPY . .
21
+ RUN npm run build
22
+
23
+ # Production layer
24
+ FROM node:20-alpine
25
+ WORKDIR /app
26
+ COPY --from=deps /app/node_modules ./node_modules
27
+ COPY --from=builder /app/dist ./dist
28
+ CMD ["node", "dist/index.js"]
29
+ ```
30
+
31
+ **GitHub Actions Cache:**
32
+ ```yaml
33
+ - name: Cache Docker layers
34
+ uses: actions/cache@v3
35
+ with:
36
+ path: /tmp/.buildx-cache
37
+ key: ${{ runner.os }}-buildx-${{ github.sha }}
38
+ restore-keys: |
39
+ ${{ runner.os }}-buildx-
40
+
41
+ - name: Build
42
+ uses: docker/build-push-action@v4
43
+ with:
44
+ cache-from: type=local,src=/tmp/.buildx-cache
45
+ cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
46
+ ```
47
+
48
+ ## Parallel Builds
49
+
50
+ **GitHub Actions Matrix:**
51
+ ```yaml
52
+ jobs:
53
+ build:
54
+ strategy:
55
+ matrix:
56
+ platform: [linux/amd64, linux/arm64]
57
+ steps:
58
+ - uses: docker/build-push-action@v4
59
+ with:
60
+ platforms: ${{ matrix.platform }}
61
+ ```
62
+
63
+ ## Incremental Builds
64
+
65
+ **Turborepo:**
66
+ ```json
67
+ {
68
+ "pipeline": {
69
+ "build": {
70
+ "dependsOn": ["^build"],
71
+ "outputs": ["dist/**"]
72
+ },
73
+ "test": {
74
+ "dependsOn": ["build"],
75
+ "cache": true
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ ---
82
+
83
+ **Related Resources:**
84
+ - [ci-cd-pipelines.md](ci-cd-pipelines.md)