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
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specweave.github.close-issue
|
|
3
|
+
description: Close GitHub issue for completed SpecWeave increment. Posts completion summary with final stats, deliverables, and closes the issue. Links closure in increment metadata.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Close GitHub Issue for Completed Increment
|
|
7
|
+
|
|
8
|
+
Close the GitHub issue associated with a completed SpecWeave increment.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/specweave:github:close-issue <increment-id> [options]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Arguments
|
|
17
|
+
|
|
18
|
+
- `increment-id`: Increment ID (e.g., `0004` or `0004-plugin-architecture`)
|
|
19
|
+
|
|
20
|
+
## Options
|
|
21
|
+
|
|
22
|
+
- `--force`: Force close even if increment not marked complete
|
|
23
|
+
- `--comment`: Custom closing comment (default: auto-generated summary)
|
|
24
|
+
- `--reopen`: Reopen a previously closed issue
|
|
25
|
+
- `--skip-validation`: Skip PM gate validation
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Basic usage (auto-generates completion summary)
|
|
31
|
+
/specweave:github:close-issue 0004
|
|
32
|
+
|
|
33
|
+
# With custom comment
|
|
34
|
+
/specweave:github:close-issue 0004 --comment "Merged to main, deploying to production"
|
|
35
|
+
|
|
36
|
+
# Force close (skip validation)
|
|
37
|
+
/specweave:github:close-issue 0004 --force
|
|
38
|
+
|
|
39
|
+
# Reopen closed issue
|
|
40
|
+
/specweave:github:close-issue 0004 --reopen
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## What This Command Does
|
|
44
|
+
|
|
45
|
+
1. **Validates Increment Completion**
|
|
46
|
+
- All tasks completed (48/48)
|
|
47
|
+
- All tests passing
|
|
48
|
+
- PM gates passed (from `/specweave:done`)
|
|
49
|
+
- Documentation updated
|
|
50
|
+
|
|
51
|
+
2. **Generates Completion Summary**
|
|
52
|
+
```markdown
|
|
53
|
+
✅ **Increment Completed**
|
|
54
|
+
|
|
55
|
+
This increment has been successfully completed and is ready for release.
|
|
56
|
+
|
|
57
|
+
## Final Stats
|
|
58
|
+
|
|
59
|
+
- **Tasks**: 48/48 completed (100%)
|
|
60
|
+
- **Duration**: 4 weeks (2025-10-01 → 2025-10-30)
|
|
61
|
+
- **Time Tracked**: 240 hours (estimated) / 235 hours (actual)
|
|
62
|
+
- **Test Coverage**: 127 test cases, 95% coverage
|
|
63
|
+
- **Priority**: P1
|
|
64
|
+
|
|
65
|
+
## Deliverables
|
|
66
|
+
|
|
67
|
+
✅ Plugin architecture implemented
|
|
68
|
+
✅ 15 plugins migrated (github, kubernetes, frontend-stack, ...)
|
|
69
|
+
✅ Documentation updated (ADRs, user guides, API docs)
|
|
70
|
+
✅ E2E tests passing (Playwright suite)
|
|
71
|
+
✅ Integration tests passing (Jest suite)
|
|
72
|
+
|
|
73
|
+
## Key Changes
|
|
74
|
+
|
|
75
|
+
- Added plugin system with loader, manager, detector
|
|
76
|
+
- Implemented 4 adapters (Claude, Cursor, Copilot, Generic)
|
|
77
|
+
- Created 15 domain-specific plugins
|
|
78
|
+
- Updated all documentation
|
|
79
|
+
- Achieved 80% test coverage
|
|
80
|
+
|
|
81
|
+
## Files Changed
|
|
82
|
+
|
|
83
|
+
- 48 files modified
|
|
84
|
+
- +12,500 lines added
|
|
85
|
+
- -3,200 lines removed
|
|
86
|
+
- Net: +9,300 lines
|
|
87
|
+
|
|
88
|
+
## Related
|
|
89
|
+
|
|
90
|
+
- **Spec**: [spec.md](https://github.com/owner/repo/blob/main/.specweave/increments/0004/spec.md)
|
|
91
|
+
- **Plan**: [plan.md](https://github.com/owner/repo/blob/main/.specweave/increments/0004/plan.md)
|
|
92
|
+
- **Tests**: [tests.md](https://github.com/owner/repo/blob/main/.specweave/increments/0004/tests.md)
|
|
93
|
+
|
|
94
|
+
## Next Steps
|
|
95
|
+
|
|
96
|
+
- Deploy to production (tracked in #135)
|
|
97
|
+
- Monitor for issues (see runbook)
|
|
98
|
+
- Plan next increment (0005-user-authentication)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
🎉 Thank you to all contributors!
|
|
103
|
+
|
|
104
|
+
🤖 Auto-closed by SpecWeave at 2025-10-30 17:00:00
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
3. **Posts Completion Comment**
|
|
108
|
+
```bash
|
|
109
|
+
gh issue comment 130 --body "$(cat completion-summary.md)"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
4. **Closes GitHub Issue**
|
|
113
|
+
```bash
|
|
114
|
+
gh issue close 130
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
5. **Updates Metadata**
|
|
118
|
+
```yaml
|
|
119
|
+
# .metadata.yaml
|
|
120
|
+
github:
|
|
121
|
+
issue_number: 130
|
|
122
|
+
issue_url: "https://github.com/owner/repo/issues/130"
|
|
123
|
+
closed_at: "2025-10-30T17:00:00Z"
|
|
124
|
+
closed_by: "specweave-github-plugin"
|
|
125
|
+
closing_comment_id: 1234590
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
6. **Reports Result**
|
|
129
|
+
```
|
|
130
|
+
✅ GitHub issue #130 closed!
|
|
131
|
+
|
|
132
|
+
Increment 0004 is complete.
|
|
133
|
+
Issue: https://github.com/owner/repo/issues/130 (closed)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Configuration
|
|
137
|
+
|
|
138
|
+
Settings from `.specweave/config.yaml`:
|
|
139
|
+
|
|
140
|
+
```yaml
|
|
141
|
+
plugins:
|
|
142
|
+
settings:
|
|
143
|
+
specweave-github:
|
|
144
|
+
# Auto-close issues when increment completes
|
|
145
|
+
auto_close_issue: true
|
|
146
|
+
|
|
147
|
+
# Validate before closing
|
|
148
|
+
require_validation: true
|
|
149
|
+
|
|
150
|
+
# Include in closing comment
|
|
151
|
+
closing_comment:
|
|
152
|
+
include_stats: true
|
|
153
|
+
include_deliverables: true
|
|
154
|
+
include_file_changes: true
|
|
155
|
+
include_next_steps: true
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Output Format
|
|
159
|
+
|
|
160
|
+
### Success
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
🔒 Closing GitHub issue for increment 0004...
|
|
164
|
+
|
|
165
|
+
Validation:
|
|
166
|
+
✓ All tasks completed (48/48)
|
|
167
|
+
✓ All tests passing (127/127)
|
|
168
|
+
✓ PM gates passed
|
|
169
|
+
✓ Documentation updated
|
|
170
|
+
|
|
171
|
+
Generating completion summary...
|
|
172
|
+
✓ Final stats calculated
|
|
173
|
+
✓ Deliverables listed
|
|
174
|
+
✓ File changes summarized
|
|
175
|
+
|
|
176
|
+
Closing issue...
|
|
177
|
+
✓ Posted completion comment (ID: 1234590)
|
|
178
|
+
✓ Issue #130 closed
|
|
179
|
+
✓ Metadata updated
|
|
180
|
+
|
|
181
|
+
✅ GitHub Issue Closed!
|
|
182
|
+
|
|
183
|
+
Issue #130: https://github.com/owner/repo/issues/130
|
|
184
|
+
Status: Closed
|
|
185
|
+
Closed at: 2025-10-30 17:00:00
|
|
186
|
+
|
|
187
|
+
Increment 0004 is complete! 🎉
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Validation Failure
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
❌ Cannot close issue: Validation failed
|
|
194
|
+
|
|
195
|
+
Increment 0004 is not yet complete:
|
|
196
|
+
|
|
197
|
+
Issues:
|
|
198
|
+
✗ Tasks: 45/48 completed (3 remaining)
|
|
199
|
+
- T-046: Update documentation
|
|
200
|
+
- T-047: Run E2E tests
|
|
201
|
+
- T-048: Final review
|
|
202
|
+
|
|
203
|
+
✗ Tests: 2 tests failing
|
|
204
|
+
- TC-105: Plugin unload test
|
|
205
|
+
- TC-127: E2E sync test
|
|
206
|
+
|
|
207
|
+
✗ PM Gates: Not run yet
|
|
208
|
+
- Run /specweave:done 0004 first
|
|
209
|
+
|
|
210
|
+
Fix these issues, then retry:
|
|
211
|
+
/specweave:github:close-issue 0004
|
|
212
|
+
|
|
213
|
+
Or force close (not recommended):
|
|
214
|
+
/specweave:github:close-issue 0004 --force
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Requirements
|
|
218
|
+
|
|
219
|
+
- GitHub CLI (`gh`) installed and authenticated
|
|
220
|
+
- Increment marked as complete (via `/specweave:done`)
|
|
221
|
+
- Valid GitHub issue exists for increment
|
|
222
|
+
|
|
223
|
+
## Error Handling
|
|
224
|
+
|
|
225
|
+
**Increment not complete**:
|
|
226
|
+
```
|
|
227
|
+
❌ Error: Increment 0004 is not complete
|
|
228
|
+
|
|
229
|
+
Status: in_progress (should be: completed)
|
|
230
|
+
|
|
231
|
+
Complete the increment first:
|
|
232
|
+
/specweave:done 0004
|
|
233
|
+
|
|
234
|
+
Then close the issue:
|
|
235
|
+
/specweave:github:close-issue 0004
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Issue not found**:
|
|
239
|
+
```
|
|
240
|
+
❌ Error: No GitHub issue found for increment 0004
|
|
241
|
+
|
|
242
|
+
Check .metadata.yaml for issue number.
|
|
243
|
+
|
|
244
|
+
Create issue first:
|
|
245
|
+
/specweave:github:create-issue 0004
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Issue already closed**:
|
|
249
|
+
```
|
|
250
|
+
ℹ️ Issue #130 is already closed
|
|
251
|
+
|
|
252
|
+
Closed by: @developer1
|
|
253
|
+
Closed at: 2025-10-30 16:00:00
|
|
254
|
+
|
|
255
|
+
Use --reopen to reopen the issue.
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**Permission denied**:
|
|
259
|
+
```
|
|
260
|
+
❌ Error: Insufficient permissions to close issue #130
|
|
261
|
+
|
|
262
|
+
Required: Write or Admin access to repository
|
|
263
|
+
|
|
264
|
+
Contact repository admin for access.
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Related Commands
|
|
268
|
+
|
|
269
|
+
- `/specweave:done <increment-id>`: Mark increment complete (run this first)
|
|
270
|
+
- `/specweave:github:sync <increment-id>`: Sync final progress before closing
|
|
271
|
+
- `/specweave:github:status <increment-id>`: Check issue status
|
|
272
|
+
|
|
273
|
+
## Tips
|
|
274
|
+
|
|
275
|
+
1. **Auto-Close**: Enable `auto_close_issue: true` for automatic closing when running `/specweave:done`
|
|
276
|
+
|
|
277
|
+
2. **Final Sync**: Always run `/specweave:github:sync` before closing to ensure latest progress is posted
|
|
278
|
+
|
|
279
|
+
3. **Validation**: Don't skip validation (`--force`) unless absolutely necessary - it ensures quality
|
|
280
|
+
|
|
281
|
+
4. **Custom Comments**: Use `--comment` for release-specific notes (deployment status, known issues, etc.)
|
|
282
|
+
|
|
283
|
+
5. **Reopening**: If increment needs more work after closing, use `--reopen` to reopen the issue
|
|
284
|
+
|
|
285
|
+
## Advanced
|
|
286
|
+
|
|
287
|
+
### Custom Closing Template
|
|
288
|
+
|
|
289
|
+
Create `.specweave/github/closing-template.md`:
|
|
290
|
+
|
|
291
|
+
```markdown
|
|
292
|
+
# 🎉 Increment {{id}} Completed!
|
|
293
|
+
|
|
294
|
+
{{summary}}
|
|
295
|
+
|
|
296
|
+
## Achievements
|
|
297
|
+
|
|
298
|
+
{{deliverables}}
|
|
299
|
+
|
|
300
|
+
## Stats
|
|
301
|
+
|
|
302
|
+
- Duration: {{duration}}
|
|
303
|
+
- Team size: {{team_size}}
|
|
304
|
+
- Commits: {{commit_count}}
|
|
305
|
+
|
|
306
|
+
## Deployment
|
|
307
|
+
|
|
308
|
+
- Merged to: {{branch}}
|
|
309
|
+
- Deployed to: {{environment}}
|
|
310
|
+
- Release: {{version}}
|
|
311
|
+
|
|
312
|
+
## Thank You
|
|
313
|
+
|
|
314
|
+
Special thanks to:
|
|
315
|
+
{{contributors}}
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
_Closed by SpecWeave on {{date}}_
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Conditional Closing
|
|
323
|
+
|
|
324
|
+
Close only if specific conditions met:
|
|
325
|
+
|
|
326
|
+
```yaml
|
|
327
|
+
plugins:
|
|
328
|
+
settings:
|
|
329
|
+
specweave-github:
|
|
330
|
+
closing_conditions:
|
|
331
|
+
# Require all tests passing
|
|
332
|
+
- type: "tests"
|
|
333
|
+
threshold: 100
|
|
334
|
+
required: true
|
|
335
|
+
|
|
336
|
+
# Require coverage >= 80%
|
|
337
|
+
- type: "coverage"
|
|
338
|
+
threshold: 80
|
|
339
|
+
required: true
|
|
340
|
+
|
|
341
|
+
# Require PR merged
|
|
342
|
+
- type: "pr_merged"
|
|
343
|
+
required: true
|
|
344
|
+
|
|
345
|
+
# Require approval from tech lead
|
|
346
|
+
- type: "approval"
|
|
347
|
+
approvers: ["@tech-lead"]
|
|
348
|
+
required: true
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Post-Closing Actions
|
|
352
|
+
|
|
353
|
+
Trigger actions after closing:
|
|
354
|
+
|
|
355
|
+
```yaml
|
|
356
|
+
plugins:
|
|
357
|
+
settings:
|
|
358
|
+
specweave-github:
|
|
359
|
+
post_close:
|
|
360
|
+
# Create release tag
|
|
361
|
+
- action: "create_tag"
|
|
362
|
+
format: "increment-{{id}}"
|
|
363
|
+
|
|
364
|
+
# Trigger deployment
|
|
365
|
+
- action: "github_workflow"
|
|
366
|
+
workflow: "deploy.yml"
|
|
367
|
+
inputs:
|
|
368
|
+
increment: "{{id}}"
|
|
369
|
+
|
|
370
|
+
# Notify team
|
|
371
|
+
- action: "slack_notification"
|
|
372
|
+
channel: "#releases"
|
|
373
|
+
message: "Increment {{id}} completed! 🎉"
|
|
374
|
+
|
|
375
|
+
# Archive to notion
|
|
376
|
+
- action: "notion_export"
|
|
377
|
+
database: "Completed Increments"
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### Bulk Close
|
|
381
|
+
|
|
382
|
+
Close multiple completed increments:
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
# Close all completed increments
|
|
386
|
+
/specweave:github:close-issue --status completed --all
|
|
387
|
+
|
|
388
|
+
# Close specific increments
|
|
389
|
+
for i in 0004 0005 0006; do
|
|
390
|
+
/specweave:github:close-issue $i
|
|
391
|
+
done
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Reopen with Context
|
|
395
|
+
|
|
396
|
+
Reopen issue with explanation:
|
|
397
|
+
|
|
398
|
+
```bash
|
|
399
|
+
/specweave:github:close-issue 0004 --reopen \
|
|
400
|
+
--comment "Reopening: Critical bug found in production (issue #140). Need to add rollback mechanism."
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### Close and Lock
|
|
404
|
+
|
|
405
|
+
Close and lock issue to prevent further comments:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
/specweave:github:close-issue 0004 --lock \
|
|
409
|
+
--lock-reason "resolved" # or "off-topic", "spam", "too heated"
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
**Command**: `/specweave:github:close-issue`
|
|
415
|
+
**Plugin**: specweave-github
|
|
416
|
+
**Agent**: github-manager
|
|
417
|
+
**Version**: 1.0.0
|
|
418
|
+
**Last Updated**: 2025-10-30
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specweave.github.create-issue
|
|
3
|
+
description: Create a GitHub issue for a SpecWeave increment. Generates issue from increment specs with task checklist, labels, and milestone. Links issue to increment metadata.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create GitHub Issue from Increment
|
|
7
|
+
|
|
8
|
+
Create a GitHub issue for the specified SpecWeave increment.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
/specweave:github:create-issue <increment-id> [options]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Arguments
|
|
17
|
+
|
|
18
|
+
- `increment-id`: Increment ID (e.g., `0004` or `0004-plugin-architecture`)
|
|
19
|
+
|
|
20
|
+
## Options
|
|
21
|
+
|
|
22
|
+
- `--force`: Force create even if issue already exists
|
|
23
|
+
- `--labels`: Comma-separated labels (default: from config)
|
|
24
|
+
- `--milestone`: Milestone name (default: from config)
|
|
25
|
+
- `--assignee`: Assign to user (@username)
|
|
26
|
+
- `--project`: Add to GitHub project (project number)
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Basic usage
|
|
32
|
+
/specweave:github:create-issue 0004
|
|
33
|
+
|
|
34
|
+
# With custom labels
|
|
35
|
+
/specweave:github:create-issue 0004 --labels "urgent,backend"
|
|
36
|
+
|
|
37
|
+
# Assign to developer
|
|
38
|
+
/specweave:github:create-issue 0004 --assignee @developer1
|
|
39
|
+
|
|
40
|
+
# Add to project
|
|
41
|
+
/specweave:github:create-issue 0004 --project 3
|
|
42
|
+
|
|
43
|
+
# Force recreate
|
|
44
|
+
/specweave:github:create-issue 0004 --force
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## What This Command Does
|
|
48
|
+
|
|
49
|
+
1. **Loads Increment**
|
|
50
|
+
- Reads `.specweave/increments/<increment-id>/`
|
|
51
|
+
- Parses `spec.md`, `plan.md`, `tasks.md`
|
|
52
|
+
- Checks `.metadata.yaml` for existing issue
|
|
53
|
+
|
|
54
|
+
2. **Detects Repository**
|
|
55
|
+
- Extracts repo from git remote
|
|
56
|
+
- Format: `owner/repo`
|
|
57
|
+
- Verifies write permissions
|
|
58
|
+
|
|
59
|
+
3. **Generates Issue Body**
|
|
60
|
+
- Executive summary from `spec.md`
|
|
61
|
+
- Task checklist from `tasks.md`
|
|
62
|
+
- Progress tracker (0% initially)
|
|
63
|
+
- Links to increment files
|
|
64
|
+
|
|
65
|
+
4. **Creates GitHub Issue** (via GitHub CLI)
|
|
66
|
+
- Uses `gh issue create`
|
|
67
|
+
- Applies labels (specweave, increment, priority)
|
|
68
|
+
- Sets milestone (if configured)
|
|
69
|
+
- Assigns to user (if specified)
|
|
70
|
+
|
|
71
|
+
5. **Updates Metadata**
|
|
72
|
+
- Saves issue number to `.metadata.yaml`
|
|
73
|
+
- Stores issue URL
|
|
74
|
+
- Logs creation timestamp
|
|
75
|
+
|
|
76
|
+
6. **Reports Result**
|
|
77
|
+
- Issue number and URL
|
|
78
|
+
- Labels applied
|
|
79
|
+
- Milestone set
|
|
80
|
+
- Auto-sync status
|
|
81
|
+
|
|
82
|
+
## Requirements
|
|
83
|
+
|
|
84
|
+
- GitHub CLI (`gh`) installed and authenticated
|
|
85
|
+
- Write access to repository
|
|
86
|
+
- Valid increment directory
|
|
87
|
+
|
|
88
|
+
## Configuration
|
|
89
|
+
|
|
90
|
+
Settings from `.specweave/config.yaml`:
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
plugins:
|
|
94
|
+
settings:
|
|
95
|
+
specweave-github:
|
|
96
|
+
repo: "owner/repo" # Auto-detected from git remote
|
|
97
|
+
default_labels:
|
|
98
|
+
- "specweave"
|
|
99
|
+
- "increment"
|
|
100
|
+
milestone: "v0.4.0" # Optional
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Error Handling
|
|
104
|
+
|
|
105
|
+
**Increment not found**:
|
|
106
|
+
```
|
|
107
|
+
❌ Error: Increment '0004' not found
|
|
108
|
+
|
|
109
|
+
Check: ls .specweave/increments/
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Issue already exists**:
|
|
113
|
+
```
|
|
114
|
+
⚠️ GitHub issue already exists for increment 0004
|
|
115
|
+
|
|
116
|
+
Issue #130: https://github.com/owner/repo/issues/130
|
|
117
|
+
|
|
118
|
+
Use --force to recreate (will close existing issue first).
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**GitHub CLI not authenticated**:
|
|
122
|
+
```
|
|
123
|
+
❌ Error: GitHub CLI not authenticated
|
|
124
|
+
|
|
125
|
+
Please run: gh auth login
|
|
126
|
+
|
|
127
|
+
Then retry this command.
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**No write permissions**:
|
|
131
|
+
```
|
|
132
|
+
❌ Error: Insufficient permissions
|
|
133
|
+
|
|
134
|
+
Required: Write access to owner/repo
|
|
135
|
+
|
|
136
|
+
Contact repository admin to request access.
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Implementation
|
|
140
|
+
|
|
141
|
+
This command invokes the `github-manager` agent via the Task tool:
|
|
142
|
+
|
|
143
|
+
```typescript
|
|
144
|
+
const agent = new TaskAgent('github-manager', {
|
|
145
|
+
prompt: `Create GitHub issue for increment ${incrementId}`,
|
|
146
|
+
context: {
|
|
147
|
+
incrementPath: `.specweave/increments/${incrementId}`,
|
|
148
|
+
options: { force, labels, milestone, assignee, project }
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
await agent.execute();
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The agent handles:
|
|
156
|
+
- File reading (spec.md, tasks.md)
|
|
157
|
+
- GitHub API calls (via `gh` CLI)
|
|
158
|
+
- Metadata updates
|
|
159
|
+
- Error handling
|
|
160
|
+
|
|
161
|
+
## Output Format
|
|
162
|
+
|
|
163
|
+
### Success
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
📦 Creating GitHub issue for increment 0004...
|
|
167
|
+
|
|
168
|
+
✓ Increment loaded: 0004-plugin-architecture
|
|
169
|
+
✓ Repository detected: owner/repo
|
|
170
|
+
✓ Issue body generated (2,500 characters)
|
|
171
|
+
|
|
172
|
+
Creating issue...
|
|
173
|
+
✓ Issue #130 created
|
|
174
|
+
✓ Labels applied: specweave, increment, P1
|
|
175
|
+
✓ Milestone set: v0.4.0
|
|
176
|
+
✓ Metadata updated
|
|
177
|
+
|
|
178
|
+
✅ GitHub Issue Created!
|
|
179
|
+
|
|
180
|
+
Issue #130: [Increment 0004] Plugin Architecture
|
|
181
|
+
URL: https://github.com/owner/repo/issues/130
|
|
182
|
+
|
|
183
|
+
Auto-sync enabled: progress will update automatically after each task.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Failure
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
❌ Failed to create GitHub issue
|
|
190
|
+
|
|
191
|
+
Error: API rate limit exceeded
|
|
192
|
+
Rate limit resets at: 2025-10-30 15:30:00
|
|
193
|
+
|
|
194
|
+
Options:
|
|
195
|
+
1. Wait 30 minutes
|
|
196
|
+
2. Use authenticated token (higher limit)
|
|
197
|
+
|
|
198
|
+
Run /specweave:github:status 0004 to check sync state.
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Related Commands
|
|
202
|
+
|
|
203
|
+
- `/specweave:github:sync <increment-id>`: Update existing issue
|
|
204
|
+
- `/specweave:github:close-issue <increment-id>`: Close issue
|
|
205
|
+
- `/specweave:github:status <increment-id>`: Check sync status
|
|
206
|
+
|
|
207
|
+
## Tips
|
|
208
|
+
|
|
209
|
+
1. **Auto-Create**: Enable `auto_create_issue: true` in config to auto-create issues when running `/specweave:inc`
|
|
210
|
+
|
|
211
|
+
2. **Templates**: Customize issue template in `.specweave/github/issue-template.md`
|
|
212
|
+
|
|
213
|
+
3. **Labels**: Use labels for filtering in GitHub Projects:
|
|
214
|
+
- `specweave`: All SpecWeave increments
|
|
215
|
+
- `increment`: Differentiate from regular issues
|
|
216
|
+
- `P0`/`P1`/`P2`/`P3`: Priority levels
|
|
217
|
+
|
|
218
|
+
4. **Milestones**: Group increments by release milestone for progress tracking
|
|
219
|
+
|
|
220
|
+
5. **Projects**: Add issues to GitHub Projects for Kanban-style tracking
|
|
221
|
+
|
|
222
|
+
## Advanced
|
|
223
|
+
|
|
224
|
+
### Custom Issue Body Template
|
|
225
|
+
|
|
226
|
+
Create `.specweave/github/issue-template.md`:
|
|
227
|
+
|
|
228
|
+
```markdown
|
|
229
|
+
# [Increment {{id}}] {{title}}
|
|
230
|
+
|
|
231
|
+
{{summary}}
|
|
232
|
+
|
|
233
|
+
## Details
|
|
234
|
+
|
|
235
|
+
- **Spec**: [spec.md]({{spec_url}})
|
|
236
|
+
- **Priority**: {{priority}}
|
|
237
|
+
- **Duration**: {{duration}}
|
|
238
|
+
|
|
239
|
+
## Tasks
|
|
240
|
+
|
|
241
|
+
{{tasks}}
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
_Auto-created by SpecWeave_
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Bulk Create
|
|
249
|
+
|
|
250
|
+
Create issues for multiple increments:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
for i in 0004 0005 0006; do
|
|
254
|
+
/specweave:github:create-issue $i
|
|
255
|
+
done
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Or using a script:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# Create issues for all increments in backlog
|
|
262
|
+
ls .specweave/increments/_backlog/ | while read inc; do
|
|
263
|
+
/specweave:github:create-issue $inc
|
|
264
|
+
done
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Dry Run
|
|
268
|
+
|
|
269
|
+
Preview issue body before creating:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
/specweave:github:create-issue 0004 --dry-run
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Output:
|
|
276
|
+
```
|
|
277
|
+
📄 Preview: Issue body for increment 0004
|
|
278
|
+
|
|
279
|
+
Title: [Increment 0004] Plugin Architecture
|
|
280
|
+
Labels: specweave, increment, P1
|
|
281
|
+
Milestone: v0.4.0
|
|
282
|
+
|
|
283
|
+
Body:
|
|
284
|
+
---
|
|
285
|
+
# [Increment 0004] Plugin Architecture
|
|
286
|
+
|
|
287
|
+
**Status**: Planning
|
|
288
|
+
**Priority**: P1
|
|
289
|
+
|
|
290
|
+
## Executive Summary
|
|
291
|
+
|
|
292
|
+
Implement a modular plugin architecture for SpecWeave...
|
|
293
|
+
|
|
294
|
+
[... full body ...]
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
Run without --dry-run to create this issue.
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
**Command**: `/specweave:github:create-issue`
|
|
304
|
+
**Plugin**: specweave-github
|
|
305
|
+
**Agent**: github-manager
|
|
306
|
+
**Version**: 1.0.0
|
|
307
|
+
**Last Updated**: 2025-10-30
|