blockmine 1.20.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 (434) 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 +28 -3
  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 -39
  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 -850
  289. package/backend/src/core/BreakLoopSignal.js +8 -0
  290. package/backend/src/core/EventGraphManager.js +280 -193
  291. package/backend/src/core/GraphExecutionEngine.js +321 -928
  292. package/backend/src/core/MessageQueue.js +27 -6
  293. package/backend/src/core/NodeRegistry.js +37 -991
  294. package/backend/src/core/PluginManager.js +62 -12
  295. package/backend/src/core/PrismaService.js +32 -0
  296. package/backend/src/core/UserService.js +3 -3
  297. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  298. package/backend/src/core/commands/README.md +305 -0
  299. package/backend/src/core/commands/dev.js +13 -7
  300. package/backend/src/core/commands/ping.js +10 -4
  301. package/backend/src/core/commands/whois.js +63 -0
  302. package/backend/src/core/config/validation.js +27 -0
  303. package/backend/src/core/constants/graphTypes.js +21 -0
  304. package/backend/src/core/node-registries/actions.js +132 -0
  305. package/backend/src/core/node-registries/arrays.js +137 -0
  306. package/backend/src/core/node-registries/bot.js +23 -0
  307. package/backend/src/core/node-registries/data.js +290 -0
  308. package/backend/src/core/node-registries/debug.js +26 -0
  309. package/backend/src/core/node-registries/events.js +187 -0
  310. package/backend/src/core/node-registries/flow.js +139 -0
  311. package/backend/src/core/node-registries/logic.js +45 -0
  312. package/backend/src/core/node-registries/math.js +42 -0
  313. package/backend/src/core/node-registries/objects.js +98 -0
  314. package/backend/src/core/node-registries/strings.js +153 -0
  315. package/backend/src/core/node-registries/time.js +113 -0
  316. package/backend/src/core/node-registries/users.js +79 -0
  317. package/backend/src/core/nodes/actions/bot_look_at.js +36 -0
  318. package/backend/src/core/nodes/actions/bot_set_variable.js +32 -0
  319. package/backend/src/core/nodes/actions/http_request.js +98 -0
  320. package/backend/src/core/nodes/actions/send_log.js +28 -0
  321. package/backend/src/core/nodes/actions/send_message.js +32 -0
  322. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  323. package/backend/src/core/nodes/arrays/add_element.js +23 -0
  324. package/backend/src/core/nodes/arrays/contains.js +40 -0
  325. package/backend/src/core/nodes/arrays/find_index.js +23 -0
  326. package/backend/src/core/nodes/arrays/get_by_index.js +23 -0
  327. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  328. package/backend/src/core/nodes/arrays/get_random_element.js +32 -0
  329. package/backend/src/core/nodes/arrays/remove_by_index.js +30 -0
  330. package/backend/src/core/nodes/bot/get_position.js +20 -0
  331. package/backend/src/core/nodes/data/array_literal.js +31 -0
  332. package/backend/src/core/nodes/data/boolean_literal.js +21 -0
  333. package/backend/src/core/nodes/data/cast.js +42 -0
  334. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  335. package/backend/src/core/nodes/data/entity_info.js +69 -0
  336. package/backend/src/core/nodes/data/get_argument.js +23 -0
  337. package/backend/src/core/nodes/data/get_bot_look.js +14 -0
  338. package/backend/src/core/nodes/data/get_entity_field.js +18 -0
  339. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  340. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  341. package/backend/src/core/nodes/data/get_server_players.js +18 -0
  342. package/backend/src/core/nodes/data/get_user_field.js +40 -0
  343. package/backend/src/core/nodes/data/get_variable.js +23 -0
  344. package/backend/src/core/nodes/data/length.js +25 -0
  345. package/backend/src/core/nodes/data/make_object.js +31 -0
  346. package/backend/src/core/nodes/data/number_literal.js +21 -0
  347. package/backend/src/core/nodes/data/string_literal.js +34 -0
  348. package/backend/src/core/nodes/data/type_check.js +53 -0
  349. package/backend/src/core/nodes/debug/log.js +16 -0
  350. package/backend/src/core/nodes/flow/branch.js +15 -0
  351. package/backend/src/core/nodes/flow/break.js +14 -0
  352. package/backend/src/core/nodes/flow/delay.js +43 -0
  353. package/backend/src/core/nodes/flow/for_each.js +39 -0
  354. package/backend/src/core/nodes/flow/sequence.js +16 -0
  355. package/backend/src/core/nodes/flow/switch.js +47 -0
  356. package/backend/src/core/nodes/flow/while.js +64 -0
  357. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  358. package/backend/src/core/nodes/logic/compare.js +33 -0
  359. package/backend/src/core/nodes/logic/operation.js +35 -0
  360. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  361. package/backend/src/core/nodes/math/operation.js +31 -0
  362. package/backend/src/core/nodes/math/random_number.js +43 -0
  363. package/backend/src/core/nodes/objects/create.js +40 -0
  364. package/backend/src/core/nodes/objects/delete.js +26 -0
  365. package/backend/src/core/nodes/objects/get.js +23 -0
  366. package/backend/src/core/nodes/objects/has_key.js +30 -0
  367. package/backend/src/core/nodes/objects/set.js +27 -0
  368. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  369. package/backend/src/core/nodes/strings/concat.js +27 -0
  370. package/backend/src/core/nodes/strings/contains.js +41 -0
  371. package/backend/src/core/nodes/strings/ends_with.js +43 -0
  372. package/backend/src/core/nodes/strings/equals.js +36 -0
  373. package/backend/src/core/nodes/strings/length.js +36 -0
  374. package/backend/src/core/nodes/strings/matches.js +39 -0
  375. package/backend/src/core/nodes/strings/split.js +37 -0
  376. package/backend/src/core/nodes/strings/starts_with.js +43 -0
  377. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  378. package/backend/src/core/nodes/time/add.js +33 -0
  379. package/backend/src/core/nodes/time/compare.js +35 -0
  380. package/backend/src/core/nodes/time/diff.js +29 -0
  381. package/backend/src/core/nodes/time/format.js +32 -0
  382. package/backend/src/core/nodes/time/now.js +18 -0
  383. package/backend/src/core/nodes/users/check_blacklist.js +37 -0
  384. package/backend/src/core/nodes/users/get_groups.js +36 -0
  385. package/backend/src/core/nodes/users/get_permissions.js +36 -0
  386. package/backend/src/core/nodes/users/set_blacklist.js +37 -0
  387. package/backend/src/core/services/BotLifecycleService.js +596 -0
  388. package/backend/src/core/services/BotProcessManager.js +163 -0
  389. package/backend/src/core/services/CacheManager.js +111 -0
  390. package/backend/src/core/services/CommandExecutionService.js +351 -0
  391. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  392. package/backend/src/core/services/TelemetryService.js +124 -0
  393. package/backend/src/core/services/ValidationService.js +132 -0
  394. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  395. package/backend/src/core/services.js +20 -5
  396. package/backend/src/core/system/CommandContext.js +84 -0
  397. package/backend/src/core/system/Transport.js +78 -0
  398. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  399. package/backend/src/core/utils/jsonParser.js +18 -0
  400. package/backend/src/core/utils/secretsFilter.js +262 -0
  401. package/backend/src/core/utils/variableParser.js +89 -0
  402. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  403. package/backend/src/core/validation/nodeSchemas.js +112 -0
  404. package/backend/src/lib/prisma.js +2 -4
  405. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  406. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  407. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  408. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  409. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  410. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  411. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  412. package/backend/src/real-time/botApi/index.js +40 -0
  413. package/backend/src/real-time/botApi/middleware.js +79 -0
  414. package/backend/src/real-time/botApi/utils.js +54 -0
  415. package/backend/src/real-time/socketHandler.js +6 -2
  416. package/backend/src/repositories/BaseRepository.js +43 -0
  417. package/backend/src/repositories/BotRepository.js +42 -0
  418. package/backend/src/repositories/CommandRepository.js +53 -0
  419. package/backend/src/repositories/EventGraphRepository.js +40 -0
  420. package/backend/src/repositories/GroupRepository.js +69 -0
  421. package/backend/src/repositories/PermissionRepository.js +48 -0
  422. package/backend/src/repositories/PluginRepository.js +42 -0
  423. package/backend/src/repositories/ServerRepository.js +27 -0
  424. package/backend/src/repositories/UserRepository.js +48 -0
  425. package/backend/src/server.js +3 -0
  426. package/backend/src/test-refactor.js +85 -0
  427. package/frontend/dist/assets/index-CfTo92bP.css +1 -0
  428. package/frontend/dist/assets/index-CiFD5X9Z.js +8344 -0
  429. package/frontend/dist/index.html +2 -2
  430. package/frontend/package.json +1 -5
  431. package/package.json +2 -1
  432. package/frontend/dist/assets/index-BFd7YoAj.css +0 -1
  433. package/frontend/dist/assets/index-CMMutadc.js +0 -8352
  434. package/nul +0 -0
