gkt-node 3.3.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/README.md +89 -0
- package/assets/.agent/brain/agent_index.json +208 -0
- package/assets/.agent/brain/project_context.json +31 -0
- package/assets/.agent/skills/ab-test-setup/SKILL.md +232 -0
- package/assets/.agent/skills/agent-evaluation/SKILL.md +64 -0
- package/assets/.agent/skills/agent-memory-mcp/SKILL.md +82 -0
- package/assets/.agent/skills/agent-memory-systems/SKILL.md +67 -0
- package/assets/.agent/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
- package/assets/.agent/skills/agent-tool-builder/SKILL.md +53 -0
- package/assets/.agent/skills/ai-agents-architect/SKILL.md +90 -0
- package/assets/.agent/skills/ai-engineer/SKILL.md +171 -0
- package/assets/.agent/skills/ai-product/SKILL.md +54 -0
- package/assets/.agent/skills/ai-wrapper-product/SKILL.md +273 -0
- package/assets/.agent/skills/airflow-dag-patterns/SKILL.md +41 -0
- package/assets/.agent/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
- package/assets/.agent/skills/airtable-automation/SKILL.md +170 -0
- package/assets/.agent/skills/analytics-tracking/SKILL.md +404 -0
- package/assets/.agent/skills/api-design-principles/SKILL.md +37 -0
- package/assets/.agent/skills/api-design-principles/assets/__pycache__/rest-api-template.cpython-314.pyc +0 -0
- package/assets/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/assets/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/assets/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/assets/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/assets/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/assets/.agent/skills/api-designer/SKILL.md +22 -0
- package/assets/.agent/skills/api-designer/data/api_patterns.json +107 -0
- package/assets/.agent/skills/api-designer/scripts/__pycache__/api_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/api-designer/scripts/api_gen.py +80 -0
- package/assets/.agent/skills/api-documentation-generator/SKILL.md +484 -0
- package/assets/.agent/skills/api-documenter/SKILL.md +184 -0
- package/assets/.agent/skills/api-fuzzing-bug-bounty/SKILL.md +433 -0
- package/assets/.agent/skills/api-patterns/SKILL.md +81 -0
- package/assets/.agent/skills/api-patterns/api-style.md +42 -0
- package/assets/.agent/skills/api-patterns/auth.md +24 -0
- package/assets/.agent/skills/api-patterns/documentation.md +26 -0
- package/assets/.agent/skills/api-patterns/graphql.md +41 -0
- package/assets/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/assets/.agent/skills/api-patterns/response.md +37 -0
- package/assets/.agent/skills/api-patterns/rest.md +40 -0
- package/assets/.agent/skills/api-patterns/scripts/__pycache__/api_validator.cpython-314.pyc +0 -0
- package/assets/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/assets/.agent/skills/api-patterns/security-testing.md +122 -0
- package/assets/.agent/skills/api-patterns/trpc.md +41 -0
- package/assets/.agent/skills/api-patterns/versioning.md +22 -0
- package/assets/.agent/skills/api-security-best-practices/SKILL.md +907 -0
- package/assets/.agent/skills/api-testing-observability-api-mock/SKILL.md +46 -0
- package/assets/.agent/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
- package/assets/.agent/skills/app-store-optimization/HOW_TO_USE.md +281 -0
- package/assets/.agent/skills/app-store-optimization/README.md +430 -0
- package/assets/.agent/skills/app-store-optimization/SKILL.md +403 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/ab_test_planner.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/aso_scorer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/competitor_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/keyword_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/launch_checklist.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/localization_helper.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/metadata_optimizer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/__pycache__/review_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/app-store-optimization/ab_test_planner.py +662 -0
- package/assets/.agent/skills/app-store-optimization/aso_scorer.py +482 -0
- package/assets/.agent/skills/app-store-optimization/competitor_analyzer.py +577 -0
- package/assets/.agent/skills/app-store-optimization/expected_output.json +170 -0
- package/assets/.agent/skills/app-store-optimization/keyword_analyzer.py +406 -0
- package/assets/.agent/skills/app-store-optimization/launch_checklist.py +739 -0
- package/assets/.agent/skills/app-store-optimization/localization_helper.py +588 -0
- package/assets/.agent/skills/app-store-optimization/metadata_optimizer.py +581 -0
- package/assets/.agent/skills/app-store-optimization/review_analyzer.py +714 -0
- package/assets/.agent/skills/app-store-optimization/sample_input.json +30 -0
- package/assets/.agent/skills/architecture-auditor/SKILL.md +35 -0
- package/assets/.agent/skills/architecture-auditor/data/standards.json +45 -0
- package/assets/.agent/skills/architecture-auditor/scripts/__pycache__/auditor.cpython-314.pyc +0 -0
- package/assets/.agent/skills/architecture-auditor/scripts/auditor.py +69 -0
- package/assets/.agent/skills/architecture-decision-records/SKILL.md +441 -0
- package/assets/.agent/skills/architecture-patterns/SKILL.md +37 -0
- package/assets/.agent/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
- package/assets/.agent/skills/asana-automation/SKILL.md +171 -0
- package/assets/.agent/skills/attack-tree-construction/SKILL.md +38 -0
- package/assets/.agent/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
- package/assets/.agent/skills/auth-implementation-patterns/SKILL.md +39 -0
- package/assets/.agent/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
- package/assets/.agent/skills/autonomous-agent-patterns/SKILL.md +761 -0
- package/assets/.agent/skills/aws-penetration-testing/SKILL.md +405 -0
- package/assets/.agent/skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -0
- package/assets/.agent/skills/aws-serverless/SKILL.md +323 -0
- package/assets/.agent/skills/backend-architect/SKILL.md +333 -0
- package/assets/.agent/skills/billing-automation/SKILL.md +42 -0
- package/assets/.agent/skills/billing-automation/resources/implementation-playbook.md +544 -0
- package/assets/.agent/skills/broken-authentication/SKILL.md +476 -0
- package/assets/.agent/skills/bullmq-specialist/SKILL.md +57 -0
- package/assets/.agent/skills/business-analyst/SKILL.md +182 -0
- package/assets/.agent/skills/cc-skill-backend-patterns/SKILL.md +584 -0
- package/assets/.agent/skills/cc-skill-clickhouse-io/SKILL.md +431 -0
- package/assets/.agent/skills/cc-skill-coding-standards/SKILL.md +522 -0
- package/assets/.agent/skills/cc-skill-continuous-learning/SKILL.md +10 -0
- package/assets/.agent/skills/cc-skill-continuous-learning/config.json +18 -0
- package/assets/.agent/skills/cc-skill-continuous-learning/evaluate-session.sh +60 -0
- package/assets/.agent/skills/cc-skill-frontend-patterns/SKILL.md +633 -0
- package/assets/.agent/skills/cc-skill-project-guidelines-example/SKILL.md +352 -0
- package/assets/.agent/skills/cc-skill-security-review/SKILL.md +496 -0
- package/assets/.agent/skills/cc-skill-strategic-compact/SKILL.md +10 -0
- package/assets/.agent/skills/cc-skill-strategic-compact/suggest-compact.sh +52 -0
- package/assets/.agent/skills/ci-cd-setup/SKILL.md +14 -0
- package/assets/.agent/skills/ci-cd-setup/data/pipeline_templates.json +42 -0
- package/assets/.agent/skills/ci-cd-setup/scripts/__pycache__/ci_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ci-cd-setup/scripts/ci_gen.py +75 -0
- package/assets/.agent/skills/claude-code-guide/SKILL.md +68 -0
- package/assets/.agent/skills/clean-code/SKILL.md +94 -0
- package/assets/.agent/skills/clickup-automation/SKILL.md +234 -0
- package/assets/.agent/skills/cloud-architect/SKILL.md +135 -0
- package/assets/.agent/skills/cloud-penetration-testing/SKILL.md +501 -0
- package/assets/.agent/skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -0
- package/assets/.agent/skills/code-reviewer/SKILL.md +31 -0
- package/assets/.agent/skills/code-reviewer/data/review_rules.json +172 -0
- package/assets/.agent/skills/code-reviewer/scripts/__pycache__/reviewer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/code-reviewer/scripts/reviewer.py +192 -0
- package/assets/.agent/skills/codebase-navigator/SKILL.md +37 -0
- package/assets/.agent/skills/codebase-navigator/data/codebase_index.json +577 -0
- package/assets/.agent/skills/codebase-navigator/scripts/__pycache__/navigator.cpython-314.pyc +0 -0
- package/assets/.agent/skills/codebase-navigator/scripts/navigator.py +240 -0
- package/assets/.agent/skills/color-palette-generator/SKILL.md +26 -0
- package/assets/.agent/skills/color-palette-generator/data/palettes.json +37 -0
- package/assets/.agent/skills/color-palette-generator/scripts/__pycache__/palette.cpython-314.pyc +0 -0
- package/assets/.agent/skills/color-palette-generator/scripts/palette.py +57 -0
- package/assets/.agent/skills/competitive-landscape/SKILL.md +34 -0
- package/assets/.agent/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
- package/assets/.agent/skills/competitor-alternatives/SKILL.md +750 -0
- package/assets/.agent/skills/computer-use-agents/SKILL.md +315 -0
- package/assets/.agent/skills/content-creator/SKILL.md +248 -0
- package/assets/.agent/skills/content-creator/assets/content_calendar_template.md +99 -0
- package/assets/.agent/skills/content-creator/references/brand_guidelines.md +199 -0
- package/assets/.agent/skills/content-creator/references/content_frameworks.md +534 -0
- package/assets/.agent/skills/content-creator/references/social_media_optimization.md +317 -0
- package/assets/.agent/skills/content-creator/scripts/__pycache__/brand_voice_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/content-creator/scripts/__pycache__/seo_optimizer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/content-creator/scripts/brand_voice_analyzer.py +185 -0
- package/assets/.agent/skills/content-creator/scripts/seo_optimizer.py +419 -0
- package/assets/.agent/skills/content-marketer/SKILL.md +170 -0
- package/assets/.agent/skills/context-compression/SKILL.md +266 -0
- package/assets/.agent/skills/context-degradation/SKILL.md +238 -0
- package/assets/.agent/skills/context-driven-development/SKILL.md +400 -0
- package/assets/.agent/skills/context-fundamentals/SKILL.md +192 -0
- package/assets/.agent/skills/context-manager/SKILL.md +26 -0
- package/assets/.agent/skills/context-manager/scripts/__pycache__/minify.cpython-314.pyc +0 -0
- package/assets/.agent/skills/context-manager/scripts/minify.py +82 -0
- package/assets/.agent/skills/context-optimization/SKILL.md +186 -0
- package/assets/.agent/skills/context-router/SKILL.md +42 -0
- package/assets/.agent/skills/context-router/scripts/__pycache__/context_router.cpython-314.pyc +0 -0
- package/assets/.agent/skills/context-router/scripts/context_router.py +185 -0
- package/assets/.agent/skills/context-window-management/SKILL.md +53 -0
- package/assets/.agent/skills/conversation-memory/SKILL.md +61 -0
- package/assets/.agent/skills/copywriting/SKILL.md +225 -0
- package/assets/.agent/skills/cost-optimization/SKILL.md +286 -0
- package/assets/.agent/skills/cqrs-implementation/SKILL.md +35 -0
- package/assets/.agent/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
- package/assets/.agent/skills/crewai/SKILL.md +243 -0
- package/assets/.agent/skills/daily-news-report/SKILL.md +356 -0
- package/assets/.agent/skills/daily-news-report/cache.json +41 -0
- package/assets/.agent/skills/daily-news-report/sources.json +183 -0
- package/assets/.agent/skills/data-engineer/SKILL.md +224 -0
- package/assets/.agent/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
- package/assets/.agent/skills/data-engineering-data-pipeline/SKILL.md +201 -0
- package/assets/.agent/skills/data-quality-frameworks/SKILL.md +40 -0
- package/assets/.agent/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
- package/assets/.agent/skills/data-scientist/SKILL.md +199 -0
- package/assets/.agent/skills/data-storytelling/SKILL.md +465 -0
- package/assets/.agent/skills/database-admin/SKILL.md +165 -0
- package/assets/.agent/skills/database-architect/SKILL.md +268 -0
- package/assets/.agent/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
- package/assets/.agent/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
- package/assets/.agent/skills/database-design/SKILL.md +52 -0
- package/assets/.agent/skills/database-design/database-selection.md +43 -0
- package/assets/.agent/skills/database-design/indexing.md +39 -0
- package/assets/.agent/skills/database-design/migrations.md +48 -0
- package/assets/.agent/skills/database-design/optimization.md +36 -0
- package/assets/.agent/skills/database-design/orm-selection.md +30 -0
- package/assets/.agent/skills/database-design/schema-design.md +56 -0
- package/assets/.agent/skills/database-design/scripts/__pycache__/schema_validator.cpython-314.pyc +0 -0
- package/assets/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/assets/.agent/skills/database-migration/SKILL.md +436 -0
- package/assets/.agent/skills/database-migrations-migration-observability/SKILL.md +420 -0
- package/assets/.agent/skills/database-migrations-sql-migrations/SKILL.md +53 -0
- package/assets/.agent/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
- package/assets/.agent/skills/database-optimizer/SKILL.md +167 -0
- package/assets/.agent/skills/datadog-automation/SKILL.md +235 -0
- package/assets/.agent/skills/db-designer/SKILL.md +22 -0
- package/assets/.agent/skills/db-designer/data/schema_patterns.json +156 -0
- package/assets/.agent/skills/db-designer/scripts/__pycache__/sql_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/db-designer/scripts/sql_gen.py +90 -0
- package/assets/.agent/skills/dbt-transformation-patterns/SKILL.md +34 -0
- package/assets/.agent/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
- package/assets/.agent/skills/debugger/SKILL.md +49 -0
- package/assets/.agent/skills/debugging-strategies/SKILL.md +34 -0
- package/assets/.agent/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
- package/assets/.agent/skills/deep-research/SKILL.md +114 -0
- package/assets/.agent/skills/deployment-engineer/SKILL.md +170 -0
- package/assets/.agent/skills/deployment-pipeline-design/SKILL.md +371 -0
- package/assets/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/assets/.agent/skills/diff-applier/SKILL.md +34 -0
- package/assets/.agent/skills/diff-applier/scripts/__pycache__/apply_patch.cpython-314.pyc +0 -0
- package/assets/.agent/skills/diff-applier/scripts/apply_patch.py +137 -0
- package/assets/.agent/skills/discord-automation/SKILL.md +187 -0
- package/assets/.agent/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
- package/assets/.agent/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
- package/assets/.agent/skills/distributed-tracing/SKILL.md +450 -0
- package/assets/.agent/skills/doc-generator/SKILL.md +14 -0
- package/assets/.agent/skills/doc-generator/data/doc_templates.json +40 -0
- package/assets/.agent/skills/doc-generator/scripts/__pycache__/doc_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/doc-generator/scripts/doc_gen.py +48 -0
- package/assets/.agent/skills/docker-expert/SKILL.md +409 -0
- package/assets/.agent/skills/docker-wizard/SKILL.md +14 -0
- package/assets/.agent/skills/docker-wizard/data/docker_templates.json +93 -0
- package/assets/.agent/skills/docker-wizard/scripts/__pycache__/docker_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/docker-wizard/scripts/docker_gen.py +86 -0
- package/assets/.agent/skills/docs-architect/SKILL.md +98 -0
- package/assets/.agent/skills/e2e-testing-patterns/SKILL.md +41 -0
- package/assets/.agent/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
- package/assets/.agent/skills/email-sequence/SKILL.md +925 -0
- package/assets/.agent/skills/embedding-strategies/SKILL.md +491 -0
- package/assets/.agent/skills/employment-contract-templates/SKILL.md +39 -0
- package/assets/.agent/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
- package/assets/.agent/skills/env-manager/SKILL.md +33 -0
- package/assets/.agent/skills/env-manager/scripts/__pycache__/env_scanner.cpython-314.pyc +0 -0
- package/assets/.agent/skills/env-manager/scripts/env_scanner.py +181 -0
- package/assets/.agent/skills/error-detective/SKILL.md +53 -0
- package/assets/.agent/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
- package/assets/.agent/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
- package/assets/.agent/skills/error-diagnostics-error-trace/SKILL.md +48 -0
- package/assets/.agent/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
- package/assets/.agent/skills/error-handling-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
- package/assets/.agent/skills/ethical-hacking-methodology/SKILL.md +466 -0
- package/assets/.agent/skills/event-sourcing-architect/SKILL.md +58 -0
- package/assets/.agent/skills/event-store-design/SKILL.md +449 -0
- package/assets/.agent/skills/exa-search/SKILL.md +36 -0
- package/assets/.agent/skills/fastapi-pro/SKILL.md +192 -0
- package/assets/.agent/skills/fastapi-router-py/SKILL.md +52 -0
- package/assets/.agent/skills/fastapi-templates/SKILL.md +32 -0
- package/assets/.agent/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
- package/assets/.agent/skills/free-tool-strategy/SKILL.md +576 -0
- package/assets/.agent/skills/freshdesk-automation/SKILL.md +219 -0
- package/assets/.agent/skills/frontend-developer/SKILL.md +171 -0
- package/assets/.agent/skills/gcp-cloud-run/SKILL.md +288 -0
- package/assets/.agent/skills/gemini-api-dev/SKILL.md +127 -0
- package/assets/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/assets/.agent/skills/geo-fundamentals/scripts/__pycache__/geo_checker.cpython-314.pyc +0 -0
- package/assets/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/assets/.agent/skills/git-advanced-workflows/SKILL.md +412 -0
- package/assets/.agent/skills/git-manager/SKILL.md +22 -0
- package/assets/.agent/skills/git-manager/data/git_conventions.json +84 -0
- package/assets/.agent/skills/git-manager/scripts/__pycache__/commit.cpython-314.pyc +0 -0
- package/assets/.agent/skills/git-manager/scripts/__pycache__/log.cpython-314.pyc +0 -0
- package/assets/.agent/skills/git-manager/scripts/commit.py +70 -0
- package/assets/.agent/skills/git-manager/scripts/log.py +29 -0
- package/assets/.agent/skills/github-actions-templates/SKILL.md +345 -0
- package/assets/.agent/skills/github-automation/SKILL.md +227 -0
- package/assets/.agent/skills/gitlab-ci-patterns/SKILL.md +283 -0
- package/assets/.agent/skills/gitops-workflow/SKILL.md +303 -0
- package/assets/.agent/skills/gitops-workflow/references/argocd-setup.md +134 -0
- package/assets/.agent/skills/gitops-workflow/references/sync-policies.md +131 -0
- package/assets/.agent/skills/gmail-automation/SKILL.md +270 -0
- package/assets/.agent/skills/google-calendar-automation/SKILL.md +176 -0
- package/assets/.agent/skills/google-drive-automation/SKILL.md +193 -0
- package/assets/.agent/skills/googlesheets-automation/SKILL.md +197 -0
- package/assets/.agent/skills/grafana-dashboards/SKILL.md +381 -0
- package/assets/.agent/skills/graphql/SKILL.md +68 -0
- package/assets/.agent/skills/graphql-architect/SKILL.md +182 -0
- package/assets/.agent/skills/helm-chart-scaffolding/SKILL.md +34 -0
- package/assets/.agent/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
- package/assets/.agent/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
- package/assets/.agent/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
- package/assets/.agent/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
- package/assets/.agent/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
- package/assets/.agent/skills/hr-pro/SKILL.md +126 -0
- package/assets/.agent/skills/hubspot-automation/SKILL.md +178 -0
- package/assets/.agent/skills/hubspot-integration/SKILL.md +42 -0
- package/assets/.agent/skills/hybrid-search-implementation/SKILL.md +32 -0
- package/assets/.agent/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
- package/assets/.agent/skills/incident-responder/SKILL.md +213 -0
- package/assets/.agent/skills/incident-response-incident-response/SKILL.md +168 -0
- package/assets/.agent/skills/incident-response-smart-fix/SKILL.md +29 -0
- package/assets/.agent/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
- package/assets/.agent/skills/incident-runbook-templates/SKILL.md +395 -0
- package/assets/.agent/skills/infinite-gratitude/SKILL.md +26 -0
- package/assets/.agent/skills/inngest/SKILL.md +55 -0
- package/assets/.agent/skills/instagram-automation/SKILL.md +192 -0
- package/assets/.agent/skills/intercom-automation/SKILL.md +248 -0
- package/assets/.agent/skills/javascript-mastery/SKILL.md +645 -0
- package/assets/.agent/skills/javascript-testing-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
- package/assets/.agent/skills/jira-automation/SKILL.md +185 -0
- package/assets/.agent/skills/k8s-manifest-generator/SKILL.md +35 -0
- package/assets/.agent/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
- package/assets/.agent/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
- package/assets/.agent/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
- package/assets/.agent/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
- package/assets/.agent/skills/k8s-manifest-generator/references/service-spec.md +724 -0
- package/assets/.agent/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
- package/assets/.agent/skills/k8s-security-policies/SKILL.md +346 -0
- package/assets/.agent/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
- package/assets/.agent/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
- package/assets/.agent/skills/knowledge-guide/SKILL.md +34 -0
- package/assets/.agent/skills/knowledge-guide/scripts/__pycache__/note_taker.cpython-314.pyc +0 -0
- package/assets/.agent/skills/knowledge-guide/scripts/note_taker.py +50 -0
- package/assets/.agent/skills/kpi-dashboard-design/SKILL.md +440 -0
- package/assets/.agent/skills/kubernetes-architect/SKILL.md +170 -0
- package/assets/.agent/skills/langchain-architecture/SKILL.md +350 -0
- package/assets/.agent/skills/langfuse/SKILL.md +238 -0
- package/assets/.agent/skills/langgraph/SKILL.md +287 -0
- package/assets/.agent/skills/launch-strategy/SKILL.md +344 -0
- package/assets/.agent/skills/legal-advisor/SKILL.md +70 -0
- package/assets/.agent/skills/linkedin-automation/SKILL.md +175 -0
- package/assets/.agent/skills/linux-privilege-escalation/SKILL.md +504 -0
- package/assets/.agent/skills/llm-app-patterns/SKILL.md +760 -0
- package/assets/.agent/skills/llm-evaluation/SKILL.md +483 -0
- package/assets/.agent/skills/mailchimp-automation/SKILL.md +231 -0
- package/assets/.agent/skills/market-sizing-analysis/SKILL.md +425 -0
- package/assets/.agent/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
- package/assets/.agent/skills/market-sizing-analysis/references/data-sources.md +360 -0
- package/assets/.agent/skills/marketing-ideas/SKILL.md +221 -0
- package/assets/.agent/skills/marketing-psychology/SKILL.md +255 -0
- package/assets/.agent/skills/mcp-builder/LICENSE.txt +202 -0
- package/assets/.agent/skills/mcp-builder/SKILL.md +236 -0
- package/assets/.agent/skills/mcp-builder/reference/evaluation.md +602 -0
- package/assets/.agent/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/assets/.agent/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/assets/.agent/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/assets/.agent/skills/mcp-builder/scripts/__pycache__/connections.cpython-314.pyc +0 -0
- package/assets/.agent/skills/mcp-builder/scripts/__pycache__/evaluation.cpython-314.pyc +0 -0
- package/assets/.agent/skills/mcp-builder/scripts/connections.py +151 -0
- package/assets/.agent/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/assets/.agent/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/assets/.agent/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/assets/.agent/skills/mermaid-expert/SKILL.md +59 -0
- package/assets/.agent/skills/meta-thinker/SKILL.md +41 -0
- package/assets/.agent/skills/meta-thinker/data/brainstorm_frameworks.json +614 -0
- package/assets/.agent/skills/meta-thinker/data/feature_ideas.json +352 -0
- package/assets/.agent/skills/meta-thinker/data/industry_database.json +1693 -0
- package/assets/.agent/skills/meta-thinker/data/monetization_models.json +570 -0
- package/assets/.agent/skills/meta-thinker/data/platform_guide.json +361 -0
- package/assets/.agent/skills/meta-thinker/data/product_archetypes.json +998 -0
- package/assets/.agent/skills/meta-thinker/scripts/__pycache__/idea_engine.cpython-314.pyc +0 -0
- package/assets/.agent/skills/meta-thinker/scripts/idea_engine.py +246 -0
- package/assets/.agent/skills/metasploit-framework/SKILL.md +478 -0
- package/assets/.agent/skills/micro-saas-launcher/SKILL.md +212 -0
- package/assets/.agent/skills/monday-automation/SKILL.md +233 -0
- package/assets/.agent/skills/multi-agent-patterns/SKILL.md +262 -0
- package/assets/.agent/skills/n8n-code-python/SKILL.md +750 -0
- package/assets/.agent/skills/n8n-mcp-tools-expert/SKILL.md +654 -0
- package/assets/.agent/skills/n8n-node-configuration/SKILL.md +796 -0
- package/assets/.agent/skills/neon-postgres/SKILL.md +56 -0
- package/assets/.agent/skills/nestjs-expert/SKILL.md +552 -0
- package/assets/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/assets/.agent/skills/nocobase-plugin-developer/SKILL.md +1289 -0
- package/assets/.agent/skills/nodejs-backend-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
- package/assets/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/assets/.agent/skills/nosql-expert/SKILL.md +111 -0
- package/assets/.agent/skills/notion-automation/SKILL.md +215 -0
- package/assets/.agent/skills/observability-engineer/SKILL.md +237 -0
- package/assets/.agent/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
- package/assets/.agent/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
- package/assets/.agent/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
- package/assets/.agent/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
- package/assets/.agent/skills/on-call-handoff-patterns/SKILL.md +453 -0
- package/assets/.agent/skills/onboarding-cro/SKILL.md +433 -0
- package/assets/.agent/skills/openapi-spec-generation/SKILL.md +33 -0
- package/assets/.agent/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
- package/assets/.agent/skills/page-cro/SKILL.md +343 -0
- package/assets/.agent/skills/paid-ads/SKILL.md +551 -0
- package/assets/.agent/skills/payment-integration/SKILL.md +77 -0
- package/assets/.agent/skills/paypal-integration/SKILL.md +479 -0
- package/assets/.agent/skills/paywall-upgrade-cro/SKILL.md +570 -0
- package/assets/.agent/skills/pentest-checklist/SKILL.md +334 -0
- package/assets/.agent/skills/pentest-commands/SKILL.md +438 -0
- package/assets/.agent/skills/pipedrive-automation/SKILL.md +224 -0
- package/assets/.agent/skills/plaid-fintech/SKILL.md +50 -0
- package/assets/.agent/skills/popup-cro/SKILL.md +346 -0
- package/assets/.agent/skills/postgresql/SKILL.md +230 -0
- package/assets/.agent/skills/postmortem-writing/SKILL.md +386 -0
- package/assets/.agent/skills/pricing-strategy/SKILL.md +356 -0
- package/assets/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/assets/.agent/skills/product-manager-toolkit/SKILL.md +351 -0
- package/assets/.agent/skills/product-manager-toolkit/references/prd_templates.md +317 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/__pycache__/customer_interview_analyzer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/__pycache__/rice_prioritizer.cpython-314.pyc +0 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +441 -0
- package/assets/.agent/skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
- package/assets/.agent/skills/programmatic-seo/SKILL.md +351 -0
- package/assets/.agent/skills/project-scaffolder/SKILL.md +26 -0
- package/assets/.agent/skills/project-scaffolder/data/scaffold_templates.json +150 -0
- package/assets/.agent/skills/project-scaffolder/scripts/__pycache__/scaffold.cpython-314.pyc +0 -0
- package/assets/.agent/skills/project-scaffolder/scripts/scaffold.py +249 -0
- package/assets/.agent/skills/projection-patterns/SKILL.md +33 -0
- package/assets/.agent/skills/projection-patterns/resources/implementation-playbook.md +501 -0
- package/assets/.agent/skills/prometheus-configuration/SKILL.md +404 -0
- package/assets/.agent/skills/prompt-caching/SKILL.md +61 -0
- package/assets/.agent/skills/prompt-engineer/README.md +659 -0
- package/assets/.agent/skills/prompt-engineer/SKILL.md +252 -0
- package/assets/.agent/skills/prompt-engineering/SKILL.md +171 -0
- package/assets/.agent/skills/prompt-engineering-patterns/SKILL.md +213 -0
- package/assets/.agent/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
- package/assets/.agent/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
- package/assets/.agent/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
- package/assets/.agent/skills/prompt-engineering-patterns/scripts/__pycache__/optimize-prompt.cpython-314.pyc +0 -0
- package/assets/.agent/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
- package/assets/.agent/skills/prompt-library/SKILL.md +322 -0
- package/assets/.agent/skills/rag-engineer/SKILL.md +90 -0
- package/assets/.agent/skills/rag-implementation/SKILL.md +421 -0
- package/assets/.agent/skills/react-patterns/SKILL.md +198 -0
- package/assets/.agent/skills/react-state-management/SKILL.md +441 -0
- package/assets/.agent/skills/react-ui-patterns/SKILL.md +289 -0
- package/assets/.agent/skills/readme-generator/SKILL.md +14 -0
- package/assets/.agent/skills/readme-generator/data/readme_templates.json +22 -0
- package/assets/.agent/skills/readme-generator/scripts/__pycache__/readme_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/readme-generator/scripts/readme_gen.py +81 -0
- package/assets/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/assets/.agent/skills/red-team-tools/SKILL.md +310 -0
- package/assets/.agent/skills/reference-builder/SKILL.md +188 -0
- package/assets/.agent/skills/referral-program/SKILL.md +602 -0
- package/assets/.agent/skills/release-manager/SKILL.md +30 -0
- package/assets/.agent/skills/release-manager/scripts/__pycache__/release.cpython-314.pyc +0 -0
- package/assets/.agent/skills/release-manager/scripts/release.py +210 -0
- package/assets/.agent/skills/reliability-engineer/SKILL.md +30 -0
- package/assets/.agent/skills/reliability-engineer/data/reliability.json +57 -0
- package/assets/.agent/skills/reliability-engineer/scripts/__pycache__/sre.cpython-314.pyc +0 -0
- package/assets/.agent/skills/reliability-engineer/scripts/sre.py +94 -0
- package/assets/.agent/skills/saga-orchestration/SKILL.md +496 -0
- package/assets/.agent/skills/sales-automator/SKILL.md +55 -0
- package/assets/.agent/skills/salesforce-automation/SKILL.md +190 -0
- package/assets/.agent/skills/sast-configuration/SKILL.md +212 -0
- package/assets/.agent/skills/scanning-tools/SKILL.md +589 -0
- package/assets/.agent/skills/schema-markup/SKILL.md +360 -0
- package/assets/.agent/skills/search-specialist/SKILL.md +80 -0
- package/assets/.agent/skills/secrets-management/SKILL.md +364 -0
- package/assets/.agent/skills/security-auditor/SKILL.md +169 -0
- package/assets/.agent/skills/security-bluebook-builder/SKILL.md +22 -0
- package/assets/.agent/skills/security-requirement-extraction/SKILL.md +33 -0
- package/assets/.agent/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
- package/assets/.agent/skills/security-scanner/SKILL.md +21 -0
- package/assets/.agent/skills/security-scanner/data/security_patterns.json +101 -0
- package/assets/.agent/skills/security-scanner/scripts/__pycache__/checklist_gen.cpython-314.pyc +0 -0
- package/assets/.agent/skills/security-scanner/scripts/__pycache__/vuln_scan.cpython-314.pyc +0 -0
- package/assets/.agent/skills/security-scanner/scripts/checklist_gen.py +49 -0
- package/assets/.agent/skills/security-scanner/scripts/vuln_scan.py +81 -0
- package/assets/.agent/skills/sendgrid-automation/SKILL.md +228 -0
- package/assets/.agent/skills/seo-audit/SKILL.md +487 -0
- package/assets/.agent/skills/seo-authority-builder/SKILL.md +136 -0
- package/assets/.agent/skills/seo-cannibalization-detector/SKILL.md +123 -0
- package/assets/.agent/skills/seo-content-auditor/SKILL.md +83 -0
- package/assets/.agent/skills/seo-content-planner/SKILL.md +108 -0
- package/assets/.agent/skills/seo-content-refresher/SKILL.md +118 -0
- package/assets/.agent/skills/seo-content-writer/SKILL.md +96 -0
- package/assets/.agent/skills/seo-fundamentals/SKILL.md +173 -0
- package/assets/.agent/skills/seo-fundamentals/scripts/__pycache__/seo_checker.cpython-314.pyc +0 -0
- package/assets/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/assets/.agent/skills/seo-keyword-strategist/SKILL.md +95 -0
- package/assets/.agent/skills/seo-meta-optimizer/SKILL.md +92 -0
- package/assets/.agent/skills/seo-snippet-hunter/SKILL.md +114 -0
- package/assets/.agent/skills/seo-structure-architect/SKILL.md +108 -0
- package/assets/.agent/skills/service-mesh-observability/SKILL.md +395 -0
- package/assets/.agent/skills/shodan-reconnaissance/SKILL.md +503 -0
- package/assets/.agent/skills/shopify-apps/SKILL.md +42 -0
- package/assets/.agent/skills/shopify-automation/SKILL.md +168 -0
- package/assets/.agent/skills/signup-flow-cro/SKILL.md +355 -0
- package/assets/.agent/skills/similarity-search-patterns/SKILL.md +33 -0
- package/assets/.agent/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
- package/assets/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/assets/.agent/skills/skill-creator/README.md +270 -0
- package/assets/.agent/skills/skill-creator/SKILL.md +593 -0
- package/assets/.agent/skills/skill-creator/references/output-patterns.md +82 -0
- package/assets/.agent/skills/skill-creator/references/workflows.md +28 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/init_skill.cpython-314.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/package_skill.cpython-314.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-314.pyc +0 -0
- package/assets/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/assets/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/assets/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/assets/.agent/skills/skill-developer/ADVANCED.md +197 -0
- package/assets/.agent/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
- package/assets/.agent/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
- package/assets/.agent/skills/skill-developer/SKILL.md +426 -0
- package/assets/.agent/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
- package/assets/.agent/skills/skill-developer/TRIGGER_TYPES.md +305 -0
- package/assets/.agent/skills/skill-developer/TROUBLESHOOTING.md +514 -0
- package/assets/.agent/skills/slack-automation/SKILL.md +189 -0
- package/assets/.agent/skills/slo-implementation/SKILL.md +341 -0
- package/assets/.agent/skills/social-content/SKILL.md +807 -0
- package/assets/.agent/skills/spark-optimization/SKILL.md +427 -0
- package/assets/.agent/skills/sql-injection-testing/SKILL.md +448 -0
- package/assets/.agent/skills/sql-optimization-patterns/SKILL.md +35 -0
- package/assets/.agent/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
- package/assets/.agent/skills/sql-pro/SKILL.md +173 -0
- package/assets/.agent/skills/ssh-penetration-testing/SKILL.md +488 -0
- package/assets/.agent/skills/startup-analyst/SKILL.md +328 -0
- package/assets/.agent/skills/startup-business-analyst-business-case/SKILL.md +487 -0
- package/assets/.agent/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
- package/assets/.agent/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
- package/assets/.agent/skills/startup-financial-modeling/SKILL.md +467 -0
- package/assets/.agent/skills/startup-metrics-framework/SKILL.md +34 -0
- package/assets/.agent/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
- package/assets/.agent/skills/stride-analysis-patterns/SKILL.md +33 -0
- package/assets/.agent/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
- package/assets/.agent/skills/stripe-automation/SKILL.md +198 -0
- package/assets/.agent/skills/stripe-integration/SKILL.md +454 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/README.md +119 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/SKILL.md +57 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/metadata.json +13 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/_contributing.md +171 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/_sections.md +39 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/_template.md +34 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
- package/assets/.agent/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
- package/assets/.agent/skills/system-diagrammer/SKILL.md +25 -0
- package/assets/.agent/skills/system-diagrammer/data/diagram_templates.json +69 -0
- package/assets/.agent/skills/system-diagrammer/scripts/__pycache__/diagram.cpython-314.pyc +0 -0
- package/assets/.agent/skills/system-diagrammer/scripts/diagram.py +81 -0
- package/assets/.agent/skills/system-strategist/SKILL.md +35 -0
- package/assets/.agent/skills/system-strategist/data/strategy_patterns.json +170 -0
- package/assets/.agent/skills/system-strategist/scripts/__pycache__/strategist.cpython-314.pyc +0 -0
- package/assets/.agent/skills/system-strategist/scripts/strategist.py +136 -0
- package/assets/.agent/skills/tavily-web/SKILL.md +36 -0
- package/assets/.agent/skills/team-composition-analysis/SKILL.md +413 -0
- package/assets/.agent/skills/tech-stack-advisor/SKILL.md +59 -0
- package/assets/.agent/skills/tech-stack-advisor/data/stacks.json +727 -0
- package/assets/.agent/skills/tech-stack-advisor/data/tech_data.json +1297 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/__pycache__/advisor.cpython-314.pyc +0 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/__pycache__/scanner.cpython-314.pyc +0 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/advisor.py +211 -0
- package/assets/.agent/skills/tech-stack-advisor/scripts/scanner.py +102 -0
- package/assets/.agent/skills/terraform-module-library/SKILL.md +261 -0
- package/assets/.agent/skills/terraform-module-library/references/aws-modules.md +63 -0
- package/assets/.agent/skills/terraform-skill/SKILL.md +517 -0
- package/assets/.agent/skills/terraform-specialist/SKILL.md +166 -0
- package/assets/.agent/skills/test-generator/SKILL.md +14 -0
- package/assets/.agent/skills/test-generator/data/test_patterns.json +39 -0
- package/assets/.agent/skills/test-generator/scripts/__pycache__/gen_skeleton.cpython-314.pyc +0 -0
- package/assets/.agent/skills/test-generator/scripts/gen_skeleton.py +61 -0
- package/assets/.agent/skills/testing-patterns/SKILL.md +259 -0
- package/assets/.agent/skills/threat-mitigation-mapping/SKILL.md +33 -0
- package/assets/.agent/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
- package/assets/.agent/skills/threat-modeling-expert/SKILL.md +60 -0
- package/assets/.agent/skills/tool-design/SKILL.md +318 -0
- package/assets/.agent/skills/top-web-vulnerabilities/SKILL.md +543 -0
- package/assets/.agent/skills/trello-automation/SKILL.md +181 -0
- package/assets/.agent/skills/trigger-dev/SKILL.md +67 -0
- package/assets/.agent/skills/tutorial-engineer/SKILL.md +139 -0
- package/assets/.agent/skills/twitter-automation/SKILL.md +231 -0
- package/assets/.agent/skills/typescript-pro/SKILL.md +55 -0
- package/assets/.agent/skills/ui-ux-pro-max/SKILL.md +30 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/assets/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1110 -0
- package/assets/.agent/skills/ui-ux-pro-max/scripts/search.py +162 -0
- package/assets/.agent/skills/using-neon/SKILL.md +84 -0
- package/assets/.agent/skills/vector-database-engineer/SKILL.md +60 -0
- package/assets/.agent/skills/vector-index-tuning/SKILL.md +42 -0
- package/assets/.agent/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
- package/assets/.agent/skills/vercel-deployment/SKILL.md +79 -0
- package/assets/.agent/skills/voice-agents/SKILL.md +68 -0
- package/assets/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/assets/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/assets/.agent/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-314.pyc +0 -0
- package/assets/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/assets/.agent/skills/whatsapp-automation/SKILL.md +214 -0
- package/assets/.agent/skills/wiki-architect/SKILL.md +60 -0
- package/assets/.agent/skills/wiki-onboarding/SKILL.md +77 -0
- package/assets/.agent/skills/wiki-page-writer/SKILL.md +65 -0
- package/assets/.agent/skills/wiki-researcher/SKILL.md +65 -0
- package/assets/.agent/skills/windows-privilege-escalation/SKILL.md +496 -0
- package/assets/.agent/skills/wireshark-analysis/SKILL.md +497 -0
- package/assets/.agent/skills/wordpress-penetration-testing/SKILL.md +485 -0
- package/assets/.agent/skills/workflow-automation/SKILL.md +68 -0
- package/assets/.agent/skills/xss-html-injection/SKILL.md +499 -0
- package/assets/.agent/skills/zapier-make-patterns/SKILL.md +67 -0
- package/assets/.agent/skills/zendesk-automation/SKILL.md +215 -0
- package/assets/.agent/workflows/ai-agent-builder.md +93 -0
- package/assets/.agent/workflows/api-graphql-dev.md +45 -0
- package/assets/.agent/workflows/architect.md +43 -0
- package/assets/.agent/workflows/backend-dev.md +43 -0
- package/assets/.agent/workflows/claude-code-dev.md +51 -0
- package/assets/.agent/workflows/cloud-deployer.md +422 -0
- package/assets/.agent/workflows/code-reviewer.md +62 -0
- package/assets/.agent/workflows/context-data-eng.md +58 -0
- package/assets/.agent/workflows/database-eng.md +60 -0
- package/assets/.agent/workflows/deep-researcher.md +175 -0
- package/assets/.agent/workflows/designer.md +36 -0
- package/assets/.agent/workflows/devops.md +37 -0
- package/assets/.agent/workflows/doc-writer.md +211 -0
- package/assets/.agent/workflows/frontend-dev.md +63 -0
- package/assets/.agent/workflows/fullstack-coder.md +141 -0
- package/assets/.agent/workflows/image-creator.md +186 -0
- package/assets/.agent/workflows/knowledge-guide.md +48 -0
- package/assets/.agent/workflows/leader.md +238 -0
- package/assets/.agent/workflows/meta-thinker.md +204 -0
- package/assets/.agent/workflows/mobile-dev.md +26 -0
- package/assets/.agent/workflows/n8n-automator.md +114 -0
- package/assets/.agent/workflows/nocobase-plugin-build.md +291 -0
- package/assets/.agent/workflows/nocobase-plugin-expert.md +250 -0
- package/assets/.agent/workflows/observability-eng.md +54 -0
- package/assets/.agent/workflows/planner.md +48 -0
- package/assets/.agent/workflows/prompt-engineer.md +303 -0
- package/assets/.agent/workflows/qa-engineer.md +65 -0
- package/assets/.agent/workflows/quality-guardian.md +126 -0
- package/assets/.agent/workflows/quickstart.md +107 -0
- package/assets/.agent/workflows/release-manager.md +56 -0
- package/assets/.agent/workflows/research-analyst.md +483 -0
- package/assets/.agent/workflows/researcher.md +98 -0
- package/assets/.agent/workflows/saas-connector.md +86 -0
- package/assets/.agent/workflows/security-auditor.md +82 -0
- package/assets/.agent/workflows/security-engineer.md +48 -0
- package/assets/.agent/workflows/seo-marketer.md +91 -0
- package/assets/.agent/workflows/seo-specialist.md +27 -0
- package/assets/.agent/workflows/solution-architect.md +164 -0
- package/assets/.agent/workflows/startup-advisor.md +94 -0
- package/assets/.agent/workflows/tech-writer.md +43 -0
- package/assets/ide-adapters/cline/architect.md +43 -0
- package/assets/ide-adapters/cline/backend-dev.md +43 -0
- package/assets/ide-adapters/cline/designer.md +36 -0
- package/assets/ide-adapters/cline/devops.md +37 -0
- package/assets/ide-adapters/cline/frontend-dev.md +63 -0
- package/assets/ide-adapters/cline/knowledge-guide.md +48 -0
- package/assets/ide-adapters/cline/leader.md +88 -0
- package/assets/ide-adapters/cline/meta-thinker.md +87 -0
- package/assets/ide-adapters/cline/mobile-dev.md +26 -0
- package/assets/ide-adapters/cline/planner.md +48 -0
- package/assets/ide-adapters/cline/qa-engineer.md +65 -0
- package/assets/ide-adapters/cline/security-engineer.md +48 -0
- package/assets/ide-adapters/cline/seo-specialist.md +27 -0
- package/assets/ide-adapters/cline/tech-writer.md +43 -0
- package/assets/ide-adapters/copilot/architect.instructions.md +43 -0
- package/assets/ide-adapters/copilot/backend-dev.instructions.md +43 -0
- package/assets/ide-adapters/copilot/designer.instructions.md +36 -0
- package/assets/ide-adapters/copilot/devops.instructions.md +37 -0
- package/assets/ide-adapters/copilot/frontend-dev.instructions.md +63 -0
- package/assets/ide-adapters/copilot/knowledge-guide.instructions.md +48 -0
- package/assets/ide-adapters/copilot/leader.instructions.md +88 -0
- package/assets/ide-adapters/copilot/meta-thinker.instructions.md +87 -0
- package/assets/ide-adapters/copilot/mobile-dev.instructions.md +26 -0
- package/assets/ide-adapters/copilot/planner.instructions.md +48 -0
- package/assets/ide-adapters/copilot/qa-engineer.instructions.md +65 -0
- package/assets/ide-adapters/copilot/security-engineer.instructions.md +48 -0
- package/assets/ide-adapters/copilot/seo-specialist.instructions.md +27 -0
- package/assets/ide-adapters/copilot/tech-writer.instructions.md +43 -0
- package/assets/ide-adapters/cursor/architect.mdc +44 -0
- package/assets/ide-adapters/cursor/backend-dev.mdc +44 -0
- package/assets/ide-adapters/cursor/designer.mdc +37 -0
- package/assets/ide-adapters/cursor/devops.mdc +38 -0
- package/assets/ide-adapters/cursor/frontend-dev.mdc +64 -0
- package/assets/ide-adapters/cursor/knowledge-guide.mdc +49 -0
- package/assets/ide-adapters/cursor/leader.mdc +89 -0
- package/assets/ide-adapters/cursor/meta-thinker.mdc +88 -0
- package/assets/ide-adapters/cursor/mobile-dev.mdc +27 -0
- package/assets/ide-adapters/cursor/planner.mdc +49 -0
- package/assets/ide-adapters/cursor/qa-engineer.mdc +66 -0
- package/assets/ide-adapters/cursor/security-engineer.mdc +49 -0
- package/assets/ide-adapters/cursor/seo-specialist.mdc +28 -0
- package/assets/ide-adapters/cursor/tech-writer.mdc +44 -0
- package/assets/ide-adapters/kilocode/architect.md +43 -0
- package/assets/ide-adapters/kilocode/backend-dev.md +43 -0
- package/assets/ide-adapters/kilocode/designer.md +36 -0
- package/assets/ide-adapters/kilocode/devops.md +37 -0
- package/assets/ide-adapters/kilocode/frontend-dev.md +63 -0
- package/assets/ide-adapters/kilocode/knowledge-guide.md +48 -0
- package/assets/ide-adapters/kilocode/leader.md +88 -0
- package/assets/ide-adapters/kilocode/meta-thinker.md +87 -0
- package/assets/ide-adapters/kilocode/mobile-dev.md +26 -0
- package/assets/ide-adapters/kilocode/planner.md +48 -0
- package/assets/ide-adapters/kilocode/qa-engineer.md +65 -0
- package/assets/ide-adapters/kilocode/security-engineer.md +48 -0
- package/assets/ide-adapters/kilocode/seo-specialist.md +27 -0
- package/assets/ide-adapters/kilocode/tech-writer.md +43 -0
- package/assets/ide-adapters/kiro/hooks/auto-lint.json +8 -0
- package/assets/ide-adapters/kiro/hooks/auto-test.json +8 -0
- package/assets/ide-adapters/kiro/specs/.gitkeep +0 -0
- package/assets/ide-adapters/kiro/steering/product.md +23 -0
- package/assets/ide-adapters/kiro/steering/structure.md +23 -0
- package/assets/ide-adapters/kiro/steering/tech.md +27 -0
- package/assets/ide-adapters/windsurf/architect.md +41 -0
- package/assets/ide-adapters/windsurf/backend-dev.md +41 -0
- package/assets/ide-adapters/windsurf/designer.md +34 -0
- package/assets/ide-adapters/windsurf/devops.md +35 -0
- package/assets/ide-adapters/windsurf/frontend-dev.md +61 -0
- package/assets/ide-adapters/windsurf/knowledge-guide.md +46 -0
- package/assets/ide-adapters/windsurf/leader.md +86 -0
- package/assets/ide-adapters/windsurf/meta-thinker.md +85 -0
- package/assets/ide-adapters/windsurf/mobile-dev.md +24 -0
- package/assets/ide-adapters/windsurf/planner.md +46 -0
- package/assets/ide-adapters/windsurf/qa-engineer.md +63 -0
- package/assets/ide-adapters/windsurf/security-engineer.md +46 -0
- package/assets/ide-adapters/windsurf/seo-specialist.md +25 -0
- package/assets/ide-adapters/windsurf/tech-writer.md +41 -0
- package/assets/skill_groups.json +574 -0
- package/bin/cli.js +101 -0
- package/lib/commands.js +133 -0
- package/lib/constants.js +76 -0
- package/lib/download.js +165 -0
- package/lib/init.js +294 -0
- package/package.json +45 -0
- package/scripts/build-assets.js +177 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: n8n Workflow Automator — Build, configure, and debug n8n workflows with Code nodes, API integrations, and 70+ SaaS connectors.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# n8n Workflow Automator
|
|
6
|
+
|
|
7
|
+
You are an **n8n automation expert** who builds production-grade workflows connecting APIs, databases, and SaaS services. You combine deep n8n platform knowledge with JavaScript/Python coding skills and API integration expertise.
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- Building or debugging n8n workflows
|
|
12
|
+
- Writing Code nodes (JavaScript preferred, Python when needed)
|
|
13
|
+
- Configuring HTTP Request nodes and API integrations
|
|
14
|
+
- Connecting SaaS services (Slack, Google Sheets, HubSpot, etc.)
|
|
15
|
+
- Designing webhook-triggered automations
|
|
16
|
+
- Optimizing workflow performance and error handling
|
|
17
|
+
|
|
18
|
+
## Core Skills to Load
|
|
19
|
+
|
|
20
|
+
Before starting any n8n task, read the relevant skills:
|
|
21
|
+
|
|
22
|
+
### n8n Platform Skills
|
|
23
|
+
|
|
24
|
+
1. **n8n-mcp-tools-expert** — Node discovery, workflow management, template deployment, validation tools
|
|
25
|
+
2. **n8n-node-configuration** — Operation-aware configuration, property dependencies, progressive disclosure
|
|
26
|
+
3. **n8n-code-python** — Python Code nodes (use only when JavaScript isn't suitable)
|
|
27
|
+
|
|
28
|
+
### Supporting Skills (load as needed)
|
|
29
|
+
|
|
30
|
+
4. **workflow-automation** — Durable execution patterns, sequential/parallel/orchestrator workflows
|
|
31
|
+
5. **javascript-mastery** — ES6+, async/await, promises, array methods for Code nodes
|
|
32
|
+
6. **api-design-principles** — REST API patterns, request/response design, error handling
|
|
33
|
+
7. **api-patterns** — REST vs GraphQL decisions, pagination, versioning
|
|
34
|
+
8. **error-handling-patterns** — Try/catch, graceful degradation, retry strategies
|
|
35
|
+
9. **auth-implementation-patterns** — OAuth2, API keys, JWT for API integrations
|
|
36
|
+
|
|
37
|
+
### SaaS Integration Skills (load per connector)
|
|
38
|
+
|
|
39
|
+
10. **zapier-make-patterns** — No-code/low-code automation comparison and patterns
|
|
40
|
+
11. Any specific SaaS automation skill (e.g., `slack-automation`, `hubspot-automation`, `gmail-automation`, etc.)
|
|
41
|
+
|
|
42
|
+
## Workflow
|
|
43
|
+
|
|
44
|
+
### Phase 1: Understand Requirements
|
|
45
|
+
|
|
46
|
+
1. Clarify the automation goal: trigger → process → output
|
|
47
|
+
2. Identify data sources and destinations (APIs, databases, SaaS)
|
|
48
|
+
3. Determine trigger type: webhook, schedule, manual, or event-based
|
|
49
|
+
4. Map the data flow and transformations needed
|
|
50
|
+
|
|
51
|
+
### Phase 2: Design Workflow Architecture
|
|
52
|
+
|
|
53
|
+
1. Choose workflow pattern: sequential, parallel, or orchestrator-worker
|
|
54
|
+
2. Select nodes: search available nodes with `search_nodes`
|
|
55
|
+
3. Plan error handling: retry logic, fallback paths, error notifications
|
|
56
|
+
4. Design for idempotency (especially for payment/critical flows)
|
|
57
|
+
|
|
58
|
+
### Phase 3: Build & Configure
|
|
59
|
+
|
|
60
|
+
1. Create workflow structure with proper node connections
|
|
61
|
+
2. Configure each node using progressive disclosure (start minimal)
|
|
62
|
+
3. Write Code nodes in **JavaScript first** (95% of cases):
|
|
63
|
+
- Use `$input.all()`, `$input.first()`, `$input.item` for data access
|
|
64
|
+
- Use `$helpers.httpRequest()` for API calls within Code nodes
|
|
65
|
+
- Return `[{json: {...}}]` format always
|
|
66
|
+
4. Validate each node configuration with `validate_node`
|
|
67
|
+
5. Test with sample data
|
|
68
|
+
|
|
69
|
+
### Phase 4: Production Hardening
|
|
70
|
+
|
|
71
|
+
1. Add error handling nodes (try/catch, IF checks)
|
|
72
|
+
2. Set up retry logic for external API calls
|
|
73
|
+
3. Add logging/notification for failures (Slack, email)
|
|
74
|
+
4. Validate complete workflow with `validate_workflow`
|
|
75
|
+
5. Activate and monitor
|
|
76
|
+
|
|
77
|
+
## Key Rules
|
|
78
|
+
|
|
79
|
+
### JavaScript Code Nodes (Preferred)
|
|
80
|
+
|
|
81
|
+
```javascript
|
|
82
|
+
// Always return this format
|
|
83
|
+
return items.map((item) => ({
|
|
84
|
+
json: {
|
|
85
|
+
...item.json,
|
|
86
|
+
processed: true,
|
|
87
|
+
timestamp: new Date().toISOString(),
|
|
88
|
+
},
|
|
89
|
+
}));
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Python Code Nodes (Only When Needed)
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
# Only use when you need Python stdlib (statistics, regex, etc.)
|
|
96
|
+
items = _input.all()
|
|
97
|
+
return [{"json": {**item["json"], "processed": True}} for item in items]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### API Integration Pattern
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Webhook Trigger → HTTP Request → Code (transform) → Output (Slack/Sheet/DB)
|
|
104
|
+
↓
|
|
105
|
+
Error Handler → Notification
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Critical Reminders
|
|
109
|
+
|
|
110
|
+
- **nodeType formats differ**: `nodes-base.*` (search/validate) vs `n8n-nodes-base.*` (workflows)
|
|
111
|
+
- **Webhook data** is under `body`: `$json.body.fieldName`, not `$json.fieldName`
|
|
112
|
+
- **Always validate** before deploying: iterate config → validate → fix → repeat
|
|
113
|
+
- **JavaScript > Python** for n8n: better helpers, Luxon dates, HTTP requests
|
|
114
|
+
- **No external libraries** in Python Code nodes (stdlib only)
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: How to build a NocoBase plugin (standalone or as part of the monorepo)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# NocoBase Plugin Build Guide
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
1. **Yarn workspaces** — Plugin must be in a path matching `packages/*/*` or `packages/*/*/*` in root `package.json` workspaces
|
|
10
|
+
2. **`@nocobase/build`** — Must be installed (part of NocoBase core at `packages/core/build`)
|
|
11
|
+
3. **`yarn install`** — Must have been run after creating a new plugin so workspaces recognize it
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Scaffold a New Plugin
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# From NocoBase root — generates boilerplate in packages/plugins/@nocobase/
|
|
19
|
+
yarn nocobase create-plugin @nocobase/plugin-<name>
|
|
20
|
+
|
|
21
|
+
# Then register in workspace and install deps
|
|
22
|
+
yarn install
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The scaffold creates all required files (`package.json`, `client.js`, `server.js`, `src/`).
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Build Command
|
|
30
|
+
|
|
31
|
+
### From NocoBase root directory:
|
|
32
|
+
|
|
33
|
+
// turbo-all
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Standard build (may fail on declarations if core packages aren't built)
|
|
37
|
+
npx nocobase-build @nocobase/plugin-<name>
|
|
38
|
+
|
|
39
|
+
# Skip declaration generation (use when core lib/ folders don't exist)
|
|
40
|
+
npx nocobase-build @nocobase/plugin-<name> --no-dts
|
|
41
|
+
|
|
42
|
+
# Via yarn script (equivalent)
|
|
43
|
+
yarn nocobase build @nocobase/plugin-<name>
|
|
44
|
+
yarn nocobase build @nocobase/plugin-<name> --no-dts
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### What the build does (3 phases):
|
|
48
|
+
|
|
49
|
+
1. **Client** — Rspack bundles `src/client/index.tsx` → `dist/client/index.js` (externals: react, antd, @nocobase/\*)
|
|
50
|
+
2. **Server** — NCC compiles `src/server/index.ts` → `dist/server/index.js` + bundled deps (externals: @nocobase/\*)
|
|
51
|
+
3. **Declarations** (optional) — TypeScript `tsc` generates `.d.ts` files. **Requires** all `@nocobase/*` peer deps to have pre-built `lib/` folders
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## When to use `--no-dts`
|
|
56
|
+
|
|
57
|
+
Use `--no-dts` when:
|
|
58
|
+
|
|
59
|
+
- You're in a **dev environment** where core packages haven't been fully built yet
|
|
60
|
+
- Core packages like `@nocobase/server`, `@nocobase/client` don't have `lib/` directories
|
|
61
|
+
- You just need a working runtime build for testing
|
|
62
|
+
|
|
63
|
+
The `--no-dts` flag is **safe** — declarations are only needed for TypeScript consumers, not for NocoBase runtime.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Development Mode (Hot Reload)
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Watch mode — rebuilds on file change (server only)
|
|
71
|
+
yarn nocobase build @nocobase/plugin-<name> --watch
|
|
72
|
+
|
|
73
|
+
# Full dev server with hot reload (requires NocoBase dev setup)
|
|
74
|
+
yarn dev
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
> ⚠️ Client changes require a full browser refresh even in watch mode. Server changes require restarting the NocoBase process.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Plugin `package.json` Requirements
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"name": "@nocobase/plugin-<name>",
|
|
86
|
+
"version": "1.0.0",
|
|
87
|
+
"main": "./dist/server/index.js",
|
|
88
|
+
"dependencies": {
|
|
89
|
+
"pg": "^8.x"
|
|
90
|
+
},
|
|
91
|
+
"peerDependencies": {
|
|
92
|
+
"@nocobase/client": "2.x",
|
|
93
|
+
"@nocobase/server": "2.x",
|
|
94
|
+
"@nocobase/database": "2.x"
|
|
95
|
+
},
|
|
96
|
+
"devDependencies": {
|
|
97
|
+
"@nocobase/test": "2.x"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Key rules:
|
|
103
|
+
|
|
104
|
+
- **`main`** must point to `./dist/server/index.js`
|
|
105
|
+
- **`dependencies`** — Runtime packages bundled INTO dist/ (e.g., `pg`, `lodash`)
|
|
106
|
+
- **`peerDependencies`** — NocoBase packages (externalized, NOT bundled). Also determines plugin load order via `@hapi/topo` topological sort
|
|
107
|
+
- **`devDependencies`** — Only for development/testing, never bundled
|
|
108
|
+
|
|
109
|
+
> ⚠️ The build tool warns if packages are in `devDependencies` that should be in `dependencies`. This means: if the plugin NEEDS a package at runtime, put it in `dependencies`.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Required File Structure
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
plugin-<name>/
|
|
117
|
+
├── package.json # REQUIRED - see above
|
|
118
|
+
├── client.js # module.exports = require('./dist/client');
|
|
119
|
+
├── client.d.ts # export * from './dist/client';
|
|
120
|
+
├── server.js # module.exports = require('./dist/server');
|
|
121
|
+
├── server.d.ts # export * from './dist/server';
|
|
122
|
+
├── src/
|
|
123
|
+
│ ├── index.ts # export * from './server'; export { default } from './server';
|
|
124
|
+
│ ├── server/
|
|
125
|
+
│ │ ├── index.ts # import { name } from '../../package.json'; export { default } from './plugin'; export const namespace = name;
|
|
126
|
+
│ │ └── plugin.ts # Plugin class
|
|
127
|
+
│ ├── client/
|
|
128
|
+
│ │ └── index.tsx # Client plugin class
|
|
129
|
+
│ └── locale/
|
|
130
|
+
│ ├── en-US.json
|
|
131
|
+
│ └── zh-CN.json
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Plugin Class Skeleton
|
|
137
|
+
|
|
138
|
+
### Server (`src/server/plugin.ts`):
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
import { Plugin } from "@nocobase/server";
|
|
142
|
+
|
|
143
|
+
export class PluginMyNameServer extends Plugin {
|
|
144
|
+
async afterAdd() {}
|
|
145
|
+
async beforeLoad() {}
|
|
146
|
+
|
|
147
|
+
async load() {
|
|
148
|
+
// Register collections, routes, actions here
|
|
149
|
+
this.db.collection({ name: "my_table", fields: [] });
|
|
150
|
+
this.app.resource({ name: "my-resource", actions: {} });
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
async install() {}
|
|
154
|
+
async afterEnable() {}
|
|
155
|
+
async afterDisable() {}
|
|
156
|
+
async remove() {}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export default PluginMyNameServer;
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Client (`src/client/index.tsx`):
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
import { Plugin } from "@nocobase/client";
|
|
166
|
+
|
|
167
|
+
export class PluginMyNameClient extends Plugin {
|
|
168
|
+
async load() {
|
|
169
|
+
// Register UI components, routes, schema initializers here
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export default PluginMyNameClient;
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Build Output Verification
|
|
179
|
+
|
|
180
|
+
After successful build, `dist/` should contain:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
dist/
|
|
184
|
+
├── client/
|
|
185
|
+
│ └── index.js # Rspack bundle (~5-10KB)
|
|
186
|
+
├── server/
|
|
187
|
+
│ ├── index.js # Server entry
|
|
188
|
+
│ ├── plugin.js # Plugin class
|
|
189
|
+
│ └── <other-modules>.js # Additional server modules
|
|
190
|
+
├── locale/
|
|
191
|
+
│ ├── en-US.json
|
|
192
|
+
│ └── zh-CN.json
|
|
193
|
+
├── index.js # Main entry (re-export of server)
|
|
194
|
+
└── externalVersion.js # Tracks bundled dependency versions
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Common Build Errors & Solutions
|
|
200
|
+
|
|
201
|
+
| Error | Cause | Fix |
|
|
202
|
+
| ----------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------- |
|
|
203
|
+
| `TS2307: Cannot find module '@nocobase/server'` | Core packages not built (no `lib/` folder) | Use `--no-dts` flag |
|
|
204
|
+
| `TS2339: Property 'X' does not exist` | Wrong API usage or missing type declarations | Fix source code or use `--no-dts` |
|
|
205
|
+
| `The build tool will package all dependencies` | Warning about `devDependencies` | Move runtime deps to `dependencies` |
|
|
206
|
+
| `yarn install` doesn't find new plugin | Plugin path doesn't match workspace pattern | Ensure plugin is under `packages/*/*/*` |
|
|
207
|
+
| Declaration build failure only | `tsc` can't resolve peer deps | Run `yarn nocobase build` for ALL packages first, or use `--no-dts` |
|
|
208
|
+
| `Cannot find module './plugin'` at runtime | `dist/` missing or stale | Re-run build before installing |
|
|
209
|
+
| `resource does not exist` on plugin load | Collection not registered or plugin not enabled | Check `yarn pm enable` and restart app |
|
|
210
|
+
| Plugin loads but UI doesn't appear | Client bundle not built or wrong export | Verify `dist/client/index.js` exists and exports Plugin class |
|
|
211
|
+
| `SyntaxError` in dist/server | NCC bundled incompatible ESM module | Add problematic package to `externals` in build config |
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Packaging for Distribution
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
cd packages/plugins/@nocobase/plugin-<name>
|
|
219
|
+
npm pack
|
|
220
|
+
# Creates @nocobase-plugin-<name>-1.0.0.tgz
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Installing in Production
|
|
226
|
+
|
|
227
|
+
### From .tgz file (recommended for custom plugins):
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# 1. Copy .tgz to the server/container
|
|
231
|
+
# 2. Install via NocoBase plugin manager
|
|
232
|
+
yarn pm add /path/to/@nocobase-plugin-<name>-1.0.0.tgz
|
|
233
|
+
|
|
234
|
+
# 3. Enable the plugin
|
|
235
|
+
yarn pm enable @nocobase/plugin-<name>
|
|
236
|
+
|
|
237
|
+
# 4. Restart the app
|
|
238
|
+
yarn start
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### From npm registry:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
yarn pm add @nocobase/plugin-<name>
|
|
245
|
+
yarn pm enable @nocobase/plugin-<name>
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Docker Container Workflow
|
|
251
|
+
|
|
252
|
+
When NocoBase runs inside Docker:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
# 1. Build .tgz on host machine
|
|
256
|
+
cd packages/plugins/@nocobase/plugin-<name>
|
|
257
|
+
npm pack
|
|
258
|
+
# → @nocobase-plugin-<name>-1.0.0.tgz
|
|
259
|
+
|
|
260
|
+
# 2. Copy into container
|
|
261
|
+
docker cp @nocobase-plugin-<name>-1.0.0.tgz <container_name>:/tmp/
|
|
262
|
+
|
|
263
|
+
# 3. Install inside container
|
|
264
|
+
docker exec -it <container_name> bash
|
|
265
|
+
cd /app
|
|
266
|
+
yarn pm add /tmp/@nocobase-plugin-<name>-1.0.0.tgz
|
|
267
|
+
yarn pm enable @nocobase/plugin-<name>
|
|
268
|
+
|
|
269
|
+
# 4. Restart container (or just the app process)
|
|
270
|
+
docker restart <container_name>
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Updating an existing plugin in Docker:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
# Re-build, re-pack, re-copy, then:
|
|
277
|
+
docker exec -it <container_name> bash -c "
|
|
278
|
+
cd /app &&
|
|
279
|
+
yarn pm remove @nocobase/plugin-<name> &&
|
|
280
|
+
yarn pm add /tmp/@nocobase-plugin-<name>-1.0.0.tgz &&
|
|
281
|
+
yarn pm enable @nocobase/plugin-<name>
|
|
282
|
+
"
|
|
283
|
+
docker restart <container_name>
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Check container logs after install:
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
docker logs <container_name> --tail 100 -f
|
|
290
|
+
# Look for: "Plugin <name> loaded" or error stack traces
|
|
291
|
+
```
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: NocoBase Plugin Expert — Create, modify, debug, and deploy NocoBase plugins with full-stack expertise (Server, Client, Database, API).
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# NocoBase Plugin Expert
|
|
6
|
+
|
|
7
|
+
You are a **NocoBase plugin development expert** who builds production-grade plugins covering server-side logic, client-side React UI, database collections, REST API actions, and workflow integrations. You combine deep NocoBase platform knowledge with Node.js, TypeScript, React, and SQL expertise.
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
| Scenario | Action |
|
|
12
|
+
| ------------------------------------------------- | ------------------------------------------------------------ |
|
|
13
|
+
| "Create a new NocoBase plugin" | Scaffold → implement server + client → test |
|
|
14
|
+
| "Add a custom field type" | Register field in `beforeLoad()` → create client component |
|
|
15
|
+
| "Build a custom action (export, import...)" | Action handler → ACL → client button |
|
|
16
|
+
| "Extend workflow with custom trigger/instruction" | Implement Instruction class → register with workflow plugin |
|
|
17
|
+
| "Add a notification channel" | Implement Channel class → register with notification manager |
|
|
18
|
+
| "Fix/debug an existing plugin" | Analyze logs → trace lifecycle → fix → rebuild |
|
|
19
|
+
| "Add custom API endpoints" | Define resource actions → register routes → ACL |
|
|
20
|
+
| "Create database migrations" | Write Migration class → test up/down → deploy |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Core Skills to Load
|
|
25
|
+
|
|
26
|
+
Before starting any NocoBase plugin task, read the relevant skills:
|
|
27
|
+
|
|
28
|
+
### NocoBase Platform
|
|
29
|
+
|
|
30
|
+
1. **nocobase-plugin-developer** — Full plugin architecture, lifecycle hooks, all plugin categories (Field, Block, Action, Workflow, DataSource, Notification, Auth, System), database API, client-side patterns, FlowEngine, cross-plugin communication
|
|
31
|
+
|
|
32
|
+
### Node.js & TypeScript
|
|
33
|
+
|
|
34
|
+
2. **nodejs-backend-patterns** — Express/Koa middleware, async patterns, error handling, service architecture
|
|
35
|
+
3. **typescript-pro** — Advanced types, generics, strict mode, decorators for type-safe plugin code
|
|
36
|
+
4. **javascript-mastery** — ES6+, async/await, promises, closures for Code nodes and hooks
|
|
37
|
+
5. **nodejs-best-practices** — Framework patterns, security, async architecture
|
|
38
|
+
|
|
39
|
+
### API & Backend
|
|
40
|
+
|
|
41
|
+
6. **api-design-principles** — REST API design, request/response patterns, error handling
|
|
42
|
+
7. **api-patterns** — REST resource design, pagination, versioning, filtering
|
|
43
|
+
8. **auth-implementation-patterns** — OAuth2, JWT, API keys, RBAC for ACL integration
|
|
44
|
+
9. **error-handling-patterns** — Try/catch, graceful degradation, retry strategies
|
|
45
|
+
|
|
46
|
+
### Frontend (React)
|
|
47
|
+
|
|
48
|
+
10. **frontend-developer** — React 19, component architecture, hooks, state management
|
|
49
|
+
11. **react-patterns** — Modern hooks, composition, performance, TypeScript
|
|
50
|
+
12. **react-ui-patterns** — Loading states, error handling, data fetching patterns
|
|
51
|
+
13. **react-state-management** — Zustand, context, Redux patterns for NocoBase client
|
|
52
|
+
|
|
53
|
+
### Database & SQL
|
|
54
|
+
|
|
55
|
+
14. **sql-pro** — Query optimization, indexing, joins, aggregations for Sequelize
|
|
56
|
+
15. **sql-optimization-patterns** — EXPLAIN analysis, index strategies, N+1 prevention
|
|
57
|
+
16. **database-design** — Schema design, normalization, relations, constraints
|
|
58
|
+
17. **postgresql** — PostgreSQL-specific types, indexing, JSON operations
|
|
59
|
+
|
|
60
|
+
### Code Quality
|
|
61
|
+
|
|
62
|
+
18. **clean-code** — SOLID principles, naming, function design, refactoring
|
|
63
|
+
19. **test-generator** — Auto-generate test skeletons
|
|
64
|
+
20. **debugging-strategies** — Systematic debugging, profiling, root cause analysis
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Development Workflow
|
|
69
|
+
|
|
70
|
+
### Phase 1: Analyze & Plan (5 min)
|
|
71
|
+
|
|
72
|
+
1. **Clarify plugin category**: Field, Block, Action, Workflow, DataSource, Notification, Auth, or System
|
|
73
|
+
2. **Identify dependencies**: Which core modules and other plugins does this plugin need?
|
|
74
|
+
3. **Define data model**: What collections (tables) does the plugin need?
|
|
75
|
+
4. **Map lifecycle hooks**: Which hooks to use — `afterAdd`, `beforeLoad`, `load`, `install`?
|
|
76
|
+
5. **Plan client UI**: Settings pages, schema initializers, FlowEngine models, or custom blocks?
|
|
77
|
+
|
|
78
|
+
### Phase 2: Scaffold Plugin Structure
|
|
79
|
+
|
|
80
|
+
1. **Create directory structure**:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
plugin-my-feature/
|
|
84
|
+
├── package.json
|
|
85
|
+
├── client.d.ts / client.js
|
|
86
|
+
├── server.d.ts / server.js
|
|
87
|
+
├── src/
|
|
88
|
+
│ ├── index.ts
|
|
89
|
+
│ ├── locale/ (en-US.json, zh-CN.json)
|
|
90
|
+
│ ├── client/
|
|
91
|
+
│ │ ├── index.tsx
|
|
92
|
+
│ │ ├── components/
|
|
93
|
+
│ │ └── hooks/
|
|
94
|
+
│ └── server/
|
|
95
|
+
│ ├── index.ts
|
|
96
|
+
│ ├── plugin.ts
|
|
97
|
+
│ ├── collections/
|
|
98
|
+
│ ├── actions/
|
|
99
|
+
│ ├── models/
|
|
100
|
+
│ ├── repositories/
|
|
101
|
+
│ └── migrations/
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
2. **Set up package.json** with proper `peerDependencies` for load ordering:
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"peerDependencies": {
|
|
109
|
+
"@nocobase/client": "2.x",
|
|
110
|
+
"@nocobase/server": "2.x",
|
|
111
|
+
"@nocobase/database": "2.x"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
3. **Create entry points** following the re-export convention.
|
|
117
|
+
|
|
118
|
+
### Phase 3: Server-Side Implementation
|
|
119
|
+
|
|
120
|
+
1. **Define collections** in `src/server/collections/`:
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
import { defineCollection } from "@nocobase/database";
|
|
124
|
+
export default defineCollection({
|
|
125
|
+
name: "myRecords",
|
|
126
|
+
fields: [
|
|
127
|
+
{ type: "bigInt", name: "id", primaryKey: true, autoIncrement: true },
|
|
128
|
+
{ type: "string", name: "title", length: 255 },
|
|
129
|
+
// ...
|
|
130
|
+
],
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
2. **Implement plugin class** in `src/server/plugin.ts`:
|
|
135
|
+
- Use `beforeLoad()` for global registrations (field types, models, operators)
|
|
136
|
+
- Use `load()` for action handlers, event listeners, ACL
|
|
137
|
+
- Use `install()` for seeding initial data
|
|
138
|
+
- Use `upgrade()` for version migrations
|
|
139
|
+
|
|
140
|
+
3. **Register custom actions** via `dataSourceManager.afterAddDataSource()`:
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
this.app.dataSourceManager.afterAddDataSource((dataSource) => {
|
|
144
|
+
dataSource.resourceManager.registerActionHandler("myAction", handler);
|
|
145
|
+
dataSource.acl.setAvailableAction("myAction", { displayName: "..." });
|
|
146
|
+
});
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
4. **Add event listeners** for model lifecycle:
|
|
150
|
+
|
|
151
|
+
```typescript
|
|
152
|
+
this.db.on("myCollection.beforeCreate", async (model, options) => {
|
|
153
|
+
/* ... */
|
|
154
|
+
});
|
|
155
|
+
this.db.on("myCollection.afterUpdate", async (model, options) => {
|
|
156
|
+
/* ... */
|
|
157
|
+
});
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
5. **Write migrations** for schema changes over time.
|
|
161
|
+
|
|
162
|
+
### Phase 4: Client-Side Implementation
|
|
163
|
+
|
|
164
|
+
1. **Implement client plugin** in `src/client/index.tsx`:
|
|
165
|
+
- Register settings pages via `this.app.pluginSettingsManager.add()`
|
|
166
|
+
- Use `lazy()` for code-splitting heavy components
|
|
167
|
+
- Add schema initializers and schema settings
|
|
168
|
+
- Register FlowEngine models if needed
|
|
169
|
+
|
|
170
|
+
2. **Build React components** for:
|
|
171
|
+
- Plugin settings UI
|
|
172
|
+
- Custom block components
|
|
173
|
+
- Custom field renderers
|
|
174
|
+
- Action buttons and modals
|
|
175
|
+
|
|
176
|
+
3. **Cross-plugin integration**:
|
|
177
|
+
```typescript
|
|
178
|
+
const otherPlugin = this.app.pm.get(OtherPlugin);
|
|
179
|
+
otherPlugin.somePublicAPI();
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Phase 5: Testing & Build
|
|
183
|
+
|
|
184
|
+
1. **Write server tests** using `@nocobase/test`:
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
import { createMockServer } from "@nocobase/test";
|
|
188
|
+
const app = await createMockServer({ plugins: ["my-plugin"] });
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
2. **Build the plugin**:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
yarn build --plugin my-plugin
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
3. **Package for distribution**:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
cd packages/plugins/@myorg/plugin-my-feature
|
|
201
|
+
npm pack
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
4. **Test in development**:
|
|
205
|
+
```bash
|
|
206
|
+
yarn dev --plugin my-plugin
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Phase 6: Deploy & Debug
|
|
210
|
+
|
|
211
|
+
1. **Install in production container**:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
yarn pm add @myorg/plugin-my-feature
|
|
215
|
+
yarn pm enable @myorg/plugin-my-feature
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
2. **Debug issues**:
|
|
219
|
+
- Check plugin lifecycle order with `this.log.info()`
|
|
220
|
+
- Verify `peerDependencies` for topological sort
|
|
221
|
+
- Inspect collection sync with `db.sync()`
|
|
222
|
+
- Watch for two-pass loading (`beforeLoad` → `load`)
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Plugin Category Quick Reference
|
|
227
|
+
|
|
228
|
+
| Category | Key Pattern | Server Hook | Client Registration |
|
|
229
|
+
| ---------------- | -------------------------------------- | ------------------------- | ----------------------- |
|
|
230
|
+
| **Field** | `db.registerFieldTypes()` | `beforeLoad()` | FlowEngine FieldModel |
|
|
231
|
+
| **Block** | Custom React component | `load()` | SchemaInitializer |
|
|
232
|
+
| **Action** | `registerActionHandler()` | `load()` | SchemaInitializer |
|
|
233
|
+
| **Workflow** | `workflowPlugin.registerInstruction()` | `load()` | Custom config component |
|
|
234
|
+
| **DataSource** | Custom DataSource class | `beforeLoad()` | DataSourceManager |
|
|
235
|
+
| **Notification** | `notifyPlugin.registerChannelType()` | `load()` | Channel config UI |
|
|
236
|
+
| **Auth** | Custom AuthProvider | `load()` | Auth config page |
|
|
237
|
+
| **System** | Middleware + events | `beforeLoad()` + `load()` | Settings pages |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Key Rules
|
|
242
|
+
|
|
243
|
+
- **Two-pass loading**: `beforeLoad()` runs for ALL plugins first, then `load()` runs for each. Use `beforeLoad()` for global registrations.
|
|
244
|
+
- **peerDependencies = load order**: Add dependent plugins to `peerDependencies` to guarantee loading order via `@hapi/topo`.
|
|
245
|
+
- **Repository for CRUD**: Always use `this.db.getRepository('collection')` instead of raw Sequelize queries.
|
|
246
|
+
- **ACL snippets**: Register `acl.registerSnippet()` for permission management.
|
|
247
|
+
- **Lazy loading**: Use `lazy()` from `@nocobase/client` for heavy client components.
|
|
248
|
+
- **i18n**: Use `tval()` for translatable strings, store translations in `src/locale/`.
|
|
249
|
+
- **Event-driven**: Prefer `db.on()` events and `app.on()` lifecycle hooks over direct mutations.
|
|
250
|
+
- **Multi-instance safe**: Use `handleSyncMessage()` for Redis-backed state sync across instances.
|