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,110 @@
1
+ # OpenTelemetry
2
+
3
+ Comprehensive guide to OpenTelemetry (OTEL) for vendor-neutral observability instrumentation.
4
+
5
+ ## Setup
6
+
7
+ ```typescript
8
+ import { NodeSDK } from '@opentelemetry/sdk-node';
9
+ import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
10
+ import { JaegerExporter } from '@opentelemetry/exporter-jaeger';
11
+
12
+ const sdk = new NodeSDK({
13
+ traceExporter: new JaegerExporter({
14
+ endpoint: 'http://jaeger:14268/api/traces',
15
+ }),
16
+ instrumentations: [getNodeAutoInstrumentations()],
17
+ });
18
+
19
+ sdk.start();
20
+ ```
21
+
22
+ ## Auto-Instrumentation
23
+
24
+ ```typescript
25
+ // Auto-instruments: HTTP, Express, Prisma, Redis, etc.
26
+ import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
27
+
28
+ const instrumentations = getNodeAutoInstrumentations({
29
+ '@opentelemetry/instrumentation-http': {
30
+ ignoreIncomingPaths: ['/health'],
31
+ },
32
+ '@opentelemetry/instrumentation-express': {
33
+ enabled: true,
34
+ },
35
+ '@opentelemetry/instrumentation-prisma': {
36
+ enabled: true,
37
+ },
38
+ });
39
+ ```
40
+
41
+ ## Manual Instrumentation
42
+
43
+ ```typescript
44
+ import { trace, SpanKind } from '@opentelemetry/api';
45
+
46
+ const tracer = trace.getTracer('my-app', '1.0.0');
47
+
48
+ async function processOrder(order) {
49
+ const span = tracer.startSpan('processOrder', {
50
+ kind: SpanKind.INTERNAL,
51
+ attributes: {
52
+ 'order.id': order.id,
53
+ 'order.total': order.total,
54
+ },
55
+ });
56
+
57
+ try {
58
+ await validateOrder(order);
59
+ await chargePayment(order);
60
+ await shipOrder(order);
61
+
62
+ span.setAttribute('order.status', 'completed');
63
+ } catch (error) {
64
+ span.recordException(error);
65
+ span.setStatus({ code: SpanStatusCode.ERROR });
66
+ throw error;
67
+ } finally {
68
+ span.end();
69
+ }
70
+ }
71
+ ```
72
+
73
+ ## OTEL Collector
74
+
75
+ ```yaml
76
+ # otel-collector-config.yaml
77
+ receivers:
78
+ otlp:
79
+ protocols:
80
+ grpc:
81
+ http:
82
+
83
+ processors:
84
+ batch:
85
+ memory_limiter:
86
+ limit_mib: 1024
87
+
88
+ exporters:
89
+ jaeger:
90
+ endpoint: jaeger:14250
91
+ prometheus:
92
+ endpoint: "0.0.0.0:8889"
93
+
94
+ service:
95
+ pipelines:
96
+ traces:
97
+ receivers: [otlp]
98
+ processors: [batch]
99
+ exporters: [jaeger]
100
+ metrics:
101
+ receivers: [otlp]
102
+ processors: [batch]
103
+ exporters: [prometheus]
104
+ ```
105
+
106
+ ---
107
+
108
+ **Related Resources:**
109
+ - distributed-tracing.md - Tracing concepts
110
+ - apm-tools.md - APM integration
@@ -0,0 +1,555 @@
1
+ ---
2
+ description: Platform engineering and architecture guide covering Infrastructure as Code, container orchestration (Kubernetes/Docker), service mesh, developer platforms, internal developer portals, platform automation, multi-tenancy, resource management, and infrastructure standards. Use when designing platform architecture, implementing IaC, managing Kubernetes clusters, building developer platforms, or establishing infrastructure standards. (project)
3
+ ---
4
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5
+ 🎯 SKILL ACTIVATED: platform-engineering
6
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7
+
8
+
9
+ # Platform Engineering & Architecture
10
+
11
+ Comprehensive guide for building and managing modern platform engineering infrastructure. This skill provides production-tested patterns for Infrastructure as Code, container orchestration, developer platforms, and platform automation.
12
+
13
+ ## When to Use This Skill
14
+
15
+ Automatically activates when working on:
16
+ - Infrastructure as Code implementation (Terraform, Pulumi, CloudFormation)
17
+ - Kubernetes cluster management and container orchestration
18
+ - Platform architecture design and developer platforms
19
+ - GitOps automation (ArgoCD, Flux)
20
+ - Service mesh configuration (Istio, Linkerd)
21
+ - Multi-tenancy and resource management
22
+ - Platform cost optimization and governance
23
+ - Internal developer portal development (Backstage, Port)
24
+
25
+ ## Overview
26
+
27
+ **Purpose:** Enable teams to build robust, scalable platform infrastructure that empowers developers with self-service capabilities while maintaining security, reliability, and cost efficiency.
28
+
29
+ **Scope:**
30
+ - Infrastructure as Code (Terraform, Pulumi, CloudFormation, Ansible)
31
+ - Container orchestration (Kubernetes, Docker, ECS, AKS, GKE, EKS)
32
+ - Service mesh and networking (Istio, Linkerd, Envoy)
33
+ - Developer platforms and internal portals (Backstage, Port, Humanitec)
34
+ - Platform automation and GitOps (ArgoCD, Flux, Jenkins, GitHub Actions)
35
+ - Multi-tenancy and resource isolation
36
+ - Cost optimization and FinOps
37
+ - Infrastructure standards and governance
38
+
39
+ **This skill is for:**
40
+ - Platform engineers building internal developer platforms
41
+ - Infrastructure architects designing scalable systems
42
+ - Teams migrating to cloud-native architectures
43
+ - Organizations implementing platform engineering practices
44
+
45
+ ## Quick Start Checklist
46
+
47
+ When starting a platform engineering task:
48
+
49
+ - [ ] Identify the infrastructure layer (compute, networking, storage, orchestration)
50
+ - [ ] Choose appropriate IaC tool (Terraform for multi-cloud, native tools for single cloud)
51
+ - [ ] Define resource hierarchy and naming conventions
52
+ - [ ] Implement state management and backend configuration
53
+ - [ ] Design for multi-environment support (dev, staging, prod)
54
+ - [ ] Plan security controls and access management
55
+ - [ ] Define monitoring and observability strategy
56
+ - [ ] Document platform architecture and runbooks
57
+ - [ ] Implement cost tracking and tagging strategy
58
+ - [ ] Set up automated testing for infrastructure changes
59
+
60
+ ## Core Concepts
61
+
62
+ ### 1. Infrastructure as Code (IaC)
63
+
64
+ **Definition:** Managing infrastructure through version-controlled code rather than manual processes.
65
+
66
+ **Key Principles:**
67
+ - **Declarative over imperative:** Define desired state, not steps
68
+ - **Idempotency:** Same input produces same output
69
+ - **Version control:** All infrastructure in Git
70
+ - **Immutable infrastructure:** Replace rather than modify
71
+ - **State management:** Track current infrastructure state
72
+ - **Modularity:** Reusable components and modules
73
+
74
+ **Tool Selection:**
75
+ ```
76
+ Terraform: Multi-cloud, largest ecosystem, HCL language
77
+ Pulumi: Programming languages (Python/TypeScript/Go), cloud-native
78
+ CloudFormation: AWS-native, tight AWS integration
79
+ ARM/Bicep: Azure-native, JSON/domain-specific language
80
+ Ansible: Configuration management + provisioning
81
+ CDK: Cloud-native using programming languages
82
+ ```
83
+
84
+ ### 2. Container Orchestration
85
+
86
+ **Kubernetes Architecture:**
87
+ ```
88
+ ┌─────────────────────────────────────────────────┐
89
+ │ Control Plane │
90
+ │ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
91
+ │ │ API │ │ etcd │ │ Scheduler │ │
92
+ │ │ Server │ │ │ │ │ │
93
+ │ └──────────┘ └──────────┘ └──────────────┘ │
94
+ │ ┌─────────────────────────────────────────┐ │
95
+ │ │ Controller Manager │ │
96
+ │ └─────────────────────────────────────────┘ │
97
+ └─────────────────────────────────────────────────┘
98
+
99
+ ┌─────────────┼─────────────┐
100
+ │ │ │
101
+ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
102
+ │ Node 1 │ │ Node 2 │ │ Node 3 │
103
+ │ │ │ │ │ │
104
+ │ Kubelet │ │ Kubelet │ │ Kubelet │
105
+ │ Pods │ │ Pods │ │ Pods │
106
+ └─────────┘ └─────────┘ └─────────┘
107
+ ```
108
+
109
+ **Core Resources:**
110
+ - **Pods:** Smallest deployable units (containers)
111
+ - **Deployments:** Manage replica sets and rolling updates
112
+ - **Services:** Stable networking and load balancing
113
+ - **ConfigMaps/Secrets:** Configuration and sensitive data
114
+ - **Namespaces:** Resource isolation and multi-tenancy
115
+ - **Ingress:** External access and routing rules
116
+ - **PersistentVolumes:** Storage abstraction
117
+
118
+ ### 3. Platform Layers
119
+
120
+ ```
121
+ ┌────────────────────────────────────────────────┐
122
+ │ Developer Experience Layer │
123
+ │ (Portals, CLIs, APIs, Documentation) │
124
+ └────────────────────────────────────────────────┘
125
+
126
+ ┌────────────────────────────────────────────────┐
127
+ │ Platform Services Layer │
128
+ │ (CI/CD, Observability, Secrets, Service Mesh)│
129
+ └────────────────────────────────────────────────┘
130
+
131
+ ┌────────────────────────────────────────────────┐
132
+ │ Orchestration Layer │
133
+ │ (Kubernetes, ECS, Nomad) │
134
+ └────────────────────────────────────────────────┘
135
+
136
+ ┌────────────────────────────────────────────────┐
137
+ │ Infrastructure Layer │
138
+ │ (Compute, Network, Storage, Security) │
139
+ └────────────────────────────────────────────────┘
140
+ ```
141
+
142
+ ### 4. GitOps Principles
143
+
144
+ **Core Tenets:**
145
+ 1. **Git as single source of truth:** All desired state in Git
146
+ 2. **Declarative desired state:** What, not how
147
+ 3. **Automated synchronization:** Continuous reconciliation
148
+ 4. **Pull-based deployment:** Cluster pulls changes from Git
149
+
150
+ **GitOps Workflow:**
151
+ ```
152
+ Developer → Git Push → CI Pipeline → Update Manifest Repo
153
+
154
+ GitOps Controller monitors repo
155
+
156
+ Detects drift, applies changes
157
+
158
+ Cluster state matches Git
159
+ ```
160
+
161
+ ### 5. Multi-Tenancy Patterns
162
+
163
+ **Namespace-based Tenancy:**
164
+ ```yaml
165
+ apiVersion: v1
166
+ kind: Namespace
167
+ metadata:
168
+ name: tenant-acme
169
+ labels:
170
+ tenant: acme
171
+ environment: production
172
+ ---
173
+ apiVersion: v1
174
+ kind: ResourceQuota
175
+ metadata:
176
+ name: tenant-acme-quota
177
+ namespace: tenant-acme
178
+ spec:
179
+ hard:
180
+ requests.cpu: "100"
181
+ requests.memory: 100Gi
182
+ persistentvolumeclaims: "10"
183
+ ```
184
+
185
+ **Cluster-based Tenancy:**
186
+ - Dedicated clusters per tenant/environment
187
+ - Stronger isolation, higher cost
188
+ - Simplified RBAC and networking
189
+
190
+ **Virtual Clusters:**
191
+ - vCluster, Loft, Capsule
192
+ - Lightweight isolation within shared cluster
193
+ - Balance between namespace and cluster tenancy
194
+
195
+ ## Common Patterns
196
+
197
+ ### Pattern 1: Terraform Module Structure
198
+
199
+ ```
200
+ terraform/
201
+ ├── modules/
202
+ │ ├── vpc/
203
+ │ │ ├── main.tf
204
+ │ │ ├── variables.tf
205
+ │ │ ├── outputs.tf
206
+ │ │ └── versions.tf
207
+ │ ├── eks-cluster/
208
+ │ │ ├── main.tf
209
+ │ │ ├── variables.tf
210
+ │ │ ├── outputs.tf
211
+ │ │ └── security.tf
212
+ │ └── rds-postgres/
213
+ │ └── ...
214
+ ├── environments/
215
+ │ ├── dev/
216
+ │ │ ├── main.tf
217
+ │ │ ├── backend.tf
218
+ │ │ ├── terraform.tfvars
219
+ │ │ └── versions.tf
220
+ │ ├── staging/
221
+ │ │ └── ...
222
+ │ └── prod/
223
+ │ └── ...
224
+ └── shared/
225
+ └── networking/
226
+ └── ...
227
+ ```
228
+
229
+ **Key Practices:**
230
+ - Separate modules from environments
231
+ - Use remote state for cross-stack references
232
+ - Implement state locking (S3 + DynamoDB for AWS)
233
+ - Version modules with Git tags
234
+ - Use workspaces sparingly (prefer separate state files)
235
+
236
+ ### Pattern 2: Kubernetes Application Deployment
237
+
238
+ ```yaml
239
+ # Standard three-resource pattern
240
+ ---
241
+ apiVersion: apps/v1
242
+ kind: Deployment
243
+ metadata:
244
+ name: api-service
245
+ namespace: production
246
+ spec:
247
+ replicas: 3
248
+ selector:
249
+ matchLabels:
250
+ app: api-service
251
+ template:
252
+ metadata:
253
+ labels:
254
+ app: api-service
255
+ version: v1.2.3
256
+ spec:
257
+ containers:
258
+ - name: api
259
+ image: registry.example.com/api-service:v1.2.3
260
+ ports:
261
+ - containerPort: 8080
262
+ env:
263
+ - name: DATABASE_URL
264
+ valueFrom:
265
+ secretKeyRef:
266
+ name: api-secrets
267
+ key: database-url
268
+ resources:
269
+ requests:
270
+ memory: "256Mi"
271
+ cpu: "100m"
272
+ limits:
273
+ memory: "512Mi"
274
+ cpu: "500m"
275
+ livenessProbe:
276
+ httpGet:
277
+ path: /health
278
+ port: 8080
279
+ initialDelaySeconds: 30
280
+ periodSeconds: 10
281
+ readinessProbe:
282
+ httpGet:
283
+ path: /ready
284
+ port: 8080
285
+ initialDelaySeconds: 5
286
+ periodSeconds: 5
287
+ ---
288
+ apiVersion: v1
289
+ kind: Service
290
+ metadata:
291
+ name: api-service
292
+ namespace: production
293
+ spec:
294
+ selector:
295
+ app: api-service
296
+ ports:
297
+ - port: 80
298
+ targetPort: 8080
299
+ type: ClusterIP
300
+ ---
301
+ apiVersion: networking.k8s.io/v1
302
+ kind: Ingress
303
+ metadata:
304
+ name: api-service
305
+ namespace: production
306
+ annotations:
307
+ cert-manager.io/cluster-issuer: letsencrypt-prod
308
+ nginx.ingress.kubernetes.io/rate-limit: "100"
309
+ spec:
310
+ ingressClassName: nginx
311
+ tls:
312
+ - hosts:
313
+ - api.example.com
314
+ secretName: api-service-tls
315
+ rules:
316
+ - host: api.example.com
317
+ http:
318
+ paths:
319
+ - path: /
320
+ pathType: Prefix
321
+ backend:
322
+ service:
323
+ name: api-service
324
+ port:
325
+ number: 80
326
+ ```
327
+
328
+ ### Pattern 3: Platform Service Catalog
329
+
330
+ **Developer Portal (Backstage) Structure:**
331
+ ```yaml
332
+ # catalog-info.yaml
333
+ apiVersion: backstage.io/v1alpha1
334
+ kind: Component
335
+ metadata:
336
+ name: api-service
337
+ description: Customer API microservice
338
+ annotations:
339
+ github.com/project-slug: company/api-service
340
+ backstage.io/techdocs-ref: dir:.
341
+ tags:
342
+ - api
343
+ - microservice
344
+ - production
345
+ spec:
346
+ type: service
347
+ lifecycle: production
348
+ owner: platform-team
349
+ system: customer-platform
350
+ providesApis:
351
+ - customer-api
352
+ consumesApis:
353
+ - auth-api
354
+ - notification-api
355
+ dependsOn:
356
+ - resource:postgres-db
357
+ - resource:redis-cache
358
+ ```
359
+
360
+ ### Pattern 4: Infrastructure State Management
361
+
362
+ **Terraform Backend Configuration:**
363
+ ```hcl
364
+ # backend.tf
365
+ terraform {
366
+ backend "s3" {
367
+ bucket = "company-terraform-state"
368
+ key = "prod/vpc/terraform.tfstate"
369
+ region = "us-east-1"
370
+ encrypt = true
371
+ dynamodb_table = "terraform-state-lock"
372
+
373
+ # Enable versioning on the bucket for rollback
374
+ # Enable MFA delete for production
375
+ }
376
+ }
377
+
378
+ # Workspace-based alternative (use sparingly)
379
+ terraform {
380
+ backend "s3" {
381
+ bucket = "company-terraform-state"
382
+ key = "env:/${terraform.workspace}/terraform.tfstate"
383
+ region = "us-east-1"
384
+ }
385
+ }
386
+ ```
387
+
388
+ ## Resource Files
389
+
390
+ For detailed guidance on specific topics, see:
391
+
392
+ ### Core Infrastructure
393
+ - **[architecture-overview.md](resources/architecture-overview.md)** - Platform architecture patterns, layering strategies, reference architectures, and decision frameworks
394
+ - **[infrastructure-as-code.md](resources/infrastructure-as-code.md)** - Terraform, Pulumi, CloudFormation patterns, module design, state management, testing strategies
395
+ - **[container-orchestration.md](resources/container-orchestration.md)** - Kubernetes architecture, workload patterns, networking, storage, security best practices
396
+
397
+ ### Platform Services
398
+ - **[developer-platforms.md](resources/developer-platforms.md)** - Internal developer portals (Backstage, Port), self-service platforms, service catalogs, developer experience
399
+ - **[gitops-automation.md](resources/gitops-automation.md)** - ArgoCD, Flux CD, continuous deployment, progressive delivery, automated rollbacks
400
+ - **[service-mesh.md](resources/service-mesh.md)** - Istio, Linkerd implementation, traffic management, security policies, observability
401
+
402
+ ### Operations & Management
403
+ - **[multi-tenancy.md](resources/multi-tenancy.md)** - Namespace isolation, resource quotas, RBAC patterns, network policies, cost allocation
404
+ - **[resource-management.md](resources/resource-management.md)** - Resource requests/limits, autoscaling (HPA, VPA, KEDA), cluster autoscaling, capacity planning
405
+ - **[cost-optimization.md](resources/cost-optimization.md)** - FinOps practices, cost allocation, right-sizing, spot instances, reserved capacity
406
+
407
+ ### Standards & Governance
408
+ - **[infrastructure-standards.md](resources/infrastructure-standards.md)** - Naming conventions, tagging strategies, security baselines, compliance frameworks
409
+ - **[platform-security.md](resources/platform-security.md)** - Pod security standards, network policies, secrets management, vulnerability scanning, runtime security
410
+
411
+ ## Best Practices
412
+
413
+ ### Infrastructure as Code
414
+
415
+ 1. **State Management:**
416
+ - Always use remote state with locking
417
+ - Never commit state files to version control
418
+ - Use separate state files per environment
419
+ - Enable state file versioning for rollback
420
+
421
+ 2. **Module Design:**
422
+ - Keep modules focused and reusable
423
+ - Version modules with semantic versioning
424
+ - Document inputs, outputs, and examples
425
+ - Test modules independently
426
+
427
+ 3. **Security:**
428
+ - Never commit secrets to version control
429
+ - Use secret management tools (Vault, AWS Secrets Manager)
430
+ - Implement least-privilege IAM policies
431
+ - Enable encryption at rest and in transit
432
+
433
+ ### Kubernetes
434
+
435
+ 1. **Resource Management:**
436
+ - Always set resource requests and limits
437
+ - Use namespaces for logical separation
438
+ - Implement resource quotas per namespace
439
+ - Enable horizontal pod autoscaling
440
+
441
+ 2. **Security:**
442
+ - Use Pod Security Standards
443
+ - Implement network policies for pod isolation
444
+ - Run containers as non-root users
445
+ - Scan images for vulnerabilities
446
+ - Use secrets for sensitive data (never ConfigMaps)
447
+
448
+ 3. **Reliability:**
449
+ - Implement health checks (liveness, readiness, startup)
450
+ - Use multiple replicas for critical services
451
+ - Configure pod disruption budgets
452
+ - Implement proper graceful shutdown
453
+
454
+ ### Platform Engineering
455
+
456
+ 1. **Developer Experience:**
457
+ - Provide self-service capabilities
458
+ - Automate common tasks
459
+ - Document platform usage with examples
460
+ - Measure and improve developer productivity
461
+
462
+ 2. **Observability:**
463
+ - Implement structured logging
464
+ - Set up metrics collection (Prometheus)
465
+ - Configure distributed tracing
466
+ - Create meaningful dashboards and alerts
467
+
468
+ 3. **Cost Management:**
469
+ - Tag all resources for cost allocation
470
+ - Implement resource quotas
471
+ - Monitor and optimize resource usage
472
+ - Use spot/preemptible instances where appropriate
473
+
474
+ ## Anti-Patterns to Avoid
475
+
476
+ ❌ **Manual infrastructure changes** - Always use IaC
477
+ ❌ **Shared state files** - Separate state per environment/component
478
+ ❌ **No resource limits** - Can cause resource exhaustion
479
+ ❌ **Running as root** - Security vulnerability
480
+ ❌ **Ignoring health checks** - Leads to cascading failures
481
+ ❌ **No pod disruption budgets** - Maintenance causes outages
482
+ ❌ **Untagged resources** - Impossible to track costs
483
+ ❌ **No backup strategy** - Data loss risk
484
+ ❌ **Overprovisioning by default** - Wastes money
485
+ ❌ **No monitoring/alerting** - Flying blind
486
+
487
+ ## Common Tasks
488
+
489
+ ### Task: Create New Kubernetes Cluster
490
+
491
+ 1. Define cluster specification (node count, size, region, version)
492
+ 2. Write Terraform module for cluster provisioning
493
+ 3. Configure RBAC and service accounts
494
+ 4. Set up networking (VPC, subnets, security groups)
495
+ 5. Install core platform services (ingress, cert-manager, monitoring)
496
+ 6. Configure GitOps controller (ArgoCD/Flux)
497
+ 7. Implement backup and disaster recovery
498
+ 8. Document cluster architecture and runbooks
499
+
500
+ ### Task: Onboard New Service to Platform
501
+
502
+ 1. Create namespace with resource quotas
503
+ 2. Set up RBAC for team access
504
+ 3. Configure network policies
505
+ 4. Provision required resources (databases, caches, queues)
506
+ 5. Create CI/CD pipeline
507
+ 6. Configure monitoring and alerting
508
+ 7. Set up logging and tracing
509
+ 8. Register in service catalog
510
+ 9. Document service dependencies and runbooks
511
+
512
+ ### Task: Implement Infrastructure Change
513
+
514
+ 1. Create feature branch in IaC repository
515
+ 2. Make changes in development environment first
516
+ 3. Run terraform plan and review changes
517
+ 4. Apply changes to dev environment
518
+ 5. Test and validate functionality
519
+ 6. Create pull request with plan output
520
+ 7. Peer review and approval
521
+ 8. Apply to staging, then production
522
+ 9. Monitor for issues and rollback if needed
523
+
524
+ ## Integration Points
525
+
526
+ This skill integrates with:
527
+ - **devsecops**: Security scanning, policy enforcement, compliance
528
+ - **sre**: Incident response, reliability engineering, SLO/SLI management
529
+ - **release-engineering**: Deployment automation, progressive delivery, rollback strategies
530
+ - **cloud-engineering**: Cloud-specific implementations (AWS/Azure/GCP)
531
+ - **systems-engineering**: OS-level configuration, networking, performance tuning
532
+
533
+ ## Triggers and Activation
534
+
535
+ This skill activates when you:
536
+ - Work with Infrastructure as Code files (*.tf, *.yaml in k8s/, helm/, infra/)
537
+ - Mention platform engineering topics (Kubernetes, Terraform, IaC)
538
+ - Design platform architecture or developer platforms
539
+ - Implement GitOps or container orchestration
540
+ - Configure multi-tenancy or resource management
541
+
542
+ ## Next Steps
543
+
544
+ For your specific task:
545
+ 1. Identify which resource file addresses your needs
546
+ 2. Review the relevant patterns and examples
547
+ 3. Adapt to your infrastructure and requirements
548
+ 4. Implement with testing in dev environment first
549
+ 5. Follow promotion process through environments
550
+
551
+ ---
552
+
553
+ **Total Resources:** 11 detailed guides covering all aspects of platform engineering
554
+ **Pattern Library:** 50+ production-tested infrastructure patterns
555
+ **Maintained by:** Platform Engineering team based on real-world production experience