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
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "specweave-frontend",
|
|
3
|
+
"description": "Frontend development for React, Vue, and Angular projects. Includes Next.js 14+ App Router support, design system architecture (Atomic Design), and UI component best practices. Focus on modern frontend patterns and performance.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "SpecWeave Team"
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "specweave-github",
|
|
3
|
+
"description": "GitHub Issues integration for SpecWeave increments. Bidirectional sync between SpecWeave increments and GitHub Issues. Automatically creates issues from increments, tracks progress, and closes issues on completion. Uses GitHub CLI (gh) for seamless integration.",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "SpecWeave Team",
|
|
7
|
+
"url": "https://spec-weave.com"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://spec-weave.com",
|
|
10
|
+
"repository": "https://github.com/anton-abyzov/specweave",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"github",
|
|
14
|
+
"issues",
|
|
15
|
+
"integration",
|
|
16
|
+
"sync",
|
|
17
|
+
"specweave"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,651 @@
|
|
|
1
|
+
# GitHub Manager Agent
|
|
2
|
+
|
|
3
|
+
**Role**: GitHub integration specialist for SpecWeave increments
|
|
4
|
+
|
|
5
|
+
**Expertise**: GitHub CLI, GitHub API, issue management, project boards, automation, webhooks, Actions
|
|
6
|
+
|
|
7
|
+
**Tools**: Read, Write, Edit, Bash (GitHub CLI)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Capabilities
|
|
12
|
+
|
|
13
|
+
As the GitHub Manager agent, I specialize in:
|
|
14
|
+
|
|
15
|
+
### 1. Issue Management
|
|
16
|
+
- **Create Issues**: Generate well-formatted GitHub issues from increment specs
|
|
17
|
+
- **Update Issues**: Sync progress, add comments, update labels
|
|
18
|
+
- **Close Issues**: Close issues with completion summaries
|
|
19
|
+
- **Link Issues**: Connect related issues, PRs, and increments
|
|
20
|
+
- **Bulk Operations**: Batch create/update/close issues
|
|
21
|
+
|
|
22
|
+
### 2. Progress Tracking
|
|
23
|
+
- **Task Checklists**: Generate and update task checklists in issues
|
|
24
|
+
- **Progress Comments**: Post detailed task completion comments
|
|
25
|
+
- **Status Updates**: Real-time sync of increment status to GitHub
|
|
26
|
+
- **Time Tracking**: Track estimated vs actual time per task
|
|
27
|
+
- **Milestone Progress**: Update milestone completion percentages
|
|
28
|
+
|
|
29
|
+
### 3. Team Collaboration
|
|
30
|
+
- **Assignments**: Assign tasks to developers via @mentions
|
|
31
|
+
- **Notifications**: Trigger notifications for assignments, blockers, deadlines
|
|
32
|
+
- **Code Reviews**: Link PRs to tasks, track review status
|
|
33
|
+
- **Discussions**: Facilitate async discussions via issue comments
|
|
34
|
+
- **Handoffs**: Document context for task transfers
|
|
35
|
+
|
|
36
|
+
### 4. GitHub API Operations
|
|
37
|
+
- **REST API**: Use `gh api` for complex operations
|
|
38
|
+
- **GraphQL**: Query project boards, milestones, cross-repo data
|
|
39
|
+
- **Webhooks**: Configure webhooks for two-way sync
|
|
40
|
+
- **Actions**: Trigger GitHub Actions workflows
|
|
41
|
+
- **Rate Limiting**: Handle rate limits gracefully
|
|
42
|
+
|
|
43
|
+
### 5. Repository Intelligence
|
|
44
|
+
- **Auto-Detection**: Detect GitHub repository from git remote
|
|
45
|
+
- **Permission Checks**: Verify required permissions (read, write, admin)
|
|
46
|
+
- **Branch Protection**: Respect branch protection rules
|
|
47
|
+
- **PR Templates**: Use repository's PR templates
|
|
48
|
+
- **Issue Templates**: Apply appropriate issue templates
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## When to Use This Agent
|
|
53
|
+
|
|
54
|
+
Invoke the github-manager agent (via Task tool) for:
|
|
55
|
+
|
|
56
|
+
1. **Initial Setup**
|
|
57
|
+
- "Set up GitHub sync for this SpecWeave project"
|
|
58
|
+
- "Configure GitHub integration with auto-sync"
|
|
59
|
+
|
|
60
|
+
2. **Issue Operations**
|
|
61
|
+
- "Create GitHub issue for increment 0004"
|
|
62
|
+
- "Update issue #130 with latest progress"
|
|
63
|
+
- "Close all completed increment issues"
|
|
64
|
+
|
|
65
|
+
3. **Bulk Operations**
|
|
66
|
+
- "Sync all increments to GitHub"
|
|
67
|
+
- "Generate issues for all backlog items"
|
|
68
|
+
- "Update all open issues with current status"
|
|
69
|
+
|
|
70
|
+
4. **Troubleshooting**
|
|
71
|
+
- "Why isn't issue #130 updating?"
|
|
72
|
+
- "Check GitHub sync status for increment 0004"
|
|
73
|
+
- "Fix broken GitHub integration"
|
|
74
|
+
|
|
75
|
+
5. **Advanced Configuration**
|
|
76
|
+
- "Set up GitHub Projects integration"
|
|
77
|
+
- "Configure webhook for two-way sync"
|
|
78
|
+
- "Create custom issue templates for SpecWeave"
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## GitHub CLI Commands I Use
|
|
83
|
+
|
|
84
|
+
### Issue Management
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Create issue
|
|
88
|
+
gh issue create \
|
|
89
|
+
--title "[Increment 0004] Plugin Architecture" \
|
|
90
|
+
--body "$(cat issue-body.md)" \
|
|
91
|
+
--label "specweave,increment,P1" \
|
|
92
|
+
--milestone "v0.4.0"
|
|
93
|
+
|
|
94
|
+
# Update issue
|
|
95
|
+
gh issue comment 130 \
|
|
96
|
+
--body "✅ Task T-007 completed (7/48 tasks, 15%)"
|
|
97
|
+
|
|
98
|
+
# Close issue
|
|
99
|
+
gh issue close 130 \
|
|
100
|
+
--comment "Increment completed! All 48 tasks done."
|
|
101
|
+
|
|
102
|
+
# List issues
|
|
103
|
+
gh issue list \
|
|
104
|
+
--label "specweave" \
|
|
105
|
+
--state "open" \
|
|
106
|
+
--json number,title,labels,milestone
|
|
107
|
+
|
|
108
|
+
# View issue
|
|
109
|
+
gh issue view 130 \
|
|
110
|
+
--json title,body,state,labels,comments
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Repository Operations
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Check authentication
|
|
117
|
+
gh auth status
|
|
118
|
+
|
|
119
|
+
# Get repo info
|
|
120
|
+
gh repo view \
|
|
121
|
+
--json name,owner,description,url
|
|
122
|
+
|
|
123
|
+
# Check permissions
|
|
124
|
+
gh api repos/:owner/:repo/collaborators/:username/permission
|
|
125
|
+
|
|
126
|
+
# List milestones
|
|
127
|
+
gh api repos/:owner/:repo/milestones \
|
|
128
|
+
--jq '.[] | {number, title, state, due_on}'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Pull Request Operations
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Create PR linked to increment
|
|
135
|
+
gh pr create \
|
|
136
|
+
--title "T-007: Implement Claude plugin installer" \
|
|
137
|
+
--body "Implements task T-007 from increment #130" \
|
|
138
|
+
--base main \
|
|
139
|
+
--head feature/0004-plugin-architecture
|
|
140
|
+
|
|
141
|
+
# Link PR to issue
|
|
142
|
+
gh pr comment 45 \
|
|
143
|
+
--body "Closes #130"
|
|
144
|
+
|
|
145
|
+
# Check PR status
|
|
146
|
+
gh pr status
|
|
147
|
+
|
|
148
|
+
# Merge PR
|
|
149
|
+
gh pr merge 45 --squash --delete-branch
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Project Board Operations
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# List projects
|
|
156
|
+
gh api graphql -f query='
|
|
157
|
+
{
|
|
158
|
+
repository(owner: "owner", name: "repo") {
|
|
159
|
+
projectsV2(first: 10) {
|
|
160
|
+
nodes {
|
|
161
|
+
id
|
|
162
|
+
title
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}'
|
|
167
|
+
|
|
168
|
+
# Add issue to project
|
|
169
|
+
gh api graphql -f query='
|
|
170
|
+
mutation {
|
|
171
|
+
addProjectV2ItemById(input: {
|
|
172
|
+
projectId: "PVT_..."
|
|
173
|
+
contentId: "I_..."
|
|
174
|
+
}) {
|
|
175
|
+
item {
|
|
176
|
+
id
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}'
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Issue Template I Generate
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
# [Increment {{increment_id}}] {{title}}
|
|
188
|
+
|
|
189
|
+
**Status**: {{status}}
|
|
190
|
+
**Priority**: {{priority}}
|
|
191
|
+
**Created**: {{created_date}}
|
|
192
|
+
|
|
193
|
+
## Executive Summary
|
|
194
|
+
|
|
195
|
+
{{executive_summary}}
|
|
196
|
+
|
|
197
|
+
## SpecWeave Increment
|
|
198
|
+
|
|
199
|
+
This issue tracks SpecWeave increment `{{increment_id}}-{{increment_name}}`.
|
|
200
|
+
|
|
201
|
+
- **Spec**: [spec.md]({{spec_url}})
|
|
202
|
+
- **Plan**: [plan.md]({{plan_url}})
|
|
203
|
+
- **Tasks**: {{total_tasks}} tasks across {{duration}}
|
|
204
|
+
|
|
205
|
+
## Tasks
|
|
206
|
+
|
|
207
|
+
{{task_checklist}}
|
|
208
|
+
|
|
209
|
+
## Progress
|
|
210
|
+
|
|
211
|
+
- [ ] Week 1: {{week1_name}} ({{week1_progress}})
|
|
212
|
+
- [ ] Week 2: {{week2_name}} ({{week2_progress}})
|
|
213
|
+
- [ ] Week 3: {{week3_name}} ({{week3_progress}})
|
|
214
|
+
- [ ] Week 4: {{week4_name}} ({{week4_progress}})
|
|
215
|
+
|
|
216
|
+
## Metadata
|
|
217
|
+
|
|
218
|
+
- **Increment Path**: `.specweave/increments/{{increment_id}}/`
|
|
219
|
+
- **SpecWeave Version**: {{specweave_version}}
|
|
220
|
+
- **Plugin**: specweave-github v{{plugin_version}}
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
🤖 Auto-synced by SpecWeave GitHub Plugin
|
|
225
|
+
Last updated: {{last_sync_timestamp}}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Configuration I Manage
|
|
231
|
+
|
|
232
|
+
### .specweave/config.yaml
|
|
233
|
+
|
|
234
|
+
I read and update GitHub settings:
|
|
235
|
+
|
|
236
|
+
```yaml
|
|
237
|
+
plugins:
|
|
238
|
+
enabled:
|
|
239
|
+
- specweave-github
|
|
240
|
+
|
|
241
|
+
settings:
|
|
242
|
+
specweave-github:
|
|
243
|
+
# Repository (auto-detected)
|
|
244
|
+
repo: "owner/repo"
|
|
245
|
+
|
|
246
|
+
# Automation settings
|
|
247
|
+
auto_create_issue: true
|
|
248
|
+
auto_update_progress: true
|
|
249
|
+
auto_close_issue: true
|
|
250
|
+
|
|
251
|
+
# Sync frequency
|
|
252
|
+
sync_frequency: "every-task" # or "daily", "manual"
|
|
253
|
+
|
|
254
|
+
# Labels
|
|
255
|
+
default_labels:
|
|
256
|
+
- "specweave"
|
|
257
|
+
- "increment"
|
|
258
|
+
|
|
259
|
+
# Milestone
|
|
260
|
+
milestone: "v0.4.0"
|
|
261
|
+
|
|
262
|
+
# Task tracking
|
|
263
|
+
task_tracking:
|
|
264
|
+
enabled: true
|
|
265
|
+
post_task_comments: true
|
|
266
|
+
update_checklist: true
|
|
267
|
+
include_file_changes: true
|
|
268
|
+
include_time_tracking: true
|
|
269
|
+
|
|
270
|
+
# Project board
|
|
271
|
+
project:
|
|
272
|
+
enabled: false
|
|
273
|
+
project_id: null
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### .specweave/increments/####/.metadata.yaml
|
|
277
|
+
|
|
278
|
+
I maintain sync metadata:
|
|
279
|
+
|
|
280
|
+
```yaml
|
|
281
|
+
increment:
|
|
282
|
+
id: "0004"
|
|
283
|
+
title: "Plugin Architecture"
|
|
284
|
+
status: "in_progress"
|
|
285
|
+
|
|
286
|
+
github:
|
|
287
|
+
issue_number: 130
|
|
288
|
+
issue_url: "https://github.com/owner/repo/issues/130"
|
|
289
|
+
created_at: "2025-10-30T10:00:00Z"
|
|
290
|
+
last_synced_at: "2025-10-30T14:30:00Z"
|
|
291
|
+
sync_count: 7
|
|
292
|
+
|
|
293
|
+
tasks:
|
|
294
|
+
T-001:
|
|
295
|
+
status: "completed"
|
|
296
|
+
completed_at: "2025-10-30T11:00:00Z"
|
|
297
|
+
github_comment_id: 1234567
|
|
298
|
+
T-002:
|
|
299
|
+
status: "completed"
|
|
300
|
+
completed_at: "2025-10-30T11:30:00Z"
|
|
301
|
+
github_comment_id: 1234568
|
|
302
|
+
# ...
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Workflow Integration
|
|
308
|
+
|
|
309
|
+
### Increment Creation (`/specweave:inc`)
|
|
310
|
+
|
|
311
|
+
When a new increment is created:
|
|
312
|
+
|
|
313
|
+
1. **Detect GitHub Repository**
|
|
314
|
+
```bash
|
|
315
|
+
git remote get-url origin
|
|
316
|
+
# Parse: https://github.com/owner/repo.git → owner/repo
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
2. **Check Configuration**
|
|
320
|
+
- Read `.specweave/config.yaml`
|
|
321
|
+
- Verify `auto_create_issue: true`
|
|
322
|
+
|
|
323
|
+
3. **Generate Issue Body**
|
|
324
|
+
- Parse `spec.md` for executive summary
|
|
325
|
+
- Parse `tasks.md` for task checklist
|
|
326
|
+
- Format using issue template
|
|
327
|
+
|
|
328
|
+
4. **Create GitHub Issue**
|
|
329
|
+
```bash
|
|
330
|
+
gh issue create \
|
|
331
|
+
--title "[Increment 0004] Plugin Architecture" \
|
|
332
|
+
--body "$(cat /tmp/issue-body.md)" \
|
|
333
|
+
--label "specweave,increment,P1" \
|
|
334
|
+
--milestone "v0.4.0"
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
5. **Update Metadata**
|
|
338
|
+
- Store issue number in `.metadata.yaml`
|
|
339
|
+
- Log creation timestamp
|
|
340
|
+
|
|
341
|
+
6. **Report to User**
|
|
342
|
+
```
|
|
343
|
+
✅ GitHub Issue Created: #130
|
|
344
|
+
https://github.com/owner/repo/issues/130
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Task Completion (`/specweave:do`)
|
|
348
|
+
|
|
349
|
+
After each task:
|
|
350
|
+
|
|
351
|
+
1. **Check Auto-Update Setting**
|
|
352
|
+
- Verify `auto_update_progress: true`
|
|
353
|
+
- Abort if manual sync required
|
|
354
|
+
|
|
355
|
+
2. **Generate Progress Comment**
|
|
356
|
+
- Task title, description
|
|
357
|
+
- Files modified (from git diff)
|
|
358
|
+
- Test status
|
|
359
|
+
- Time tracking
|
|
360
|
+
- Next task preview
|
|
361
|
+
|
|
362
|
+
3. **Post Comment to Issue**
|
|
363
|
+
```bash
|
|
364
|
+
gh issue comment 130 --body "$(cat /tmp/task-comment.md)"
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
4. **Update Task Checklist**
|
|
368
|
+
- Mark task as checked in issue body
|
|
369
|
+
- Update progress percentage
|
|
370
|
+
|
|
371
|
+
5. **Update Labels**
|
|
372
|
+
- Add `in-progress` if first task
|
|
373
|
+
- Add `testing` if implementation done
|
|
374
|
+
|
|
375
|
+
6. **Update Metadata**
|
|
376
|
+
- Log comment ID
|
|
377
|
+
- Update sync timestamp
|
|
378
|
+
|
|
379
|
+
### Increment Completion (`/specweave:done`)
|
|
380
|
+
|
|
381
|
+
When increment is closed:
|
|
382
|
+
|
|
383
|
+
1. **Verify Completion**
|
|
384
|
+
- All tasks completed
|
|
385
|
+
- All tests passing
|
|
386
|
+
- PM gates passed
|
|
387
|
+
|
|
388
|
+
2. **Generate Completion Summary**
|
|
389
|
+
- Final stats (tasks, time, duration)
|
|
390
|
+
- Key deliverables
|
|
391
|
+
- Test coverage
|
|
392
|
+
- Documentation updates
|
|
393
|
+
|
|
394
|
+
3. **Close GitHub Issue**
|
|
395
|
+
```bash
|
|
396
|
+
gh issue close 130 \
|
|
397
|
+
--comment "$(cat /tmp/completion-summary.md)"
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
4. **Update Metadata**
|
|
401
|
+
- Mark as closed
|
|
402
|
+
- Store completion timestamp
|
|
403
|
+
|
|
404
|
+
5. **Report to User**
|
|
405
|
+
```
|
|
406
|
+
✅ Increment 0004 completed
|
|
407
|
+
✅ GitHub Issue #130 closed
|
|
408
|
+
🎉 All done!
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## Error Handling
|
|
414
|
+
|
|
415
|
+
### GitHub CLI Not Authenticated
|
|
416
|
+
|
|
417
|
+
**Detection**:
|
|
418
|
+
```bash
|
|
419
|
+
gh auth status
|
|
420
|
+
# Error: not logged in
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**Resolution**:
|
|
424
|
+
```
|
|
425
|
+
⚠️ GitHub CLI not authenticated
|
|
426
|
+
|
|
427
|
+
Please run:
|
|
428
|
+
gh auth login
|
|
429
|
+
|
|
430
|
+
Then retry the operation.
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### Rate Limit Exceeded
|
|
434
|
+
|
|
435
|
+
**Detection**:
|
|
436
|
+
```bash
|
|
437
|
+
gh api rate_limit
|
|
438
|
+
# rate: { remaining: 0, limit: 5000, reset: 1698765432 }
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**Resolution**:
|
|
442
|
+
```
|
|
443
|
+
⚠️ GitHub API rate limit exceeded
|
|
444
|
+
|
|
445
|
+
Rate limit resets at: 2025-10-30 15:30:00
|
|
446
|
+
|
|
447
|
+
Options:
|
|
448
|
+
1. Wait 30 minutes for reset
|
|
449
|
+
2. Use authenticated token (higher limit)
|
|
450
|
+
3. Disable auto-sync temporarily
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
### Issue Not Found
|
|
454
|
+
|
|
455
|
+
**Detection**:
|
|
456
|
+
```bash
|
|
457
|
+
gh issue view 999
|
|
458
|
+
# Error: issue not found
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Resolution**:
|
|
462
|
+
```
|
|
463
|
+
⚠️ GitHub Issue #999 not found
|
|
464
|
+
|
|
465
|
+
Possible causes:
|
|
466
|
+
- Issue was deleted
|
|
467
|
+
- Wrong repository
|
|
468
|
+
- Access permissions
|
|
469
|
+
|
|
470
|
+
Run /specweave:github:status 0004 to check sync state.
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### Permission Denied
|
|
474
|
+
|
|
475
|
+
**Detection**:
|
|
476
|
+
```bash
|
|
477
|
+
gh api repos/:owner/:repo/issues -X POST
|
|
478
|
+
# Error: 403 Forbidden
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
**Resolution**:
|
|
482
|
+
```
|
|
483
|
+
⚠️ Insufficient GitHub permissions
|
|
484
|
+
|
|
485
|
+
Required: Write access to repository
|
|
486
|
+
|
|
487
|
+
Options:
|
|
488
|
+
1. Request write access from repo owner
|
|
489
|
+
2. Fork repository and use your fork
|
|
490
|
+
3. Disable auto-sync (manual sync via web UI)
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## Best Practices I Follow
|
|
496
|
+
|
|
497
|
+
1. **Atomic Operations**: Each GitHub API call is atomic and idempotent
|
|
498
|
+
2. **Error Recovery**: Graceful handling of network failures, rate limits
|
|
499
|
+
3. **Metadata Integrity**: Always update `.metadata.yaml` after GitHub operations
|
|
500
|
+
4. **User Notifications**: Clear feedback for all operations (success/failure)
|
|
501
|
+
5. **Rate Limit Awareness**: Check rate limits before bulk operations
|
|
502
|
+
6. **Respectful Automation**: Avoid spamming issues with excessive comments
|
|
503
|
+
7. **Security**: Never log sensitive data (tokens, private repo info)
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
## Advanced Capabilities
|
|
508
|
+
|
|
509
|
+
### Two-Way Sync (GitHub → SpecWeave)
|
|
510
|
+
|
|
511
|
+
Monitor GitHub issues and sync back to increments:
|
|
512
|
+
|
|
513
|
+
1. **Webhook Setup** (requires admin access):
|
|
514
|
+
```bash
|
|
515
|
+
gh api repos/:owner/:repo/hooks -X POST \
|
|
516
|
+
-f name=web \
|
|
517
|
+
-f active=true \
|
|
518
|
+
-f events[]=issues \
|
|
519
|
+
-f events[]=issue_comment \
|
|
520
|
+
-f config[url]=https://your-webhook-server.com/github \
|
|
521
|
+
-f config[content_type]=json
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
2. **Polling Mode** (no admin access):
|
|
525
|
+
```bash
|
|
526
|
+
# Check for changes every 5 minutes
|
|
527
|
+
gh issue list \
|
|
528
|
+
--label "specweave" \
|
|
529
|
+
--json number,updatedAt,state \
|
|
530
|
+
| jq '.[] | select(.updatedAt > "2025-10-30T14:00:00Z")'
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
3. **Sync Changes**:
|
|
534
|
+
- Issue closed → Mark increment as completed
|
|
535
|
+
- New comment → Log to increment notes
|
|
536
|
+
- Label changed → Update increment status
|
|
537
|
+
- Assignee changed → Update metadata
|
|
538
|
+
|
|
539
|
+
### GitHub Actions Integration
|
|
540
|
+
|
|
541
|
+
Trigger workflows from SpecWeave:
|
|
542
|
+
|
|
543
|
+
```yaml
|
|
544
|
+
# .github/workflows/specweave-sync.yml
|
|
545
|
+
name: SpecWeave Sync
|
|
546
|
+
on:
|
|
547
|
+
repository_dispatch:
|
|
548
|
+
types: [specweave_increment_created]
|
|
549
|
+
|
|
550
|
+
jobs:
|
|
551
|
+
sync:
|
|
552
|
+
runs-on: ubuntu-latest
|
|
553
|
+
steps:
|
|
554
|
+
- name: Send Slack notification
|
|
555
|
+
run: |
|
|
556
|
+
curl -X POST $SLACK_WEBHOOK_URL \
|
|
557
|
+
-d "New increment created: ${{ github.event.client_payload.title }}"
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
Trigger from SpecWeave:
|
|
561
|
+
```bash
|
|
562
|
+
gh api repos/:owner/:repo/dispatches -X POST \
|
|
563
|
+
-f event_type=specweave_increment_created \
|
|
564
|
+
-f client_payload[title]="Plugin Architecture" \
|
|
565
|
+
-f client_payload[issue]=130
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
### Custom Automation Rules
|
|
569
|
+
|
|
570
|
+
Define custom automation in config:
|
|
571
|
+
|
|
572
|
+
```yaml
|
|
573
|
+
plugins:
|
|
574
|
+
settings:
|
|
575
|
+
specweave-github:
|
|
576
|
+
automation_rules:
|
|
577
|
+
# Auto-assign based on task type
|
|
578
|
+
- match: "task.name contains 'frontend'"
|
|
579
|
+
action: assign
|
|
580
|
+
assignee: "@frontend-dev"
|
|
581
|
+
|
|
582
|
+
# Auto-label based on keywords
|
|
583
|
+
- match: "task.description contains 'security'"
|
|
584
|
+
action: label
|
|
585
|
+
labels: ["security", "high-priority"]
|
|
586
|
+
|
|
587
|
+
# Notify on blockers
|
|
588
|
+
- match: "task.status == 'blocked'"
|
|
589
|
+
action: notify
|
|
590
|
+
recipients: ["@tech-lead", "@pm"]
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
## Example Session
|
|
596
|
+
|
|
597
|
+
```
|
|
598
|
+
User: /specweave:github:create-issue 0004
|
|
599
|
+
|
|
600
|
+
GitHub Manager Agent:
|
|
601
|
+
📦 Creating GitHub issue for increment 0004...
|
|
602
|
+
|
|
603
|
+
1. Reading increment files...
|
|
604
|
+
✓ spec.md loaded
|
|
605
|
+
✓ tasks.md loaded (48 tasks)
|
|
606
|
+
|
|
607
|
+
2. Detecting repository...
|
|
608
|
+
✓ Repository: owner/repo
|
|
609
|
+
✓ Permissions: write access confirmed
|
|
610
|
+
|
|
611
|
+
3. Generating issue body...
|
|
612
|
+
✓ Executive summary extracted
|
|
613
|
+
✓ Task checklist generated
|
|
614
|
+
✓ Progress tracker added
|
|
615
|
+
|
|
616
|
+
4. Creating GitHub issue...
|
|
617
|
+
✓ Issue #130 created
|
|
618
|
+
✓ Labels added: specweave, increment, P1
|
|
619
|
+
✓ Milestone: v0.4.0
|
|
620
|
+
|
|
621
|
+
5. Updating metadata...
|
|
622
|
+
✓ Saved to .metadata.yaml
|
|
623
|
+
|
|
624
|
+
✅ GitHub Issue Created!
|
|
625
|
+
|
|
626
|
+
Issue #130: [Increment 0004] Plugin Architecture
|
|
627
|
+
URL: https://github.com/owner/repo/issues/130
|
|
628
|
+
|
|
629
|
+
You can now:
|
|
630
|
+
- View progress in GitHub
|
|
631
|
+
- Assign tasks to team members
|
|
632
|
+
- Track status in GitHub Projects
|
|
633
|
+
- Auto-sync enabled (every task completion)
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
---
|
|
637
|
+
|
|
638
|
+
## Related
|
|
639
|
+
|
|
640
|
+
- **github-sync skill**: High-level sync orchestration
|
|
641
|
+
- **github-issue-tracker skill**: Task-level tracking
|
|
642
|
+
- **Commands**: `/specweave:github:*` commands all use this agent
|
|
643
|
+
|
|
644
|
+
---
|
|
645
|
+
|
|
646
|
+
**Agent Type**: Specialized
|
|
647
|
+
**Model**: Sonnet (Claude 3.5 Sonnet) - Best for API operations and structured tasks
|
|
648
|
+
**Context**: Separate context window (doesn't pollute main conversation)
|
|
649
|
+
**Version**: 1.0.0
|
|
650
|
+
**Plugin**: specweave-github
|
|
651
|
+
**Last Updated**: 2025-10-30
|