blockmine 1.24.0 → 1.25.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.
- package/CHANGELOG.md +32 -0
- package/README.en.md +427 -0
- package/README.md +40 -0
- package/backend/cli.js +1 -1
- package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
- package/backend/src/api/routes/bots.js +13 -0
- package/backend/src/api/routes/servers.js +14 -2
- package/backend/src/core/BotProcess.js +98 -2
- package/backend/src/core/PluginLoader.js +83 -3
- package/backend/src/core/PluginManager.js +75 -5
- package/backend/src/core/services/BotLifecycleService.js +186 -2
- package/backend/src/server.js +11 -1
- package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
- package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
- package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
- package/frontend/dist/flags/en.svg +32 -0
- package/frontend/dist/flags/ru.svg +5 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/locales/en/admin.json +100 -0
- package/frontend/dist/locales/en/api-keys.json +58 -0
- package/frontend/dist/locales/en/bots.json +110 -0
- package/frontend/dist/locales/en/common.json +47 -0
- package/frontend/dist/locales/en/configuration.json +22 -0
- package/frontend/dist/locales/en/console.json +10 -0
- package/frontend/dist/locales/en/dashboard.json +85 -0
- package/frontend/dist/locales/en/dialogs.json +70 -0
- package/frontend/dist/locales/en/event-graphs.json +50 -0
- package/frontend/dist/locales/en/graph-store.json +70 -0
- package/frontend/dist/locales/en/login.json +34 -0
- package/frontend/dist/locales/en/management.json +114 -0
- package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/en/nodes.json +1077 -0
- package/frontend/dist/locales/en/permissions.json +50 -0
- package/frontend/dist/locales/en/plugin-detail.json +49 -0
- package/frontend/dist/locales/en/plugins.json +110 -0
- package/frontend/dist/locales/en/proxies.json +81 -0
- package/frontend/dist/locales/en/servers.json +39 -0
- package/frontend/dist/locales/en/setup.json +17 -0
- package/frontend/dist/locales/en/sidebar.json +27 -0
- package/frontend/dist/locales/en/tasks.json +62 -0
- package/frontend/dist/locales/en/visual-editor.json +219 -0
- package/frontend/dist/locales/en/websocket.json +86 -0
- package/frontend/dist/locales/ru/admin.json +100 -0
- package/frontend/dist/locales/ru/api-keys.json +58 -0
- package/frontend/dist/locales/ru/bots.json +110 -0
- package/frontend/dist/locales/ru/common.json +49 -0
- package/frontend/dist/locales/ru/configuration.json +22 -0
- package/frontend/dist/locales/ru/console.json +10 -0
- package/frontend/dist/locales/ru/dashboard.json +85 -0
- package/frontend/dist/locales/ru/dialogs.json +70 -0
- package/frontend/dist/locales/ru/event-graphs.json +50 -0
- package/frontend/dist/locales/ru/graph-store.json +70 -0
- package/frontend/dist/locales/ru/login.json +34 -0
- package/frontend/dist/locales/ru/management.json +114 -0
- package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/ru/nodes.json +1077 -0
- package/frontend/dist/locales/ru/permissions.json +50 -0
- package/frontend/dist/locales/ru/plugin-detail.json +49 -0
- package/frontend/dist/locales/ru/plugins.json +110 -0
- package/frontend/dist/locales/ru/proxies.json +81 -0
- package/frontend/dist/locales/ru/servers.json +39 -0
- package/frontend/dist/locales/ru/setup.json +17 -0
- package/frontend/dist/locales/ru/sidebar.json +27 -0
- package/frontend/dist/locales/ru/tasks.json +62 -0
- package/frontend/dist/locales/ru/visual-editor.json +221 -0
- package/frontend/dist/locales/ru/websocket.json +86 -0
- package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
- package/frontend/package.json +4 -0
- package/package.json +1 -1
- package/screen/3dviewer.png +0 -0
- package/screen/console.png +0 -0
- package/screen/dashboard.png +0 -0
- package/screen/graph_collabe.png +0 -0
- package/screen/graph_live_debug.png +0 -0
- package/screen/language_selector.png +0 -0
- package/screen/management_command.png +0 -0
- package/screen/node_debug_trace.png +0 -0
- package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
- package/screen/websocket.png +0 -0
- package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
- package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
- package/.claude/agents/README.md +0 -469
- package/.claude/agents/auth-route-debugger.md +0 -118
- package/.claude/agents/auth-route-tester.md +0 -93
- package/.claude/agents/auto-error-resolver.md +0 -97
- package/.claude/agents/build-optimizer.md +0 -236
- package/.claude/agents/code-architect.md +0 -34
- package/.claude/agents/code-architecture-reviewer.md +0 -83
- package/.claude/agents/code-explorer.md +0 -51
- package/.claude/agents/code-refactor-master.md +0 -94
- package/.claude/agents/code-reviewer.md +0 -46
- package/.claude/agents/cost-optimizer.md +0 -134
- package/.claude/agents/deployment-orchestrator.md +0 -113
- package/.claude/agents/documentation-architect.md +0 -82
- package/.claude/agents/frontend-error-fixer.md +0 -77
- package/.claude/agents/iac-code-generator.md +0 -71
- package/.claude/agents/incident-responder.md +0 -346
- package/.claude/agents/infrastructure-architect.md +0 -31
- package/.claude/agents/kubernetes-specialist.md +0 -56
- package/.claude/agents/migration-planner.md +0 -181
- package/.claude/agents/network-architect.md +0 -196
- package/.claude/agents/plan-reviewer.md +0 -52
- package/.claude/agents/refactor-planner.md +0 -63
- package/.claude/agents/security-scanner.md +0 -102
- package/.claude/agents/web-research-specialist.md +0 -78
- package/.claude/commands/cost-analysis.md +0 -315
- package/.claude/commands/dev-docs-update.md +0 -55
- package/.claude/commands/dev-docs.md +0 -51
- package/.claude/commands/feature-dev.md +0 -125
- package/.claude/commands/incident-debug.md +0 -247
- package/.claude/commands/infra-plan.md +0 -81
- package/.claude/commands/migration-plan.md +0 -478
- package/.claude/commands/route-research-for-testing.md +0 -37
- package/.claude/commands/security-review.md +0 -66
- package/.claude/hooks/CONFIG.md +0 -448
- package/.claude/hooks/README.md +0 -163
- package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
- package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
- package/.claude/hooks/add-skill-activation-banners.ts +0 -132
- package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -222
- package/.claude/hooks/k8s-manifest-validator.sh +0 -56
- package/.claude/hooks/package-lock.json +0 -556
- package/.claude/hooks/package.json +0 -16
- package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
- package/.claude/hooks/post-tool-use-tracker.sh +0 -183
- package/.claude/hooks/security-policy-check.sh +0 -247
- package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
- package/.claude/hooks/skill-activation-prompt.sh +0 -10
- package/.claude/hooks/skill-activation-prompt.ts +0 -141
- package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
- package/.claude/hooks/terraform-validator.sh +0 -53
- package/.claude/hooks/test-input.json +0 -7
- package/.claude/hooks/test-skill-activation.ts +0 -427
- package/.claude/hooks/trigger-build-resolver.sh +0 -79
- package/.claude/hooks/tsc-check.sh +0 -173
- package/.claude/hooks/tsconfig.json +0 -19
- package/.claude/settings.json +0 -59
- package/.claude/settings.local.json +0 -67
- package/.claude/skills/README.md +0 -507
- package/.claude/skills/api-engineering/SKILL.md +0 -63
- package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
- package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
- package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
- package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
- package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
- package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
- package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
- package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
- package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
- package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
- package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
- package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
- package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
- package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
- package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
- package/.claude/skills/build-engineering/SKILL.md +0 -431
- package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
- package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
- package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
- package/.claude/skills/build-engineering/resources/build-security.md +0 -95
- package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
- package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
- package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
- package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
- package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
- package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
- package/.claude/skills/cloud-engineering/SKILL.md +0 -675
- package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
- package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
- package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
- package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
- package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
- package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
- package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
- package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
- package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
- package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
- package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
- package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
- package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
- package/.claude/skills/cybersecurity/SKILL.md +0 -409
- package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
- package/.claude/skills/database-engineering/SKILL.md +0 -61
- package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
- package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
- package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
- package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
- package/.claude/skills/devsecops/SKILL.md +0 -374
- package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
- package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
- package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
- package/.claude/skills/devsecops/resources/container-security.md +0 -915
- package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
- package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
- package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
- package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
- package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
- package/.claude/skills/devsecops/resources/security-testing.md +0 -203
- package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
- package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
- package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
- package/.claude/skills/documentation-as-code/SKILL.md +0 -323
- package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
- package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
- package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
- package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
- package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
- package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
- package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
- package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
- package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
- package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
- package/.claude/skills/engineering-management/SKILL.md +0 -356
- package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
- package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
- package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
- package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
- package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
- package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
- package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
- package/.claude/skills/error-tracking/SKILL.md +0 -379
- package/.claude/skills/frontend-design/SKILL.md +0 -42
- package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
- package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
- package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
- package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
- package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
- package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
- package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
- package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
- package/.claude/skills/general-it-engineering/SKILL.md +0 -393
- package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
- package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
- package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
- package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
- package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
- package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
- package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
- package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
- package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
- package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
- package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
- package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
- package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
- package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
- package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
- package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
- package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
- package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
- package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
- package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
- package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
- package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
- package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
- package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
- package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
- package/.claude/skills/network-engineering/SKILL.md +0 -385
- package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
- package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
- package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
- package/.claude/skills/network-engineering/resources/network-security.md +0 -921
- package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
- package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
- package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
- package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
- package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
- package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
- package/.claude/skills/node-development/SKILL.md +0 -317
- package/.claude/skills/observability-engineering/SKILL.md +0 -101
- package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
- package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
- package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
- package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
- package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
- package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
- package/.claude/skills/platform-engineering/SKILL.md +0 -555
- package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
- package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
- package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
- package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
- package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
- package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
- package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
- package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
- package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
- package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
- package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
- package/.claude/skills/release-engineering/SKILL.md +0 -393
- package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
- package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
- package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
- package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
- package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
- package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
- package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
- package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
- package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
- package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
- package/.claude/skills/route-tester/SKILL.md +0 -392
- package/.claude/skills/skill-developer/ADVANCED.md +0 -197
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
- package/.claude/skills/skill-developer/SKILL.md +0 -430
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
- package/.claude/skills/skill-rules.json +0 -2989
- package/.claude/skills/sre/SKILL.md +0 -464
- package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
- package/.claude/skills/sre/resources/capacity-planning.md +0 -226
- package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
- package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
- package/.claude/skills/sre/resources/incident-management.md +0 -436
- package/.claude/skills/sre/resources/observability-stack.md +0 -240
- package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
- package/.claude/skills/sre/resources/performance-optimization.md +0 -108
- package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
- package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
- package/.claude/skills/sre/resources/toil-reduction.md +0 -145
- package/.claude/skills/systems-engineering/SKILL.md +0 -648
- package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
- package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
- package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
- package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
- package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
- package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
- package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
- package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
- package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
- package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
- package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
- package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
- package/.claude/skills/technical-leadership/SKILL.md +0 -728
- package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
- package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
- package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
|
@@ -1,453 +0,0 @@
|
|
|
1
|
-
# Capacity Planning
|
|
2
|
-
|
|
3
|
-
Guide to forecasting resource needs, load testing, and scaling strategies for infrastructure.
|
|
4
|
-
|
|
5
|
-
## Core Concepts
|
|
6
|
-
|
|
7
|
-
### Capacity Planning Process
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
1. Measure Current → 2. Forecast Growth → 3. Calculate Needs → 4. Add Buffer → 5. Monitor & Adjust
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
**Key Questions:**
|
|
14
|
-
- How many users/requests today?
|
|
15
|
-
- What's the growth rate?
|
|
16
|
-
- What resources are needed per user/request?
|
|
17
|
-
- What's our headroom/buffer?
|
|
18
|
-
|
|
19
|
-
## Measurement & Baselining
|
|
20
|
-
|
|
21
|
-
### Current Capacity Metrics
|
|
22
|
-
|
|
23
|
-
```yaml
|
|
24
|
-
# Key metrics to track
|
|
25
|
-
metrics:
|
|
26
|
-
compute:
|
|
27
|
-
- CPU utilization (%)
|
|
28
|
-
- Memory utilization (%)
|
|
29
|
-
- Network throughput (Gbps)
|
|
30
|
-
- Disk IOPS
|
|
31
|
-
|
|
32
|
-
application:
|
|
33
|
-
- Requests per second (RPS)
|
|
34
|
-
- Response time (P50, P95, P99)
|
|
35
|
-
- Error rate (%)
|
|
36
|
-
- Concurrent users
|
|
37
|
-
|
|
38
|
-
database:
|
|
39
|
-
- Queries per second (QPS)
|
|
40
|
-
- Connection pool usage
|
|
41
|
-
- Replication lag
|
|
42
|
-
- Storage growth rate
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Baseline Example
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
Current Production Metrics (30-day average):
|
|
49
|
-
- Traffic: 1,000 RPS
|
|
50
|
-
- Users: 50,000 MAU
|
|
51
|
-
- CPU: 45% average, 75% peak
|
|
52
|
-
- Memory: 60% average, 80% peak
|
|
53
|
-
- Database: 500 QPS, 200ms P95
|
|
54
|
-
- Storage: 500 GB, growing 20 GB/month
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Forecasting Growth
|
|
58
|
-
|
|
59
|
-
### Linear Growth
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
Simple projection based on historical trend
|
|
63
|
-
|
|
64
|
-
Formula: Future = Current × (1 + growth_rate) ^ periods
|
|
65
|
-
|
|
66
|
-
Example:
|
|
67
|
-
Current: 1,000 RPS
|
|
68
|
-
Growth: 10% monthly
|
|
69
|
-
6 months: 1,000 × (1.1)^6 = 1,772 RPS
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Seasonal Patterns
|
|
73
|
-
|
|
74
|
-
```python
|
|
75
|
-
# Account for seasonal traffic
|
|
76
|
-
baseline = 1000 # RPS
|
|
77
|
-
|
|
78
|
-
seasonal_multipliers = {
|
|
79
|
-
'Q1': 0.8, # Post-holiday lull
|
|
80
|
-
'Q2': 1.0, # Normal
|
|
81
|
-
'Q3': 1.1, # Summer uptick
|
|
82
|
-
'Q4': 1.5 # Holiday spike
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
# Plan for Q4 peak
|
|
86
|
-
peak_capacity_needed = baseline * seasonal_multipliers['Q4']
|
|
87
|
-
# = 1,000 × 1.5 = 1,500 RPS minimum
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Event-Driven Spikes
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
Product launch, marketing campaigns, sales events
|
|
94
|
-
|
|
95
|
-
Example: Black Friday planning
|
|
96
|
-
- Normal traffic: 1,000 RPS
|
|
97
|
-
- Expected spike: 10x = 10,000 RPS
|
|
98
|
-
- Duration: 8 hours
|
|
99
|
-
- Buffer: 50% = 15,000 RPS capacity needed
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Resource Calculation
|
|
103
|
-
|
|
104
|
-
### Compute Capacity
|
|
105
|
-
|
|
106
|
-
```python
|
|
107
|
-
# Calculate server requirements
|
|
108
|
-
|
|
109
|
-
# Current state
|
|
110
|
-
current_rps = 1000
|
|
111
|
-
current_servers = 10
|
|
112
|
-
rps_per_server = current_rps / current_servers # 100 RPS/server
|
|
113
|
-
|
|
114
|
-
# Future projection (6 months)
|
|
115
|
-
future_rps = 2000
|
|
116
|
-
headroom = 0.3 # 30% buffer
|
|
117
|
-
|
|
118
|
-
required_capacity = future_rps * (1 + headroom) # 2,600 RPS
|
|
119
|
-
required_servers = math.ceil(required_capacity / rps_per_server)
|
|
120
|
-
# = ceil(2,600 / 100) = 26 servers needed
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### Database Sizing
|
|
124
|
-
|
|
125
|
-
```sql
|
|
126
|
-
-- Calculate database growth
|
|
127
|
-
|
|
128
|
-
-- Current: 500 GB
|
|
129
|
-
-- Growth: 20 GB/month
|
|
130
|
-
-- Timeframe: 12 months
|
|
131
|
-
|
|
132
|
-
Future storage = 500 + (20 × 12) = 740 GB
|
|
133
|
-
|
|
134
|
-
-- Add buffer (50%)
|
|
135
|
-
Recommended size = 740 × 1.5 = 1,110 GB ≈ 1.1 TB
|
|
136
|
-
|
|
137
|
-
-- IOPS calculation
|
|
138
|
-
-- Current: 1,000 IOPS at 500 QPS
|
|
139
|
-
-- Future: 1,000 QPS expected
|
|
140
|
-
|
|
141
|
-
Future IOPS = 1000 × (1000/500) = 2,000 IOPS
|
|
142
|
-
Recommended: 3,000 IOPS (50% buffer)
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Network Bandwidth
|
|
146
|
-
|
|
147
|
-
```
|
|
148
|
-
Calculate bandwidth needs
|
|
149
|
-
|
|
150
|
-
Current:
|
|
151
|
-
- 1,000 RPS
|
|
152
|
-
- 50 KB average response size
|
|
153
|
-
- Bandwidth: 1,000 × 50 KB = 50 MB/s = 400 Mbps
|
|
154
|
-
|
|
155
|
-
Future (2x traffic):
|
|
156
|
-
- 2,000 RPS
|
|
157
|
-
- 50 KB response
|
|
158
|
-
- Bandwidth: 2,000 × 50 KB = 100 MB/s = 800 Mbps
|
|
159
|
-
- With buffer: 1.2 Gbps recommended
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Load Testing
|
|
163
|
-
|
|
164
|
-
### Load Test Types
|
|
165
|
-
|
|
166
|
-
**1. Baseline Test**
|
|
167
|
-
```yaml
|
|
168
|
-
# Confirm current capacity
|
|
169
|
-
duration: 30m
|
|
170
|
-
users: 1000
|
|
171
|
-
rps: 1000
|
|
172
|
-
expected_p95: <200ms
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
**2. Stress Test**
|
|
176
|
-
```yaml
|
|
177
|
-
# Find breaking point
|
|
178
|
-
duration: 1h
|
|
179
|
-
ramp_up: 0 → 5000 users over 30m
|
|
180
|
-
hold: 5000 users for 30m
|
|
181
|
-
goal: Identify failure threshold
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
**3. Spike Test**
|
|
185
|
-
```yaml
|
|
186
|
-
# Sudden traffic surge
|
|
187
|
-
baseline: 1000 users
|
|
188
|
-
spike_to: 5000 users (instant)
|
|
189
|
-
duration: 10m
|
|
190
|
-
recovery: Back to 1000
|
|
191
|
-
goal: Test auto-scaling response
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
**4. Soak Test**
|
|
195
|
-
```yaml
|
|
196
|
-
# Sustained load over time
|
|
197
|
-
users: 2000
|
|
198
|
-
duration: 24h
|
|
199
|
-
goal: Identify memory leaks, resource exhaustion
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### k6 Load Test Example
|
|
203
|
-
|
|
204
|
-
```javascript
|
|
205
|
-
// load-test.js
|
|
206
|
-
import http from 'k6/http';
|
|
207
|
-
import { check, sleep } from 'k6';
|
|
208
|
-
|
|
209
|
-
export const options = {
|
|
210
|
-
stages: [
|
|
211
|
-
{ duration: '5m', target: 1000 }, // Ramp up
|
|
212
|
-
{ duration: '30m', target: 1000 }, // Sustain
|
|
213
|
-
{ duration: '10m', target: 3000 }, // Spike
|
|
214
|
-
{ duration: '5m', target: 0 }, // Ramp down
|
|
215
|
-
],
|
|
216
|
-
thresholds: {
|
|
217
|
-
http_req_duration: ['p(95)<500'], // 95% under 500ms
|
|
218
|
-
http_req_failed: ['rate<0.01'], // <1% errors
|
|
219
|
-
},
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
export default function () {
|
|
223
|
-
const res = http.get('https://api.example.com/users');
|
|
224
|
-
|
|
225
|
-
check(res, {
|
|
226
|
-
'status is 200': (r) => r.status === 200,
|
|
227
|
-
'response time OK': (r) => r.timings.duration < 500,
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
sleep(1);
|
|
231
|
-
}
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
## Scaling Strategies
|
|
235
|
-
|
|
236
|
-
### Horizontal Scaling
|
|
237
|
-
|
|
238
|
-
```yaml
|
|
239
|
-
# Auto-scaling configuration
|
|
240
|
-
apiVersion: autoscaling/v2
|
|
241
|
-
kind: HorizontalPodAutoscaler
|
|
242
|
-
metadata:
|
|
243
|
-
name: api-hpa
|
|
244
|
-
spec:
|
|
245
|
-
scaleTargetRef:
|
|
246
|
-
apiVersion: apps/v1
|
|
247
|
-
kind: Deployment
|
|
248
|
-
name: api
|
|
249
|
-
minReplicas: 10
|
|
250
|
-
maxReplicas: 50
|
|
251
|
-
metrics:
|
|
252
|
-
- type: Resource
|
|
253
|
-
resource:
|
|
254
|
-
name: cpu
|
|
255
|
-
target:
|
|
256
|
-
type: Utilization
|
|
257
|
-
averageUtilization: 70 # Scale at 70% CPU
|
|
258
|
-
- type: Pods
|
|
259
|
-
pods:
|
|
260
|
-
metric:
|
|
261
|
-
name: http_requests_per_second
|
|
262
|
-
target:
|
|
263
|
-
type: AverageValue
|
|
264
|
-
averageValue: "100" # 100 RPS per pod
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
### Vertical Scaling
|
|
268
|
-
|
|
269
|
-
```terraform
|
|
270
|
-
# Database upgrade path
|
|
271
|
-
resource "aws_db_instance" "prod" {
|
|
272
|
-
identifier = "prod-db"
|
|
273
|
-
|
|
274
|
-
# Current: db.r5.xlarge (4 vCPU, 32 GB RAM)
|
|
275
|
-
# Future: db.r5.2xlarge (8 vCPU, 64 GB RAM)
|
|
276
|
-
instance_class = "db.r5.2xlarge"
|
|
277
|
-
|
|
278
|
-
# Upgrade during maintenance window
|
|
279
|
-
apply_immediately = false
|
|
280
|
-
preferred_maintenance_window = "sun:03:00-sun:04:00"
|
|
281
|
-
}
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
### Caching Strategy
|
|
285
|
-
|
|
286
|
-
```typescript
|
|
287
|
-
// Redis caching to reduce database load
|
|
288
|
-
import Redis from 'ioredis';
|
|
289
|
-
|
|
290
|
-
const redis = new Redis(process.env.REDIS_URL);
|
|
291
|
-
|
|
292
|
-
async function getUser(userId: string) {
|
|
293
|
-
// Check cache first
|
|
294
|
-
const cached = await redis.get(`user:${userId}`);
|
|
295
|
-
if (cached) {
|
|
296
|
-
return JSON.parse(cached); // Cache hit - no DB query
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// Cache miss - query database
|
|
300
|
-
const user = await db.users.findUnique({ where: { id: userId } });
|
|
301
|
-
|
|
302
|
-
// Store in cache (1 hour TTL)
|
|
303
|
-
await redis.setex(`user:${userId}`, 3600, JSON.stringify(user));
|
|
304
|
-
|
|
305
|
-
return user;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
// Impact: Reduces database queries by 80-90%
|
|
309
|
-
// Before: 1,000 QPS → After: 100-200 QPS
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
## Capacity Planning Template
|
|
313
|
-
|
|
314
|
-
```markdown
|
|
315
|
-
# Capacity Plan: Q4 2024
|
|
316
|
-
|
|
317
|
-
## Current State (Oct 2024)
|
|
318
|
-
- Traffic: 1,500 RPS average, 3,000 RPS peak
|
|
319
|
-
- Users: 100,000 MAU
|
|
320
|
-
- Compute: 20 servers (m5.xlarge)
|
|
321
|
-
- Database: db.r5.2xlarge, 1 TB storage
|
|
322
|
-
- Cost: $15,000/month
|
|
323
|
-
|
|
324
|
-
## Growth Forecast
|
|
325
|
-
- Expected growth: 50% over Q4 (Black Friday)
|
|
326
|
-
- Peak traffic: 6,000 RPS (2x current peak)
|
|
327
|
-
- New users: +25,000 (125,000 total MAU)
|
|
328
|
-
|
|
329
|
-
## Resource Requirements
|
|
330
|
-
|
|
331
|
-
### Compute
|
|
332
|
-
Current capacity: 20 × 150 RPS = 3,000 RPS
|
|
333
|
-
Required capacity: 6,000 RPS + 30% buffer = 7,800 RPS
|
|
334
|
-
Servers needed: ceil(7,800 / 150) = 52 servers
|
|
335
|
-
|
|
336
|
-
Action: Update auto-scaling max to 52 (from 30)
|
|
337
|
-
|
|
338
|
-
### Database
|
|
339
|
-
Current QPS: 800 avg, 1,500 peak
|
|
340
|
-
Expected QPS: 1,200 avg, 3,000 peak
|
|
341
|
-
|
|
342
|
-
Action: Upgrade to db.r5.4xlarge
|
|
343
|
-
Cost increase: +$1,200/month
|
|
344
|
-
|
|
345
|
-
### Storage
|
|
346
|
-
Current: 1 TB, growing 50 GB/month
|
|
347
|
-
6-month projection: 1 TB + (50 GB × 6) = 1.3 TB
|
|
348
|
-
With buffer: 2 TB recommended
|
|
349
|
-
|
|
350
|
-
Action: Increase provisioned storage to 2 TB
|
|
351
|
-
|
|
352
|
-
## Implementation Timeline
|
|
353
|
-
- Week 1 (Nov 1): Load testing (validate 6,000 RPS)
|
|
354
|
-
- Week 2 (Nov 8): Database upgrade
|
|
355
|
-
- Week 3 (Nov 15): Update auto-scaling config
|
|
356
|
-
- Week 4 (Nov 22): Final validation before Black Friday
|
|
357
|
-
|
|
358
|
-
## Cost Impact
|
|
359
|
-
Current: $15,000/month
|
|
360
|
-
Peak capacity (Q4): $28,000/month
|
|
361
|
-
Post-Q4 (scale down): $18,000/month
|
|
362
|
-
|
|
363
|
-
## Risks
|
|
364
|
-
- Database upgrade may cause brief downtime (plan for 5-10 min)
|
|
365
|
-
- Auto-scaling reaction time (~2 minutes) may not handle instant spikes
|
|
366
|
-
- Cold start latency if scaling from min to max
|
|
367
|
-
|
|
368
|
-
## Success Metrics
|
|
369
|
-
- P95 latency < 300ms during peak
|
|
370
|
-
- Error rate < 0.5%
|
|
371
|
-
- Zero downtime events
|
|
372
|
-
- Database CPU < 80%
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
## Headroom & Buffer
|
|
376
|
-
|
|
377
|
-
### Why Headroom Matters
|
|
378
|
-
|
|
379
|
-
```
|
|
380
|
-
No buffer:
|
|
381
|
-
100% capacity → Any spike → Overload → Outage
|
|
382
|
-
|
|
383
|
-
With 30% buffer:
|
|
384
|
-
70% normal usage → 100% capacity available for spikes
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
**Recommended Buffers:**
|
|
388
|
-
- CPU/Memory: 30% (run at 70% normally)
|
|
389
|
-
- Database: 50% (connections, IOPS)
|
|
390
|
-
- Network: 40% (burst capacity)
|
|
391
|
-
- Storage: 50-100% (growth runway)
|
|
392
|
-
|
|
393
|
-
## Cost Optimization
|
|
394
|
-
|
|
395
|
-
### Right-Sizing
|
|
396
|
-
|
|
397
|
-
```python
|
|
398
|
-
# Analyze current utilization
|
|
399
|
-
servers = [
|
|
400
|
-
{'name': 'api-1', 'cpu': 25%, 'memory': 40%},
|
|
401
|
-
{'name': 'api-2', 'cpu': 22%, 'memory': 38%},
|
|
402
|
-
# ... 18 more servers averaging 25% CPU
|
|
403
|
-
]
|
|
404
|
-
|
|
405
|
-
# Under-utilized! Can reduce from m5.xlarge → m5.large
|
|
406
|
-
# Savings: ~40% per server
|
|
407
|
-
# Risk: Less headroom for spikes
|
|
408
|
-
# Recommendation: Test with load testing first
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
### Reserved Instances
|
|
412
|
-
|
|
413
|
-
```
|
|
414
|
-
# Baseline capacity (always running)
|
|
415
|
-
10 servers × m5.xlarge
|
|
416
|
-
- On-Demand: $1,400/month
|
|
417
|
-
- Reserved (1-year): $900/month (36% savings)
|
|
418
|
-
- Reserved (3-year): $600/month (57% savings)
|
|
419
|
-
|
|
420
|
-
# Burst capacity (auto-scaling)
|
|
421
|
-
0-40 servers × m5.xlarge
|
|
422
|
-
- Use On-Demand or Spot (60-80% discount)
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
## Monitoring & Alerts
|
|
426
|
-
|
|
427
|
-
```yaml
|
|
428
|
-
# Capacity monitoring alerts
|
|
429
|
-
alerts:
|
|
430
|
-
- name: High CPU Utilization
|
|
431
|
-
condition: cpu > 80%
|
|
432
|
-
duration: 5m
|
|
433
|
-
action: Page oncall + trigger auto-scale
|
|
434
|
-
|
|
435
|
-
- name: Database Connection Pool Exhaustion
|
|
436
|
-
condition: connections > 90%
|
|
437
|
-
action: Alert team + consider vertical scaling
|
|
438
|
-
|
|
439
|
-
- name: Storage Growth
|
|
440
|
-
condition: storage > 80% capacity
|
|
441
|
-
action: Ticket to provision more storage
|
|
442
|
-
|
|
443
|
-
- name: Approaching Auto-Scale Limit
|
|
444
|
-
condition: current_replicas > 0.9 × max_replicas
|
|
445
|
-
action: Review if max needs increase
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
---
|
|
449
|
-
|
|
450
|
-
**Related Resources:**
|
|
451
|
-
- multi-region-design.md - Scaling across regions
|
|
452
|
-
- disaster-recovery.md - Capacity for DR scenarios
|
|
453
|
-
- cost-architecture.md - Cost-effective capacity planning
|