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,379 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: error-tracking
|
|
3
|
-
description: Add Sentry v8 error tracking and performance monitoring to your project services. Use this skill when adding error handling, creating new controllers, instrumenting cron jobs, or tracking database performance. ALL ERRORS MUST BE CAPTURED TO SENTRY - no exceptions.
|
|
4
|
-
---
|
|
5
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
6
|
-
🎯 SKILL ACTIVATED: error-tracking
|
|
7
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# your project Sentry Integration Skill
|
|
11
|
-
|
|
12
|
-
## Purpose
|
|
13
|
-
This skill enforces comprehensive Sentry error tracking and performance monitoring across all your project services following Sentry v8 patterns.
|
|
14
|
-
|
|
15
|
-
## When to Use This Skill
|
|
16
|
-
- Adding error handling to any code
|
|
17
|
-
- Creating new controllers or routes
|
|
18
|
-
- Instrumenting cron jobs
|
|
19
|
-
- Tracking database performance
|
|
20
|
-
- Adding performance spans
|
|
21
|
-
- Handling workflow errors
|
|
22
|
-
|
|
23
|
-
## 🚨 CRITICAL RULE
|
|
24
|
-
|
|
25
|
-
**ALL ERRORS MUST BE CAPTURED TO SENTRY** - No exceptions. Never use console.error alone.
|
|
26
|
-
|
|
27
|
-
## Current Status
|
|
28
|
-
|
|
29
|
-
### Form Service ✅ Complete
|
|
30
|
-
- Sentry v8 fully integrated
|
|
31
|
-
- All workflow errors tracked
|
|
32
|
-
- SystemActionQueueProcessor instrumented
|
|
33
|
-
- Test endpoints available
|
|
34
|
-
|
|
35
|
-
### Email Service 🟡 In Progress
|
|
36
|
-
- Phase 1-2 complete (6/22 tasks)
|
|
37
|
-
- 189 ErrorLogger.log() calls remaining
|
|
38
|
-
|
|
39
|
-
## Sentry Integration Patterns
|
|
40
|
-
|
|
41
|
-
### 1. Controller Error Handling
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
// ✅ CORRECT - Use BaseController
|
|
45
|
-
import { BaseController } from '../controllers/BaseController';
|
|
46
|
-
|
|
47
|
-
export class MyController extends BaseController {
|
|
48
|
-
async myMethod() {
|
|
49
|
-
try {
|
|
50
|
-
// ... your code
|
|
51
|
-
} catch (error) {
|
|
52
|
-
this.handleError(error, 'myMethod'); // Automatically sends to Sentry
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### 2. Route Error Handling (Without BaseController)
|
|
59
|
-
|
|
60
|
-
```typescript
|
|
61
|
-
import * as Sentry from '@sentry/node';
|
|
62
|
-
|
|
63
|
-
router.get('/route', async (req, res) => {
|
|
64
|
-
try {
|
|
65
|
-
// ... your code
|
|
66
|
-
} catch (error) {
|
|
67
|
-
Sentry.captureException(error, {
|
|
68
|
-
tags: { route: '/route', method: 'GET' },
|
|
69
|
-
extra: { userId: req.user?.id }
|
|
70
|
-
});
|
|
71
|
-
res.status(500).json({ error: 'Internal server error' });
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### 3. Workflow Error Handling
|
|
77
|
-
|
|
78
|
-
```typescript
|
|
79
|
-
import { WorkflowSentryHelper } from '../workflow/utils/sentryHelper';
|
|
80
|
-
|
|
81
|
-
// ✅ CORRECT - Use WorkflowSentryHelper
|
|
82
|
-
WorkflowSentryHelper.captureWorkflowError(error, {
|
|
83
|
-
workflowCode: 'DHS_CLOSEOUT',
|
|
84
|
-
instanceId: 123,
|
|
85
|
-
stepId: 456,
|
|
86
|
-
userId: 'user-123',
|
|
87
|
-
operation: 'stepCompletion',
|
|
88
|
-
metadata: { additionalInfo: 'value' }
|
|
89
|
-
});
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 4. Cron Jobs (MANDATORY Pattern)
|
|
93
|
-
|
|
94
|
-
```typescript
|
|
95
|
-
#!/usr/bin/env node
|
|
96
|
-
// FIRST LINE after shebang - CRITICAL!
|
|
97
|
-
import '../instrument';
|
|
98
|
-
import * as Sentry from '@sentry/node';
|
|
99
|
-
|
|
100
|
-
async function main() {
|
|
101
|
-
return await Sentry.startSpan({
|
|
102
|
-
name: 'cron.job-name',
|
|
103
|
-
op: 'cron',
|
|
104
|
-
attributes: {
|
|
105
|
-
'cron.job': 'job-name',
|
|
106
|
-
'cron.startTime': new Date().toISOString(),
|
|
107
|
-
}
|
|
108
|
-
}, async () => {
|
|
109
|
-
try {
|
|
110
|
-
// Your cron job logic
|
|
111
|
-
} catch (error) {
|
|
112
|
-
Sentry.captureException(error, {
|
|
113
|
-
tags: {
|
|
114
|
-
'cron.job': 'job-name',
|
|
115
|
-
'error.type': 'execution_error'
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
console.error('[Job] Error:', error);
|
|
119
|
-
process.exit(1);
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
main()
|
|
125
|
-
.then(() => {
|
|
126
|
-
console.log('[Job] Completed successfully');
|
|
127
|
-
process.exit(0);
|
|
128
|
-
})
|
|
129
|
-
.catch((error) => {
|
|
130
|
-
console.error('[Job] Fatal error:', error);
|
|
131
|
-
process.exit(1);
|
|
132
|
-
});
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### 5. Database Performance Monitoring
|
|
136
|
-
|
|
137
|
-
```typescript
|
|
138
|
-
import { DatabasePerformanceMonitor } from '../utils/databasePerformance';
|
|
139
|
-
|
|
140
|
-
// ✅ CORRECT - Wrap database operations
|
|
141
|
-
const result = await DatabasePerformanceMonitor.withPerformanceTracking(
|
|
142
|
-
'findMany',
|
|
143
|
-
'UserProfile',
|
|
144
|
-
async () => {
|
|
145
|
-
return await PrismaService.main.userProfile.findMany({
|
|
146
|
-
take: 5,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
);
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### 6. Async Operations with Spans
|
|
153
|
-
|
|
154
|
-
```typescript
|
|
155
|
-
import * as Sentry from '@sentry/node';
|
|
156
|
-
|
|
157
|
-
const result = await Sentry.startSpan({
|
|
158
|
-
name: 'operation.name',
|
|
159
|
-
op: 'operation.type',
|
|
160
|
-
attributes: {
|
|
161
|
-
'custom.attribute': 'value'
|
|
162
|
-
}
|
|
163
|
-
}, async () => {
|
|
164
|
-
// Your async operation
|
|
165
|
-
return await someAsyncOperation();
|
|
166
|
-
});
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
## Error Levels
|
|
170
|
-
|
|
171
|
-
Use appropriate severity levels:
|
|
172
|
-
|
|
173
|
-
- **fatal**: System is unusable (database down, critical service failure)
|
|
174
|
-
- **error**: Operation failed, needs immediate attention
|
|
175
|
-
- **warning**: Recoverable issues, degraded performance
|
|
176
|
-
- **info**: Informational messages, successful operations
|
|
177
|
-
- **debug**: Detailed debugging information (dev only)
|
|
178
|
-
|
|
179
|
-
## Required Context
|
|
180
|
-
|
|
181
|
-
```typescript
|
|
182
|
-
import * as Sentry from '@sentry/node';
|
|
183
|
-
|
|
184
|
-
Sentry.withScope((scope) => {
|
|
185
|
-
// ALWAYS include these if available
|
|
186
|
-
scope.setUser({ id: userId });
|
|
187
|
-
scope.setTag('service', 'form'); // or 'email', 'users', etc.
|
|
188
|
-
scope.setTag('environment', process.env.NODE_ENV);
|
|
189
|
-
|
|
190
|
-
// Add operation-specific context
|
|
191
|
-
scope.setContext('operation', {
|
|
192
|
-
type: 'workflow.start',
|
|
193
|
-
workflowCode: 'DHS_CLOSEOUT',
|
|
194
|
-
entityId: 123
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
Sentry.captureException(error);
|
|
198
|
-
});
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
## Service-Specific Integration
|
|
202
|
-
|
|
203
|
-
### Form Service
|
|
204
|
-
|
|
205
|
-
**Location**: `./blog-api/src/instrument.ts`
|
|
206
|
-
|
|
207
|
-
```typescript
|
|
208
|
-
import * as Sentry from '@sentry/node';
|
|
209
|
-
import { nodeProfilingIntegration } from '@sentry/profiling-node';
|
|
210
|
-
|
|
211
|
-
Sentry.init({
|
|
212
|
-
dsn: process.env.SENTRY_DSN,
|
|
213
|
-
environment: process.env.NODE_ENV || 'development',
|
|
214
|
-
integrations: [
|
|
215
|
-
nodeProfilingIntegration(),
|
|
216
|
-
],
|
|
217
|
-
tracesSampleRate: 0.1,
|
|
218
|
-
profilesSampleRate: 0.1,
|
|
219
|
-
});
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
**Key Helpers**:
|
|
223
|
-
- `WorkflowSentryHelper` - Workflow-specific errors
|
|
224
|
-
- `DatabasePerformanceMonitor` - DB query tracking
|
|
225
|
-
- `BaseController` - Controller error handling
|
|
226
|
-
|
|
227
|
-
### Email Service
|
|
228
|
-
|
|
229
|
-
**Location**: `./notifications/src/instrument.ts`
|
|
230
|
-
|
|
231
|
-
```typescript
|
|
232
|
-
import * as Sentry from '@sentry/node';
|
|
233
|
-
import { nodeProfilingIntegration } from '@sentry/profiling-node';
|
|
234
|
-
|
|
235
|
-
Sentry.init({
|
|
236
|
-
dsn: process.env.SENTRY_DSN,
|
|
237
|
-
environment: process.env.NODE_ENV || 'development',
|
|
238
|
-
integrations: [
|
|
239
|
-
nodeProfilingIntegration(),
|
|
240
|
-
],
|
|
241
|
-
tracesSampleRate: 0.1,
|
|
242
|
-
profilesSampleRate: 0.1,
|
|
243
|
-
});
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**Key Helpers**:
|
|
247
|
-
- `EmailSentryHelper` - Email-specific errors
|
|
248
|
-
- `BaseController` - Controller error handling
|
|
249
|
-
|
|
250
|
-
## Configuration (config.ini)
|
|
251
|
-
|
|
252
|
-
```ini
|
|
253
|
-
[sentry]
|
|
254
|
-
dsn = your-sentry-dsn
|
|
255
|
-
environment = development
|
|
256
|
-
tracesSampleRate = 0.1
|
|
257
|
-
profilesSampleRate = 0.1
|
|
258
|
-
|
|
259
|
-
[databaseMonitoring]
|
|
260
|
-
enableDbTracing = true
|
|
261
|
-
slowQueryThreshold = 100
|
|
262
|
-
logDbQueries = false
|
|
263
|
-
dbErrorCapture = true
|
|
264
|
-
enableN1Detection = true
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
## Testing Sentry Integration
|
|
268
|
-
|
|
269
|
-
### Form Service Test Endpoints
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
# Test basic error capture
|
|
273
|
-
curl http://localhost:3002/blog-api/api/sentry/test-error
|
|
274
|
-
|
|
275
|
-
# Test workflow error
|
|
276
|
-
curl http://localhost:3002/blog-api/api/sentry/test-workflow-error
|
|
277
|
-
|
|
278
|
-
# Test database performance
|
|
279
|
-
curl http://localhost:3002/blog-api/api/sentry/test-database-performance
|
|
280
|
-
|
|
281
|
-
# Test error boundary
|
|
282
|
-
curl http://localhost:3002/blog-api/api/sentry/test-error-boundary
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
### Email Service Test Endpoints
|
|
286
|
-
|
|
287
|
-
```bash
|
|
288
|
-
# Test basic error capture
|
|
289
|
-
curl http://localhost:3003/notifications/api/sentry/test-error
|
|
290
|
-
|
|
291
|
-
# Test email-specific error
|
|
292
|
-
curl http://localhost:3003/notifications/api/sentry/test-email-error
|
|
293
|
-
|
|
294
|
-
# Test performance tracking
|
|
295
|
-
curl http://localhost:3003/notifications/api/sentry/test-performance
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
## Performance Monitoring
|
|
299
|
-
|
|
300
|
-
### Requirements
|
|
301
|
-
|
|
302
|
-
1. **All API endpoints** must have transaction tracking
|
|
303
|
-
2. **Database queries > 100ms** are automatically flagged
|
|
304
|
-
3. **N+1 queries** are detected and reported
|
|
305
|
-
4. **Cron jobs** must track execution time
|
|
306
|
-
|
|
307
|
-
### Transaction Tracking
|
|
308
|
-
|
|
309
|
-
```typescript
|
|
310
|
-
import * as Sentry from '@sentry/node';
|
|
311
|
-
|
|
312
|
-
// Automatic transaction tracking for Express routes
|
|
313
|
-
app.use(Sentry.Handlers.requestHandler());
|
|
314
|
-
app.use(Sentry.Handlers.tracingHandler());
|
|
315
|
-
|
|
316
|
-
// Manual transaction for custom operations
|
|
317
|
-
const transaction = Sentry.startTransaction({
|
|
318
|
-
op: 'operation.type',
|
|
319
|
-
name: 'Operation Name',
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
try {
|
|
323
|
-
// Your operation
|
|
324
|
-
} finally {
|
|
325
|
-
transaction.finish();
|
|
326
|
-
}
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
## Common Mistakes to Avoid
|
|
330
|
-
|
|
331
|
-
❌ **NEVER** use console.error without Sentry
|
|
332
|
-
❌ **NEVER** swallow errors silently
|
|
333
|
-
❌ **NEVER** expose sensitive data in error context
|
|
334
|
-
❌ **NEVER** use generic error messages without context
|
|
335
|
-
❌ **NEVER** skip error handling in async operations
|
|
336
|
-
❌ **NEVER** forget to import instrument.ts as first line in cron jobs
|
|
337
|
-
|
|
338
|
-
## Implementation Checklist
|
|
339
|
-
|
|
340
|
-
When adding Sentry to new code:
|
|
341
|
-
|
|
342
|
-
- [ ] Imported Sentry or appropriate helper
|
|
343
|
-
- [ ] All try/catch blocks capture to Sentry
|
|
344
|
-
- [ ] Added meaningful context to errors
|
|
345
|
-
- [ ] Used appropriate error level
|
|
346
|
-
- [ ] No sensitive data in error messages
|
|
347
|
-
- [ ] Added performance tracking for slow operations
|
|
348
|
-
- [ ] Tested error handling paths
|
|
349
|
-
- [ ] For cron jobs: instrument.ts imported first
|
|
350
|
-
|
|
351
|
-
## Key Files
|
|
352
|
-
|
|
353
|
-
### Form Service
|
|
354
|
-
- `/blog-api/src/instrument.ts` - Sentry initialization
|
|
355
|
-
- `/blog-api/src/workflow/utils/sentryHelper.ts` - Workflow errors
|
|
356
|
-
- `/blog-api/src/utils/databasePerformance.ts` - DB monitoring
|
|
357
|
-
- `/blog-api/src/controllers/BaseController.ts` - Controller base
|
|
358
|
-
|
|
359
|
-
### Email Service
|
|
360
|
-
- `/notifications/src/instrument.ts` - Sentry initialization
|
|
361
|
-
- `/notifications/src/utils/EmailSentryHelper.ts` - Email errors
|
|
362
|
-
- `/notifications/src/controllers/BaseController.ts` - Controller base
|
|
363
|
-
|
|
364
|
-
### Configuration
|
|
365
|
-
- `/blog-api/config.ini` - Form service config
|
|
366
|
-
- `/notifications/config.ini` - Email service config
|
|
367
|
-
- `/sentry.ini` - Shared Sentry config
|
|
368
|
-
|
|
369
|
-
## Documentation
|
|
370
|
-
|
|
371
|
-
- Full implementation: `/dev/active/email-sentry-integration/`
|
|
372
|
-
- Form service docs: `/blog-api/docs/sentry-integration.md`
|
|
373
|
-
- Email service docs: `/notifications/docs/sentry-integration.md`
|
|
374
|
-
|
|
375
|
-
## Related Skills
|
|
376
|
-
|
|
377
|
-
- Use **database-verification** before database operations
|
|
378
|
-
- Use **workflow-builder** for workflow error context
|
|
379
|
-
- Use **database-scripts** for database error handling
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: frontend-design
|
|
3
|
-
description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
|
|
4
|
-
license: Complete terms in LICENSE.txt
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
|
|
8
|
-
|
|
9
|
-
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
|
|
10
|
-
|
|
11
|
-
## Design Thinking
|
|
12
|
-
|
|
13
|
-
Before coding, understand the context and commit to a BOLD aesthetic direction:
|
|
14
|
-
- **Purpose**: What problem does this interface solve? Who uses it?
|
|
15
|
-
- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
|
|
16
|
-
- **Constraints**: Technical requirements (framework, performance, accessibility).
|
|
17
|
-
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
|
|
18
|
-
|
|
19
|
-
**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
|
|
20
|
-
|
|
21
|
-
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
|
|
22
|
-
- Production-grade and functional
|
|
23
|
-
- Visually striking and memorable
|
|
24
|
-
- Cohesive with a clear aesthetic point-of-view
|
|
25
|
-
- Meticulously refined in every detail
|
|
26
|
-
|
|
27
|
-
## Frontend Aesthetics Guidelines
|
|
28
|
-
|
|
29
|
-
Focus on:
|
|
30
|
-
- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
|
|
31
|
-
- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
|
|
32
|
-
- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
|
|
33
|
-
- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
|
|
34
|
-
- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.
|
|
35
|
-
|
|
36
|
-
NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
|
|
37
|
-
|
|
38
|
-
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
|
|
39
|
-
|
|
40
|
-
**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
|
|
41
|
-
|
|
42
|
-
Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
|