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,451 +0,0 @@
|
|
|
1
|
-
# Architecture Overview - Backend Services
|
|
2
|
-
|
|
3
|
-
Complete guide to the layered architecture pattern used in backend microservices.
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Layered Architecture Pattern](#layered-architecture-pattern)
|
|
8
|
-
- [Request Lifecycle](#request-lifecycle)
|
|
9
|
-
- [Service Comparison](#service-comparison)
|
|
10
|
-
- [Directory Structure Rationale](#directory-structure-rationale)
|
|
11
|
-
- [Module Organization](#module-organization)
|
|
12
|
-
- [Separation of Concerns](#separation-of-concerns)
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Layered Architecture Pattern
|
|
17
|
-
|
|
18
|
-
### The Four Layers
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
┌─────────────────────────────────────┐
|
|
22
|
-
│ HTTP Request │
|
|
23
|
-
└───────────────┬─────────────────────┘
|
|
24
|
-
↓
|
|
25
|
-
┌─────────────────────────────────────┐
|
|
26
|
-
│ Layer 1: ROUTES │
|
|
27
|
-
│ - Route definitions only │
|
|
28
|
-
│ - Middleware registration │
|
|
29
|
-
│ - Delegate to controllers │
|
|
30
|
-
│ - NO business logic │
|
|
31
|
-
└───────────────┬─────────────────────┘
|
|
32
|
-
↓
|
|
33
|
-
┌─────────────────────────────────────┐
|
|
34
|
-
│ Layer 2: CONTROLLERS │
|
|
35
|
-
│ - Request/response handling │
|
|
36
|
-
│ - Input validation │
|
|
37
|
-
│ - Call services │
|
|
38
|
-
│ - Format responses │
|
|
39
|
-
│ - Error handling │
|
|
40
|
-
└───────────────┬─────────────────────┘
|
|
41
|
-
↓
|
|
42
|
-
┌─────────────────────────────────────┐
|
|
43
|
-
│ Layer 3: SERVICES │
|
|
44
|
-
│ - Business logic │
|
|
45
|
-
│ - Orchestration │
|
|
46
|
-
│ - Call repositories │
|
|
47
|
-
│ - No HTTP knowledge │
|
|
48
|
-
└───────────────┬─────────────────────┘
|
|
49
|
-
↓
|
|
50
|
-
┌─────────────────────────────────────┐
|
|
51
|
-
│ Layer 4: REPOSITORIES │
|
|
52
|
-
│ - Data access abstraction │
|
|
53
|
-
│ - Prisma operations │
|
|
54
|
-
│ - Query optimization │
|
|
55
|
-
│ - Caching │
|
|
56
|
-
└───────────────┬─────────────────────┘
|
|
57
|
-
↓
|
|
58
|
-
┌─────────────────────────────────────┐
|
|
59
|
-
│ Database (MySQL) │
|
|
60
|
-
└─────────────────────────────────────┘
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Why This Architecture?
|
|
64
|
-
|
|
65
|
-
**Testability:**
|
|
66
|
-
- Each layer can be tested independently
|
|
67
|
-
- Easy to mock dependencies
|
|
68
|
-
- Clear test boundaries
|
|
69
|
-
|
|
70
|
-
**Maintainability:**
|
|
71
|
-
- Changes isolated to specific layers
|
|
72
|
-
- Business logic separate from HTTP concerns
|
|
73
|
-
- Easy to locate bugs
|
|
74
|
-
|
|
75
|
-
**Reusability:**
|
|
76
|
-
- Services can be used by routes, cron jobs, scripts
|
|
77
|
-
- Repositories hide database implementation
|
|
78
|
-
- Business logic not tied to HTTP
|
|
79
|
-
|
|
80
|
-
**Scalability:**
|
|
81
|
-
- Easy to add new endpoints
|
|
82
|
-
- Clear patterns to follow
|
|
83
|
-
- Consistent structure
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Request Lifecycle
|
|
88
|
-
|
|
89
|
-
### Complete Flow Example
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
1. HTTP POST /api/users
|
|
93
|
-
↓
|
|
94
|
-
2. Express matches route in userRoutes.ts
|
|
95
|
-
↓
|
|
96
|
-
3. Middleware chain executes:
|
|
97
|
-
- SSOMiddleware.verifyLoginStatus (authentication)
|
|
98
|
-
- auditMiddleware (context tracking)
|
|
99
|
-
↓
|
|
100
|
-
4. Route handler delegates to controller:
|
|
101
|
-
router.post('/users', (req, res) => userController.create(req, res))
|
|
102
|
-
↓
|
|
103
|
-
5. Controller validates and calls service:
|
|
104
|
-
- Validate input with Zod
|
|
105
|
-
- Call userService.create(data)
|
|
106
|
-
- Handle success/error
|
|
107
|
-
↓
|
|
108
|
-
6. Service executes business logic:
|
|
109
|
-
- Check business rules
|
|
110
|
-
- Call userRepository.create(data)
|
|
111
|
-
- Return result
|
|
112
|
-
↓
|
|
113
|
-
7. Repository performs database operation:
|
|
114
|
-
- PrismaService.main.user.create({ data })
|
|
115
|
-
- Handle database errors
|
|
116
|
-
- Return created user
|
|
117
|
-
↓
|
|
118
|
-
8. Response flows back:
|
|
119
|
-
Repository → Service → Controller → Express → Client
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Middleware Execution Order
|
|
123
|
-
|
|
124
|
-
**Critical:** Middleware executes in registration order
|
|
125
|
-
|
|
126
|
-
```typescript
|
|
127
|
-
app.use(Sentry.Handlers.requestHandler()); // 1. Sentry tracing (FIRST)
|
|
128
|
-
app.use(express.json()); // 2. Body parsing
|
|
129
|
-
app.use(express.urlencoded({ extended: true })); // 3. URL encoding
|
|
130
|
-
app.use(cookieParser()); // 4. Cookie parsing
|
|
131
|
-
app.use(SSOMiddleware.initialize()); // 5. Auth initialization
|
|
132
|
-
// ... routes registered here
|
|
133
|
-
app.use(auditMiddleware); // 6. Audit (if global)
|
|
134
|
-
app.use(errorBoundary); // 7. Error handler (LAST)
|
|
135
|
-
app.use(Sentry.Handlers.errorHandler()); // 8. Sentry errors (LAST)
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
**Rule:** Error handlers must be registered AFTER routes!
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Service Comparison
|
|
143
|
-
|
|
144
|
-
### Email Service (Mature Pattern ✅)
|
|
145
|
-
|
|
146
|
-
**Strengths:**
|
|
147
|
-
- Comprehensive BaseController with Sentry integration
|
|
148
|
-
- Clean route delegation (no business logic in routes)
|
|
149
|
-
- Consistent dependency injection pattern
|
|
150
|
-
- Good middleware organization
|
|
151
|
-
- Type-safe throughout
|
|
152
|
-
- Excellent error handling
|
|
153
|
-
|
|
154
|
-
**Example Structure:**
|
|
155
|
-
```
|
|
156
|
-
email/src/
|
|
157
|
-
├── controllers/
|
|
158
|
-
│ ├── BaseController.ts ✅ Excellent template
|
|
159
|
-
│ ├── NotificationController.ts ✅ Extends BaseController
|
|
160
|
-
│ └── EmailController.ts ✅ Clean patterns
|
|
161
|
-
├── routes/
|
|
162
|
-
│ ├── notificationRoutes.ts ✅ Clean delegation
|
|
163
|
-
│ └── emailRoutes.ts ✅ No business logic
|
|
164
|
-
├── services/
|
|
165
|
-
│ ├── NotificationService.ts ✅ Dependency injection
|
|
166
|
-
│ └── BatchingService.ts ✅ Clear responsibility
|
|
167
|
-
└── middleware/
|
|
168
|
-
├── errorBoundary.ts ✅ Comprehensive
|
|
169
|
-
└── DevImpersonationSSOMiddleware.ts
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
**Use as template** for new services!
|
|
173
|
-
|
|
174
|
-
### Form Service (Transitioning ⚠️)
|
|
175
|
-
|
|
176
|
-
**Strengths:**
|
|
177
|
-
- Excellent workflow architecture (event sourcing)
|
|
178
|
-
- Good Sentry integration
|
|
179
|
-
- Innovative audit middleware (AsyncLocalStorage)
|
|
180
|
-
- Comprehensive permission system
|
|
181
|
-
|
|
182
|
-
**Weaknesses:**
|
|
183
|
-
- Some routes have 200+ lines of business logic
|
|
184
|
-
- Inconsistent controller naming
|
|
185
|
-
- Direct process.env usage (60+ occurrences)
|
|
186
|
-
- Minimal repository pattern usage
|
|
187
|
-
|
|
188
|
-
**Example:**
|
|
189
|
-
```
|
|
190
|
-
form/src/
|
|
191
|
-
├── routes/
|
|
192
|
-
│ ├── responseRoutes.ts ❌ Business logic in routes
|
|
193
|
-
│ └── proxyRoutes.ts ✅ Good validation pattern
|
|
194
|
-
├── controllers/
|
|
195
|
-
│ ├── formController.ts ⚠️ Lowercase naming
|
|
196
|
-
│ └── UserProfileController.ts ✅ PascalCase naming
|
|
197
|
-
├── workflow/ ✅ Excellent architecture!
|
|
198
|
-
│ ├── core/
|
|
199
|
-
│ │ ├── WorkflowEngineV3.ts ✅ Event sourcing
|
|
200
|
-
│ │ └── DryRunWrapper.ts ✅ Innovative
|
|
201
|
-
│ └── services/
|
|
202
|
-
└── middleware/
|
|
203
|
-
└── auditMiddleware.ts ✅ AsyncLocalStorage pattern
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
**Learn from:** workflow/, middleware/auditMiddleware.ts
|
|
207
|
-
**Avoid:** responseRoutes.ts, direct process.env
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## Directory Structure Rationale
|
|
212
|
-
|
|
213
|
-
### Controllers Directory
|
|
214
|
-
|
|
215
|
-
**Purpose:** Handle HTTP request/response concerns
|
|
216
|
-
|
|
217
|
-
**Contents:**
|
|
218
|
-
- `BaseController.ts` - Base class with common methods
|
|
219
|
-
- `{Feature}Controller.ts` - Feature-specific controllers
|
|
220
|
-
|
|
221
|
-
**Naming:** PascalCase + Controller
|
|
222
|
-
|
|
223
|
-
**Responsibilities:**
|
|
224
|
-
- Parse request parameters
|
|
225
|
-
- Validate input (Zod)
|
|
226
|
-
- Call appropriate service methods
|
|
227
|
-
- Format responses
|
|
228
|
-
- Handle errors (via BaseController)
|
|
229
|
-
- Set HTTP status codes
|
|
230
|
-
|
|
231
|
-
### Services Directory
|
|
232
|
-
|
|
233
|
-
**Purpose:** Business logic and orchestration
|
|
234
|
-
|
|
235
|
-
**Contents:**
|
|
236
|
-
- `{feature}Service.ts` - Feature business logic
|
|
237
|
-
|
|
238
|
-
**Naming:** camelCase + Service (or PascalCase + Service)
|
|
239
|
-
|
|
240
|
-
**Responsibilities:**
|
|
241
|
-
- Implement business rules
|
|
242
|
-
- Orchestrate multiple repositories
|
|
243
|
-
- Transaction management
|
|
244
|
-
- Business validations
|
|
245
|
-
- No HTTP knowledge (Request/Response types)
|
|
246
|
-
|
|
247
|
-
### Repositories Directory
|
|
248
|
-
|
|
249
|
-
**Purpose:** Data access abstraction
|
|
250
|
-
|
|
251
|
-
**Contents:**
|
|
252
|
-
- `{Entity}Repository.ts` - Database operations for entity
|
|
253
|
-
|
|
254
|
-
**Naming:** PascalCase + Repository
|
|
255
|
-
|
|
256
|
-
**Responsibilities:**
|
|
257
|
-
- Prisma query operations
|
|
258
|
-
- Query optimization
|
|
259
|
-
- Database error handling
|
|
260
|
-
- Caching layer
|
|
261
|
-
- Hide Prisma implementation details
|
|
262
|
-
|
|
263
|
-
**Current Gap:** Only 1 repository exists (WorkflowRepository)
|
|
264
|
-
|
|
265
|
-
### Routes Directory
|
|
266
|
-
|
|
267
|
-
**Purpose:** Route registration ONLY
|
|
268
|
-
|
|
269
|
-
**Contents:**
|
|
270
|
-
- `{feature}Routes.ts` - Express router for feature
|
|
271
|
-
|
|
272
|
-
**Naming:** camelCase + Routes
|
|
273
|
-
|
|
274
|
-
**Responsibilities:**
|
|
275
|
-
- Register routes with Express
|
|
276
|
-
- Apply middleware
|
|
277
|
-
- Delegate to controllers
|
|
278
|
-
- **NO business logic!**
|
|
279
|
-
|
|
280
|
-
### Middleware Directory
|
|
281
|
-
|
|
282
|
-
**Purpose:** Cross-cutting concerns
|
|
283
|
-
|
|
284
|
-
**Contents:**
|
|
285
|
-
- Authentication middleware
|
|
286
|
-
- Audit middleware
|
|
287
|
-
- Error boundaries
|
|
288
|
-
- Validation middleware
|
|
289
|
-
- Custom middleware
|
|
290
|
-
|
|
291
|
-
**Naming:** camelCase
|
|
292
|
-
|
|
293
|
-
**Types:**
|
|
294
|
-
- Request processing (before handler)
|
|
295
|
-
- Response processing (after handler)
|
|
296
|
-
- Error handling (error boundary)
|
|
297
|
-
|
|
298
|
-
### Config Directory
|
|
299
|
-
|
|
300
|
-
**Purpose:** Configuration management
|
|
301
|
-
|
|
302
|
-
**Contents:**
|
|
303
|
-
- `unifiedConfig.ts` - Type-safe configuration
|
|
304
|
-
- Environment-specific configs
|
|
305
|
-
|
|
306
|
-
**Pattern:** Single source of truth
|
|
307
|
-
|
|
308
|
-
### Types Directory
|
|
309
|
-
|
|
310
|
-
**Purpose:** TypeScript type definitions
|
|
311
|
-
|
|
312
|
-
**Contents:**
|
|
313
|
-
- `{feature}.types.ts` - Feature-specific types
|
|
314
|
-
- DTOs (Data Transfer Objects)
|
|
315
|
-
- Request/Response types
|
|
316
|
-
- Domain models
|
|
317
|
-
|
|
318
|
-
---
|
|
319
|
-
|
|
320
|
-
## Module Organization
|
|
321
|
-
|
|
322
|
-
### Feature-Based Organization
|
|
323
|
-
|
|
324
|
-
For large features, use subdirectories:
|
|
325
|
-
|
|
326
|
-
```
|
|
327
|
-
src/workflow/
|
|
328
|
-
├── core/ # Core engine
|
|
329
|
-
├── services/ # Workflow-specific services
|
|
330
|
-
├── actions/ # System actions
|
|
331
|
-
├── models/ # Domain models
|
|
332
|
-
├── validators/ # Workflow validation
|
|
333
|
-
└── utils/ # Workflow utilities
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
**When to use:**
|
|
337
|
-
- Feature has 5+ files
|
|
338
|
-
- Clear sub-domains exist
|
|
339
|
-
- Logical grouping improves clarity
|
|
340
|
-
|
|
341
|
-
### Flat Organization
|
|
342
|
-
|
|
343
|
-
For simple features:
|
|
344
|
-
|
|
345
|
-
```
|
|
346
|
-
src/
|
|
347
|
-
├── controllers/UserController.ts
|
|
348
|
-
├── services/userService.ts
|
|
349
|
-
├── routes/userRoutes.ts
|
|
350
|
-
└── repositories/UserRepository.ts
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
**When to use:**
|
|
354
|
-
- Simple features (< 5 files)
|
|
355
|
-
- No clear sub-domains
|
|
356
|
-
- Flat structure is clearer
|
|
357
|
-
|
|
358
|
-
---
|
|
359
|
-
|
|
360
|
-
## Separation of Concerns
|
|
361
|
-
|
|
362
|
-
### What Goes Where
|
|
363
|
-
|
|
364
|
-
**Routes Layer:**
|
|
365
|
-
- ✅ Route definitions
|
|
366
|
-
- ✅ Middleware registration
|
|
367
|
-
- ✅ Controller delegation
|
|
368
|
-
- ❌ Business logic
|
|
369
|
-
- ❌ Database operations
|
|
370
|
-
- ❌ Validation logic (should be in validator or controller)
|
|
371
|
-
|
|
372
|
-
**Controllers Layer:**
|
|
373
|
-
- ✅ Request parsing (params, body, query)
|
|
374
|
-
- ✅ Input validation (Zod)
|
|
375
|
-
- ✅ Service calls
|
|
376
|
-
- ✅ Response formatting
|
|
377
|
-
- ✅ Error handling
|
|
378
|
-
- ❌ Business logic
|
|
379
|
-
- ❌ Database operations
|
|
380
|
-
|
|
381
|
-
**Services Layer:**
|
|
382
|
-
- ✅ Business logic
|
|
383
|
-
- ✅ Business rules enforcement
|
|
384
|
-
- ✅ Orchestration (multiple repos)
|
|
385
|
-
- ✅ Transaction management
|
|
386
|
-
- ❌ HTTP concerns (Request/Response)
|
|
387
|
-
- ❌ Direct Prisma calls (use repositories)
|
|
388
|
-
|
|
389
|
-
**Repositories Layer:**
|
|
390
|
-
- ✅ Prisma operations
|
|
391
|
-
- ✅ Query construction
|
|
392
|
-
- ✅ Database error handling
|
|
393
|
-
- ✅ Caching
|
|
394
|
-
- ❌ Business logic
|
|
395
|
-
- ❌ HTTP concerns
|
|
396
|
-
|
|
397
|
-
### Example: User Creation
|
|
398
|
-
|
|
399
|
-
**Route:**
|
|
400
|
-
```typescript
|
|
401
|
-
router.post('/users',
|
|
402
|
-
SSOMiddleware.verifyLoginStatus,
|
|
403
|
-
auditMiddleware,
|
|
404
|
-
(req, res) => userController.create(req, res)
|
|
405
|
-
);
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
**Controller:**
|
|
409
|
-
```typescript
|
|
410
|
-
async create(req: Request, res: Response): Promise<void> {
|
|
411
|
-
try {
|
|
412
|
-
const validated = createUserSchema.parse(req.body);
|
|
413
|
-
const user = await this.userService.create(validated);
|
|
414
|
-
this.handleSuccess(res, user, 'User created');
|
|
415
|
-
} catch (error) {
|
|
416
|
-
this.handleError(error, res, 'create');
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
**Service:**
|
|
422
|
-
```typescript
|
|
423
|
-
async create(data: CreateUserDTO): Promise<User> {
|
|
424
|
-
// Business rule: check if email already exists
|
|
425
|
-
const existing = await this.userRepository.findByEmail(data.email);
|
|
426
|
-
if (existing) throw new ConflictError('Email already exists');
|
|
427
|
-
|
|
428
|
-
// Create user
|
|
429
|
-
return await this.userRepository.create(data);
|
|
430
|
-
}
|
|
431
|
-
```
|
|
432
|
-
|
|
433
|
-
**Repository:**
|
|
434
|
-
```typescript
|
|
435
|
-
async create(data: CreateUserDTO): Promise<User> {
|
|
436
|
-
return PrismaService.main.user.create({ data });
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
async findByEmail(email: string): Promise<User | null> {
|
|
440
|
-
return PrismaService.main.user.findUnique({ where: { email } });
|
|
441
|
-
}
|
|
442
|
-
```
|
|
443
|
-
|
|
444
|
-
**Notice:** Each layer has clear, distinct responsibilities!
|
|
445
|
-
|
|
446
|
-
---
|
|
447
|
-
|
|
448
|
-
**Related Files:**
|
|
449
|
-
- [SKILL.md](SKILL.md) - Main guide
|
|
450
|
-
- [routing-and-controllers.md](routing-and-controllers.md) - Routes and controllers details
|
|
451
|
-
- [services-and-repositories.md](services-and-repositories.md) - Service and repository patterns
|