sddflow 2.7.3__tar.gz → 2.7.52__tar.gz
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.
- sddflow-2.7.52/PKG-INFO +999 -0
- sddflow-2.7.52/README.md +964 -0
- sddflow-2.7.52/pyproject.toml +81 -0
- sddflow-2.7.52/sdd/__init__.py +1 -0
- sddflow-2.7.52/sdd/__main__.py +32 -0
- sddflow-2.7.52/sdd/commands/config.py +369 -0
- sddflow-2.7.52/sdd/commands/confluence.py +462 -0
- sddflow-2.7.52/sdd/commands/cr.py +279 -0
- sddflow-2.7.52/sdd/commands/dashboard.py +1011 -0
- sddflow-2.7.52/sdd/commands/init.py +326 -0
- sddflow-2.7.52/sdd/commands/jira.py +757 -0
- sddflow-2.7.52/sdd/commands/pr.py +308 -0
- sddflow-2.7.52/sdd/commands/review.py +897 -0
- sddflow-2.7.52/sdd/commands/upgrade.py +2217 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.claude/commands/jira-push.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.claude/commands/start.md +27 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/analyze.prompt.md +96 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/change.prompt.md +541 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/checklist.prompt.md +77 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/clarify.prompt.md +100 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/create-context.prompt.md +311 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/implement.prompt.md +104 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/jira-push.prompt.md +132 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/orchestrate.prompt.md +415 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/plan-adr.prompt.md +241 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/plan-arch.prompt.md +238 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/plan-design.prompt.md +342 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/plan-hld.prompt.md +245 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/plan-lld.prompt.md +206 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/pre-review.prompt.md +112 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/release.prompt.md +100 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/specify-brd.prompt.md +220 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/specify-doc.prompt.md +309 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/specify-srd.prompt.md +236 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/specify-uc.prompt.md +254 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/specify.prompt.md +150 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/task.prompt.md +189 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.github/prompts/validate.prompt.md +162 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.gitignore +33 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/integrations.yml.example +426 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/manifest.yml +47 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/memory/change-rules.md +104 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/memory/constitution.md +216 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/memory/token-pricing.yml.example +54 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/api-spec-template.md +154 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/changeset-template.md +109 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/data-model-template.md +117 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/design-template.md +279 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/feature-story-template.md +164 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/jira-export-template.md +113 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/openapi-template.md +89 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/release-template.md +123 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/runbook-template.md +103 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/security-design-template.md +120 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/srd-template.md +82 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/tasks-template.md +347 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/token-usage-template.md +46 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/.specify/templates/use-cases-template.md +201 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/CHANGE-GUIDE.md +237 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/CLAUDE.md +408 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/FLOW-ROLES-GATES.md +198 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/HOW-TO-USE.md +931 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/PROMPT-GUIDE.md +990 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/QUICKSTART.md +186 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/README.md +214 -0
- sddflow-2.7.52/sdd/packs/sdd-backend-service/SDLC-COMPLETE-GUIDE.md +375 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.claude/commands/jira-push.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.claude/commands/start.md +27 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/analyze.prompt.md +96 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/change.prompt.md +541 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/checklist.prompt.md +77 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/clarify.prompt.md +98 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/create-context.prompt.md +311 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/implement.prompt.md +90 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/jira-push.prompt.md +132 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/orchestrate.prompt.md +415 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/plan-adr.prompt.md +241 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/plan-arch.prompt.md +238 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/plan-design.prompt.md +342 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/plan-hld.prompt.md +245 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/plan-lld.prompt.md +206 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/pre-review.prompt.md +112 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/release.prompt.md +107 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/specify-brd.prompt.md +220 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/specify-doc.prompt.md +309 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/specify-srd.prompt.md +236 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/specify-uc.prompt.md +254 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/specify.prompt.md +125 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/task.prompt.md +189 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/prompts/validate.prompt.md +163 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.github/workflows/quality-gate.yml +150 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.gitignore +33 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/integrations.yml.example +426 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/manifest.yml +36 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/memory/change-rules.md +106 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/memory/constitution.md +210 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/memory/token-pricing.yml.example +54 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/changeset-template.md +109 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/component-library-template.md +44 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/component-spec-template.md +54 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/data-model-template.md +124 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/design-template.md +279 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/feature-story-template.md +164 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/jira-export-template.md +113 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/release-template.md +119 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/security-design-template.md +118 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/srd-template.md +82 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/tasks-template.md +347 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/token-usage-template.md +46 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/.specify/templates/use-cases-template.md +201 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/CHANGE-GUIDE.md +241 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/CLAUDE.md +400 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/FLOW-ROLES-GATES.md +198 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/HOW-TO-USE.md +937 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/IMPROVEMENT-BACKLOG.md +61 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/PROMPT-GUIDE.md +829 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/QUICKSTART.md +186 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/README.md +214 -0
- sddflow-2.7.52/sdd/packs/sdd-frontend-spa/SDLC-COMPLETE-GUIDE.md +371 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.claude/commands/jira-push.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.claude/commands/start.md +27 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/analyze.prompt.md +96 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/change.prompt.md +541 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/checklist.prompt.md +77 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/clarify.prompt.md +98 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/create-context.prompt.md +311 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/implement.prompt.md +92 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/jira-push.prompt.md +132 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/orchestrate.prompt.md +415 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/plan-adr.prompt.md +241 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/plan-arch.prompt.md +238 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/plan-design.prompt.md +342 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/plan-hld.prompt.md +245 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/plan-lld.prompt.md +206 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/pre-review.prompt.md +112 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/release.prompt.md +107 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/specify-brd.prompt.md +220 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/specify-doc.prompt.md +309 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/specify-srd.prompt.md +236 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/specify-uc.prompt.md +254 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/specify.prompt.md +157 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/task.prompt.md +189 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/prompts/validate.prompt.md +164 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.github/workflows/quality-gate.yml +177 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.gitignore +33 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/integrations.yml.example +426 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/manifest.yml +36 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/memory/change-rules.md +104 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/memory/constitution.md +202 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/memory/token-pricing.yml.example +54 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/api-spec-template.md +142 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/changeset-template.md +109 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/component-library-template.md +44 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/component-spec-template.md +54 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/data-model-template.md +104 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/design-template.md +279 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/feature-story-template.md +164 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/jira-export-template.md +113 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/release-template.md +122 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/security-design-template.md +149 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/srd-template.md +82 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/tasks-template.md +347 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/token-usage-template.md +46 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/.specify/templates/use-cases-template.md +201 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/CHANGE-GUIDE.md +240 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/CLAUDE.md +426 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/FLOW-ROLES-GATES.md +198 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/HOW-TO-USE.md +954 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/PROMPT-GUIDE.md +1055 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/QUICKSTART.md +186 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/README.md +214 -0
- sddflow-2.7.52/sdd/packs/sdd-fullstack/SDLC-COMPLETE-GUIDE.md +382 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.claude/commands/create-context.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.claude/commands/implement.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.claude/commands/specify.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.claude/commands/start.md +17 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.claude/commands/task.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.cursor/rules/sdd-framework.mdc +40 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.github/copilot-instructions.md +30 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.github/prompts/create-context.prompt.md +43 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.github/prompts/implement.prompt.md +50 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.github/prompts/specify.prompt.md +55 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.github/prompts/task.prompt.md +41 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.specify/contexts/CONTEXT-GUIDE.md +36 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.specify/manifest.yml +19 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.specify/memory/constitution.md +85 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.specify/templates/context-template.md +25 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.specify/templates/tasks-template.md +22 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/.windsurfrules +27 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/CLAUDE.md +108 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/QUICKSTART.md +70 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/README.md +117 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/WHY-SDD.md +55 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/setup.ps1 +125 -0
- sddflow-2.7.52/sdd/packs/sdd-micro/setup.sh +172 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.claude/commands/jira-push.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.claude/commands/start.md +27 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/copilot-instructions.md +128 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/analyze.prompt.md +96 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/change.prompt.md +541 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/checklist.prompt.md +77 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/clarify.prompt.md +98 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/create-context.prompt.md +311 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/implement.prompt.md +90 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/jira-push.prompt.md +132 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/orchestrate.prompt.md +415 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/plan-adr.prompt.md +241 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/plan-arch.prompt.md +238 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/plan-design.prompt.md +342 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/plan-hld.prompt.md +245 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/plan-lld.prompt.md +206 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/pre-review.prompt.md +112 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/release.prompt.md +103 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/specify-brd.prompt.md +220 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/specify-doc.prompt.md +309 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/specify-srd.prompt.md +236 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/specify-uc.prompt.md +254 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/specify.prompt.md +123 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/task.prompt.md +189 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/prompts/validate.prompt.md +163 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.github/workflows/quality-gate.yml +151 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.gitignore +33 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/integrations.yml.example +426 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/manifest.yml +36 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/memory/change-rules.md +106 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/memory/constitution.md +212 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/memory/token-pricing.yml.example +54 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/changeset-template.md +109 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/data-model-template.md +154 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/design-template.md +279 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/feature-story-template.md +164 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/jira-export-template.md +113 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/release-template.md +118 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/security-design-template.md +125 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/srd-template.md +82 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/tasks-template.md +347 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/token-usage-template.md +46 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/.specify/templates/use-cases-template.md +201 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/CHANGE-GUIDE.md +240 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/CLAUDE.md +399 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/FLOW-ROLES-GATES.md +198 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/HOW-TO-USE.md +939 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/PROMPT-GUIDE.md +1030 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/QUICKSTART.md +186 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/README.md +214 -0
- sddflow-2.7.52/sdd/packs/sdd-mobile/SDLC-COMPLETE-GUIDE.md +376 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.claude/commands/jira-push.md +7 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.claude/commands/start.md +27 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/analyze.prompt.md +96 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/change.prompt.md +541 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/checklist.prompt.md +77 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/clarify.prompt.md +100 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/create-context.prompt.md +311 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/implement.prompt.md +93 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/jira-push.prompt.md +132 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/orchestrate.prompt.md +415 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/plan-adr.prompt.md +241 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/plan-arch.prompt.md +238 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/plan-design.prompt.md +342 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/plan-hld.prompt.md +245 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/plan-lld.prompt.md +206 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/pre-review.prompt.md +112 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/release.prompt.md +102 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/specify-brd.prompt.md +220 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/specify-doc.prompt.md +309 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/specify-srd.prompt.md +236 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/specify-uc.prompt.md +254 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/specify.prompt.md +334 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/task.prompt.md +189 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.github/prompts/validate.prompt.md +162 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.gitignore +33 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/integrations.yml.example +426 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/manifest.yml +42 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/memory/change-rules.md +108 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/memory/constitution.md +229 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/memory/token-pricing.yml.example +54 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/api-spec-template.md +148 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/changeset-template.md +109 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/data-model-template.md +111 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/design-template.md +279 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/feature-story-template.md +164 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/jira-export-template.md +113 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/security-design-template.md +117 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/srd-template.md +82 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/tasks-template.md +347 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/token-usage-template.md +46 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/.specify/templates/use-cases-template.md +201 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/CHANGE-GUIDE.md +244 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/CLAUDE.md +394 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/FLOW-ROLES-GATES.md +198 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/HOW-TO-USE.md +939 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/PROMPT-GUIDE.md +983 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/QUICKSTART.md +186 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/README.md +213 -0
- sddflow-2.7.52/sdd/packs/sdd-universal/SDLC-COMPLETE-GUIDE.md +379 -0
- sddflow-2.7.52/sdd/utils/atlassian_auth.py +167 -0
- sddflow-2.7.52/sdd/utils/confluence_client.py +202 -0
- sddflow-2.7.52/sdd/utils/dashboard_comments.py +58 -0
- sddflow-2.7.52/sdd/utils/integrations.py +256 -0
- sddflow-2.7.52/sdd/utils/jira_client.py +107 -0
- sddflow-2.7.52/sdd/utils/md_to_cf.py +325 -0
- sddflow-2.7.52/sdd/utils/mermaid_render.py +44 -0
- sddflow-2.7.52/sdd/utils/scaffold.py +169 -0
- sddflow-2.7.52/sdd/utils/sdd_parser.py +234 -0
- sddflow-2.7.52/sdd/utils/status.py +696 -0
- sddflow-2.7.52/sdd/utils/validate.py +59 -0
- sddflow-2.7.3/PKG-INFO +0 -639
- sddflow-2.7.3/README.md +0 -607
- sddflow-2.7.3/pyproject.toml +0 -70
- sddflow-2.7.3/sdd/__init__.py +0 -1
- sddflow-2.7.3/sdd/__main__.py +0 -30
- sddflow-2.7.3/sdd/commands/config.py +0 -268
- sddflow-2.7.3/sdd/commands/confluence.py +0 -376
- sddflow-2.7.3/sdd/commands/cr.py +0 -257
- sddflow-2.7.3/sdd/commands/init.py +0 -279
- sddflow-2.7.3/sdd/commands/jira.py +0 -262
- sddflow-2.7.3/sdd/commands/pr.py +0 -308
- sddflow-2.7.3/sdd/commands/review.py +0 -608
- sddflow-2.7.3/sdd/commands/upgrade.py +0 -128
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.claude/commands/jira-push.md +0 -7
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.claude/commands/start.md +0 -24
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/analyze.prompt.md +0 -82
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/change.prompt.md +0 -375
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/checklist.prompt.md +0 -63
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/clarify.prompt.md +0 -86
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/create-context.prompt.md +0 -224
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/implement.prompt.md +0 -79
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/jira-push.prompt.md +0 -127
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/orchestrate.prompt.md +0 -415
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/plan-adr.prompt.md +0 -142
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/plan-arch.prompt.md +0 -129
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/plan-design.prompt.md +0 -215
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/plan-hld.prompt.md +0 -140
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/plan-lld.prompt.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/pre-review.prompt.md +0 -112
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/release.prompt.md +0 -76
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/specify-brd.prompt.md +0 -134
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/specify-doc.prompt.md +0 -154
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/specify-srd.prompt.md +0 -153
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/specify-uc.prompt.md +0 -169
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/specify.prompt.md +0 -101
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/task.prompt.md +0 -164
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.github/prompts/validate.prompt.md +0 -145
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.gitignore +0 -22
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/integrations.yml.example +0 -283
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/manifest.yml +0 -47
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/memory/change-rules.md +0 -80
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/memory/constitution.md +0 -199
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/scripts/jira-push.py +0 -669
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/api-spec-template.md +0 -141
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/changeset-template.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/data-model-template.md +0 -105
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/design-template.md +0 -278
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/feature-story-template.md +0 -162
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/jira-config-template.yml +0 -124
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/jira-export-template.md +0 -113
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/release-template.md +0 -117
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/security-design-template.md +0 -107
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/srd-template.md +0 -75
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/tasks-template.md +0 -337
- sddflow-2.7.3/sdd/packs/sdd-backend-service/.specify/templates/use-cases-template.md +0 -196
- sddflow-2.7.3/sdd/packs/sdd-backend-service/CHANGE-GUIDE.md +0 -182
- sddflow-2.7.3/sdd/packs/sdd-backend-service/CLAUDE.md +0 -341
- sddflow-2.7.3/sdd/packs/sdd-backend-service/HOW-TO-USE.md +0 -836
- sddflow-2.7.3/sdd/packs/sdd-backend-service/PROMPT-GUIDE.md +0 -770
- sddflow-2.7.3/sdd/packs/sdd-backend-service/QUICKSTART.md +0 -186
- sddflow-2.7.3/sdd/packs/sdd-backend-service/README.md +0 -197
- sddflow-2.7.3/sdd/packs/sdd-backend-service/SDLC-COMPLETE-GUIDE.md +0 -347
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.claude/commands/jira-push.md +0 -7
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.claude/commands/start.md +0 -24
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/analyze.prompt.md +0 -82
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/change.prompt.md +0 -375
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/checklist.prompt.md +0 -63
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/clarify.prompt.md +0 -84
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/create-context.prompt.md +0 -224
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/implement.prompt.md +0 -71
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/jira-push.prompt.md +0 -127
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/orchestrate.prompt.md +0 -415
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/plan-adr.prompt.md +0 -142
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/plan-arch.prompt.md +0 -129
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/plan-design.prompt.md +0 -215
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/plan-hld.prompt.md +0 -140
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/plan-lld.prompt.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/pre-review.prompt.md +0 -112
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/release.prompt.md +0 -80
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/specify-brd.prompt.md +0 -134
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/specify-doc.prompt.md +0 -154
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/specify-srd.prompt.md +0 -153
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/specify-uc.prompt.md +0 -169
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/specify.prompt.md +0 -77
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/task.prompt.md +0 -164
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/prompts/validate.prompt.md +0 -146
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.github/workflows/quality-gate.yml +0 -146
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.gitignore +0 -22
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/integrations.yml.example +0 -283
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/manifest.yml +0 -36
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/memory/change-rules.md +0 -80
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/memory/constitution.md +0 -193
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/scripts/jira-push.py +0 -669
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/changeset-template.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/component-spec-template.md +0 -42
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/data-model-template.md +0 -117
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/design-template.md +0 -278
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/feature-story-template.md +0 -162
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/jira-config-template.yml +0 -124
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/jira-export-template.md +0 -113
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/release-template.md +0 -118
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/security-design-template.md +0 -110
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/srd-template.md +0 -75
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/tasks-template.md +0 -337
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/.specify/templates/use-cases-template.md +0 -196
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/CHANGE-GUIDE.md +0 -182
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/CLAUDE.md +0 -334
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/HOW-TO-USE.md +0 -852
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/IMPROVEMENT-BACKLOG.md +0 -61
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/PROMPT-GUIDE.md +0 -745
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/QUICKSTART.md +0 -186
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/README.md +0 -197
- sddflow-2.7.3/sdd/packs/sdd-frontend-spa/SDLC-COMPLETE-GUIDE.md +0 -347
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.claude/commands/jira-push.md +0 -7
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.claude/commands/start.md +0 -24
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/analyze.prompt.md +0 -82
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/change.prompt.md +0 -375
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/checklist.prompt.md +0 -63
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/clarify.prompt.md +0 -84
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/create-context.prompt.md +0 -224
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/implement.prompt.md +0 -73
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/jira-push.prompt.md +0 -127
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/orchestrate.prompt.md +0 -415
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/plan-adr.prompt.md +0 -142
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/plan-arch.prompt.md +0 -129
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/plan-design.prompt.md +0 -215
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/plan-hld.prompt.md +0 -140
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/plan-lld.prompt.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/pre-review.prompt.md +0 -112
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/release.prompt.md +0 -77
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/specify-brd.prompt.md +0 -134
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/specify-doc.prompt.md +0 -154
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/specify-srd.prompt.md +0 -153
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/specify-uc.prompt.md +0 -169
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/specify.prompt.md +0 -107
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/task.prompt.md +0 -164
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/prompts/validate.prompt.md +0 -147
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.github/workflows/quality-gate.yml +0 -173
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.gitignore +0 -22
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/integrations.yml.example +0 -283
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/manifest.yml +0 -36
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/memory/change-rules.md +0 -80
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/memory/constitution.md +0 -176
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/scripts/jira-push.py +0 -669
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/api-spec-template.md +0 -135
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/changeset-template.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/component-spec-template.md +0 -42
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/data-model-template.md +0 -98
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/design-template.md +0 -278
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/feature-story-template.md +0 -162
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/jira-config-template.yml +0 -124
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/jira-export-template.md +0 -113
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/release-template.md +0 -121
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/security-design-template.md +0 -142
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/srd-template.md +0 -75
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/tasks-template.md +0 -337
- sddflow-2.7.3/sdd/packs/sdd-fullstack/.specify/templates/use-cases-template.md +0 -196
- sddflow-2.7.3/sdd/packs/sdd-fullstack/CHANGE-GUIDE.md +0 -182
- sddflow-2.7.3/sdd/packs/sdd-fullstack/CLAUDE.md +0 -354
- sddflow-2.7.3/sdd/packs/sdd-fullstack/HOW-TO-USE.md +0 -869
- sddflow-2.7.3/sdd/packs/sdd-fullstack/PROMPT-GUIDE.md +0 -779
- sddflow-2.7.3/sdd/packs/sdd-fullstack/QUICKSTART.md +0 -186
- sddflow-2.7.3/sdd/packs/sdd-fullstack/README.md +0 -197
- sddflow-2.7.3/sdd/packs/sdd-fullstack/SDLC-COMPLETE-GUIDE.md +0 -347
- sddflow-2.7.3/sdd/packs/sdd-mobile/.claude/commands/jira-push.md +0 -7
- sddflow-2.7.3/sdd/packs/sdd-mobile/.claude/commands/start.md +0 -24
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/copilot-instructions.md +0 -128
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/analyze.prompt.md +0 -82
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/change.prompt.md +0 -375
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/checklist.prompt.md +0 -63
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/clarify.prompt.md +0 -84
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/create-context.prompt.md +0 -224
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/implement.prompt.md +0 -71
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/jira-push.prompt.md +0 -127
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/orchestrate.prompt.md +0 -415
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/plan-adr.prompt.md +0 -142
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/plan-arch.prompt.md +0 -129
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/plan-design.prompt.md +0 -215
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/plan-hld.prompt.md +0 -140
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/plan-lld.prompt.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/pre-review.prompt.md +0 -112
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/release.prompt.md +0 -76
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/specify-brd.prompt.md +0 -134
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/specify-doc.prompt.md +0 -154
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/specify-srd.prompt.md +0 -153
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/specify-uc.prompt.md +0 -169
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/specify.prompt.md +0 -75
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/task.prompt.md +0 -164
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/prompts/validate.prompt.md +0 -146
- sddflow-2.7.3/sdd/packs/sdd-mobile/.github/workflows/quality-gate.yml +0 -147
- sddflow-2.7.3/sdd/packs/sdd-mobile/.gitignore +0 -22
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/integrations.yml.example +0 -283
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/manifest.yml +0 -36
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/memory/change-rules.md +0 -80
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/memory/constitution.md +0 -195
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/scripts/jira-push.py +0 -669
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/changeset-template.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/data-model-template.md +0 -147
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/design-template.md +0 -278
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/feature-story-template.md +0 -162
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/jira-config-template.yml +0 -124
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/jira-export-template.md +0 -113
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/release-template.md +0 -117
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/security-design-template.md +0 -117
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/srd-template.md +0 -75
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/tasks-template.md +0 -337
- sddflow-2.7.3/sdd/packs/sdd-mobile/.specify/templates/use-cases-template.md +0 -196
- sddflow-2.7.3/sdd/packs/sdd-mobile/CHANGE-GUIDE.md +0 -182
- sddflow-2.7.3/sdd/packs/sdd-mobile/CLAUDE.md +0 -334
- sddflow-2.7.3/sdd/packs/sdd-mobile/HOW-TO-USE.md +0 -854
- sddflow-2.7.3/sdd/packs/sdd-mobile/PROMPT-GUIDE.md +0 -758
- sddflow-2.7.3/sdd/packs/sdd-mobile/QUICKSTART.md +0 -186
- sddflow-2.7.3/sdd/packs/sdd-mobile/README.md +0 -197
- sddflow-2.7.3/sdd/packs/sdd-mobile/SDLC-COMPLETE-GUIDE.md +0 -347
- sddflow-2.7.3/sdd/packs/sdd-universal/.claude/commands/jira-push.md +0 -7
- sddflow-2.7.3/sdd/packs/sdd-universal/.claude/commands/start.md +0 -24
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/analyze.prompt.md +0 -82
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/change.prompt.md +0 -375
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/checklist.prompt.md +0 -63
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/clarify.prompt.md +0 -86
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/create-context.prompt.md +0 -224
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/implement.prompt.md +0 -79
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/jira-push.prompt.md +0 -127
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/orchestrate.prompt.md +0 -415
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/plan-adr.prompt.md +0 -142
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/plan-arch.prompt.md +0 -129
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/plan-design.prompt.md +0 -215
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/plan-hld.prompt.md +0 -140
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/plan-lld.prompt.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/pre-review.prompt.md +0 -112
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/release.prompt.md +0 -76
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/specify-brd.prompt.md +0 -134
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/specify-doc.prompt.md +0 -154
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/specify-srd.prompt.md +0 -153
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/specify-uc.prompt.md +0 -169
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/specify.prompt.md +0 -284
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/task.prompt.md +0 -164
- sddflow-2.7.3/sdd/packs/sdd-universal/.github/prompts/validate.prompt.md +0 -145
- sddflow-2.7.3/sdd/packs/sdd-universal/.gitignore +0 -22
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/integrations.yml.example +0 -283
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/manifest.yml +0 -42
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/memory/change-rules.md +0 -80
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/memory/constitution.md +0 -210
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/scripts/jira-push.py +0 -669
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/api-spec-template.md +0 -141
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/changeset-template.md +0 -102
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/data-model-template.md +0 -105
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/design-template.md +0 -278
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/feature-story-template.md +0 -162
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/jira-config-template.yml +0 -124
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/jira-export-template.md +0 -113
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/openapi-template.md +0 -84
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/runbook-template.md +0 -97
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/security-design-template.md +0 -110
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/srd-template.md +0 -75
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/tasks-template.md +0 -337
- sddflow-2.7.3/sdd/packs/sdd-universal/.specify/templates/use-cases-template.md +0 -196
- sddflow-2.7.3/sdd/packs/sdd-universal/CHANGE-GUIDE.md +0 -182
- sddflow-2.7.3/sdd/packs/sdd-universal/CLAUDE.md +0 -328
- sddflow-2.7.3/sdd/packs/sdd-universal/HOW-TO-USE.md +0 -851
- sddflow-2.7.3/sdd/packs/sdd-universal/PROMPT-GUIDE.md +0 -791
- sddflow-2.7.3/sdd/packs/sdd-universal/QUICKSTART.md +0 -186
- sddflow-2.7.3/sdd/packs/sdd-universal/README.md +0 -196
- sddflow-2.7.3/sdd/packs/sdd-universal/SDLC-COMPLETE-GUIDE.md +0 -347
- sddflow-2.7.3/sdd/utils/atlassian_auth.py +0 -108
- sddflow-2.7.3/sdd/utils/confluence_client.py +0 -170
- sddflow-2.7.3/sdd/utils/integrations.py +0 -165
- sddflow-2.7.3/sdd/utils/jira_client.py +0 -86
- sddflow-2.7.3/sdd/utils/md_to_cf.py +0 -139
- sddflow-2.7.3/sdd/utils/scaffold.py +0 -85
- sddflow-2.7.3/sdd/utils/sdd_parser.py +0 -194
- sddflow-2.7.3/sdd/utils/validate.py +0 -37
- {sddflow-2.7.3 → sddflow-2.7.52}/.gitignore +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/commands/__init__.py +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/ava.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/change.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/implement.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/kai.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/leo.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/maya.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/release.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/rex.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/riley.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/specify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/task.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.claude/commands/validate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/instructions/api.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/instructions/java.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.gitlab-ci.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/k8s-manifest-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.vscode/extensions.json +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/.windsurfrules +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/CLAUDE.local.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/WHY-SDD.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/azure-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/setup.ps1 +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-backend-service/setup.sh +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/ava.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/change.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/implement.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/kai.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/leo.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/maya.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/release.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/rex.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/riley.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/specify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/task.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.claude/commands/validate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/instructions/components.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/instructions/services.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.gitlab-ci.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/ux-flow-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.vscode/extensions.json +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/.windsurfrules +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/CLAUDE.local.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/WHY-SDD.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/azure-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/setup.ps1 +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-frontend-spa/setup.sh +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/ava.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/change.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/implement.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/kai.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/leo.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/maya.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/release.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/rex.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/riley.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/specify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/task.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.claude/commands/validate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/instructions/backend-tests.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/instructions/components.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/instructions/frontend-services.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/instructions/java.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.gitlab-ci.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/screen-spec-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/ux-flow-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.vscode/extensions.json +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/.windsurfrules +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/CLAUDE.local.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/WHY-SDD.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/azure-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/setup.ps1 +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-fullstack/setup.sh +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/ava.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/change.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/implement.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/kai.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/leo.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/maya.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/release.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/rex.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/riley.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/specify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/task.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.claude/commands/validate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/instructions/screens.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/instructions/services.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.gitlab-ci.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/api-spec-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/screen-spec-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/ux-flow-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.vscode/extensions.json +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/.windsurfrules +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/CLAUDE.local.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/WHY-SDD.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/azure-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/setup.ps1 +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-mobile/setup.sh +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/address-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/analyze.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/ava.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/bug-assess.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/bug-fix.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/change.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/check-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/checklist.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/clarify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/create-context.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/implement.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/kai.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/leo.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/maya.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/morgan.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/orchestrate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/plan-adr.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/plan-arch.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/plan-design.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/plan-hld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/plan-lld.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/pre-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/quinn.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/release.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/rex.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/riley.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/specify-brd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/specify-doc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/specify-srd.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/specify-uc.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/specify.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/submit-review.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/task.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/taskstoissues.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.claude/commands/validate.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.cursor/rules/sdd-framework.mdc +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/copilot-instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/instructions/domain.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/instructions/entrypoints.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/instructions/tests.instructions.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/address-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/ava.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/bug-assess.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/bug-fix.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/check-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/kai.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/leo.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/maya.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/morgan.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/quinn.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/rex.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/riley.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/submit-review.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/prompts/taskstoissues.prompt.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.github/workflows/quality-gate.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.gitlab-ci.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/contexts/CONTEXT-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/memory/roles.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/memory/summary-rules.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/adr-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/analyze-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/arch-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/brd-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/checklist-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/clarify-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/constitution-amendment-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/context-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/docker-config-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/hld-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/investigation-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/k8s-manifest-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/lld-template.md +0 -0
- {sddflow-2.7.3/sdd/packs/sdd-backend-service → sddflow-2.7.52/sdd/packs/sdd-universal}/.specify/templates/openapi-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/plan-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/qa-testcases-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/release-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/resilience-template.md +0 -0
- {sddflow-2.7.3/sdd/packs/sdd-backend-service → sddflow-2.7.52/sdd/packs/sdd-universal}/.specify/templates/runbook-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.specify/templates/validate-template.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.vscode/extensions.json +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/.windsurfrules +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/CLAUDE.local.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/IMPROVEMENT-BACKLOG.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/WHY-SDD.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/azure-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/bitbucket-pipelines.yml +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/docs/SUMMARY-GUIDE.md +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/setup.ps1 +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/packs/sdd-universal/setup.sh +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/utils/__init__.py +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/utils/cf_to_md.py +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/utils/detect.py +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/utils/git_host.py +0 -0
- {sddflow-2.7.3 → sddflow-2.7.52}/sdd/utils/manifest.py +0 -0
sddflow-2.7.52/PKG-INFO
ADDED
|
@@ -0,0 +1,999 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sddflow
|
|
3
|
+
Version: 2.7.52
|
|
4
|
+
Summary: SDD Framework CLI — initialize and upgrade Spec-Driven Development packs
|
|
5
|
+
Project-URL: Homepage, https://github.com/sunil1983us/universalguide
|
|
6
|
+
Project-URL: Repository, https://github.com/sunil1983us/universalguide
|
|
7
|
+
Project-URL: Bug Tracker, https://github.com/sunil1983us/universalguide/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/sunil1983us/universalguide/blob/main/CHANGELOG.md
|
|
9
|
+
Author-email: Sunil Kumar <sunil1983.us@gmail.com>
|
|
10
|
+
License: MIT
|
|
11
|
+
Keywords: ai,claude,llm,sdd,sdlc,spec-driven-development,specification
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Topic :: Software Development
|
|
23
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
24
|
+
Classifier: Topic :: Utilities
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Requires-Dist: click>=8.0
|
|
27
|
+
Requires-Dist: keyring>=24.0
|
|
28
|
+
Requires-Dist: pyyaml>=6.0
|
|
29
|
+
Requires-Dist: questionary>=2.0
|
|
30
|
+
Requires-Dist: requests>=2.28
|
|
31
|
+
Requires-Dist: rich>=13.0
|
|
32
|
+
Provides-Extra: diagrams
|
|
33
|
+
Requires-Dist: mmdr>=0.3.0; extra == 'diagrams'
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
36
|
+
# sddflow (Python) — SDD Framework CLI
|
|
37
|
+
|
|
38
|
+
Python CLI for the SDD (Spec-Driven Development) Framework.
|
|
39
|
+
Mirrors the Node.js CLI exactly and adds Jira + Confluence integration.
|
|
40
|
+
|
|
41
|
+
## Install
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install sddflow
|
|
45
|
+
sdd init
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Requirements:** Python ≥ 3.9
|
|
49
|
+
|
|
50
|
+
For development / contributors:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
git clone https://github.com/sunil1983us/universalguide.git
|
|
54
|
+
pip install -e ./universalguide/cli-python
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Commands
|
|
60
|
+
|
|
61
|
+
### `sdd init`
|
|
62
|
+
|
|
63
|
+
Initialize an SDD pack in the current project directory.
|
|
64
|
+
Replaces `bash setup.sh` / `.\setup.ps1`.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Interactive (recommended)
|
|
68
|
+
sdd init
|
|
69
|
+
|
|
70
|
+
# Non-interactive
|
|
71
|
+
sdd init --project "my-payments-api" \
|
|
72
|
+
--feature "user-authentication" \
|
|
73
|
+
--scope pilot \
|
|
74
|
+
--type backend-service
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
| Flag | Description | Default |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `-p, --project <name>` | Project name | prompted |
|
|
80
|
+
| `-f, --feature <name>` | First feature name | prompted |
|
|
81
|
+
| `-s, --scope <scope>` | `pilot` \| `mvp` \| `full` | prompted |
|
|
82
|
+
| `-t, --type <type>` | Project type (auto-detected if omitted) | auto |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### `sdd upgrade`
|
|
87
|
+
|
|
88
|
+
Migrate an existing project's `manifest.yml` to the current pack version.
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
sdd upgrade
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**This only ever touches `manifest.yml`'s `sdd_version` field.** Fixes made
|
|
95
|
+
to prompt file *content* (`.github/prompts/*.md`, `.claude/commands/*.md`)
|
|
96
|
+
after your project was scaffolded do **not** reach an existing project just
|
|
97
|
+
by running `sdd upgrade` or upgrading the `sddflow` package — those files
|
|
98
|
+
were copied into your project once, at `sdd init` time, and nothing
|
|
99
|
+
re-syncs them automatically. For that, use `--sync-prompts`:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
sdd upgrade --sync-prompts # preview + confirm, then re-copy
|
|
103
|
+
sdd upgrade --sync-prompts --yes # skip the confirmation prompt
|
|
104
|
+
sdd upgrade --sync-prompts --pack sdd-backend-service # override pack detection
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Which pack to sync from is resolved, in order: `--pack` flag →
|
|
108
|
+
`manifest.yml`'s `pack` field (written automatically by `sdd init` on
|
|
109
|
+
every new project) → inferred from `project_type` → `sdd-universal` as a
|
|
110
|
+
last resort. If it had to guess, it says so and tells you to pass `--pack`
|
|
111
|
+
if the guess is wrong — projects scaffolded before this field existed
|
|
112
|
+
won't have `pack` recorded, so double-check the inference on those.
|
|
113
|
+
|
|
114
|
+
Every file about to be overwritten is shown first (and left alone if you
|
|
115
|
+
say no); anything actually overwritten is backed up to
|
|
116
|
+
`.specify/.prompt-sync-backups/{timestamp}/` first, so a project with
|
|
117
|
+
hand-edited prompt files never just loses those edits silently. Only
|
|
118
|
+
`.github/prompts/` and `.claude/commands/` are touched — nothing under
|
|
119
|
+
`.specify/` (templates, constitution, your generated docs) is ever synced
|
|
120
|
+
by this command.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### `sdd config init`
|
|
125
|
+
|
|
126
|
+
Interactive setup wizard — creates `~/.sdd/config.yml` (auth profile) and
|
|
127
|
+
`.specify/integrations.yml` (project field mappings).
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
sdd config init
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Walks through:
|
|
134
|
+
1. Profile name (e.g. `work-cloud`, `on-prem`)
|
|
135
|
+
2. Atlassian base URL
|
|
136
|
+
3. Auth mode — see [Auth Modes](#auth-modes) below
|
|
137
|
+
4. **Credential storage** — system keychain (recommended) or environment
|
|
138
|
+
variable, see [Credential Storage](#credential-storage) below
|
|
139
|
+
5. Optionally scaffolds `.specify/integrations.yml`
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### `sdd config set-secret`
|
|
144
|
+
|
|
145
|
+
Store or rotate a credential in the system keychain for a profile that
|
|
146
|
+
already uses `credential_store: keyring`.
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
sdd config set-secret --profile work-cloud
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Prompts for the new value (masked input) and updates the keychain entry —
|
|
153
|
+
no need to re-run the whole `sdd config init` wizard just to rotate a
|
|
154
|
+
token. For env-var profiles, just export the new value in your shell
|
|
155
|
+
instead; this command only touches keychain-stored credentials.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
### `sdd config test`
|
|
160
|
+
|
|
161
|
+
Ping Jira and Confluence to verify credentials are working.
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
sdd config test
|
|
165
|
+
sdd config test --profile on-prem
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Output:
|
|
169
|
+
```
|
|
170
|
+
✓ Jira — connected as Jane Smith
|
|
171
|
+
✓ Confluence — connected as Jane Smith
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### `sdd config fields`
|
|
177
|
+
|
|
178
|
+
List all Jira custom field IDs for your instance.
|
|
179
|
+
Use this to find the right IDs for `integrations.yml → custom_fields`.
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
sdd config fields
|
|
183
|
+
sdd config fields --project MYPROJ
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Output:
|
|
187
|
+
```
|
|
188
|
+
ID Name Type
|
|
189
|
+
───────────────────────────── ─────────────────────────────────────── ────────────
|
|
190
|
+
customfield_10016 Story Points number
|
|
191
|
+
customfield_10021 Acceptance Criteria string
|
|
192
|
+
customfield_10100 Team string
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
### `sdd jira push`
|
|
198
|
+
|
|
199
|
+
Create or update Jira issues from `brd.md`, `stories.md`, and `tasks.md`.
|
|
200
|
+
Hierarchy: **Feature/Epic → Story → Task** (configurable issue type names).
|
|
201
|
+
|
|
202
|
+
By default pushes everything at once. Use `--level` to push progressively at
|
|
203
|
+
each SDLC gate instead — Epic right after `/specify` (the `epic-bootstrap-step`
|
|
204
|
+
in `specify.prompt.md` already runs this automatically, before any spec doc
|
|
205
|
+
exists), Stories after Use Case/SRD approval, Tasks after `/task`, CHG tasks
|
|
206
|
+
after `/change` — matching what the agent's `/jira-push` slash command does
|
|
207
|
+
(it's a thin wrapper around this same command). Parent links for a level
|
|
208
|
+
pushed on its own are found live via Jira labels, so there's no strict
|
|
209
|
+
ordering requirement.
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
sdd jira push # push Feature/Epic + Story + Task
|
|
213
|
+
sdd jira push --level epic # normally already run by /specify
|
|
214
|
+
sdd jira push --level uc-draft # normally already run by /specify-uc
|
|
215
|
+
sdd jira push --level story # after /specify-uc or /specify-srd
|
|
216
|
+
sdd jira push --level task # after /task
|
|
217
|
+
sdd jira push --level chg --cr CR-001 # after /change
|
|
218
|
+
sdd jira push --dry-run # print plan, no API calls
|
|
219
|
+
sdd jira push --feature auth # override feature name
|
|
220
|
+
sdd jira push --profile on-prem # use a specific auth profile
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**`--level uc-draft`** creates one lightweight placeholder Story per
|
|
224
|
+
`UC-NNN` in `use-cases.md` — issue type Story (not Task), parented to the
|
|
225
|
+
Epic — right after `/specify-uc`, before `stories.md` exists. It's
|
|
226
|
+
separate from `--level all`/`--level story`, not part of either: a later
|
|
227
|
+
`--level story` push finalizes the *same* issue in place for any story
|
|
228
|
+
whose `**Derived from:** UC-NNN` field names one of these drafts (same
|
|
229
|
+
idempotency label, `sdd:{feature}:UC-NNN`), instead of creating a second,
|
|
230
|
+
separate issue for the same use case. Stories with no single-UC origin
|
|
231
|
+
just get a normal new Story issue, exactly as before this existed.
|
|
232
|
+
|
|
233
|
+
**Dry-run output:**
|
|
234
|
+
```
|
|
235
|
+
Would create:
|
|
236
|
+
┌── [Feature] user-authentication
|
|
237
|
+
│ ├── [Story] STORY-001 — Login with email (must-have 3sp)
|
|
238
|
+
│ │ └── [Task] TASK-001 — JWT validation
|
|
239
|
+
│ │ └── [Task] TASK-002 — POST /auth/login endpoint
|
|
240
|
+
│ ├── [Story] STORY-002 — Password reset (should-have 2sp)
|
|
241
|
+
│ │ └── [Task] TASK-003 — Email service integration
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Idempotency:** Re-running never creates duplicates. Each issue is tagged
|
|
245
|
+
with a feature-qualified label (`sdd:{feature}:STORY-001`, `sdd-feature:{feature}`
|
|
246
|
+
for the top-level Feature/Epic) — feature-qualified so two features' STORY-001
|
|
247
|
+
never collide on a multi-feature project. On re-run, push searches by that
|
|
248
|
+
label — updates if found, creates if not.
|
|
249
|
+
|
|
250
|
+
**Keys tracking:** each push also writes a best-effort, human-readable summary
|
|
251
|
+
to `docs/jira/{feature}/keys.yml` — for reference only; it is never read back
|
|
252
|
+
by `sdd jira push` itself, since parent-linking and idempotency are always
|
|
253
|
+
re-derived live from the Jira labels above.
|
|
254
|
+
|
|
255
|
+
**MoSCoW → Jira priority mapping** (configurable in `integrations.yml`):
|
|
256
|
+
|
|
257
|
+
| SDD MoSCoW | Default Jira priority |
|
|
258
|
+
|---|---|
|
|
259
|
+
| Must Have | High |
|
|
260
|
+
| Should Have | Medium |
|
|
261
|
+
| Could Have | Low |
|
|
262
|
+
| Won't Have | Lowest |
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
### `sdd jira sync`
|
|
267
|
+
|
|
268
|
+
Pull Jira issue statuses back and display alongside task IDs.
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
sdd jira sync
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Output:
|
|
275
|
+
```
|
|
276
|
+
TASK ID Jira Key Status
|
|
277
|
+
──────────── ────────────── ────────────────────
|
|
278
|
+
TASK-001 MYPROJ-42 In Progress
|
|
279
|
+
TASK-002 MYPROJ-43 To Do
|
|
280
|
+
TASK-003 — not pushed
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
### `sdd confluence push`
|
|
286
|
+
|
|
287
|
+
Publish SDD documents to Confluence pages (create or update).
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
sdd confluence push # push all docs found
|
|
291
|
+
sdd confluence push --doc hld # push one doc only
|
|
292
|
+
sdd confluence push --dry-run # print page titles, no API calls
|
|
293
|
+
sdd confluence push --feature auth # override feature name
|
|
294
|
+
sdd confluence push --profile on-prem # use a specific auth profile
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**Which docs get pushed:**
|
|
298
|
+
Any `.md` file in `.specify/features/{feature}/` that has a matching key in
|
|
299
|
+
`integrations.yml → confluence.page_map`. Missing docs are skipped with a
|
|
300
|
+
message.
|
|
301
|
+
|
|
302
|
+
**Dry-run output:**
|
|
303
|
+
```
|
|
304
|
+
would push Todo API — High-Level Design ← .specify/features/task-management/hld.md
|
|
305
|
+
would push Todo API — Architecture Overview ← .specify/features/task-management/arch.md
|
|
306
|
+
· lld.md not found — skipped
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**Idempotency:** Pages are matched by title in the Confluence space. If a page
|
|
310
|
+
with that title already exists, it is updated (version incremented). If not,
|
|
311
|
+
it is created under the configured parent page.
|
|
312
|
+
|
|
313
|
+
**Page hierarchy:** every page nests under `parent_page_id` → a Project page
|
|
314
|
+
(named after `manifest.yml`'s project name) → a Feature page (named after
|
|
315
|
+
the active feature) — both created automatically and idempotently the first
|
|
316
|
+
time any doc is pushed. Living/service-level docs (`data-model`,
|
|
317
|
+
`security-design`, `api-spec`, `component-library`, `runbook`) nest directly
|
|
318
|
+
under the Project page instead, since they're shared across every feature.
|
|
319
|
+
|
|
320
|
+
This nesting is purely a navigation convenience, not a namespace — Confluence
|
|
321
|
+
enforces page-title uniqueness **per space**, not per parent page, so two
|
|
322
|
+
features' same-titled pages would still collide even nested under different
|
|
323
|
+
Feature pages. That's why `page_map`/`document_reviews.confluence_page`
|
|
324
|
+
templates keep `{feature}` in the title text; don't remove it just because
|
|
325
|
+
nesting exists.
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
### `sdd review submit`
|
|
330
|
+
|
|
331
|
+
Push a document to Confluence and create a Jira review story (issue type
|
|
332
|
+
Story, parented to the feature's Epic — same hierarchy level as dev
|
|
333
|
+
Stories) assigned to the configured reviewer.
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
sdd review submit --doc brd
|
|
337
|
+
sdd review submit --doc hld
|
|
338
|
+
sdd review submit --doc adr --feature auth
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
What it does:
|
|
342
|
+
1. Reads `.specify/features/{feature}/{doc}.md`
|
|
343
|
+
2. Converts Markdown → Confluence Storage Format, creates or updates the page
|
|
344
|
+
3. Ensures a Feature/Epic issue exists for the project — normally already
|
|
345
|
+
created by `/specify` before any spec document exists (see `sdd jira push
|
|
346
|
+
--level epic` below); self-bootstrapped here too as a fallback, refreshed
|
|
347
|
+
with the BRD's Business Objectives if they weren't available yet — and
|
|
348
|
+
creates (or updates) a Jira **Story** with the label
|
|
349
|
+
`sdd-doc:{feature}:{doc}`, parented under that Epic and assigned to the
|
|
350
|
+
configured reviewer
|
|
351
|
+
|
|
352
|
+
**Sequence enforcement:** Within each phase, a document cannot be submitted
|
|
353
|
+
until its predecessor is approved (e.g. BRD must be approved before SRD can be
|
|
354
|
+
submitted). The CLI refuses with a clear message if the predecessor is not yet
|
|
355
|
+
approved.
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
### `sdd review check`
|
|
360
|
+
|
|
361
|
+
Check the review status of a submitted document. Exits with a code the agent
|
|
362
|
+
uses to decide the next step.
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
sdd review check --doc brd
|
|
366
|
+
sdd review check --doc srd --profile on-prem
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
**Exit codes:**
|
|
370
|
+
|
|
371
|
+
| Code | Meaning | Agent action |
|
|
372
|
+
|---|---|---|
|
|
373
|
+
| `0` | Approved | Advance to next document / phase |
|
|
374
|
+
| `1` | Needs revision | Print comments; agent edits doc, then calls `sdd review apply` |
|
|
375
|
+
| `2` | Pending | Waiting for reviewer — do not advance |
|
|
376
|
+
| `3` | Not submitted | Run `sdd review submit` first |
|
|
377
|
+
|
|
378
|
+
**Approval detection:** A document is approved when the Jira task status is in
|
|
379
|
+
`approved_statuses` (default: `Done`, `Approved`) **or** any comment contains
|
|
380
|
+
a keyword from `approved_keywords` (default: `approved`, `lgtm`, `looks good`,
|
|
381
|
+
`go ahead`, `confirmed`).
|
|
382
|
+
|
|
383
|
+
**No `jira:` section configured?** `sdd review check` falls back to
|
|
384
|
+
dashboard-left comments (`.specify/.dashboard-comments.json`, written by
|
|
385
|
+
`sdd dashboard`'s comment box) instead of returning "not submitted" outright —
|
|
386
|
+
any not-yet-acknowledged comment for that doc is printed and the command
|
|
387
|
+
exits `1`, exactly like the Jira NEEDS REVISION path. This is the only way
|
|
388
|
+
review feedback reaches the agent in pure local mode: a dashboard comment has
|
|
389
|
+
no Jira ticket to poll, and (unlike Confluence-configured setups where it
|
|
390
|
+
mirrors to Jira automatically) there's nothing else watching for it.
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
### `sdd review apply`
|
|
395
|
+
|
|
396
|
+
After the agent addresses reviewer comments, re-push the updated document to
|
|
397
|
+
Confluence and notify the reviewer in Jira with a comment — or, in pure local
|
|
398
|
+
mode (neither `jira:` nor `confluence:` configured), acknowledge the
|
|
399
|
+
dashboard comments that triggered the edit so `sdd review check` stops
|
|
400
|
+
repeating them.
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
sdd review apply --doc brd
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
Typical agent workflow:
|
|
407
|
+
```
|
|
408
|
+
sdd review check --doc brd # exit 1: NEEDS_REVISION
|
|
409
|
+
# (agent edits .specify/features/{feature}/brd.md)
|
|
410
|
+
sdd review apply --doc brd # re-push + notify reviewer (or: ack local comments)
|
|
411
|
+
sdd review check --doc brd # poll again after reviewer re-reviews
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
### `sdd review comments`
|
|
417
|
+
|
|
418
|
+
Read or acknowledge dashboard-left comments directly, without going through
|
|
419
|
+
the full check/apply cycle. `sdd review check`/`sdd review apply` already
|
|
420
|
+
call into this in pure local mode (see above) — this command exists for
|
|
421
|
+
explicit/manual use.
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
sdd review comments --doc brd # list unacknowledged comments (exit 1 if any, 0 if none)
|
|
425
|
+
sdd review comments --doc brd --ack # mark every current comment as addressed
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
### `sdd review approve` (no-Jira / chat approvals)
|
|
431
|
+
|
|
432
|
+
Record an approval locally when Jira is not configured — the agent runs this
|
|
433
|
+
automatically after the user says "approved" in chat.
|
|
434
|
+
|
|
435
|
+
```bash
|
|
436
|
+
sdd review approve --doc brd --local --by "Product Owner" --note "approved in chat"
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
What it does:
|
|
440
|
+
1. Writes an audit record to `.specify/.local-approvals.yml`
|
|
441
|
+
(`sdd review check` then returns exit 0 for this document)
|
|
442
|
+
2. Flips the document header `Status: Draft` → `Status: Approved` if the agent
|
|
443
|
+
has not already done so
|
|
444
|
+
3. If a `confluence:` section exists in `.specify/integrations.yml`, updates the
|
|
445
|
+
document's existing Confluence page so it matches the approved `.md`
|
|
446
|
+
(skip with `--no-confluence`; a Confluence failure never blocks the approval —
|
|
447
|
+
re-try with `sdd confluence push --doc {name}`)
|
|
448
|
+
|
|
449
|
+
The `Status: Approved` header in the `.md` is the authoritative gate in every
|
|
450
|
+
mode — Jira and Confluence are integrations on top of it, never a prerequisite.
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
### `sdd review status`
|
|
455
|
+
|
|
456
|
+
Show the review state of every document in all phases at a glance.
|
|
457
|
+
|
|
458
|
+
```bash
|
|
459
|
+
sdd review status
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
Output:
|
|
463
|
+
```
|
|
464
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
465
|
+
Review Status
|
|
466
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
467
|
+
|
|
468
|
+
SPECIFY phase
|
|
469
|
+
✓ BRD Approved Product Owner
|
|
470
|
+
✓ SRD Approved Business Analyst
|
|
471
|
+
⏳ ARCH Pending Architect · ask Ava
|
|
472
|
+
🔒 HLD Blocked Architect
|
|
473
|
+
|
|
474
|
+
PLANNING phase
|
|
475
|
+
· LLD Not Submitted Tech Lead · ask Leo
|
|
476
|
+
· ADR Not Submitted Architect · ask Ava
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
Blocked = predecessor in the same phase is not yet approved. Any row that
|
|
480
|
+
isn't Approved or Blocked gets a `· ask {name}` hint naming the Virtual
|
|
481
|
+
Team member who owns that doc type (same roster the dashboard uses) — a
|
|
482
|
+
doc key with no mapped persona (rare — only the handful outside
|
|
483
|
+
`CLAUDE.md`'s "Virtual Team" table) just omits the hint.
|
|
484
|
+
**Requires Jira** (`integrations.yml` with a `jira:` section) — for a
|
|
485
|
+
status view that works with any review mode (chat, local, or jira), see
|
|
486
|
+
`sdd dashboard` below.
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
|
|
490
|
+
### `sdd dashboard`
|
|
491
|
+
|
|
492
|
+
A local, read-only web UI over the current project's `.specify/` —
|
|
493
|
+
pipeline progress per feature, task completion, and token usage. Unlike
|
|
494
|
+
`sdd review status`, it needs no Jira/Confluence configuration: it reads
|
|
495
|
+
the `Status:` headers already written into each doc's `.md` file, which
|
|
496
|
+
are the authoritative gate in every review mode.
|
|
497
|
+
|
|
498
|
+
```bash
|
|
499
|
+
sdd dashboard # starts a local server, opens your browser
|
|
500
|
+
sdd dashboard --port 5050 # use a different port
|
|
501
|
+
sdd dashboard --no-open # don't auto-open a browser tab
|
|
502
|
+
sdd dashboard --host 0.0.0.0 # let teammates on the same network reach it (see below)
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Shows, per feature under `.specify/features/`:
|
|
506
|
+
- **Full Pipeline** — the *complete* command sequence for this project's
|
|
507
|
+
scope and plan mode (`/specify` → `GATE-1` → `/specify-brd` → ... →
|
|
508
|
+
`/release`), not just the docs generated so far. Every step is shown,
|
|
509
|
+
including ones this scope/plan mode skips (struck through, hover for
|
|
510
|
+
why — e.g. "skipped — pilot scope"), so you can see the whole shape of
|
|
511
|
+
the workflow up front. Each step is marked **✓ done**, **● current**
|
|
512
|
+
(either awaiting review or in progress), or **○ upcoming**, and a
|
|
513
|
+
highlighted **Next** box below the stepper spells out exactly what to
|
|
514
|
+
run next in plain language (e.g. "Run `/specify-uc` to generate the Use
|
|
515
|
+
Case Specification" or `"BRD" is generated and waiting on review — check
|
|
516
|
+
with sdd review check --doc brd`). This is derived purely from
|
|
517
|
+
`manifest.yml` (`scope`, `plan_mode`) and each doc's `Status:` header —
|
|
518
|
+
no extra configuration needed.
|
|
519
|
+
- **Virtual Team persona hints.** Any step owned by a named team member
|
|
520
|
+
(see CLAUDE.md's "Virtual Team — Address by Name" table: Maya, Rex,
|
|
521
|
+
Ava, Leo, Kai, Quinn, Riley) shows that name as a small badge on the
|
|
522
|
+
step and in its hover tooltip, and the **Next** box adds a second
|
|
523
|
+
line with a ready-to-type natural-language ask —
|
|
524
|
+
e.g. `💬 Or just say: "Maya, write the use cases for checkout"
|
|
525
|
+
(Maya — Business Analyst)` — so you don't need to look up which
|
|
526
|
+
slash command a step maps to. Steps that run before any persona
|
|
527
|
+
takes over (`/specify`, `GATE-1`) or that are a byproduct of another
|
|
528
|
+
command (the runbook, generated by `/implement`) have no persona
|
|
529
|
+
badge. A doc that already exists and is just awaiting review skips
|
|
530
|
+
the ask too — the phrasing is always creation-oriented ("create the
|
|
531
|
+
BRD"), which would misleadingly suggest the doc doesn't exist yet.
|
|
532
|
+
sdd-micro has no Virtual Team, so none of this ever appears there.
|
|
533
|
+
- **Documents** — every generated doc and its `Status:` (Draft/Approved/etc.), with a best-effort "what's next" guess, including the same persona ask shown on the Full Pipeline's Next box when the next doc has an owner. Each doc has a **View** button that reads the raw `.md` straight from disk into the page — no need to leave the browser to check content.
|
|
534
|
+
- **Tasks** — parsed from `tasks.md` (works with both the full packs' checkbox-based tasks and sdd-micro's `**Status:**` field)
|
|
535
|
+
- **Token Usage** — the running totals from `token-usage.md`, if token usage logging is enabled for that feature
|
|
536
|
+
- **Jira Export** — the Epic/Story/Task links from the progressive export (`docs/jira/{feature}/keys.yml`), if you've run `/jira-push` or `sdd jira push`
|
|
537
|
+
|
|
538
|
+
It's a viewer only — nothing here writes to `.specify/`. The page polls
|
|
539
|
+
`/api/status` every 5 seconds, so it reflects new commands as the agent
|
|
540
|
+
runs them. Task/PR status reflects `tasks.md`, not live PR state on your
|
|
541
|
+
git host (that would require its own credentials/API calls per host —
|
|
542
|
+
out of scope for this command).
|
|
543
|
+
|
|
544
|
+
**Jira/Confluence links** come in two tiers:
|
|
545
|
+
- **Local, instant, always shown** — Jira Epic/Story/Task links (from
|
|
546
|
+
`docs/jira/{feature}/keys.yml`), Confluence page links for docs
|
|
547
|
+
pushed via `sdd confluence push`/`draft` (from
|
|
548
|
+
`.specify/.confluence-drafts.json`), and the review-gate Jira ticket
|
|
549
|
+
key recorded the moment `sdd review submit`/`apply` creates or touches
|
|
550
|
+
it (from `.specify/.jira-review-links.json`). Pure file reads, no
|
|
551
|
+
network call — the Jira pill next to a document shows up right away
|
|
552
|
+
instead of staying blank until you click the live check below.
|
|
553
|
+
- **Live, on demand** — click **"🔄 Check Jira/Confluence review links"**
|
|
554
|
+
on a feature to refresh that feature's `sdd review submit` tickets
|
|
555
|
+
against Jira/Confluence directly (the local cache above can go stale —
|
|
556
|
+
e.g. if a ticket's status changed, or the page was deleted/recreated).
|
|
557
|
+
This one call uses your existing `~/.sdd/config.yml` profile and
|
|
558
|
+
`.specify/integrations.yml` — same credentials as `sdd review status`,
|
|
559
|
+
and only fires when you click the button, never on the automatic poll.
|
|
560
|
+
The same check also surfaces each document's review status — a
|
|
561
|
+
color-coded **APPROVED / NEEDS REVISION / PENDING** badge next to its
|
|
562
|
+
Jira pill, using the exact same classification `sdd review check --doc`
|
|
563
|
+
uses — and, if the reviewer left any, their Jira comments show up in
|
|
564
|
+
that document's comments panel (💬), labeled separately from local
|
|
565
|
+
dashboard comments. Needs `document_reviews` configured in
|
|
566
|
+
`integrations.yml`, same as `sdd review check` itself.
|
|
567
|
+
|
|
568
|
+
**Approve a document, or leave a review comment** — right from the
|
|
569
|
+
Documents card, no need to open a CLI or Jira/Confluence yourself:
|
|
570
|
+
- **Approve** flips that doc's `Status:` header to `Approved` and records
|
|
571
|
+
who/when/why in `.specify/.local-approvals.yml` — the exact same file
|
|
572
|
+
and format `sdd review approve --local` already uses, so the CLI and
|
|
573
|
+
the dashboard share one audit trail. If Confluence is configured, the
|
|
574
|
+
approved doc is mirrored to its page automatically (same as the CLI
|
|
575
|
+
command); if Jira is configured, a best-effort comment ("Approved via
|
|
576
|
+
SDD Dashboard by {name}") is posted to that document's review-gate
|
|
577
|
+
ticket. Neither Confluence nor Jira failing blocks the local approval.
|
|
578
|
+
- **Comments** (💬 button) save locally to
|
|
579
|
+
`.specify/.dashboard-comments.json`, scoped per feature+document, and
|
|
580
|
+
also post to Jira the same way, if configured. Confluence comment
|
|
581
|
+
posting isn't implemented yet (only page content sync on approve).
|
|
582
|
+
- **Known limitation:** `.local-approvals.yml` is keyed by document name
|
|
583
|
+
only, not by feature — this matches `sdd review approve`/`review
|
|
584
|
+
check`'s own existing format. On a multi-feature project, approving
|
|
585
|
+
"brd" doesn't distinguish which feature's BRD you meant at the
|
|
586
|
+
`sdd review check` layer (dashboard comments *are* feature-scoped,
|
|
587
|
+
since that's a new store with no legacy format to match).
|
|
588
|
+
- **Jira only gets a comment, not a status transition.** Actually moving
|
|
589
|
+
the Jira ticket's workflow status (e.g. to Done) would need the Jira
|
|
590
|
+
transitions API, which isn't wrapped in this codebase — approve via
|
|
591
|
+
the dashboard the same way `sdd review approve --local` does: locally
|
|
592
|
+
first, Jira/Confluence as a mirror, not the source of truth.
|
|
593
|
+
|
|
594
|
+
**Sharing with a team.** By default the server only listens on
|
|
595
|
+
`127.0.0.1` — just you. `--host 0.0.0.0` lets teammates on the same
|
|
596
|
+
network open it from their own browser at your machine's IP (the CLI
|
|
597
|
+
prints that URL). This is still one process on one machine, not a hosted
|
|
598
|
+
service — it stops when you close the terminal, and it's unauthenticated,
|
|
599
|
+
so only use it on a network you trust: it exposes your project's
|
|
600
|
+
`.specify/` status to anyone who can reach the port, **and** lets them
|
|
601
|
+
approve documents and post comments on your behalf. No credentials pass
|
|
602
|
+
through it either way — Jira/Confluence auth stays server-side, using
|
|
603
|
+
your own `~/.sdd/config.yml`.
|
|
604
|
+
|
|
605
|
+
---
|
|
606
|
+
|
|
607
|
+
### `sdd pr create`
|
|
608
|
+
|
|
609
|
+
Create a git branch and a PR for a task, linked back to its Jira issue — on
|
|
610
|
+
**GitHub, GitLab, Bitbucket, or Azure DevOps**. The host is auto-detected from
|
|
611
|
+
`git remote get-url origin`; nothing to configure to pick one.
|
|
612
|
+
|
|
613
|
+
```bash
|
|
614
|
+
sdd pr create --task TASK-001
|
|
615
|
+
sdd pr create --task TASK-002 --base develop
|
|
616
|
+
sdd pr create --task TASK-003 --feature auth
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
What it does:
|
|
620
|
+
1. Looks up `TASK-001` in `.specify/features/{feature}/tasks.md`
|
|
621
|
+
2. Searches Jira for the issue with label `sdd:TASK-001` (if Jira is configured)
|
|
622
|
+
3. Creates and pushes a git branch using `branch_pattern` from `integrations.yml`
|
|
623
|
+
4. Detects the git host and creates a PR there with the task description and
|
|
624
|
+
acceptance criteria in the body, linked to the Jira issue:
|
|
625
|
+
- **GitHub** — via the `gh` CLI
|
|
626
|
+
- **GitLab** — via the `glab` CLI, or the REST API if you set `GITLAB_TOKEN`
|
|
627
|
+
instead of installing glab
|
|
628
|
+
- **Bitbucket** — via the REST API, using `BITBUCKET_USERNAME` +
|
|
629
|
+
`BITBUCKET_APP_PASSWORD` (Bitbucket has no CLI as ubiquitous as gh/glab)
|
|
630
|
+
- **Azure DevOps** — via the `az` CLI (`azure-devops` extension)
|
|
631
|
+
5. Posts the PR URL as a comment on the Jira task
|
|
632
|
+
|
|
633
|
+
**Branch / PR title patterns** (configurable in `integrations.yml`, apply to
|
|
634
|
+
every host the same way):
|
|
635
|
+
|
|
636
|
+
| Config key | Default | Example output |
|
|
637
|
+
|---|---|---|
|
|
638
|
+
| `branch_pattern` | `feature/{task_id}-{slug}` | `feature/task-001-jwt-validation` |
|
|
639
|
+
| `pr_title_pattern` | `feat({task_id}): {title}` | `feat(TASK-001): JWT validation` |
|
|
640
|
+
|
|
641
|
+
**Fallback:** If the detected host's CLI/token isn't set up (or the host isn't
|
|
642
|
+
recognized — e.g. self-hosted git), the branch is still created and pushed;
|
|
643
|
+
the PR title + body are printed so you can paste them in manually.
|
|
644
|
+
|
|
645
|
+
**CI on other hosts:** `.github/workflows/quality-gate.yml` (GitHub Actions)
|
|
646
|
+
is the reference implementation of the PR-size / TASK-NNN-reference /
|
|
647
|
+
build-test-coverage / secret-scan / SCA rules. Each pack also ships
|
|
648
|
+
`bitbucket-pipelines.yml`, `.gitlab-ci.yml`, and `azure-pipelines.yml` at the
|
|
649
|
+
repo root, mirroring the same rules in that host's native syntax — only the
|
|
650
|
+
file matching your actual host is ever read; the others are inert. These are
|
|
651
|
+
starter templates like the GitHub one: adjust build/test commands for your
|
|
652
|
+
Tech Stack, and verify once against your real pipeline before relying on it.
|
|
653
|
+
|
|
654
|
+
---
|
|
655
|
+
|
|
656
|
+
### `/pre-review` (agent command)
|
|
657
|
+
|
|
658
|
+
Run a one-time code pre-review on the current task before the PR is created.
|
|
659
|
+
Controlled by `code_review.pre_review` in `integrations.yml`.
|
|
660
|
+
|
|
661
|
+
```
|
|
662
|
+
/pre-review # infer task from current branch
|
|
663
|
+
/pre-review TASK-001 # explicit task ID
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
**What it does:**
|
|
667
|
+
1. Checks `code_review.pre_review` — if `false`, skips and calls `sdd pr create` directly
|
|
668
|
+
2. Reads the diff (`git diff main...HEAD`)
|
|
669
|
+
3. Analyses for: correctness bugs, removed behaviour, security issues, cross-file impact, quality, performance
|
|
670
|
+
4. Presents a numbered checklist to the developer
|
|
671
|
+
5. Developer picks which items to fix (`all`, `none`, or `1,3`)
|
|
672
|
+
6. Agent applies selected fixes and commits
|
|
673
|
+
7. Saves pre-review summary to `.specify/features/{feature}/.pre-review-{task}.md`
|
|
674
|
+
8. Calls `sdd pr create --task {task}` — summary is included in the PR body automatically
|
|
675
|
+
|
|
676
|
+
**Runs once per task** — do not re-run after fixes are applied.
|
|
677
|
+
|
|
678
|
+
---
|
|
679
|
+
|
|
680
|
+
### `/address-review` (agent command)
|
|
681
|
+
|
|
682
|
+
Read unresolved human review comments from a PR, apply developer-selected fixes,
|
|
683
|
+
reply to threads, and request re-review. Repeatable — run once per review round.
|
|
684
|
+
Works on **GitHub, GitLab, Bitbucket, and Azure DevOps** — same host
|
|
685
|
+
auto-detection as `sdd pr create`.
|
|
686
|
+
|
|
687
|
+
```
|
|
688
|
+
/address-review # infer PR from current branch
|
|
689
|
+
/address-review 42 # explicit PR number
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
**What it does:**
|
|
693
|
+
1. `sdd pr comments` fetches all unresolved comment threads from the PR
|
|
694
|
+
2. Presents them as a numbered checklist
|
|
695
|
+
3. Developer picks which to fix
|
|
696
|
+
4. Agent applies fixes, commits, pushes to the same branch (PR auto-updates)
|
|
697
|
+
5. `sdd pr reply` posts a reply on each thread: "Fixed in {commit}" or "Acknowledged"
|
|
698
|
+
6. `sdd pr resolve` resolves fixed threads so reviewer sees a clean diff
|
|
699
|
+
7. `sdd pr request-review` requests re-review from the original reviewer
|
|
700
|
+
|
|
701
|
+
**Run again** after the reviewer adds a new round of comments.
|
|
702
|
+
When there are no unresolved comments: "PR is ready to approve."
|
|
703
|
+
|
|
704
|
+
**Per-host notes:**
|
|
705
|
+
- **GitHub** — uses `gh`/GraphQL; unchanged from the original GitHub-only implementation
|
|
706
|
+
- **GitLab** — REST API via `GITLAB_TOKEN` (Discussions API)
|
|
707
|
+
- **Bitbucket** — REST API via `BITBUCKET_USERNAME`/`BITBUCKET_APP_PASSWORD`.
|
|
708
|
+
Bitbucket has no API-level thread resolution — `sdd pr resolve` posts the
|
|
709
|
+
reply and prints a warning asking the reviewer to resolve it manually in
|
|
710
|
+
the UI; this is expected, not a failure
|
|
711
|
+
- **Azure DevOps** — `az` CLI + `az rest` (Threads API)
|
|
712
|
+
- **Unrecognized/self-hosted host** — no automated comment handling; address
|
|
713
|
+
review comments directly in the host's web UI
|
|
714
|
+
|
|
715
|
+
**Underlying commands** (what the prompt calls — usable standalone too):
|
|
716
|
+
```bash
|
|
717
|
+
sdd pr comments [--pr-id N]
|
|
718
|
+
sdd pr reply --comment-id ID --body "..." [--pr-id N]
|
|
719
|
+
sdd pr resolve --comment-id ID [--pr-id N]
|
|
720
|
+
sdd pr request-review --reviewer LOGIN [--pr-id N]
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
---
|
|
724
|
+
|
|
725
|
+
## Code Review Configuration
|
|
726
|
+
|
|
727
|
+
```yaml
|
|
728
|
+
# .specify/integrations.yml
|
|
729
|
+
code_review:
|
|
730
|
+
enabled: true
|
|
731
|
+
pre_review: true # false = skip pre-review, go straight to human review
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
| Setting | Behaviour |
|
|
735
|
+
|---|---|
|
|
736
|
+
| `pre_review: true` | Agent runs `/pre-review` before creating the PR. PR body includes pre-review summary. |
|
|
737
|
+
| `pre_review: false` | PR created immediately. Human reviewer is the first reviewer of the code. |
|
|
738
|
+
|
|
739
|
+
`/address-review` is always available regardless of `pre_review` setting.
|
|
740
|
+
|
|
741
|
+
---
|
|
742
|
+
|
|
743
|
+
## Credential Storage
|
|
744
|
+
|
|
745
|
+
Independent of which [auth mode](#auth-modes) you use, `~/.sdd/config.yml`
|
|
746
|
+
never contains a plaintext secret — only *where* to find one, via
|
|
747
|
+
`credential_store`:
|
|
748
|
+
|
|
749
|
+
| `credential_store` | Where the secret actually lives | Works from |
|
|
750
|
+
|---|---|---|
|
|
751
|
+
| `keyring` *(recommended)* | OS-native secure store — macOS Keychain, Windows Credential Manager, Linux Secret Service, via the [`keyring`](https://pypi.org/project/keyring/) package | Any terminal, any AI tool's subprocess, any new shell — no setup needed after the initial save |
|
|
752
|
+
| `env` | An environment variable you export yourself | Only the shell session where you exported it (and its children) |
|
|
753
|
+
|
|
754
|
+
**Why this matters in practice:** an AI coding tool (Claude Code, Copilot,
|
|
755
|
+
etc.) runs shell commands in its own subprocess, which does **not**
|
|
756
|
+
inherit an env var you exported in a different terminal tab — even a
|
|
757
|
+
brand-new terminal tab won't have it unless you added the `export` to a
|
|
758
|
+
shell startup file the tool's subprocess actually sources (which varies
|
|
759
|
+
by tool and isn't always `~/.zshrc`/`~/.bashrc`). This is a common source
|
|
760
|
+
of "Jira/Confluence not connecting" reports that turn out to be nothing
|
|
761
|
+
wrong with the credential itself. `credential_store: keyring` sidesteps
|
|
762
|
+
the whole problem — the OS keychain is a system service any process on
|
|
763
|
+
the machine can query, not something scoped to one shell.
|
|
764
|
+
|
|
765
|
+
`sdd config init` asks which you want and defaults to recommending
|
|
766
|
+
keyring. To store a credential in the keychain outside the wizard (e.g.
|
|
767
|
+
rotating an existing one), use `sdd config set-secret --profile {name}`.
|
|
768
|
+
|
|
769
|
+
**When to use `env` instead:** CI/CD runners and headless Linux boxes
|
|
770
|
+
often have no keychain backend running at all (`sdd config init` and
|
|
771
|
+
`sdd config set-secret` fail with a clear message if so, and suggest
|
|
772
|
+
switching to `env`) — in those environments, an environment variable
|
|
773
|
+
injected by the CI system's own secret store is the normal approach
|
|
774
|
+
anyway.
|
|
775
|
+
|
|
776
|
+
---
|
|
777
|
+
|
|
778
|
+
## Auth Modes
|
|
779
|
+
|
|
780
|
+
`auth_mode` controls the *authentication mechanism* (HTTP Basic vs.
|
|
781
|
+
Bearer token) — independent of `credential_store` above, which controls
|
|
782
|
+
*where the secret value is read from*. Mix and match freely: e.g. `basic`
|
|
783
|
+
+ `keyring` is the default recommendation for most users.
|
|
784
|
+
|
|
785
|
+
### `basic` — Atlassian Cloud (email + API token)
|
|
786
|
+
|
|
787
|
+
```bash
|
|
788
|
+
export JIRA_API_TOKEN="your-api-token-here"
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
`~/.sdd/config.yml`:
|
|
792
|
+
```yaml
|
|
793
|
+
profiles:
|
|
794
|
+
work-cloud:
|
|
795
|
+
auth_mode: basic
|
|
796
|
+
base_url: https://myco.atlassian.net
|
|
797
|
+
email: user@myco.com
|
|
798
|
+
api_token_env: JIRA_API_TOKEN
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
Get your API token: <https://id.atlassian.com/manage-profile/security/api-tokens>
|
|
802
|
+
|
|
803
|
+
---
|
|
804
|
+
|
|
805
|
+
### `pat` — Jira/Confluence Server 8.14+ or Data Centre
|
|
806
|
+
|
|
807
|
+
```bash
|
|
808
|
+
export JIRA_PAT="your-personal-access-token"
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
`~/.sdd/config.yml`:
|
|
812
|
+
```yaml
|
|
813
|
+
profiles:
|
|
814
|
+
on-prem:
|
|
815
|
+
auth_mode: pat
|
|
816
|
+
base_url: https://jira.internal.myco.com
|
|
817
|
+
pat_env: JIRA_PAT
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
---
|
|
821
|
+
|
|
822
|
+
### `oauth2` — Cloud CI/CD pipelines
|
|
823
|
+
|
|
824
|
+
```bash
|
|
825
|
+
export JIRA_ACCESS_TOKEN="your-oauth2-bearer-token"
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
`~/.sdd/config.yml`:
|
|
829
|
+
```yaml
|
|
830
|
+
profiles:
|
|
831
|
+
ci:
|
|
832
|
+
auth_mode: oauth2
|
|
833
|
+
base_url: https://myco.atlassian.net
|
|
834
|
+
access_token_env: JIRA_ACCESS_TOKEN
|
|
835
|
+
```
|
|
836
|
+
|
|
837
|
+
---
|
|
838
|
+
|
|
839
|
+
### Any auth mode, with `credential_store: keyring` instead
|
|
840
|
+
|
|
841
|
+
No `*_env` field at all — the secret itself was saved via `sdd config
|
|
842
|
+
init` (or `sdd config set-secret`) directly into the OS keychain:
|
|
843
|
+
|
|
844
|
+
```yaml
|
|
845
|
+
profiles:
|
|
846
|
+
work-cloud:
|
|
847
|
+
auth_mode: basic
|
|
848
|
+
base_url: https://myco.atlassian.net
|
|
849
|
+
email: user@myco.com
|
|
850
|
+
credential_store: keyring
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
---
|
|
854
|
+
|
|
855
|
+
## Configuration Files
|
|
856
|
+
|
|
857
|
+
### `~/.sdd/config.yml` — global, machine-level, never commit
|
|
858
|
+
|
|
859
|
+
Holds named auth profiles. Multiple profiles supported (e.g. one per Atlassian instance).
|
|
860
|
+
|
|
861
|
+
```yaml
|
|
862
|
+
version: "1"
|
|
863
|
+
default_profile: work-cloud
|
|
864
|
+
profiles:
|
|
865
|
+
work-cloud:
|
|
866
|
+
auth_mode: basic
|
|
867
|
+
base_url: https://myco.atlassian.net
|
|
868
|
+
email: user@myco.com
|
|
869
|
+
api_token_env: JIRA_API_TOKEN
|
|
870
|
+
on-prem:
|
|
871
|
+
auth_mode: pat
|
|
872
|
+
base_url: https://jira.internal.myco.com
|
|
873
|
+
pat_env: JIRA_PAT
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
---
|
|
877
|
+
|
|
878
|
+
### `.specify/integrations.yml` — project-level, safe to commit
|
|
879
|
+
|
|
880
|
+
Wires SDD fields to your Jira project and Confluence space.
|
|
881
|
+
Copy from `.specify/integrations.yml.example` and fill in your values.
|
|
882
|
+
|
|
883
|
+
```yaml
|
|
884
|
+
profile: work-cloud # references a profile in ~/.sdd/config.yml
|
|
885
|
+
|
|
886
|
+
jira:
|
|
887
|
+
project_key: MYPROJ
|
|
888
|
+
# Optional: per-level overrides when Features live in one Jira project
|
|
889
|
+
# and Stories/Tasks live in another. Any level not listed falls back
|
|
890
|
+
# to project_key. Valid levels: feature, story, task, review, chg, cr.
|
|
891
|
+
# project_keys:
|
|
892
|
+
# story: SUNT
|
|
893
|
+
# task: SUNT
|
|
894
|
+
issue_hierarchy:
|
|
895
|
+
feature: Feature # or "Epic" if your project has no Feature type
|
|
896
|
+
story: Story
|
|
897
|
+
task: Task
|
|
898
|
+
parent_field: parent # "parent" for next-gen; "customfield_10014" for classic
|
|
899
|
+
# Optional: per-level overrides for parent_field, for the same reason
|
|
900
|
+
# project_keys exists -- the level here is the CHILD being linked (e.g.
|
|
901
|
+
# "story" for a Story linking under its Epic).
|
|
902
|
+
# parent_field_by_level:
|
|
903
|
+
# story: customfield_10014
|
|
904
|
+
base_fields:
|
|
905
|
+
priority_map:
|
|
906
|
+
must-have: High
|
|
907
|
+
should-have: Medium
|
|
908
|
+
could-have: Low
|
|
909
|
+
wont-have: Lowest
|
|
910
|
+
labels: [sdd-generated]
|
|
911
|
+
# Optional: a fixed team name/ID stamped on every issue this CLI
|
|
912
|
+
# creates. Requires the matching custom_fields.team entry below.
|
|
913
|
+
# team: Team Phoenix
|
|
914
|
+
custom_fields:
|
|
915
|
+
story_points: customfield_10016 # run "sdd config fields" to find yours
|
|
916
|
+
# team: customfield_10100 # pairs with base_fields.team above
|
|
917
|
+
# Optional: per-level overrides for custom_fields, for the same reason
|
|
918
|
+
# project_keys exists -- a level in a different Jira project usually
|
|
919
|
+
# has a different custom field scheme too.
|
|
920
|
+
# custom_fields_by_level:
|
|
921
|
+
# story:
|
|
922
|
+
# story_points: customfield_99001
|
|
923
|
+
|
|
924
|
+
confluence:
|
|
925
|
+
space_key: ENG
|
|
926
|
+
parent_page_id: "123456"
|
|
927
|
+
page_map:
|
|
928
|
+
brd: "{feature} — Business Requirements"
|
|
929
|
+
hld: "{feature} — High-Level Design"
|
|
930
|
+
runbook: "Runbook" # living doc -- no {feature}, nests under the Project page
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
Full reference: see `.specify/integrations.yml.example`.
|
|
934
|
+
|
|
935
|
+
**`project_keys` cross-project caveat:** Jira's parent/Epic-Link field
|
|
936
|
+
generally does not support linking issues across different Jira
|
|
937
|
+
projects — true cross-project hierarchy needs Advanced Roadmaps (Jira
|
|
938
|
+
Premium), not the standard REST API this CLI uses. If you override a
|
|
939
|
+
level to a different project than its parent level, the child issue is
|
|
940
|
+
still created, and the CLI automatically falls back to a plain
|
|
941
|
+
**"Relates" issue link** instead — those work across projects, unlike
|
|
942
|
+
parent/Epic-Link. `sdd jira push` never fails silently on this: it
|
|
943
|
+
always prints which kind of link ended up being used (`Linked with a
|
|
944
|
+
"Relates" issue link instead` vs `was not linked under ...` if even that
|
|
945
|
+
fallback fails), so check the CLI output after pushing if you use
|
|
946
|
+
`project_keys`.
|
|
947
|
+
|
|
948
|
+
### Rendering diagrams in Confluence
|
|
949
|
+
|
|
950
|
+
Confluence has **no native Mermaid or PlantUML renderer**. By default, a
|
|
951
|
+
` ```mermaid ` or ` ```plantuml ` fenced block in your `.md` files pushes to
|
|
952
|
+
Confluence as plain syntax-highlighted text — the diagram source, not a
|
|
953
|
+
rendered diagram. Three modes fix this, configured via `confluence.diagrams`:
|
|
954
|
+
|
|
955
|
+
```yaml
|
|
956
|
+
confluence:
|
|
957
|
+
diagrams:
|
|
958
|
+
mode: local-svg # none (default) | local-svg | mermaid-app | plantuml-macro
|
|
959
|
+
```
|
|
960
|
+
|
|
961
|
+
| Mode | What it needs | Notes |
|
|
962
|
+
|---|---|---|
|
|
963
|
+
| `none` (default) | Nothing | Diagrams show as text, exactly as today |
|
|
964
|
+
| `local-svg` | `pip install "sddflow[diagrams]"` (an optional extra — not installed by default) | Renders ` ```mermaid ` fences to SVG **entirely offline** — no Confluence app, no external network call at render time — then attaches the image to the page. The right choice if your org can't reach external services or can't install Confluence apps. Backed by [`mmdr`](https://pypi.org/project/mmdr/), a small (~18MB) Rust-based renderer with zero further dependencies — chosen after testing it against every diagram type (flowchart, sequenceDiagram, classDiagram, erDiagram) the SDD templates actually generate; a candidate that looked promising on paper (`mermaidx`) failed on flowchart stadium-shape nodes and classDiagram entirely, which is why this wasn't just picked from a package description. A missing dependency, or any single diagram that fails to render, falls back to a plain code block for that one diagram rather than failing the whole document push |
|
|
965
|
+
| `mermaid_app` | A Mermaid-rendering Confluence app installed (10+ compete on the Atlassian Marketplace) + its macro name | Only affects ` ```mermaid ` fences; a fence with no `macro_name` configured falls back to plain text rather than a broken macro |
|
|
966
|
+
| `plantuml_macro` | A PlantUML-rendering app (e.g. "PlantUML for Confluence") + its macro name | Only affects fences already written as ` ```plantuml ` — this does **not** convert Mermaid syntax to PlantUML, they're different diagram languages. Most of these apps render via the public `plantuml.com` server by default (an external network call); if your org can't reach external services, a Confluence admin needs to point the app at a self-hosted PlantUML server instead, or use `local-svg` above |
|
|
967
|
+
|
|
968
|
+
If a diagram fence still shows as a plain code block after configuring one
|
|
969
|
+
of these modes, the push command now prints a yellow warning naming the
|
|
970
|
+
exact reason (e.g. the `pip install` command if `mmdr` isn't installed, or
|
|
971
|
+
the actual renderer error for an invalid diagram) — it never fails silently.
|
|
972
|
+
|
|
973
|
+
A fourth mode, **`markdown-macro`** (delegate the whole page to a
|
|
974
|
+
whole-document Markdown-rendering app that bundles Mermaid support), is
|
|
975
|
+
planned but not yet implemented — these are Forge-based and use a different,
|
|
976
|
+
less-guessable macro reference shape than the three modes above, and needs
|
|
977
|
+
verified testing against a real installed app before it ships.
|
|
978
|
+
|
|
979
|
+
---
|
|
980
|
+
|
|
981
|
+
## Supported Project Types
|
|
982
|
+
|
|
983
|
+
Auto-detected by `sdd init` from files in the current directory.
|
|
984
|
+
|
|
985
|
+
| Type | Detected from |
|
|
986
|
+
|---|---|
|
|
987
|
+
| `backend-service` | `pom.xml`, `build.gradle`, `go.mod`, Python files |
|
|
988
|
+
| `frontend-spa` | `package.json` + react/vue/svelte/angular/next/nuxt |
|
|
989
|
+
| `mobile` | `pubspec.yaml`, or `package.json` + react-native/expo |
|
|
990
|
+
| `fullstack` | `package.json` + `pom.xml`/`build.gradle`/`go.mod` |
|
|
991
|
+
| `cli` | `Cargo.toml` with `[[bin]]`, or `go.mod` + `cmd/` dir |
|
|
992
|
+
| `data-ml` | `requirements.txt` with pandas/torch/sklearn/keras/jax |
|
|
993
|
+
| `serverless` | `serverless.yml`, or `template.yaml` with AWSTemplateFormatVersion |
|
|
994
|
+
| `library` | `Cargo.toml` without `[[bin]]`, or Python lib structure |
|
|
995
|
+
| `iac` | `*.tf` files, `Pulumi.yaml`, `cdk.json` |
|
|
996
|
+
| `desktop` | `package.json` + electron, or `tauri.conf.json` |
|
|
997
|
+
|
|
998
|
+
Detection order matches `setup.sh` and `specify.prompt.md` Step 0 — mobile
|
|
999
|
+
is always checked before fullstack.
|