@@ -0,0 +1,499 @@
1
+ # Cost Architecture
2
+
3
+ Guide to designing cost-effective infrastructure with FinOps principles, TCO analysis, and optimization strategies.
4
+
5
+ ## Cost-Aware Design Principles
6
+
7
+ ### 1. Right-Sizing
8
+
9
+ **Don't overprovision:**
10
+ ```
11
+ Actual usage: 2 vCPU, 4 GB RAM
12
+ ❌ Provisioned: 8 vCPU, 32 GB RAM ($500/month)
13
+ ✅ Right-sized: 4 vCPU, 8 GB RAM ($200/month)
14
+ Savings: 60%
15
+ ```
16
+
17
+ ### 2. Use Appropriate Storage Tiers
18
+
19
+ ```
20
+ Hot data (frequent access): S3 Standard $0.023/GB
21
+ Warm data (weekly access): S3 IA $0.0125/GB (46% cheaper)
22
+ Cold data (monthly access): S3 Glacier $0.004/GB (83% cheaper)
23
+ Archive (yearly access): S3 Deep Archive $0.00099/GB (96% cheaper)
24
+ ```
25
+
26
+ ### 3. Auto-Scaling
27
+
28
+ **Scale down when not needed:**
29
+ ```
30
+ Business hours (8am-6pm): 20 servers
31
+ Off hours (6pm-8am): 5 servers
32
+
33
+ Cost with no scaling: 20 × 24h × $0.10 = $48/day
34
+ Cost with scaling: (20 × 10h + 5 × 14h) × $0.10 = $27/day
35
+ Savings: 44%
36
+ ```
37
+
38
+ ### 4. Serverless for Variable Workloads
39
+
40
+ ```
41
+ Traditional (always-on server): $100/month (even with 0 requests)
42
+ Serverless (pay-per-invocation): $0-$100/month (scales with usage)
43
+
44
+ Good for: Batch jobs, webhooks, sporadic APIs
45
+ Bad for: High-throughput, predictable load
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Total Cost of Ownership (TCO)
51
+
52
+ ### TCO Components
53
+
54
+ ```
55
+ Infrastructure Costs:
56
+ - Compute (EC2, ECS, Lambda)
57
+ - Storage (S3, EBS)
58
+ - Network (data transfer, load balancers)
59
+ - Database (RDS, DynamoDB)
60
+
61
+ Operational Costs:
62
+ - Engineer time (management, debugging)
63
+ - Monitoring/observability tools
64
+ - Backup/DR infrastructure
65
+ - Support contracts
66
+
67
+ Hidden Costs:
68
+ - Data transfer (inter-region, internet egress)
69
+ - API calls (S3 PUT/GET)
70
+ - Snapshot storage
71
+ - DNS queries
72
+ ```
73
+
74
+ ### TCO Example
75
+
76
+ **Option A: Self-Managed Kubernetes on EC2**
77
+ ```
78
+ Infrastructure:
79
+ - 10 × m5.xlarge nodes: $1,400/month
80
+ - EBS volumes: $200/month
81
+ - Load balancer: $50/month
82
+ - Data transfer: $300/month
83
+ Total: $1,950/month
84
+
85
+ Operational:
86
+ - 0.5 engineer (management): $7,500/month
87
+ - Monitoring (Datadog): $400/month
88
+ Total: $7,900/month
89
+
90
+ TCO: $9,850/month
91
+ ```
92
+
93
+ **Option B: Managed EKS + Fargate**
94
+ ```
95
+ Infrastructure:
96
+ - EKS cluster: $75/month
97
+ - Fargate vCPU/memory: $2,100/month
98
+ - Load balancer: $50/month
99
+ - Data transfer: $300/month
100
+ Total: $2,525/month
101
+
102
+ Operational:
103
+ - 0.2 engineer (less management): $3,000/month
104
+ - Monitoring: $400/month
105
+ Total: $3,400/month
106
+
107
+ TCO: $5,925/month (40% cheaper despite higher infrastructure cost)
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Cost Optimization Strategies
113
+
114
+ ### Reserved Instances & Savings Plans
115
+
116
+ **Baseline (always-running) workloads:**
117
+ ```
118
+ On-Demand: $0.192/hour × 730 hours = $140/month
119
+ Reserved (1yr): $0.123/hour × 730 hours = $90/month (36% savings)
120
+ Reserved (3yr): $0.082/hour × 730 hours = $60/month (57% savings)
121
+
122
+ Recommendation:
123
+ - Cover 60-70% of baseline with Reserved
124
+ - Use On-Demand for burst capacity
125
+ ```
126
+
127
+ **Savings Plans (more flexible than Reserved):**
128
+ ```
129
+ Commit to $500/month compute spend
130
+ → Get ~30-40% discount on all compute (EC2, Lambda, Fargate)
131
+ → Applies automatically to any matching usage
132
+ ```
133
+
134
+ ---
135
+
136
+ ### Spot Instances
137
+
138
+ **Non-critical, fault-tolerant workloads:**
139
+ ```
140
+ On-Demand: $0.192/hour
141
+ Spot: $0.058/hour (70% discount)
142
+
143
+ Good for:
144
+ - Batch processing
145
+ - CI/CD workers
146
+ - Development environments
147
+ - Stateless web servers (with ASG)
148
+
149
+ Bad for:
150
+ - Databases
151
+ - Stateful applications
152
+ - Jobs that can't tolerate interruption
153
+ ```
154
+
155
+ ```yaml
156
+ # EKS with Spot instances
157
+ apiVersion: karpenter.sh/v1alpha5
158
+ kind: Provisioner
159
+ metadata:
160
+ name: default
161
+ spec:
162
+ requirements:
163
+ - key: karpenter.sh/capacity-type
164
+ operator: In
165
+ values: ["spot", "on-demand"]
166
+ limits:
167
+ resources:
168
+ cpu: 1000
169
+ memory: 1000Gi
170
+ ttlSecondsAfterEmpty: 30 # Terminate idle nodes
171
+ ```
172
+
173
+ ---
174
+
175
+ ### Data Transfer Costs
176
+
177
+ **Expensive and often overlooked:**
178
+
179
+ ```
180
+ AWS Inter-Region Transfer:
181
+ us-east-1 → eu-west-1: $0.02/GB
182
+
183
+ AWS to Internet:
184
+ First 10 TB: $0.09/GB
185
+ Next 40 TB: $0.085/GB
186
+
187
+ Example: 10 TB/month egress
188
+ = 10,000 GB × $0.09 = $900/month
189
+ ```
190
+
191
+ **Optimization:**
192
+ 1. **Use CloudFront CDN** - Reduces origin egress
193
+ 2. **Cache aggressively** - Fewer origin requests
194
+ 3. **VPC Peering** - Free in same region
195
+ 4. **Compress data** - Gzip reduces volume 60-80%
196
+
197
+ ```typescript
198
+ // Enable compression
199
+ app.use(compression({
200
+ level: 6, // Balance speed vs compression ratio
201
+ threshold: 1024, // Only compress > 1KB
202
+ }));
203
+
204
+ // Before: 100 KB response × 1M requests = 100 GB egress = $9
205
+ // After: 30 KB response × 1M requests = 30 GB egress = $2.70
206
+ // Savings: 70%
207
+ ```
208
+
209
+ ---
210
+
211
+ ### Database Cost Optimization
212
+
213
+ **RDS vs Self-Managed:**
214
+ ```
215
+ RDS db.r5.xlarge (managed):
216
+ - Instance: $360/month
217
+ - Storage (1TB SSD): $115/month
218
+ - Backups (500GB): $50/month
219
+ - Multi-AZ: +100% = $1,050/month
220
+ Total: $1,050/month
221
+
222
+ Self-Managed on EC2:
223
+ - r5.xlarge: $140/month
224
+ - EBS (1TB SSD): $115/month
225
+ - Snapshot backups: $25/month
226
+ - Replica: $280/month
227
+ - Engineer time (0.3 FTE): $4,500/month
228
+ Total: $5,060/month
229
+
230
+ RDS is 79% cheaper including operational costs!
231
+ ```
232
+
233
+ **DynamoDB On-Demand vs Provisioned:**
234
+ ```
235
+ Predictable workload (1M reads, 100K writes daily):
236
+ On-Demand:
237
+ - Reads: 1M × $0.25/million = $0.25/day = $7.50/month
238
+ - Writes: 100K × $1.25/million = $0.125/day = $3.75/month
239
+ Total: $11.25/month
240
+
241
+ Provisioned:
242
+ - Reads: 12 RCU × $0.00013/hour × 730 = $1.14/month
243
+ - Writes: 2 WCU × $0.00065/hour × 730 = $0.95/month
244
+ Total: $2.09/month
245
+
246
+ Savings: 81% with provisioned (if predictable)
247
+ ```
248
+
249
+ ---
250
+
251
+ ### Storage Lifecycle Policies
252
+
253
+ ```terraform
254
+ # S3 intelligent tiering
255
+ resource "aws_s3_bucket_lifecycle_configuration" "logs" {
256
+ bucket = aws_s3_bucket.logs.id
257
+
258
+ rule {
259
+ id = "archive-old-logs"
260
+ status = "Enabled"
261
+
262
+ # After 30 days: move to Infrequent Access (50% cheaper)
263
+ transition {
264
+ days = 30
265
+ storage_class = "STANDARD_IA"
266
+ }
267
+
268
+ # After 90 days: move to Glacier (83% cheaper)
269
+ transition {
270
+ days = 90
271
+ storage_class = "GLACIER"
272
+ }
273
+
274
+ # After 365 days: delete
275
+ expiration {
276
+ days = 365
277
+ }
278
+ }
279
+ }
280
+
281
+ # Cost Impact:
282
+ # 100 GB stored for 1 year
283
+ # All Standard: 100 × 12 × $0.023 = $276/year
284
+ # With lifecycle: ~$50/year (82% savings)
285
+ ```
286
+
287
+ ---
288
+
289
+ ## Cost Monitoring & Alerting
290
+
291
+ ### Cost Anomaly Detection
292
+
293
+ ```terraform
294
+ # AWS Cost Anomaly Detection
295
+ resource "aws_ce_anomaly_monitor" "main" {
296
+ name = "cost-anomaly-monitor"
297
+ monitor_type = "DIMENSIONAL"
298
+ monitor_dimension = "SERVICE"
299
+ }
300
+
301
+ resource "aws_ce_anomaly_subscription" "alert" {
302
+ name = "cost-anomaly-alert"
303
+ frequency = "DAILY"
304
+
305
+ monitor_arn_list = [
306
+ aws_ce_anomaly_monitor.main.arn
307
+ ]
308
+
309
+ subscriber {
310
+ type = "EMAIL"
311
+ address = "finance@example.com"
312
+ }
313
+
314
+ threshold_expression {
315
+ dimension {
316
+ key = "ANOMALY_TOTAL_IMPACT_ABSOLUTE"
317
+ values = ["500"] # Alert if anomaly > $500
318
+ match_options = ["GREATER_THAN_OR_EQUAL"]
319
+ }
320
+ }
321
+ }
322
+ ```
323
+
324
+ ### Cost Allocation Tags
325
+
326
+ ```terraform
327
+ # Tag all resources for cost tracking
328
+ resource "aws_instance" "api" {
329
+ tags = {
330
+ Environment = "production"
331
+ Team = "backend"
332
+ Service = "api"
333
+ CostCenter = "engineering"
334
+ }
335
+ }
336
+
337
+ # Generate cost reports by tag
338
+ # Cost by Team, Cost by Service, etc.
339
+ ```
340
+
341
+ ---
342
+
343
+ ## FinOps Practices
344
+
345
+ ### 1. Showback & Chargeback
346
+
347
+ **Showback (awareness):**
348
+ ```
349
+ Monthly report:
350
+ - Team Backend: $15,000 (60%)
351
+ - Team Frontend: $5,000 (20%)
352
+ - Team Data: $5,000 (20%)
353
+
354
+ Share costs to build awareness
355
+ ```
356
+
357
+ **Chargeback (accountability):**
358
+ ```
359
+ Each team billed for their infrastructure
360
+ → Incentivizes optimization
361
+ ```
362
+
363
+ ### 2. Unit Economics
364
+
365
+ **Cost per user/request:**
366
+ ```
367
+ Monthly costs: $50,000
368
+ Monthly active users: 100,000
369
+ Cost per user: $0.50
370
+
371
+ Track over time:
372
+ Jan: $0.50/user
373
+ Feb: $0.45/user (10% reduction via optimization)
374
+ ```
375
+
376
+ ### 3. Cost-Performance Ratio
377
+
378
+ ```
379
+ CPU utilization vs cost optimization
380
+
381
+ High utilization (85%): Cost-efficient, but risky (no headroom)
382
+ Medium utilization (70%): Balanced (recommended)
383
+ Low utilization (30%): Wasteful
384
+ ```
385
+
386
+ ---
387
+
388
+ ## Architecture Cost Comparisons
389
+
390
+ ### Monolith vs Microservices
391
+
392
+ **Monolith:**
393
+ ```
394
+ Infrastructure: $2,000/month (simple, fewer services)
395
+ Operations: $5,000/month (0.5 engineer)
396
+ Total: $7,000/month
397
+ ```
398
+
399
+ **Microservices (15 services):**
400
+ ```
401
+ Infrastructure: $6,000/month (more services, load balancers)
402
+ Operations: $10,000/month (1 engineer - more complexity)
403
+ Total: $16,000/month
404
+
405
+ Trade-off: 2.3x cost, but better scalability/flexibility
406
+ ```
407
+
408
+ ### Multi-Region Cost Impact
409
+
410
+ **Single Region:**
411
+ ```
412
+ Compute: $5,000
413
+ Database: $1,000
414
+ Total: $6,000/month
415
+ ```
416
+
417
+ **Multi-Region (Active-Passive):**
418
+ ```
419
+ Primary compute: $5,000
420
+ Primary DB: $1,000
421
+ Secondary compute (standby): $1,000
422
+ Secondary DB (replica): $500
423
+ Data replication: $500
424
+ Total: $8,000/month (+33%)
425
+ ```
426
+
427
+ **Multi-Region (Active-Active):**
428
+ ```
429
+ Primary compute: $5,000
430
+ Primary DB: $1,000
431
+ Secondary compute: $5,000
432
+ Secondary DB: $1,000
433
+ Data transfer: $1,500
434
+ Total: $13,500/month (+125%)
435
+ ```
436
+
437
+ ---
438
+
439
+ ## Cost Optimization Checklist
440
+
441
+ **Compute:**
442
+ - [ ] Right-sized instances (not over-provisioned)
443
+ - [ ] Auto-scaling enabled (scale down off-hours)
444
+ - [ ] Reserved instances for baseline (30-60% savings)
445
+ - [ ] Spot instances for batch workloads (70% savings)
446
+ - [ ] Terminate unused resources
447
+
448
+ **Storage:**
449
+ - [ ] Lifecycle policies (archive old data)
450
+ - [ ] Delete unused snapshots
451
+ - [ ] Use appropriate storage tier (S3 IA, Glacier)
452
+ - [ ] Enable compression
453
+
454
+ **Database:**
455
+ - [ ] Right-sized instance
456
+ - [ ] Read replicas only if needed
457
+ - [ ] Delete old backups beyond retention
458
+ - [ ] Use Aurora Serverless v2 for variable load
459
+
460
+ **Network:**
461
+ - [ ] Use CloudFront CDN (reduce egress)
462
+ - [ ] VPC peering instead of internet (free intra-region)
463
+ - [ ] Compress responses
464
+ - [ ] Minimize inter-region transfer
465
+
466
+ **Monitoring:**
467
+ - [ ] Cost anomaly detection enabled
468
+ - [ ] Budget alerts configured
469
+ - [ ] Tag all resources
470
+ - [ ] Monthly cost review meetings
471
+
472
+ ---
473
+
474
+ ## Best Practices
475
+
476
+ ✅ **Tag everything** - Enable cost allocation
477
+ ✅ **Monitor continuously** - Anomaly detection
478
+ ✅ **Right-size** - Don't overprovision
479
+ ✅ **Auto-scale** - Scale down when idle
480
+ ✅ **Use managed services** - Lower operational cost
481
+ ✅ **Reserve baseline** - 30-60% discount
482
+ ✅ **Delete unused** - Old snapshots, volumes
483
+ ✅ **Review monthly** - Optimize continuously
484
+
485
+ ## Anti-Patterns
486
+
487
+ ❌ **Always-on instances** - No auto-scaling
488
+ ❌ **No tagging** - Can't track costs
489
+ ❌ **Over-provisioning** - "Just in case" sizing
490
+ ❌ **Ignoring data transfer** - Huge surprise bills
491
+ ❌ **No cost ownership** - Teams unaware of spend
492
+ ❌ **Premature optimization** - Optimizing before measuring
493
+
494
+ ---
495
+
496
+ **Related Resources:**
497
+ - capacity-planning.md - Right-sizing infrastructure
498
+ - multi-region-design.md - Multi-region cost implications
499
+ - disaster-recovery.md - DR cost tiers