specweave 0.4.1 → 0.6.3
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 +312 -0
- package/.claude-plugin/marketplace.json +210 -0
- package/CLAUDE.md +952 -609
- package/README.md +179 -761
- 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 +521 -185
- 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 +23 -6
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +92 -66
- 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 +285 -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/execFileNoThrow.d.ts +97 -0
- package/dist/utils/execFileNoThrow.d.ts.map +1 -0
- package/dist/utils/execFileNoThrow.js +130 -0
- package/dist/utils/execFileNoThrow.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 +13 -14
- package/plugins/.specweave/logs/hooks-debug.log +24 -0
- package/plugins/.specweave/logs/last-hook-fire +1 -0
- package/plugins/.specweave/logs/last-todowrite-time +1 -0
- package/plugins/.specweave/logs/tasks.log +6 -0
- package/plugins/specweave/.claude-plugin/plugin.json +22 -0
- package/{src → plugins/specweave}/agents/pm/AGENT.md +80 -0
- package/plugins/specweave/agents/translator/AGENT.md +282 -0
- package/{src → plugins/specweave}/commands/README.md +11 -11
- package/{src/commands/specweave.costs.md → plugins/specweave/commands/costs.md} +8 -8
- package/{src/commands/specweave.do.md → plugins/specweave/commands/do.md} +35 -8
- package/{src/commands/specweave.done.md → plugins/specweave/commands/done.md} +1 -1
- package/{src/commands/specweave.inc.md → plugins/specweave/commands/inc.md} +1 -1
- package/{src/commands/specweave.increment.md → plugins/specweave/commands/increment.md} +84 -19
- package/{src/commands/specweave.next.md → plugins/specweave/commands/next.md} +1 -1
- package/{src/commands/specweave.progress.md → plugins/specweave/commands/progress.md} +1 -1
- package/{src → plugins/specweave}/commands/specweave.md +57 -25
- package/{src/commands/specweave.sync-docs.md → plugins/specweave/commands/sync-docs.md} +6 -6
- package/plugins/specweave/commands/translate.md +425 -0
- package/{src/commands/specweave.validate.md → plugins/specweave/commands/validate.md} +2 -2
- package/plugins/specweave/hooks/hooks.json +15 -0
- package/plugins/specweave/hooks/post-task-completion.sh +265 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +229 -0
- package/{src → plugins/specweave}/skills/brownfield-analyzer/SKILL.md +66 -24
- package/{src → plugins/specweave}/skills/context-loader/SKILL.md +1 -1
- package/plugins/specweave/skills/context-optimizer/SKILL.md +588 -0
- package/plugins/specweave/skills/docs-updater/SKILL.md +0 -0
- package/{src → plugins/specweave}/skills/increment-planner/SKILL.md +81 -4
- package/plugins/specweave/skills/plugin-detector/SKILL.md +211 -0
- package/{src → plugins/specweave}/skills/project-kickstarter/SKILL.md +7 -7
- package/plugins/specweave/skills/rfc-generator/SKILL.md +369 -0
- package/{src → plugins/specweave}/skills/specweave-detector/SKILL.md +2 -2
- package/plugins/specweave/skills/specweave-framework/SKILL.md +498 -0
- package/plugins/specweave/skills/specweave-framework/test-cases/test-1-increment-naming.yaml +11 -0
- package/plugins/specweave/skills/specweave-framework/test-cases/test-2-source-of-truth.yaml +11 -0
- package/plugins/specweave/skills/specweave-framework/test-cases/test-3-increment-discipline.yaml +12 -0
- package/plugins/specweave/skills/specweave-framework/test-cases/test-4-file-placement.yaml +11 -0
- package/{src → plugins/specweave}/skills/tdd-workflow/SKILL.md +21 -21
- package/plugins/specweave/skills/translator/SKILL.md +172 -0
- 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-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 +19 -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 +38 -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 +26 -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}/agents/architect/AGENT.md +0 -0
- /package/{src → plugins/specweave}/agents/code-reviewer.md +0 -0
- /package/{src → plugins/specweave}/agents/docs-writer/AGENT.md +0 -0
- /package/{src → plugins/specweave}/agents/performance/AGENT.md +0 -0
- /package/{src → plugins/specweave}/agents/qa-lead/AGENT.md +0 -0
- /package/{src → plugins/specweave}/agents/security/AGENT.md +0 -0
- /package/{src → plugins/specweave}/agents/tdd-orchestrator/AGENT.md +0 -0
- /package/{src → plugins/specweave}/agents/tech-lead/AGENT.md +0 -0
- /package/{src/commands/specweave.list-increments.md → plugins/specweave/commands/list-increments.md} +0 -0
- /package/{src/commands/specweave.tdd-cycle.md → plugins/specweave/commands/tdd-cycle.md} +0 -0
- /package/{src/commands/specweave.tdd-green.md → plugins/specweave/commands/tdd-green.md} +0 -0
- /package/{src/commands/specweave.tdd-red.md → plugins/specweave/commands/tdd-red.md} +0 -0
- /package/{src/commands/specweave.tdd-refactor.md → plugins/specweave/commands/tdd-refactor.md} +0 -0
- /package/{src → plugins/specweave}/hooks/README.md +0 -0
- /package/{src → plugins/specweave}/hooks/docs-changed.sh +0 -0
- /package/{src → plugins/specweave}/hooks/human-input-required.sh +0 -0
- /package/{src → plugins/specweave}/hooks/post-increment-plugin-detect.sh +0 -0
- /package/{src → plugins/specweave}/hooks/pre-implementation.sh +0 -0
- /package/{src → plugins/specweave}/hooks/pre-task-plugin-detect.sh +0 -0
- /package/{src → plugins/specweave}/skills/brownfield-onboarder/SKILL.md +0 -0
- /package/{src → plugins/specweave}/skills/docs-updater/README.md +0 -0
- /package/{src → plugins/specweave}/skills/increment-planner/scripts/feature-utils.js +0 -0
- /package/{src → plugins/specweave}/skills/increment-quality-judge/SKILL.md +0 -0
- /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-1-high-confidence-full-product.yaml +0 -0
- /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-2-medium-confidence-partial.yaml +0 -0
- /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-3-low-confidence-technical-question.yaml +0 -0
- /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-4-opt-out-explicit.yaml +0 -0
- /package/{src → plugins/specweave}/skills/role-orchestrator/README.md +0 -0
- /package/{src → plugins/specweave}/skills/role-orchestrator/SKILL.md +0 -0
- /package/{src → plugins/specweave}/skills/task-builder/README.md +0 -0
- /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-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
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Plugin CLI Command
|
|
2
|
+
* Plugin CLI Command (DEPRECATED in v0.6.0)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
4
|
+
* ⚠️ DEPRECATION NOTICE:
|
|
5
|
+
* This command is deprecated. Use Claude Code's native plugin system instead:
|
|
6
|
+
* - `/plugin list specweave` - List available plugins
|
|
7
|
+
* - `/plugin install specweave-{name}@specweave` - Install a plugin
|
|
8
|
+
* - `/plugin uninstall specweave-{name}` - Uninstall a plugin
|
|
9
|
+
*
|
|
10
|
+
* SpecWeave now uses ONLY Claude Code's native plugin system (global install).
|
|
11
|
+
* No per-project plugin management is needed.
|
|
12
|
+
*
|
|
13
|
+
* This command will be removed in v0.7.0.
|
|
14
|
+
*
|
|
15
|
+
* Legacy functionality (for backwards compatibility):
|
|
16
|
+
* - list: List available plugins
|
|
17
|
+
* - enable: Enable a plugin (deprecated - use /plugin install)
|
|
18
|
+
* - disable: Disable a plugin (deprecated - use /plugin uninstall)
|
|
8
19
|
* - info: Show detailed plugin information
|
|
9
20
|
*/
|
|
10
21
|
import chalk from 'chalk';
|
|
@@ -13,22 +24,28 @@ import { PluginDetector } from '../../core/plugin-detector.js';
|
|
|
13
24
|
import { AdapterLoader } from '../../adapters/adapter-loader.js';
|
|
14
25
|
import { fileURLToPath } from 'url';
|
|
15
26
|
import { dirname } from 'path';
|
|
27
|
+
import { getLocaleManager } from '../../core/i18n/locale-manager.js';
|
|
16
28
|
const __filename = fileURLToPath(import.meta.url);
|
|
17
29
|
const __dirname = dirname(__filename);
|
|
18
30
|
/**
|
|
19
31
|
* List available and enabled plugins
|
|
20
32
|
*/
|
|
21
33
|
export async function listPlugins(options) {
|
|
34
|
+
const locale = getLocaleManager(options.language || 'en');
|
|
35
|
+
// Show deprecation warning
|
|
36
|
+
console.log(chalk.yellow(`\n⚠️ DEPRECATED: Use Claude Code's native plugin commands instead:`));
|
|
37
|
+
console.log(chalk.gray(` /plugin list specweave`));
|
|
38
|
+
console.log(chalk.gray(` /plugin install specweave-{name}@specweave\n`));
|
|
22
39
|
try {
|
|
23
|
-
console.log(chalk.blue('
|
|
40
|
+
console.log(chalk.blue(`\n${locale.t('cli', 'plugin.list.header')}\n`));
|
|
24
41
|
const projectRoot = process.cwd();
|
|
25
42
|
const manager = new PluginManager(projectRoot);
|
|
26
43
|
if (options.enabled || (!options.enabled && !options.available)) {
|
|
27
44
|
// Show enabled plugins
|
|
28
45
|
const enabledPlugins = await manager.getEnabledPlugins();
|
|
29
|
-
console.log(chalk.green('
|
|
46
|
+
console.log(chalk.green(locale.t('cli', 'plugin.list.enabledHeader')));
|
|
30
47
|
if (enabledPlugins.length === 0) {
|
|
31
|
-
console.log(chalk.gray(
|
|
48
|
+
console.log(chalk.gray(` ${locale.t('cli', 'plugin.list.enabledNone')}`));
|
|
32
49
|
}
|
|
33
50
|
else {
|
|
34
51
|
for (const pluginName of enabledPlugins) {
|
|
@@ -36,10 +53,14 @@ export async function listPlugins(options) {
|
|
|
36
53
|
const plugin = manager.getPlugin(pluginName);
|
|
37
54
|
console.log(` ${chalk.cyan(plugin.manifest.name)} ${chalk.gray(`v${plugin.manifest.version}`)}`);
|
|
38
55
|
console.log(` ${chalk.gray(plugin.manifest.description)}`);
|
|
39
|
-
console.log(` ${chalk.gray(
|
|
56
|
+
console.log(` ${chalk.gray(locale.t('cli', 'plugin.list.statsFormat', {
|
|
57
|
+
skills: plugin.skills.length,
|
|
58
|
+
agents: plugin.agents.length,
|
|
59
|
+
commands: plugin.commands.length
|
|
60
|
+
}))}`);
|
|
40
61
|
}
|
|
41
62
|
catch (error) {
|
|
42
|
-
console.log(` ${chalk.cyan(pluginName)} ${chalk.red('
|
|
63
|
+
console.log(` ${chalk.cyan(pluginName)} ${chalk.red(locale.t('cli', 'plugin.list.errorLoading'))}`);
|
|
43
64
|
}
|
|
44
65
|
}
|
|
45
66
|
}
|
|
@@ -50,9 +71,9 @@ export async function listPlugins(options) {
|
|
|
50
71
|
const availablePlugins = await manager.getAvailablePlugins();
|
|
51
72
|
const enabledPlugins = await manager.getEnabledPlugins();
|
|
52
73
|
const disabledPlugins = availablePlugins.filter(p => !enabledPlugins.includes(p.name));
|
|
53
|
-
console.log(chalk.yellow('
|
|
74
|
+
console.log(chalk.yellow(locale.t('cli', 'plugin.list.availableHeader')));
|
|
54
75
|
if (disabledPlugins.length === 0) {
|
|
55
|
-
console.log(chalk.gray(
|
|
76
|
+
console.log(chalk.gray(` ${locale.t('cli', 'plugin.list.availableNone')}`));
|
|
56
77
|
}
|
|
57
78
|
else {
|
|
58
79
|
for (const plugin of disabledPlugins) {
|
|
@@ -69,15 +90,15 @@ export async function listPlugins(options) {
|
|
|
69
90
|
const enabledPlugins = await manager.getEnabledPlugins();
|
|
70
91
|
const newSuggestions = suggestions.filter(s => !enabledPlugins.includes(s));
|
|
71
92
|
if (newSuggestions.length > 0) {
|
|
72
|
-
console.log(chalk.magenta('
|
|
93
|
+
console.log(chalk.magenta(locale.t('cli', 'plugin.list.suggestedHeader')));
|
|
73
94
|
for (const suggestion of newSuggestions) {
|
|
74
95
|
console.log(` ${chalk.cyan(suggestion)}`);
|
|
75
96
|
}
|
|
76
|
-
console.log(chalk.gray('
|
|
97
|
+
console.log(chalk.gray(`\n${locale.t('cli', 'plugin.list.enableHint')}`));
|
|
77
98
|
}
|
|
78
99
|
}
|
|
79
100
|
catch (error) {
|
|
80
|
-
console.error(chalk.red('
|
|
101
|
+
console.error(chalk.red(locale.t('cli', 'plugin.list.errorListing')), error instanceof Error ? error.message : error);
|
|
81
102
|
process.exit(1);
|
|
82
103
|
}
|
|
83
104
|
}
|
|
@@ -85,8 +106,9 @@ export async function listPlugins(options) {
|
|
|
85
106
|
* Enable a plugin
|
|
86
107
|
*/
|
|
87
108
|
export async function enablePlugin(pluginName, options) {
|
|
109
|
+
const locale = getLocaleManager(options.language || 'en');
|
|
88
110
|
try {
|
|
89
|
-
console.log(chalk.blue(`\n
|
|
111
|
+
console.log(chalk.blue(`\n${locale.t('cli', 'plugin.enable.enablingPlugin', { name: pluginName })}\n`));
|
|
90
112
|
const projectRoot = process.cwd();
|
|
91
113
|
const adapterLoader = new AdapterLoader();
|
|
92
114
|
const toolName = await adapterLoader.detectTool();
|
|
@@ -98,8 +120,8 @@ export async function enablePlugin(pluginName, options) {
|
|
|
98
120
|
// Check if already enabled
|
|
99
121
|
const enabledPlugins = await manager.getEnabledPlugins();
|
|
100
122
|
if (enabledPlugins.includes(pluginName) && !options.force) {
|
|
101
|
-
console.log(chalk.yellow(
|
|
102
|
-
console.log(chalk.gray('
|
|
123
|
+
console.log(chalk.yellow(locale.t('cli', 'plugin.enable.alreadyEnabled', { name: pluginName })));
|
|
124
|
+
console.log(chalk.gray(locale.t('cli', 'plugin.enable.useForce')));
|
|
103
125
|
return;
|
|
104
126
|
}
|
|
105
127
|
// Load and enable plugin
|
|
@@ -108,31 +130,31 @@ export async function enablePlugin(pluginName, options) {
|
|
|
108
130
|
autoInstallDependencies: true
|
|
109
131
|
};
|
|
110
132
|
await manager.loadPlugin(pluginName, adapter, loadOptions);
|
|
111
|
-
console.log(chalk.green(`\n
|
|
133
|
+
console.log(chalk.green(`\n${locale.t('cli', 'plugin.enable.success', { name: pluginName })}`));
|
|
112
134
|
// Show what was installed
|
|
113
135
|
try {
|
|
114
136
|
const plugin = manager.getPlugin(pluginName);
|
|
115
|
-
console.log(chalk.gray(`\
|
|
137
|
+
console.log(chalk.gray(`\n${locale.t('cli', 'plugin.enable.installed')}`));
|
|
116
138
|
if (plugin.skills.length > 0) {
|
|
117
|
-
console.log(chalk.gray(`
|
|
139
|
+
console.log(chalk.gray(` ${locale.t('cli', 'plugin.enable.skills', { names: plugin.skills.map(s => s.name).join(', ') })}`));
|
|
118
140
|
}
|
|
119
141
|
if (plugin.agents.length > 0) {
|
|
120
|
-
console.log(chalk.gray(`
|
|
142
|
+
console.log(chalk.gray(` ${locale.t('cli', 'plugin.enable.agents', { names: plugin.agents.map(a => a.name).join(', ') })}`));
|
|
121
143
|
}
|
|
122
144
|
if (plugin.commands.length > 0) {
|
|
123
|
-
console.log(chalk.gray(`
|
|
145
|
+
console.log(chalk.gray(` ${locale.t('cli', 'plugin.enable.commands', { names: plugin.commands.map(c => c.name).join(', ') })}`));
|
|
124
146
|
}
|
|
125
147
|
}
|
|
126
148
|
catch (error) {
|
|
127
149
|
// Plugin info not available, skip
|
|
128
150
|
}
|
|
129
|
-
console.log(chalk.gray(`\
|
|
151
|
+
console.log(chalk.gray(`\n${locale.t('cli', 'plugin.enable.installedTo', { location: adapter.name === 'claude' ? '.claude/' : 'AGENTS.md' })}`));
|
|
130
152
|
if (adapter.name === 'claude') {
|
|
131
|
-
console.log(chalk.yellow('
|
|
153
|
+
console.log(chalk.yellow(`\n${locale.t('cli', 'plugin.enable.restartClaude')}`));
|
|
132
154
|
}
|
|
133
155
|
}
|
|
134
156
|
catch (error) {
|
|
135
|
-
console.error(chalk.red('
|
|
157
|
+
console.error(chalk.red(locale.t('cli', 'plugin.enable.errorEnabling')), error instanceof Error ? error.message : error);
|
|
136
158
|
process.exit(1);
|
|
137
159
|
}
|
|
138
160
|
}
|
|
@@ -140,8 +162,9 @@ export async function enablePlugin(pluginName, options) {
|
|
|
140
162
|
* Disable a plugin
|
|
141
163
|
*/
|
|
142
164
|
export async function disablePlugin(pluginName, options) {
|
|
165
|
+
const locale = getLocaleManager(options.language || 'en');
|
|
143
166
|
try {
|
|
144
|
-
console.log(chalk.blue(`\n
|
|
167
|
+
console.log(chalk.blue(`\n${locale.t('cli', 'plugin.disable.disablingPlugin', { name: pluginName })}\n`));
|
|
145
168
|
const projectRoot = process.cwd();
|
|
146
169
|
const adapterLoader = new AdapterLoader();
|
|
147
170
|
const toolName = await adapterLoader.detectTool();
|
|
@@ -153,7 +176,7 @@ export async function disablePlugin(pluginName, options) {
|
|
|
153
176
|
// Check if enabled
|
|
154
177
|
const enabledPlugins = await manager.getEnabledPlugins();
|
|
155
178
|
if (!enabledPlugins.includes(pluginName)) {
|
|
156
|
-
console.log(chalk.yellow(
|
|
179
|
+
console.log(chalk.yellow(locale.t('cli', 'plugin.disable.notEnabled', { name: pluginName })));
|
|
157
180
|
return;
|
|
158
181
|
}
|
|
159
182
|
// Unload plugin
|
|
@@ -161,22 +184,23 @@ export async function disablePlugin(pluginName, options) {
|
|
|
161
184
|
force: options.force
|
|
162
185
|
};
|
|
163
186
|
await manager.unloadPlugin(pluginName, adapter, unloadOptions);
|
|
164
|
-
console.log(chalk.green(`\n
|
|
187
|
+
console.log(chalk.green(`\n${locale.t('cli', 'plugin.disable.success', { name: pluginName })}`));
|
|
165
188
|
if (adapter.name === 'claude') {
|
|
166
|
-
console.log(chalk.yellow('
|
|
189
|
+
console.log(chalk.yellow(`\n${locale.t('cli', 'plugin.disable.restartClaude')}`));
|
|
167
190
|
}
|
|
168
191
|
}
|
|
169
192
|
catch (error) {
|
|
170
|
-
console.error(chalk.red('
|
|
193
|
+
console.error(chalk.red(locale.t('cli', 'plugin.disable.errorDisabling')), error instanceof Error ? error.message : error);
|
|
171
194
|
process.exit(1);
|
|
172
195
|
}
|
|
173
196
|
}
|
|
174
197
|
/**
|
|
175
198
|
* Show detailed plugin information
|
|
176
199
|
*/
|
|
177
|
-
export async function pluginInfo(pluginName) {
|
|
200
|
+
export async function pluginInfo(pluginName, options) {
|
|
201
|
+
const locale = getLocaleManager(options?.language || 'en');
|
|
178
202
|
try {
|
|
179
|
-
console.log(chalk.blue(`\n
|
|
203
|
+
console.log(chalk.blue(`\n${locale.t('cli', 'plugin.info.header', { name: pluginName })}\n`));
|
|
180
204
|
const projectRoot = process.cwd();
|
|
181
205
|
const manager = new PluginManager(projectRoot);
|
|
182
206
|
const { PluginLoader } = await import('../../core/plugin-loader.js');
|
|
@@ -184,8 +208,8 @@ export async function pluginInfo(pluginName) {
|
|
|
184
208
|
const availablePlugins = await manager.getAvailablePlugins();
|
|
185
209
|
const basicInfo = availablePlugins.find(p => p.name === pluginName);
|
|
186
210
|
if (!basicInfo) {
|
|
187
|
-
console.log(chalk.red(
|
|
188
|
-
console.log(chalk.gray('
|
|
211
|
+
console.log(chalk.red(locale.t('cli', 'plugin.info.notFound', { name: pluginName })));
|
|
212
|
+
console.log(chalk.gray(`\n${locale.t('cli', 'plugin.info.listHint')}`));
|
|
189
213
|
return;
|
|
190
214
|
}
|
|
191
215
|
// Load full plugin to get manifest details
|
|
@@ -193,65 +217,66 @@ export async function pluginInfo(pluginName) {
|
|
|
193
217
|
const plugin = await loader.loadFromDirectory(basicInfo.path);
|
|
194
218
|
const manifest = plugin.manifest;
|
|
195
219
|
// Basic info
|
|
196
|
-
console.log(chalk.cyan('
|
|
197
|
-
console.log(chalk.cyan('
|
|
198
|
-
console.log(chalk.cyan('
|
|
220
|
+
console.log(chalk.cyan(locale.t('cli', 'plugin.info.name')), manifest.name);
|
|
221
|
+
console.log(chalk.cyan(locale.t('cli', 'plugin.info.version')), manifest.version);
|
|
222
|
+
console.log(chalk.cyan(locale.t('cli', 'plugin.info.description')), manifest.description);
|
|
199
223
|
if (manifest.author) {
|
|
200
|
-
console.log(chalk.cyan('
|
|
224
|
+
console.log(chalk.cyan(locale.t('cli', 'plugin.info.author')), manifest.author);
|
|
201
225
|
}
|
|
202
226
|
if (manifest.license) {
|
|
203
|
-
console.log(chalk.cyan('
|
|
227
|
+
console.log(chalk.cyan(locale.t('cli', 'plugin.info.license')), manifest.license);
|
|
204
228
|
}
|
|
205
|
-
console.log(chalk.cyan('
|
|
229
|
+
console.log(chalk.cyan(locale.t('cli', 'plugin.info.coreVersion')), manifest.specweave_core_version);
|
|
206
230
|
// Status
|
|
207
231
|
const enabledPlugins = await manager.getEnabledPlugins();
|
|
208
232
|
const isEnabled = enabledPlugins.includes(pluginName);
|
|
209
|
-
console.log(chalk.cyan('
|
|
233
|
+
console.log(chalk.cyan(locale.t('cli', 'plugin.info.status')), isEnabled ? chalk.green(locale.t('cli', 'plugin.info.statusEnabled')) : chalk.gray(locale.t('cli', 'plugin.info.statusDisabled')));
|
|
210
234
|
// Provides
|
|
211
|
-
console.log(chalk.cyan('
|
|
212
|
-
|
|
213
|
-
console.log(`
|
|
214
|
-
console.log(`
|
|
235
|
+
console.log(chalk.cyan(`\n${locale.t('cli', 'plugin.info.provides')}`));
|
|
236
|
+
const noneValue = chalk.gray(locale.t('cli', 'plugin.info.noneValue'));
|
|
237
|
+
console.log(` ${locale.t('cli', 'plugin.info.skillsFormat', { skills: manifest.provides.skills.length > 0 ? manifest.provides.skills.join(', ') : noneValue })}`);
|
|
238
|
+
console.log(` ${locale.t('cli', 'plugin.info.agentsFormat', { agents: manifest.provides.agents.length > 0 ? manifest.provides.agents.join(', ') : noneValue })}`);
|
|
239
|
+
console.log(` ${locale.t('cli', 'plugin.info.commandsFormat', { commands: manifest.provides.commands.length > 0 ? manifest.provides.commands.join(', ') : noneValue })}`);
|
|
215
240
|
// Dependencies
|
|
216
241
|
if (manifest.dependencies?.plugins && manifest.dependencies.plugins.length > 0) {
|
|
217
|
-
console.log(chalk.cyan('
|
|
242
|
+
console.log(chalk.cyan(`\n${locale.t('cli', 'plugin.info.dependencies')}`));
|
|
218
243
|
for (const dep of manifest.dependencies.plugins) {
|
|
219
244
|
console.log(` - ${dep}`);
|
|
220
245
|
}
|
|
221
246
|
}
|
|
222
247
|
// Auto-detection
|
|
223
248
|
if (manifest.auto_detect) {
|
|
224
|
-
console.log(chalk.cyan('
|
|
249
|
+
console.log(chalk.cyan(`\n${locale.t('cli', 'plugin.info.autoDetect')}`));
|
|
225
250
|
if (manifest.auto_detect.files) {
|
|
226
|
-
console.log(`
|
|
251
|
+
console.log(` ${locale.t('cli', 'plugin.info.autoDetectFiles', { files: manifest.auto_detect.files.join(', ') })}`);
|
|
227
252
|
}
|
|
228
253
|
if (manifest.auto_detect.packages) {
|
|
229
|
-
console.log(`
|
|
254
|
+
console.log(` ${locale.t('cli', 'plugin.info.autoDetectPackages', { packages: manifest.auto_detect.packages.join(', ') })}`);
|
|
230
255
|
}
|
|
231
256
|
if (manifest.auto_detect.env_vars) {
|
|
232
|
-
console.log(`
|
|
257
|
+
console.log(` ${locale.t('cli', 'plugin.info.autoDetectEnv', { env: manifest.auto_detect.env_vars.join(', ') })}`);
|
|
233
258
|
}
|
|
234
259
|
if (manifest.auto_detect.git_remote_pattern) {
|
|
235
|
-
console.log(`
|
|
260
|
+
console.log(` ${locale.t('cli', 'plugin.info.autoDetectGit', { pattern: manifest.auto_detect.git_remote_pattern })}`);
|
|
236
261
|
}
|
|
237
262
|
}
|
|
238
263
|
// Credits
|
|
239
264
|
if (manifest.credits) {
|
|
240
|
-
console.log(chalk.cyan('
|
|
265
|
+
console.log(chalk.cyan(`\n${locale.t('cli', 'plugin.info.credits')}`));
|
|
241
266
|
if (manifest.credits.based_on) {
|
|
242
|
-
console.log(`
|
|
267
|
+
console.log(` ${locale.t('cli', 'plugin.info.basedOn', { source: manifest.credits.based_on })}`);
|
|
243
268
|
}
|
|
244
269
|
if (manifest.credits.original_author) {
|
|
245
|
-
console.log(`
|
|
270
|
+
console.log(` ${locale.t('cli', 'plugin.info.originalAuthor', { author: manifest.credits.original_author })}`);
|
|
246
271
|
}
|
|
247
272
|
if (manifest.credits.contributors && manifest.credits.contributors.length > 0) {
|
|
248
|
-
console.log(`
|
|
273
|
+
console.log(` ${locale.t('cli', 'plugin.info.contributors', { contributors: manifest.credits.contributors.join(', ') })}`);
|
|
249
274
|
}
|
|
250
275
|
}
|
|
251
276
|
console.log();
|
|
252
277
|
}
|
|
253
278
|
catch (error) {
|
|
254
|
-
console.error(chalk.red('
|
|
279
|
+
console.error(chalk.red(locale.t('cli', 'plugin.info.errorGettingInfo')), error instanceof Error ? error.message : error);
|
|
255
280
|
process.exit(1);
|
|
256
281
|
}
|
|
257
282
|
}
|
|
@@ -259,37 +284,38 @@ export async function pluginInfo(pluginName) {
|
|
|
259
284
|
* Main plugin command handler
|
|
260
285
|
*/
|
|
261
286
|
export async function pluginCommand(action, pluginName, options) {
|
|
287
|
+
const locale = getLocaleManager(options?.language || 'en');
|
|
262
288
|
switch (action) {
|
|
263
289
|
case 'list':
|
|
264
290
|
await listPlugins(options || {});
|
|
265
291
|
break;
|
|
266
292
|
case 'enable':
|
|
267
293
|
if (!pluginName) {
|
|
268
|
-
console.error(chalk.red('
|
|
269
|
-
console.log(chalk.gray('
|
|
294
|
+
console.error(chalk.red(locale.t('cli', 'plugin.errors.nameRequired', { command: 'enable' })));
|
|
295
|
+
console.log(chalk.gray(locale.t('cli', 'plugin.errors.usageEnable')));
|
|
270
296
|
process.exit(1);
|
|
271
297
|
}
|
|
272
298
|
await enablePlugin(pluginName, options || {});
|
|
273
299
|
break;
|
|
274
300
|
case 'disable':
|
|
275
301
|
if (!pluginName) {
|
|
276
|
-
console.error(chalk.red('
|
|
277
|
-
console.log(chalk.gray('
|
|
302
|
+
console.error(chalk.red(locale.t('cli', 'plugin.errors.nameRequired', { command: 'disable' })));
|
|
303
|
+
console.log(chalk.gray(locale.t('cli', 'plugin.errors.usageDisable')));
|
|
278
304
|
process.exit(1);
|
|
279
305
|
}
|
|
280
306
|
await disablePlugin(pluginName, options || {});
|
|
281
307
|
break;
|
|
282
308
|
case 'info':
|
|
283
309
|
if (!pluginName) {
|
|
284
|
-
console.error(chalk.red('
|
|
285
|
-
console.log(chalk.gray('
|
|
310
|
+
console.error(chalk.red(locale.t('cli', 'plugin.errors.nameRequired', { command: 'info' })));
|
|
311
|
+
console.log(chalk.gray(locale.t('cli', 'plugin.errors.usageInfo')));
|
|
286
312
|
process.exit(1);
|
|
287
313
|
}
|
|
288
|
-
await pluginInfo(pluginName);
|
|
314
|
+
await pluginInfo(pluginName, options);
|
|
289
315
|
break;
|
|
290
316
|
default:
|
|
291
|
-
console.error(chalk.red(
|
|
292
|
-
console.log(chalk.gray('
|
|
317
|
+
console.error(chalk.red(locale.t('cli', 'plugin.errors.unknownAction', { action })));
|
|
318
|
+
console.log(chalk.gray(locale.t('cli', 'plugin.errors.validActions')));
|
|
293
319
|
process.exit(1);
|
|
294
320
|
}
|
|
295
321
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cli/commands/plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cli/commands/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Detector
|
|
3
|
+
*
|
|
4
|
+
* Detects language from environment variables, file content, or system locale.
|
|
5
|
+
*
|
|
6
|
+
* @module core/i18n
|
|
7
|
+
*/
|
|
8
|
+
import { SupportedLanguage, LanguageDetectionResult } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Detect language from environment
|
|
11
|
+
*/
|
|
12
|
+
export declare function detectLanguageFromEnvironment(): LanguageDetectionResult;
|
|
13
|
+
/**
|
|
14
|
+
* Detect language from file content
|
|
15
|
+
* Uses simple heuristics based on character sets
|
|
16
|
+
*/
|
|
17
|
+
export declare function detectLanguageFromContent(content: string): LanguageDetectionResult;
|
|
18
|
+
/**
|
|
19
|
+
* Detect language with fallback chain
|
|
20
|
+
*/
|
|
21
|
+
export declare function detectLanguage(options?: {
|
|
22
|
+
content?: string;
|
|
23
|
+
fallback?: SupportedLanguage;
|
|
24
|
+
}): LanguageDetectionResult;
|
|
25
|
+
/**
|
|
26
|
+
* Parse language code from string (handles various formats)
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseLanguageCode(code: string): SupportedLanguage | null;
|
|
29
|
+
//# sourceMappingURL=language-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-detector.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/language-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAGxE;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,uBAAuB,CAqBvE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,CAgFlF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,GAAG,uBAAuB,CAuB1B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CASxE"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Detector
|
|
3
|
+
*
|
|
4
|
+
* Detects language from environment variables, file content, or system locale.
|
|
5
|
+
*
|
|
6
|
+
* @module core/i18n
|
|
7
|
+
*/
|
|
8
|
+
import { isLanguageSupported } from './language-registry.js';
|
|
9
|
+
/**
|
|
10
|
+
* Detect language from environment
|
|
11
|
+
*/
|
|
12
|
+
export function detectLanguageFromEnvironment() {
|
|
13
|
+
// Check NODE_LANG env var
|
|
14
|
+
const nodeLang = process.env.NODE_LANG || process.env.LANG || '';
|
|
15
|
+
// Extract language code (e.g., "en_US.UTF-8" -> "en")
|
|
16
|
+
const langCode = nodeLang.split('_')[0].split('.')[0].toLowerCase();
|
|
17
|
+
if (isLanguageSupported(langCode)) {
|
|
18
|
+
return {
|
|
19
|
+
language: langCode,
|
|
20
|
+
confidence: 0.9,
|
|
21
|
+
reliable: true,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
// Default to English
|
|
25
|
+
return {
|
|
26
|
+
language: 'en',
|
|
27
|
+
confidence: 1.0,
|
|
28
|
+
reliable: true,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Detect language from file content
|
|
33
|
+
* Uses simple heuristics based on character sets
|
|
34
|
+
*/
|
|
35
|
+
export function detectLanguageFromContent(content) {
|
|
36
|
+
// Check for Cyrillic characters (Russian)
|
|
37
|
+
if (/[А-Яа-я]/.test(content)) {
|
|
38
|
+
return {
|
|
39
|
+
language: 'ru',
|
|
40
|
+
confidence: 0.8,
|
|
41
|
+
reliable: true,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// Check for CJK characters (Chinese, Japanese, Korean)
|
|
45
|
+
if (/[\u4E00-\u9FFF]/.test(content)) {
|
|
46
|
+
// Could be Chinese or Japanese, default to Chinese
|
|
47
|
+
return {
|
|
48
|
+
language: 'zh',
|
|
49
|
+
confidence: 0.7,
|
|
50
|
+
reliable: false, // Not very reliable without more analysis
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (/[\u3040-\u309F\u30A0-\u30FF]/.test(content)) {
|
|
54
|
+
// Hiragana/Katakana - Japanese
|
|
55
|
+
return {
|
|
56
|
+
language: 'ja',
|
|
57
|
+
confidence: 0.9,
|
|
58
|
+
reliable: true,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (/[\uAC00-\uD7AF]/.test(content)) {
|
|
62
|
+
// Hangul - Korean
|
|
63
|
+
return {
|
|
64
|
+
language: 'ko',
|
|
65
|
+
confidence: 0.9,
|
|
66
|
+
reliable: true,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// Check for common Spanish words
|
|
70
|
+
if (/\b(el|la|los|las|un|una|de|que|en)\b/i.test(content)) {
|
|
71
|
+
return {
|
|
72
|
+
language: 'es',
|
|
73
|
+
confidence: 0.6,
|
|
74
|
+
reliable: false,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
// Check for common French words
|
|
78
|
+
if (/\b(le|la|les|un|une|de|que|et)\b/i.test(content)) {
|
|
79
|
+
return {
|
|
80
|
+
language: 'fr',
|
|
81
|
+
confidence: 0.6,
|
|
82
|
+
reliable: false,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// Check for common German words
|
|
86
|
+
if (/\b(der|die|das|ein|eine|und|ist|das)\b/i.test(content)) {
|
|
87
|
+
return {
|
|
88
|
+
language: 'de',
|
|
89
|
+
confidence: 0.6,
|
|
90
|
+
reliable: false,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
// Check for common Portuguese words
|
|
94
|
+
if (/\b(o|a|os|as|um|uma|de|que|em)\b/i.test(content)) {
|
|
95
|
+
return {
|
|
96
|
+
language: 'pt',
|
|
97
|
+
confidence: 0.6,
|
|
98
|
+
reliable: false,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// Default to English
|
|
102
|
+
return {
|
|
103
|
+
language: 'en',
|
|
104
|
+
confidence: 0.5,
|
|
105
|
+
reliable: false,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Detect language with fallback chain
|
|
110
|
+
*/
|
|
111
|
+
export function detectLanguage(options) {
|
|
112
|
+
const { content, fallback = 'en' } = options || {};
|
|
113
|
+
// Try content-based detection first
|
|
114
|
+
if (content) {
|
|
115
|
+
const contentResult = detectLanguageFromContent(content);
|
|
116
|
+
if (contentResult.reliable && contentResult.confidence > 0.7) {
|
|
117
|
+
return contentResult;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Try environment detection
|
|
121
|
+
const envResult = detectLanguageFromEnvironment();
|
|
122
|
+
if (envResult.reliable) {
|
|
123
|
+
return envResult;
|
|
124
|
+
}
|
|
125
|
+
// Use fallback
|
|
126
|
+
return {
|
|
127
|
+
language: fallback,
|
|
128
|
+
confidence: 1.0,
|
|
129
|
+
reliable: true,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Parse language code from string (handles various formats)
|
|
134
|
+
*/
|
|
135
|
+
export function parseLanguageCode(code) {
|
|
136
|
+
// Normalize: lowercase, extract first part
|
|
137
|
+
const normalized = code.toLowerCase().split(/[-_]/)[0];
|
|
138
|
+
if (isLanguageSupported(normalized)) {
|
|
139
|
+
return normalized;
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=language-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-detector.js","sourceRoot":"","sources":["../../../src/core/i18n/language-detector.ts"],"names":[],"mappings":"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"}
|