specweave 0.4.1 → 0.6.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/.claude-plugin/README.md +325 -0
- package/.claude-plugin/marketplace.json +210 -0
- package/CLAUDE.md +871 -596
- package/README.md +188 -137
- package/bin/install-agents.sh +1 -1
- package/bin/install-commands.sh +66 -14
- package/bin/install-hooks.sh +1 -1
- package/bin/install-skills.sh +1 -1
- package/bin/specweave.js +2 -0
- package/dist/adapters/claude/adapter.d.ts +49 -11
- package/dist/adapters/claude/adapter.d.ts.map +1 -1
- package/dist/adapters/claude/adapter.js +175 -42
- package/dist/adapters/claude/adapter.js.map +1 -1
- package/dist/adapters/copilot/adapter.d.ts +20 -2
- package/dist/adapters/copilot/adapter.d.ts.map +1 -1
- package/dist/adapters/copilot/adapter.js +117 -7
- package/dist/adapters/copilot/adapter.js.map +1 -1
- package/dist/adapters/cursor/adapter.d.ts +18 -0
- package/dist/adapters/cursor/adapter.d.ts.map +1 -1
- package/dist/adapters/cursor/adapter.js +55 -3
- package/dist/adapters/cursor/adapter.js.map +1 -1
- package/dist/adapters/generic/adapter.d.ts +18 -0
- package/dist/adapters/generic/adapter.d.ts.map +1 -1
- package/dist/adapters/generic/adapter.js +55 -3
- package/dist/adapters/generic/adapter.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +346 -124
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts +2 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +28 -25
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts +2 -0
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +26 -24
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts +7 -1
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +72 -61
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/core/i18n/language-detector.d.ts +29 -0
- package/dist/core/i18n/language-detector.d.ts.map +1 -0
- package/dist/core/i18n/language-detector.js +143 -0
- package/dist/core/i18n/language-detector.js.map +1 -0
- package/dist/core/i18n/language-manager.d.ts +101 -0
- package/dist/core/i18n/language-manager.d.ts.map +1 -0
- package/dist/core/i18n/language-manager.js +232 -0
- package/dist/core/i18n/language-manager.js.map +1 -0
- package/dist/core/i18n/language-registry.d.ts +44 -0
- package/dist/core/i18n/language-registry.d.ts.map +1 -0
- package/dist/core/i18n/language-registry.js +234 -0
- package/dist/core/i18n/language-registry.js.map +1 -0
- package/dist/core/i18n/locale-manager.d.ts +62 -0
- package/dist/core/i18n/locale-manager.d.ts.map +1 -0
- package/dist/core/i18n/locale-manager.js +137 -0
- package/dist/core/i18n/locale-manager.js.map +1 -0
- package/dist/core/i18n/system-prompt-injector.d.ts +33 -0
- package/dist/core/i18n/system-prompt-injector.d.ts.map +1 -0
- package/dist/core/i18n/system-prompt-injector.js +131 -0
- package/dist/core/i18n/system-prompt-injector.js.map +1 -0
- package/dist/core/i18n/types.d.ts +151 -0
- package/dist/core/i18n/types.d.ts.map +1 -0
- package/dist/core/i18n/types.js +11 -0
- package/dist/core/i18n/types.js.map +1 -0
- package/dist/core/increment-status.d.ts +72 -0
- package/dist/core/increment-status.d.ts.map +1 -0
- package/dist/core/increment-status.js +227 -0
- package/dist/core/increment-status.js.map +1 -0
- package/dist/core/plugin-loader.d.ts +33 -13
- package/dist/core/plugin-loader.d.ts.map +1 -1
- package/dist/core/plugin-loader.js +145 -43
- package/dist/core/plugin-loader.js.map +1 -1
- package/dist/core/types/config.d.ts +51 -0
- package/dist/core/types/config.d.ts.map +1 -0
- package/dist/core/types/config.js +21 -0
- package/dist/core/types/config.js.map +1 -0
- package/dist/core/types/plugin.d.ts +73 -42
- package/dist/core/types/plugin.d.ts.map +1 -1
- package/dist/core/types/plugin.js +4 -3
- package/dist/core/types/plugin.js.map +1 -1
- package/dist/hooks/lib/sync-living-docs.d.ts +27 -0
- package/dist/hooks/lib/sync-living-docs.d.ts.map +1 -0
- package/dist/hooks/lib/sync-living-docs.js +116 -0
- package/dist/hooks/lib/sync-living-docs.js.map +1 -0
- package/dist/hooks/lib/translate-living-docs.d.ts +13 -0
- package/dist/hooks/lib/translate-living-docs.d.ts.map +1 -0
- package/dist/hooks/lib/translate-living-docs.js +166 -0
- package/dist/hooks/lib/translate-living-docs.js.map +1 -0
- package/dist/hooks/lib/update-tasks-md.d.ts +29 -0
- package/dist/hooks/lib/update-tasks-md.d.ts.map +1 -0
- package/dist/hooks/lib/update-tasks-md.js +203 -0
- package/dist/hooks/lib/update-tasks-md.js.map +1 -0
- package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -1
- package/dist/integrations/jira/jira-mapper.js.map +1 -1
- package/dist/locales/de/.gitkeep +0 -0
- package/dist/locales/de/cli.json +108 -0
- package/dist/locales/en/cli.json +269 -0
- package/dist/locales/en/errors.json +7 -0
- package/dist/locales/en/templates.json +6 -0
- package/dist/locales/es/.gitkeep +0 -0
- package/dist/locales/es/cli.json +41 -0
- package/dist/locales/fr/.gitkeep +0 -0
- package/dist/locales/fr/cli.json +108 -0
- package/dist/locales/ja/.gitkeep +0 -0
- package/dist/locales/ja/cli.json +108 -0
- package/dist/locales/ko/.gitkeep +0 -0
- package/dist/locales/ko/cli.json +108 -0
- package/dist/locales/pt/.gitkeep +0 -0
- package/dist/locales/pt/cli.json +108 -0
- package/dist/locales/ru/.gitkeep +0 -0
- package/dist/locales/ru/cli.json +269 -0
- package/dist/locales/zh/.gitkeep +0 -0
- package/dist/locales/zh/cli.json +108 -0
- package/dist/plugins/specweave-github/lib/github-client.d.ts +86 -0
- package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client.js +275 -0
- package/dist/plugins/specweave-github/lib/github-client.js.map +1 -0
- package/dist/plugins/specweave-github/lib/index.d.ts +10 -0
- package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/index.js +10 -0
- package/dist/plugins/specweave-github/lib/index.js.map +1 -0
- package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +51 -0
- package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/subtask-sync.js +147 -0
- package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/task-parser.d.ts +37 -0
- package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/task-parser.js +211 -0
- package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -0
- package/dist/plugins/specweave-github/lib/task-sync.d.ts +51 -0
- package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/task-sync.js +332 -0
- package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -0
- package/dist/plugins/specweave-github/lib/types.d.ts +80 -0
- package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/types.js +5 -0
- package/dist/plugins/specweave-github/lib/types.js.map +1 -0
- package/dist/utils/agents-md-compiler.d.ts +68 -0
- package/dist/utils/agents-md-compiler.d.ts.map +1 -0
- package/dist/utils/agents-md-compiler.js +420 -0
- package/dist/utils/agents-md-compiler.js.map +1 -0
- package/dist/utils/generate-skills-index.js +4 -4
- package/dist/utils/generate-skills-index.js.map +1 -1
- package/package.json +12 -13
- package/plugins/specweave-ado/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-alternatives/skills/bmad-method-expert/SKILL.md +626 -0
- package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
- package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/check-setup.js +208 -0
- package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
- package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
- package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +1010 -0
- package/plugins/specweave-backend/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-core/.claude-plugin/plugin.json +25 -0
- package/{src → plugins/specweave-core}/agents/pm/AGENT.md +80 -0
- package/plugins/specweave-core/agents/translator/AGENT.md +282 -0
- package/{src → plugins/specweave-core}/commands/README.md +11 -11
- package/{src → plugins/specweave-core}/commands/specweave.costs.md +7 -7
- package/{src → plugins/specweave-core}/commands/specweave.do.md +34 -7
- package/{src → plugins/specweave-core}/commands/specweave.increment.md +83 -18
- package/{src → plugins/specweave-core}/commands/specweave.md +49 -17
- package/{src → plugins/specweave-core}/commands/specweave.sync-docs.md +5 -5
- package/plugins/specweave-core/commands/specweave.translate.md +425 -0
- package/{src → plugins/specweave-core}/commands/specweave.validate.md +1 -1
- package/plugins/specweave-core/hooks/hooks.json +13 -0
- package/plugins/specweave-core/hooks/post-task-completion.sh +265 -0
- package/plugins/specweave-core/skills/SKILLS-INDEX.md +229 -0
- package/{src → plugins/specweave-core}/skills/brownfield-analyzer/SKILL.md +66 -24
- package/{src → plugins/specweave-core}/skills/context-loader/SKILL.md +1 -1
- package/plugins/specweave-core/skills/context-optimizer/SKILL.md +588 -0
- package/plugins/specweave-core/skills/docs-updater/SKILL.md +0 -0
- package/{src → plugins/specweave-core}/skills/increment-planner/SKILL.md +81 -4
- package/plugins/specweave-core/skills/plugin-detector/SKILL.md +211 -0
- package/{src → plugins/specweave-core}/skills/project-kickstarter/SKILL.md +7 -7
- package/plugins/specweave-core/skills/rfc-generator/SKILL.md +369 -0
- package/{src → plugins/specweave-core}/skills/specweave-detector/SKILL.md +2 -2
- package/plugins/specweave-core/skills/specweave-framework/SKILL.md +498 -0
- package/plugins/specweave-core/skills/specweave-framework/test-cases/test-1-increment-naming.yaml +11 -0
- package/plugins/specweave-core/skills/specweave-framework/test-cases/test-2-source-of-truth.yaml +11 -0
- package/plugins/specweave-core/skills/specweave-framework/test-cases/test-3-increment-discipline.yaml +12 -0
- package/plugins/specweave-core/skills/specweave-framework/test-cases/test-4-file-placement.yaml +11 -0
- package/{src → plugins/specweave-core}/skills/tdd-workflow/SKILL.md +20 -20
- package/plugins/specweave-core/skills/translator/SKILL.md +172 -0
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-docs/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +526 -0
- package/plugins/specweave-figma/.claude-plugin/.mcp.json +12 -0
- package/plugins/specweave-figma/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-figma/ARCHITECTURE.md +453 -0
- package/plugins/specweave-figma/README.md +728 -0
- package/plugins/specweave-figma/skills/figma-to-code/SKILL.md +632 -0
- package/plugins/specweave-figma/skills/figma-to-code/test-1-token-generation.yaml +29 -0
- package/plugins/specweave-figma/skills/figma-to-code/test-2-component-generation.yaml +27 -0
- package/plugins/specweave-figma/skills/figma-to-code/test-3-typescript-generation.yaml +28 -0
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-github/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-github/agents/github-manager/AGENT.md +651 -0
- package/plugins/specweave-github/commands/github-close-issue.md +418 -0
- package/plugins/specweave-github/commands/github-create-issue.md +307 -0
- package/plugins/specweave-github/commands/github-status.md +533 -0
- package/plugins/specweave-github/commands/github-sync-tasks.md +530 -0
- package/plugins/specweave-github/commands/github-sync.md +443 -0
- package/plugins/specweave-github/lib/github-client.ts +330 -0
- package/plugins/specweave-github/lib/index.ts +10 -0
- package/plugins/specweave-github/lib/subtask-sync.ts +225 -0
- package/plugins/specweave-github/lib/task-parser.ts +246 -0
- package/plugins/specweave-github/lib/task-sync.ts +402 -0
- package/plugins/specweave-github/lib/types.ts +86 -0
- package/plugins/specweave-github/skills/github-issue-tracker/SKILL.md +497 -0
- package/plugins/specweave-github/skills/github-sync/SKILL.md +461 -0
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-jira/.claude-plugin/plugin.json +8 -0
- package/{src → plugins/specweave-jira}/commands/specweave.sync-jira.md +18 -18
- package/plugins/specweave-kubernetes/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-ml/.claude-plugin/plugin.json +39 -0
- package/plugins/specweave-ml/README.md +885 -0
- package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +402 -0
- package/plugins/specweave-ml/commands/ml-deploy.md +116 -0
- package/plugins/specweave-ml/commands/ml-evaluate.md +87 -0
- package/plugins/specweave-ml/commands/ml-explain.md +83 -0
- package/plugins/specweave-ml/skills/anomaly-detector/SKILL.md +559 -0
- package/plugins/specweave-ml/skills/automl-optimizer/SKILL.md +485 -0
- package/plugins/specweave-ml/skills/cv-pipeline-builder/SKILL.md +157 -0
- package/plugins/specweave-ml/skills/data-visualizer/SKILL.md +521 -0
- package/plugins/specweave-ml/skills/experiment-tracker/SKILL.md +535 -0
- package/plugins/specweave-ml/skills/feature-engineer/SKILL.md +566 -0
- package/plugins/specweave-ml/skills/ml-deployment-helper/SKILL.md +345 -0
- package/plugins/specweave-ml/skills/ml-pipeline-orchestrator/SKILL.md +518 -0
- package/plugins/specweave-ml/skills/model-evaluator/SKILL.md +155 -0
- package/plugins/specweave-ml/skills/model-explainer/SKILL.md +227 -0
- package/plugins/specweave-ml/skills/model-registry/SKILL.md +541 -0
- package/plugins/specweave-ml/skills/nlp-pipeline-builder/SKILL.md +180 -0
- package/plugins/specweave-ml/skills/time-series-forecaster/SKILL.md +569 -0
- package/plugins/specweave-payments/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-testing/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-tooling/.claude-plugin/plugin.json +8 -0
- package/plugins/specweave-ui/.claude-plugin/plugin.json +106 -0
- package/plugins/specweave-ui/.mcp.json +14 -0
- package/plugins/specweave-ui/README.md +386 -0
- package/src/adapters/claude/adapter.ts +193 -46
- package/src/adapters/copilot/adapter.ts +132 -7
- package/src/adapters/cursor/adapter.ts +62 -3
- package/src/adapters/generic/adapter.ts +62 -3
- package/src/templates/AGENTS.md.template +170 -1
- package/src/templates/CLAUDE.md.template +122 -24
- package/src/templates/tasks.md.template +261 -0
- package/src/agents/ml-engineer/AGENT.md +0 -150
- package/src/commands/specweave.sync-github.md +0 -269
- package/src/hooks/post-task-completion.sh +0 -121
- package/src/skills/SKILLS-INDEX.md +0 -444
- package/src/skills/github-sync/SKILL.md +0 -234
- /package/{src → plugins/specweave-ado}/skills/ado-sync/README.md +0 -0
- /package/{src → plugins/specweave-ado}/skills/ado-sync/SKILL.md +0 -0
- /package/{src → plugins/specweave-ado}/skills/specweave-ado-mapper/SKILL.md +0 -0
- /package/{src → plugins/specweave-backend}/agents/database-optimizer/AGENT.md +0 -0
- /package/{src → plugins/specweave-backend}/skills/dotnet-backend/SKILL.md +0 -0
- /package/{src → plugins/specweave-backend}/skills/nodejs-backend/SKILL.md +0 -0
- /package/{src → plugins/specweave-backend}/skills/python-backend/SKILL.md +0 -0
- /package/{src → plugins/specweave-core}/agents/architect/AGENT.md +0 -0
- /package/{src → plugins/specweave-core}/agents/code-reviewer.md +0 -0
- /package/{src → plugins/specweave-core}/agents/docs-writer/AGENT.md +0 -0
- /package/{src → plugins/specweave-core}/agents/performance/AGENT.md +0 -0
- /package/{src → plugins/specweave-core}/agents/qa-lead/AGENT.md +0 -0
- /package/{src → plugins/specweave-core}/agents/security/AGENT.md +0 -0
- /package/{src → plugins/specweave-core}/agents/tdd-orchestrator/AGENT.md +0 -0
- /package/{src → plugins/specweave-core}/agents/tech-lead/AGENT.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.done.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.inc.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.list-increments.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.next.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.progress.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.tdd-cycle.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.tdd-green.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.tdd-red.md +0 -0
- /package/{src → plugins/specweave-core}/commands/specweave.tdd-refactor.md +0 -0
- /package/{src → plugins/specweave-core}/hooks/README.md +0 -0
- /package/{src → plugins/specweave-core}/hooks/docs-changed.sh +0 -0
- /package/{src → plugins/specweave-core}/hooks/human-input-required.sh +0 -0
- /package/{src → plugins/specweave-core}/hooks/post-increment-plugin-detect.sh +0 -0
- /package/{src → plugins/specweave-core}/hooks/pre-implementation.sh +0 -0
- /package/{src → plugins/specweave-core}/hooks/pre-task-plugin-detect.sh +0 -0
- /package/{src → plugins/specweave-core}/skills/brownfield-onboarder/SKILL.md +0 -0
- /package/{src → plugins/specweave-core}/skills/docs-updater/README.md +0 -0
- /package/{src → plugins/specweave-core}/skills/increment-planner/scripts/feature-utils.js +0 -0
- /package/{src → plugins/specweave-core}/skills/increment-quality-judge/SKILL.md +0 -0
- /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-1-high-confidence-full-product.yaml +0 -0
- /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-2-medium-confidence-partial.yaml +0 -0
- /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-3-low-confidence-technical-question.yaml +0 -0
- /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-4-opt-out-explicit.yaml +0 -0
- /package/{src → plugins/specweave-core}/skills/role-orchestrator/README.md +0 -0
- /package/{src → plugins/specweave-core}/skills/role-orchestrator/SKILL.md +0 -0
- /package/{src → plugins/specweave-core}/skills/task-builder/README.md +0 -0
- /package/{src → plugins/specweave-cost-optimizer}/skills/cost-optimizer/SKILL.md +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/AGENT.md +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-component-template.mmd +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-container-template.mmd +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-context-template.mmd +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/deployment-template.mmd +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/er-diagram-template.mmd +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/sequence-template.mmd +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-2-sequence.yaml +0 -0
- /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -0
- /package/{src → plugins/specweave-diagrams}/skills/diagrams-architect/SKILL.md +0 -0
- /package/{src → plugins/specweave-diagrams}/skills/diagrams-generator/SKILL.md +0 -0
- /package/{src → plugins/specweave-docs}/skills/spec-driven-brainstorming/README.md +0 -0
- /package/{src → plugins/specweave-docs}/skills/spec-driven-brainstorming/SKILL.md +0 -0
- /package/{src → plugins/specweave-docs}/skills/spec-driven-debugging/README.md +0 -0
- /package/{src → plugins/specweave-docs}/skills/spec-driven-debugging/SKILL.md +0 -0
- /package/{src → plugins/specweave-frontend}/skills/design-system-architect/SKILL.md +0 -0
- /package/{src → plugins/specweave-frontend}/skills/frontend/SKILL.md +0 -0
- /package/{src → plugins/specweave-frontend}/skills/nextjs/SKILL.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/devops/AGENT.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/network-engineer/AGENT.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/observability-engineer/AGENT.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/performance-engineer/AGENT.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/AGENT.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/backend-diagnostics.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/database-diagnostics.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/infrastructure.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/monitoring.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/security-incidents.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/ui-diagnostics.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/01-high-cpu-usage.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/02-database-deadlock.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/03-memory-leak.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/04-slow-api-response.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/05-ddos-attack.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/06-disk-full.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/07-service-down.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/08-data-corruption.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/09-cascade-failure.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/10-rate-limit-exceeded.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/health-check.sh +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/log-analyzer.py +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/metrics-collector.sh +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/trace-analyzer.js +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/incident-report.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/mitigation-plan.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/post-mortem.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/runbook-template.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/commands/specweave.monitor-setup.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/commands/specweave.slo-implement.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/skills/distributed-tracing/SKILL.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/skills/grafana-dashboards/SKILL.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/skills/hetzner-provisioner/README.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/skills/hetzner-provisioner/SKILL.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/skills/prometheus-configuration/SKILL.md +0 -0
- /package/{src → plugins/specweave-infrastructure}/skills/slo-implementation/SKILL.md +0 -0
- /package/{src → plugins/specweave-jira}/skills/jira-sync/README.md +0 -0
- /package/{src → plugins/specweave-jira}/skills/jira-sync/SKILL.md +0 -0
- /package/{src → plugins/specweave-jira}/skills/specweave-jira-mapper/SKILL.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/agents/kubernetes-architect/AGENT.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/SKILL.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/references/argocd-setup.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/references/sync-policies.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/SKILL.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/assets/Chart.yaml.template +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/assets/values.yaml.template +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/references/chart-structure.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/scripts/validate-chart.sh +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/SKILL.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/configmap-template.yaml +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/deployment-template.yaml +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/service-template.yaml +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/references/deployment-spec.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/references/service-spec.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/SKILL.md +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/assets/network-policy-template.yaml +0 -0
- /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/references/rbac-patterns.md +0 -0
- /package/{src → plugins/specweave-ml}/agents/data-scientist/AGENT.md +0 -0
- /package/{src → plugins/specweave-ml}/agents/mlops-engineer/AGENT.md +0 -0
- /package/{src → plugins/specweave-ml}/commands/specweave.ml-pipeline.md +0 -0
- /package/{src → plugins/specweave-ml}/skills/ml-pipeline-workflow/SKILL.md +0 -0
- /package/{src → plugins/specweave-payments}/agents/payment-integration/AGENT.md +0 -0
- /package/{src → plugins/specweave-payments}/skills/billing-automation/SKILL.md +0 -0
- /package/{src → plugins/specweave-payments}/skills/paypal-integration/SKILL.md +0 -0
- /package/{src → plugins/specweave-payments}/skills/pci-compliance/SKILL.md +0 -0
- /package/{src → plugins/specweave-payments}/skills/stripe-integration/SKILL.md +0 -0
- /package/{src → plugins/specweave-testing}/skills/e2e-playwright/README.md +0 -0
- /package/{src → plugins/specweave-testing}/skills/e2e-playwright/SKILL.md +0 -0
- /package/{src → plugins/specweave-testing}/skills/e2e-playwright/execute.js +0 -0
- /package/{src → plugins/specweave-testing}/skills/e2e-playwright/lib/utils.js +0 -0
- /package/{src → plugins/specweave-testing}/skills/e2e-playwright/package.json +0 -0
- /package/{src → plugins/specweave-tooling}/skills/skill-creator/LICENSE.txt +0 -0
- /package/{src → plugins/specweave-tooling}/skills/skill-creator/SKILL.md +0 -0
- /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/init_skill.py +0 -0
- /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/package_skill.py +0 -0
- /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/quick_validate.py +0 -0
- /package/{src → plugins/specweave-tooling}/skills/skill-router/SKILL.md +0 -0
|
@@ -25,22 +25,19 @@ export declare class ClaudeAdapter extends AdapterBase {
|
|
|
25
25
|
/**
|
|
26
26
|
* Get files to install for Claude adapter
|
|
27
27
|
*
|
|
28
|
-
* Claude
|
|
29
|
-
*
|
|
30
|
-
* - Agents to .claude/agents/ (specialized roles)
|
|
31
|
-
* - Commands to .claude/commands/ (slash commands)
|
|
32
|
-
* - Hooks to .claude/hooks/ (auto-update mechanisms)
|
|
28
|
+
* Claude Code v0.5.0+ uses native plugin loading via marketplace.
|
|
29
|
+
* No file copying needed!
|
|
33
30
|
*/
|
|
34
31
|
getFiles(): AdapterFile[];
|
|
35
32
|
/**
|
|
36
33
|
* Install Claude adapter
|
|
37
34
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
35
|
+
* Claude Code v0.5.0+ uses native plugin system with marketplace.
|
|
36
|
+
* Installation steps:
|
|
37
|
+
* 1. Create .specweave/ structure (project data)
|
|
38
|
+
* 2. Show marketplace installation instructions
|
|
39
|
+
* 3. User adds marketplace: /plugin marketplace add anton-abyzov/specweave
|
|
40
|
+
* 4. User installs plugins: /plugin install specweave-core@specweave
|
|
44
41
|
*/
|
|
45
42
|
install(options: AdapterOptions): Promise<void>;
|
|
46
43
|
/**
|
|
@@ -59,6 +56,41 @@ export declare class ClaudeAdapter extends AdapterBase {
|
|
|
59
56
|
* @returns boolean Always true
|
|
60
57
|
*/
|
|
61
58
|
supportsPlugins(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Check if Claude Code native plugin system is available
|
|
61
|
+
*
|
|
62
|
+
* Detects if /plugin commands are supported in current Claude Code version
|
|
63
|
+
*
|
|
64
|
+
* @returns boolean True if native plugin commands available
|
|
65
|
+
*/
|
|
66
|
+
supportsNativePlugins(): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Get installation instructions based on available plugin system
|
|
69
|
+
*
|
|
70
|
+
* Returns instructions for either:
|
|
71
|
+
* - Native /plugin commands (if supported)
|
|
72
|
+
* - SpecWeave CLI fallback (always available)
|
|
73
|
+
*
|
|
74
|
+
* @param pluginName Name of plugin to install
|
|
75
|
+
* @returns Installation instructions
|
|
76
|
+
*/
|
|
77
|
+
getPluginInstallInstructions(pluginName: string): Promise<string>;
|
|
78
|
+
/**
|
|
79
|
+
* Read language configuration from project config
|
|
80
|
+
*
|
|
81
|
+
* @returns Language setting from config, defaults to 'en'
|
|
82
|
+
*/
|
|
83
|
+
private getLanguageConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Inject system prompt for non-English languages
|
|
86
|
+
*
|
|
87
|
+
* Prepends language instruction to markdown content if language !== 'en'
|
|
88
|
+
*
|
|
89
|
+
* @param content Original markdown content
|
|
90
|
+
* @param language Target language
|
|
91
|
+
* @returns Modified content with system prompt (or unchanged if English)
|
|
92
|
+
*/
|
|
93
|
+
private injectSystemPrompt;
|
|
62
94
|
/**
|
|
63
95
|
* Compile and install a plugin for Claude Code
|
|
64
96
|
*
|
|
@@ -67,6 +99,12 @@ export declare class ClaudeAdapter extends AdapterBase {
|
|
|
67
99
|
* - Copy agents to .claude/agents/{plugin-name}/{agent-name}/
|
|
68
100
|
* - Copy commands to .claude/commands/
|
|
69
101
|
*
|
|
102
|
+
* Supports both:
|
|
103
|
+
* - Native /plugin install (if Claude Code supports it)
|
|
104
|
+
* - SpecWeave CLI fallback (always available)
|
|
105
|
+
*
|
|
106
|
+
* NEW: Injects system prompts for non-English languages
|
|
107
|
+
*
|
|
70
108
|
* @param plugin Plugin to install
|
|
71
109
|
*/
|
|
72
110
|
compilePlugin(plugin: Plugin): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,IAAI,SAAY;IAChB,WAAW,SAA0F;IACrG,eAAe,EAAG,MAAM,CAAU;IAElC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAUhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;IAuDzB;;;;;;OAMG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;;;OAMG;IACG,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IA0B/C;;;;;;;;;OASG;IACG,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BvE;;;;OAIG;YACW,iBAAiB;IAiB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;;;;;;;;;;;;OAeG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFlD;;;;;;OAMG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDrD;;;;;;OAMG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAe/C"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import * as path from 'path';
|
|
11
11
|
import fs from 'fs-extra';
|
|
12
12
|
import { AdapterBase } from '../adapter-base.js';
|
|
13
|
+
import { getSystemPromptForLanguage } from '../../core/i18n/language-manager.js';
|
|
13
14
|
export class ClaudeAdapter extends AdapterBase {
|
|
14
15
|
constructor() {
|
|
15
16
|
super(...arguments);
|
|
@@ -34,51 +35,47 @@ export class ClaudeAdapter extends AdapterBase {
|
|
|
34
35
|
/**
|
|
35
36
|
* Get files to install for Claude adapter
|
|
36
37
|
*
|
|
37
|
-
* Claude
|
|
38
|
-
*
|
|
39
|
-
* - Agents to .claude/agents/ (specialized roles)
|
|
40
|
-
* - Commands to .claude/commands/ (slash commands)
|
|
41
|
-
* - Hooks to .claude/hooks/ (auto-update mechanisms)
|
|
38
|
+
* Claude Code v0.5.0+ uses native plugin loading via marketplace.
|
|
39
|
+
* No file copying needed!
|
|
42
40
|
*/
|
|
43
41
|
getFiles() {
|
|
44
|
-
return [
|
|
45
|
-
{
|
|
46
|
-
sourcePath: 'README.md',
|
|
47
|
-
targetPath: '.claude/README.md',
|
|
48
|
-
description: 'Claude adapter documentation'
|
|
49
|
-
}
|
|
50
|
-
// Note: Skills, agents, commands, hooks are installed via npm scripts
|
|
51
|
-
// (install:skills, install:agents) - not copied here
|
|
52
|
-
];
|
|
42
|
+
return []; // No files to copy - native loading!
|
|
53
43
|
}
|
|
54
44
|
/**
|
|
55
45
|
* Install Claude adapter
|
|
56
46
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
47
|
+
* Claude Code v0.5.0+ uses native plugin system with marketplace.
|
|
48
|
+
* Installation steps:
|
|
49
|
+
* 1. Create .specweave/ structure (project data)
|
|
50
|
+
* 2. Show marketplace installation instructions
|
|
51
|
+
* 3. User adds marketplace: /plugin marketplace add anton-abyzov/specweave
|
|
52
|
+
* 4. User installs plugins: /plugin install specweave-core@specweave
|
|
63
53
|
*/
|
|
64
54
|
async install(options) {
|
|
65
|
-
console.log('\n📦 Installing Claude Code Adapter (
|
|
66
|
-
//
|
|
67
|
-
const
|
|
68
|
-
await fs.ensureDir(
|
|
69
|
-
|
|
70
|
-
await fs.ensureDir(path.join(
|
|
71
|
-
await fs.ensureDir(path.join(
|
|
72
|
-
await fs.ensureDir(path.join(
|
|
73
|
-
await fs.ensureDir(path.join(
|
|
74
|
-
|
|
75
|
-
await
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
console.log('
|
|
79
|
-
console.log('
|
|
80
|
-
console.log('
|
|
81
|
-
console.log('
|
|
55
|
+
console.log('\n📦 Installing Claude Code Adapter (Native Plugin System)\n');
|
|
56
|
+
// Create .specweave/ structure (project data only)
|
|
57
|
+
const specweaveDir = path.join(options.projectPath, '.specweave');
|
|
58
|
+
await fs.ensureDir(specweaveDir);
|
|
59
|
+
await fs.ensureDir(path.join(specweaveDir, 'increments'));
|
|
60
|
+
await fs.ensureDir(path.join(specweaveDir, 'increments', '_backlog'));
|
|
61
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'strategy'));
|
|
62
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'adr'));
|
|
63
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'rfc'));
|
|
64
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'diagrams'));
|
|
65
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'delivery'));
|
|
66
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'public', 'guides'));
|
|
67
|
+
await fs.ensureDir(path.join(specweaveDir, 'logs'));
|
|
68
|
+
console.log('\n✅ Created .specweave/ structure');
|
|
69
|
+
console.log('\n📋 Next steps - Install SpecWeave plugins:');
|
|
70
|
+
console.log('\n 1️⃣ Add SpecWeave marketplace:');
|
|
71
|
+
console.log(' /plugin marketplace add anton-abyzov/specweave');
|
|
72
|
+
console.log('\n 2️⃣ Install SpecWeave core:');
|
|
73
|
+
console.log(' /plugin install specweave-core@specweave');
|
|
74
|
+
console.log('\n 3️⃣ (Optional) Install GitHub plugin:');
|
|
75
|
+
console.log(' /plugin install specweave-github@specweave');
|
|
76
|
+
console.log('\n 4️⃣ Start using SpecWeave:');
|
|
77
|
+
console.log(' /specweave.inc "create a todo app"');
|
|
78
|
+
console.log('\n💡 Tip: Plugins load natively - no file copying needed!');
|
|
82
79
|
}
|
|
83
80
|
/**
|
|
84
81
|
* Post-installation instructions
|
|
@@ -153,6 +150,117 @@ For complete documentation, see: .claude/README.md
|
|
|
153
150
|
supportsPlugins() {
|
|
154
151
|
return true;
|
|
155
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Check if Claude Code native plugin system is available
|
|
155
|
+
*
|
|
156
|
+
* Detects if /plugin commands are supported in current Claude Code version
|
|
157
|
+
*
|
|
158
|
+
* @returns boolean True if native plugin commands available
|
|
159
|
+
*/
|
|
160
|
+
async supportsNativePlugins() {
|
|
161
|
+
// Check if .claude/plugins directory exists (indicates native plugin support)
|
|
162
|
+
const projectPath = process.cwd();
|
|
163
|
+
const nativePluginsDir = path.join(projectPath, '.claude', 'plugins');
|
|
164
|
+
if (await fs.pathExists(nativePluginsDir)) {
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
// Check if plugin.json format is present in any installed plugins
|
|
168
|
+
const claudeDir = path.join(projectPath, '.claude');
|
|
169
|
+
if (await fs.pathExists(claudeDir)) {
|
|
170
|
+
const entries = await fs.readdir(claudeDir, { withFileTypes: true });
|
|
171
|
+
for (const entry of entries) {
|
|
172
|
+
if (entry.isDirectory()) {
|
|
173
|
+
const pluginJsonPath = path.join(claudeDir, entry.name, '.claude-plugin', 'plugin.json');
|
|
174
|
+
if (await fs.pathExists(pluginJsonPath)) {
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get installation instructions based on available plugin system
|
|
184
|
+
*
|
|
185
|
+
* Returns instructions for either:
|
|
186
|
+
* - Native /plugin commands (if supported)
|
|
187
|
+
* - SpecWeave CLI fallback (always available)
|
|
188
|
+
*
|
|
189
|
+
* @param pluginName Name of plugin to install
|
|
190
|
+
* @returns Installation instructions
|
|
191
|
+
*/
|
|
192
|
+
async getPluginInstallInstructions(pluginName) {
|
|
193
|
+
const hasNativePlugins = await this.supportsNativePlugins();
|
|
194
|
+
if (hasNativePlugins) {
|
|
195
|
+
return `
|
|
196
|
+
Installation Options:
|
|
197
|
+
|
|
198
|
+
Option 1 (Recommended): Native Claude Code
|
|
199
|
+
/plugin marketplace add specweave/marketplace
|
|
200
|
+
/plugin install ${pluginName}@specweave
|
|
201
|
+
|
|
202
|
+
Option 2: SpecWeave CLI
|
|
203
|
+
specweave plugin install ${pluginName}
|
|
204
|
+
|
|
205
|
+
Both methods install the same plugin - choose based on preference!
|
|
206
|
+
`.trim();
|
|
207
|
+
}
|
|
208
|
+
return `
|
|
209
|
+
Installation:
|
|
210
|
+
specweave plugin install ${pluginName}
|
|
211
|
+
|
|
212
|
+
Note: Native /plugin commands not detected in your Claude Code version.
|
|
213
|
+
Using SpecWeave CLI for plugin management.
|
|
214
|
+
`.trim();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Read language configuration from project config
|
|
218
|
+
*
|
|
219
|
+
* @returns Language setting from config, defaults to 'en'
|
|
220
|
+
*/
|
|
221
|
+
async getLanguageConfig() {
|
|
222
|
+
const projectPath = process.cwd();
|
|
223
|
+
const configPath = path.join(projectPath, '.specweave', 'config.json');
|
|
224
|
+
if (!(await fs.pathExists(configPath))) {
|
|
225
|
+
return 'en'; // Default to English if no config
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
const config = await fs.readJson(configPath);
|
|
229
|
+
return config.language || 'en';
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
console.warn('⚠️ Could not read language from config, defaulting to English');
|
|
233
|
+
return 'en';
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Inject system prompt for non-English languages
|
|
238
|
+
*
|
|
239
|
+
* Prepends language instruction to markdown content if language !== 'en'
|
|
240
|
+
*
|
|
241
|
+
* @param content Original markdown content
|
|
242
|
+
* @param language Target language
|
|
243
|
+
* @returns Modified content with system prompt (or unchanged if English)
|
|
244
|
+
*/
|
|
245
|
+
injectSystemPrompt(content, language) {
|
|
246
|
+
if (language === 'en') {
|
|
247
|
+
return content; // No changes for English - preserve default behavior
|
|
248
|
+
}
|
|
249
|
+
// Get system prompt for target language
|
|
250
|
+
const systemPrompt = getSystemPromptForLanguage(language);
|
|
251
|
+
// Inject system prompt at the top (after YAML frontmatter if present)
|
|
252
|
+
if (content.startsWith('---')) {
|
|
253
|
+
// Has YAML frontmatter - inject after closing ---
|
|
254
|
+
const endOfFrontmatter = content.indexOf('---', 3);
|
|
255
|
+
if (endOfFrontmatter !== -1) {
|
|
256
|
+
const frontmatter = content.substring(0, endOfFrontmatter + 3);
|
|
257
|
+
const body = content.substring(endOfFrontmatter + 3);
|
|
258
|
+
return `${frontmatter}\n\n${systemPrompt}\n${body}`;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
// No frontmatter - inject at the very top
|
|
262
|
+
return `${systemPrompt}\n\n${content}`;
|
|
263
|
+
}
|
|
156
264
|
/**
|
|
157
265
|
* Compile and install a plugin for Claude Code
|
|
158
266
|
*
|
|
@@ -161,12 +269,31 @@ For complete documentation, see: .claude/README.md
|
|
|
161
269
|
* - Copy agents to .claude/agents/{plugin-name}/{agent-name}/
|
|
162
270
|
* - Copy commands to .claude/commands/
|
|
163
271
|
*
|
|
272
|
+
* Supports both:
|
|
273
|
+
* - Native /plugin install (if Claude Code supports it)
|
|
274
|
+
* - SpecWeave CLI fallback (always available)
|
|
275
|
+
*
|
|
276
|
+
* NEW: Injects system prompts for non-English languages
|
|
277
|
+
*
|
|
164
278
|
* @param plugin Plugin to install
|
|
165
279
|
*/
|
|
166
280
|
async compilePlugin(plugin) {
|
|
167
281
|
const projectPath = process.cwd();
|
|
168
282
|
const claudeDir = path.join(projectPath, '.claude');
|
|
169
283
|
console.log(`\n📦 Installing plugin: ${plugin.manifest.name}`);
|
|
284
|
+
// Get language configuration for system prompt injection
|
|
285
|
+
const language = await this.getLanguageConfig();
|
|
286
|
+
if (language !== 'en') {
|
|
287
|
+
console.log(` 🌐 Language: ${language} (system prompts will be injected)`);
|
|
288
|
+
}
|
|
289
|
+
// Check for native plugin support
|
|
290
|
+
const hasNativePlugins = await this.supportsNativePlugins();
|
|
291
|
+
if (hasNativePlugins) {
|
|
292
|
+
console.log(' 💡 Tip: You can also use native /plugin commands:');
|
|
293
|
+
console.log(` /plugin marketplace add specweave/marketplace`);
|
|
294
|
+
console.log(` /plugin install ${plugin.manifest.name.replace('specweave-', '')}@specweave`);
|
|
295
|
+
console.log('');
|
|
296
|
+
}
|
|
170
297
|
// Ensure base directories exist
|
|
171
298
|
await fs.ensureDir(path.join(claudeDir, 'skills'));
|
|
172
299
|
await fs.ensureDir(path.join(claudeDir, 'agents'));
|
|
@@ -175,10 +302,12 @@ For complete documentation, see: .claude/README.md
|
|
|
175
302
|
for (const skill of plugin.skills) {
|
|
176
303
|
const targetPath = path.join(claudeDir, 'skills', skill.name);
|
|
177
304
|
await fs.ensureDir(targetPath);
|
|
178
|
-
// Copy SKILL.md
|
|
305
|
+
// Copy SKILL.md (with language injection if needed)
|
|
179
306
|
const skillMdPath = path.join(skill.path, 'SKILL.md');
|
|
180
307
|
if (await fs.pathExists(skillMdPath)) {
|
|
181
|
-
await fs.
|
|
308
|
+
const content = await fs.readFile(skillMdPath, 'utf-8');
|
|
309
|
+
const modifiedContent = this.injectSystemPrompt(content, language);
|
|
310
|
+
await fs.writeFile(path.join(targetPath, 'SKILL.md'), modifiedContent, 'utf-8');
|
|
182
311
|
}
|
|
183
312
|
// Copy test cases if they exist
|
|
184
313
|
const testCasesDir = path.join(skill.path, 'test-cases');
|
|
@@ -191,10 +320,12 @@ For complete documentation, see: .claude/README.md
|
|
|
191
320
|
for (const agent of plugin.agents) {
|
|
192
321
|
const targetPath = path.join(claudeDir, 'agents', agent.name);
|
|
193
322
|
await fs.ensureDir(targetPath);
|
|
194
|
-
// Copy AGENT.md
|
|
323
|
+
// Copy AGENT.md (with language injection if needed)
|
|
195
324
|
const agentMdPath = path.join(agent.path, 'AGENT.md');
|
|
196
325
|
if (await fs.pathExists(agentMdPath)) {
|
|
197
|
-
await fs.
|
|
326
|
+
const content = await fs.readFile(agentMdPath, 'utf-8');
|
|
327
|
+
const modifiedContent = this.injectSystemPrompt(content, language);
|
|
328
|
+
await fs.writeFile(path.join(targetPath, 'AGENT.md'), modifiedContent, 'utf-8');
|
|
198
329
|
}
|
|
199
330
|
console.log(` ✓ Agent: ${agent.name}`);
|
|
200
331
|
}
|
|
@@ -204,7 +335,9 @@ For complete documentation, see: .claude/README.md
|
|
|
204
335
|
const fileName = command.name.replace(/\./g, '-') + '.md';
|
|
205
336
|
const targetPath = path.join(claudeDir, 'commands', fileName);
|
|
206
337
|
if (await fs.pathExists(command.path)) {
|
|
207
|
-
await fs.
|
|
338
|
+
const content = await fs.readFile(command.path, 'utf-8');
|
|
339
|
+
const modifiedContent = this.injectSystemPrompt(content, language);
|
|
340
|
+
await fs.writeFile(targetPath, modifiedContent, 'utf-8');
|
|
208
341
|
}
|
|
209
342
|
console.log(` ✓ Command: /${command.name}`);
|
|
210
343
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/claude/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/claude/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* GitHub Copilot Adapter
|
|
3
3
|
*
|
|
4
4
|
* Basic automation adapter for GitHub Copilot.
|
|
5
|
-
*
|
|
5
|
+
* Compiles SpecWeave plugins to AGENTS.md (universal standard) for context and suggestions.
|
|
6
6
|
*
|
|
7
|
-
* This adapter
|
|
7
|
+
* This adapter compiles skills, agents, and commands into AGENTS.md format.
|
|
8
8
|
*/
|
|
9
9
|
import { AdapterBase } from '../adapter-base.js';
|
|
10
10
|
import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
|
|
@@ -48,11 +48,29 @@ export declare class CopilotAdapter extends AdapterBase {
|
|
|
48
48
|
* @returns boolean True for Copilot
|
|
49
49
|
*/
|
|
50
50
|
supportsPlugins(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Read language configuration from project config
|
|
53
|
+
*
|
|
54
|
+
* @returns Language setting from config, defaults to 'en'
|
|
55
|
+
*/
|
|
56
|
+
private getLanguageConfig;
|
|
57
|
+
/**
|
|
58
|
+
* Inject system prompt for non-English languages
|
|
59
|
+
*
|
|
60
|
+
* Prepends language instruction to markdown content if language !== 'en'
|
|
61
|
+
*
|
|
62
|
+
* @param content Original markdown content
|
|
63
|
+
* @param language Target language
|
|
64
|
+
* @returns Modified content with system prompt (or unchanged if English)
|
|
65
|
+
*/
|
|
66
|
+
private injectSystemPrompt;
|
|
51
67
|
/**
|
|
52
68
|
* Compile and install a plugin for Copilot
|
|
53
69
|
*
|
|
54
70
|
* Copilot uses AGENTS.md compilation (same as Cursor)
|
|
55
71
|
*
|
|
72
|
+
* NEW: Injects system prompts for non-English languages
|
|
73
|
+
*
|
|
56
74
|
* @param plugin Plugin to install
|
|
57
75
|
*/
|
|
58
76
|
compilePlugin(plugin: Plugin): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAKzD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,SAA8D;IACzE,eAAe,EAAG,OAAO,CAAU;IAEnC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAMhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwErD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;IAuHzB;;;;;;OAMG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;OAIG;YACW,iBAAiB;IAiB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;OAQG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsElD;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCrD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAmB/C"}
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
* GitHub Copilot Adapter
|
|
3
3
|
*
|
|
4
4
|
* Basic automation adapter for GitHub Copilot.
|
|
5
|
-
*
|
|
5
|
+
* Compiles SpecWeave plugins to AGENTS.md (universal standard) for context and suggestions.
|
|
6
6
|
*
|
|
7
|
-
* This adapter
|
|
7
|
+
* This adapter compiles skills, agents, and commands into AGENTS.md format.
|
|
8
8
|
*/
|
|
9
9
|
import * as path from 'path';
|
|
10
10
|
import fs from 'fs-extra';
|
|
11
11
|
import { AdapterBase } from '../adapter-base.js';
|
|
12
|
+
import { compileToAgentsMd, getSpecweaveInstallPath } from '../../utils/agents-md-compiler.js';
|
|
13
|
+
import { getSystemPromptForLanguage } from '../../core/i18n/language-manager.js';
|
|
12
14
|
export class CopilotAdapter extends AdapterBase {
|
|
13
15
|
constructor() {
|
|
14
16
|
super(...arguments);
|
|
@@ -42,8 +44,65 @@ export class CopilotAdapter extends AdapterBase {
|
|
|
42
44
|
*/
|
|
43
45
|
async install(options) {
|
|
44
46
|
console.log('\n📦 Configuring GitHub Copilot (Basic Automation)\n');
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
+
// 1. Create .specweave/ structure
|
|
48
|
+
const specweaveDir = path.join(options.projectPath, '.specweave');
|
|
49
|
+
await fs.ensureDir(specweaveDir);
|
|
50
|
+
await fs.ensureDir(path.join(specweaveDir, 'increments'));
|
|
51
|
+
await fs.ensureDir(path.join(specweaveDir, 'increments', '_backlog'));
|
|
52
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'strategy'));
|
|
53
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'adr'));
|
|
54
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'rfc'));
|
|
55
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'diagrams'));
|
|
56
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'delivery'));
|
|
57
|
+
await fs.ensureDir(path.join(specweaveDir, 'docs', 'public', 'guides'));
|
|
58
|
+
await fs.ensureDir(path.join(specweaveDir, 'logs'));
|
|
59
|
+
console.log('✅ Created .specweave/ structure');
|
|
60
|
+
// 2. Find SpecWeave installation
|
|
61
|
+
let specweavePath;
|
|
62
|
+
try {
|
|
63
|
+
specweavePath = getSpecweaveInstallPath();
|
|
64
|
+
console.log(`✅ Found SpecWeave installation at: ${specweavePath}`);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error('❌ Could not find SpecWeave installation');
|
|
68
|
+
console.error(' Make sure SpecWeave is installed: npm install -g specweave');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
// 3. Compile plugins to AGENTS.md
|
|
72
|
+
console.log('📝 Compiling plugins to AGENTS.md...');
|
|
73
|
+
const result = await compileToAgentsMd(specweavePath);
|
|
74
|
+
// 4. Write AGENTS.md
|
|
75
|
+
const agentsMdPath = path.join(options.projectPath, 'AGENTS.md');
|
|
76
|
+
await fs.writeFile(agentsMdPath, result.agentsMd, 'utf-8');
|
|
77
|
+
console.log('✅ Created AGENTS.md with:');
|
|
78
|
+
console.log(` - ${result.skills.length} skills`);
|
|
79
|
+
console.log(` - ${result.agents.length} agents`);
|
|
80
|
+
console.log(` - ${result.commands.length} commands`);
|
|
81
|
+
// 5. Create .github/copilot/instructions.md (optional)
|
|
82
|
+
const copilotDir = path.join(options.projectPath, '.github', 'copilot');
|
|
83
|
+
await fs.ensureDir(copilotDir);
|
|
84
|
+
const instructionsContent = `# GitHub Copilot Instructions
|
|
85
|
+
|
|
86
|
+
This project uses SpecWeave for spec-driven development.
|
|
87
|
+
|
|
88
|
+
## Important Context
|
|
89
|
+
|
|
90
|
+
- **AGENTS.md**: Complete workflow guide (read this first!)
|
|
91
|
+
- **Structure**: All work happens in \`.specweave/increments/\`
|
|
92
|
+
- **Workflow**: spec.md → plan.md → tasks.md → tests.md
|
|
93
|
+
|
|
94
|
+
## When Suggesting Code
|
|
95
|
+
|
|
96
|
+
- Follow patterns in AGENTS.md
|
|
97
|
+
- Create files in increment folders, not project root
|
|
98
|
+
- Reference existing specs and plans
|
|
99
|
+
- Follow naming conventions (kebab-case for increments)
|
|
100
|
+
|
|
101
|
+
See AGENTS.md for complete details.
|
|
102
|
+
`;
|
|
103
|
+
await fs.writeFile(path.join(copilotDir, 'instructions.md'), instructionsContent, 'utf-8');
|
|
104
|
+
console.log('✅ Created .github/copilot/instructions.md');
|
|
105
|
+
console.log('\n✅ Copilot will automatically read AGENTS.md');
|
|
47
106
|
}
|
|
48
107
|
/**
|
|
49
108
|
* Post-installation instructions
|
|
@@ -182,17 +241,62 @@ Copilot is best for simple projects or when already using VS Code + Copilot.
|
|
|
182
241
|
supportsPlugins() {
|
|
183
242
|
return true;
|
|
184
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Read language configuration from project config
|
|
246
|
+
*
|
|
247
|
+
* @returns Language setting from config, defaults to 'en'
|
|
248
|
+
*/
|
|
249
|
+
async getLanguageConfig() {
|
|
250
|
+
const projectPath = process.cwd();
|
|
251
|
+
const configPath = path.join(projectPath, '.specweave', 'config.json');
|
|
252
|
+
if (!(await fs.pathExists(configPath))) {
|
|
253
|
+
return 'en'; // Default to English if no config
|
|
254
|
+
}
|
|
255
|
+
try {
|
|
256
|
+
const config = await fs.readJson(configPath);
|
|
257
|
+
return config.language || 'en';
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
console.warn('⚠️ Could not read language from config, defaulting to English');
|
|
261
|
+
return 'en';
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Inject system prompt for non-English languages
|
|
266
|
+
*
|
|
267
|
+
* Prepends language instruction to markdown content if language !== 'en'
|
|
268
|
+
*
|
|
269
|
+
* @param content Original markdown content
|
|
270
|
+
* @param language Target language
|
|
271
|
+
* @returns Modified content with system prompt (or unchanged if English)
|
|
272
|
+
*/
|
|
273
|
+
injectSystemPrompt(content, language) {
|
|
274
|
+
if (language === 'en') {
|
|
275
|
+
return content; // No changes for English - preserve default behavior
|
|
276
|
+
}
|
|
277
|
+
// Get system prompt for target language
|
|
278
|
+
const systemPrompt = getSystemPromptForLanguage(language);
|
|
279
|
+
// For AGENTS.md compilation, inject at the beginning of the content
|
|
280
|
+
return `${systemPrompt}\n\n${content}`;
|
|
281
|
+
}
|
|
185
282
|
/**
|
|
186
283
|
* Compile and install a plugin for Copilot
|
|
187
284
|
*
|
|
188
285
|
* Copilot uses AGENTS.md compilation (same as Cursor)
|
|
189
286
|
*
|
|
287
|
+
* NEW: Injects system prompts for non-English languages
|
|
288
|
+
*
|
|
190
289
|
* @param plugin Plugin to install
|
|
191
290
|
*/
|
|
192
291
|
async compilePlugin(plugin) {
|
|
193
292
|
const projectPath = process.cwd();
|
|
194
293
|
const agentsMdPath = path.join(projectPath, 'AGENTS.md');
|
|
195
294
|
console.log(`\n📦 Compiling plugin for Copilot: ${plugin.manifest.name}`);
|
|
295
|
+
// Get language configuration for system prompt injection
|
|
296
|
+
const language = await this.getLanguageConfig();
|
|
297
|
+
if (language !== 'en') {
|
|
298
|
+
console.log(` 🌐 Language: ${language} (system prompts will be injected)`);
|
|
299
|
+
}
|
|
196
300
|
if (!(await fs.pathExists(agentsMdPath))) {
|
|
197
301
|
throw new Error('AGENTS.md not found. Run specweave init first.');
|
|
198
302
|
}
|
|
@@ -210,14 +314,18 @@ Copilot is best for simple projects or when already using VS Code + Copilot.
|
|
|
210
314
|
for (const skill of plugin.skills) {
|
|
211
315
|
const skillContent = await fs.readFile(path.join(skill.path, 'SKILL.md'), 'utf-8');
|
|
212
316
|
const contentWithoutFrontmatter = skillContent.replace(/^---\n[\s\S]+?\n---\n/, '');
|
|
213
|
-
|
|
317
|
+
// Inject system prompt if needed
|
|
318
|
+
const modifiedContent = this.injectSystemPrompt(contentWithoutFrontmatter, language);
|
|
319
|
+
pluginSection += `### ${skill.name}\n\n${modifiedContent}\n\n`;
|
|
214
320
|
}
|
|
215
321
|
}
|
|
216
322
|
if (plugin.agents.length > 0) {
|
|
217
323
|
pluginSection += `## Agents\n\n`;
|
|
218
324
|
for (const agent of plugin.agents) {
|
|
219
325
|
const agentContent = await fs.readFile(path.join(agent.path, 'AGENT.md'), 'utf-8');
|
|
220
|
-
|
|
326
|
+
// Inject system prompt if needed
|
|
327
|
+
const modifiedContent = this.injectSystemPrompt(agentContent, language);
|
|
328
|
+
pluginSection += `### ${agent.name}\n\n${modifiedContent}\n\n`;
|
|
221
329
|
}
|
|
222
330
|
}
|
|
223
331
|
if (plugin.commands.length > 0) {
|
|
@@ -225,7 +333,9 @@ Copilot is best for simple projects or when already using VS Code + Copilot.
|
|
|
225
333
|
for (const command of plugin.commands) {
|
|
226
334
|
const commandContent = await fs.readFile(command.path, 'utf-8');
|
|
227
335
|
const contentWithoutFrontmatter = commandContent.replace(/^---\n[\s\S]+?\n---\n/, '');
|
|
228
|
-
|
|
336
|
+
// Inject system prompt if needed
|
|
337
|
+
const modifiedContent = this.injectSystemPrompt(contentWithoutFrontmatter, language);
|
|
338
|
+
pluginSection += `### /${command.name}\n\n${modifiedContent}\n\n`;
|
|
229
339
|
}
|
|
230
340
|
}
|
|
231
341
|
pluginSection += `<!-- End Plugin: ${plugin.manifest.name} -->\n`;
|