@sk8metal/michi-cli 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +235 -57
- package/dist/scripts/__tests__/create-project.test.js +24 -28
- package/dist/scripts/__tests__/create-project.test.js.map +1 -1
- package/dist/scripts/__tests__/jira-transitions.test.d.ts +5 -0
- package/dist/scripts/__tests__/jira-transitions.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/jira-transitions.test.js +172 -0
- package/dist/scripts/__tests__/jira-transitions.test.js.map +1 -0
- package/dist/scripts/__tests__/multi-project-estimate.test.js +14 -15
- package/dist/scripts/__tests__/multi-project-estimate.test.js.map +1 -1
- package/dist/scripts/__tests__/setup-existing-project.test.js +79 -0
- package/dist/scripts/__tests__/setup-existing-project.test.js.map +1 -1
- package/dist/scripts/__tests__/setup-interactive.test.js +23 -17
- package/dist/scripts/__tests__/setup-interactive.test.js.map +1 -1
- package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts +5 -0
- package/dist/scripts/__tests__/spec-impl-workflow.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/spec-impl-workflow.test.js +321 -0
- package/dist/scripts/__tests__/spec-impl-workflow.test.js.map +1 -0
- package/dist/scripts/__tests__/spec-loader.test.d.ts +5 -0
- package/dist/scripts/__tests__/spec-loader.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/spec-loader.test.js +153 -0
- package/dist/scripts/__tests__/spec-loader.test.js.map +1 -0
- package/dist/scripts/__tests__/validate-phase.test.js +26 -22
- package/dist/scripts/__tests__/validate-phase.test.js.map +1 -1
- package/dist/scripts/config/config-schema.d.ts +17 -0
- package/dist/scripts/config/config-schema.d.ts.map +1 -1
- package/dist/scripts/config/config-schema.js +55 -26
- package/dist/scripts/config/config-schema.js.map +1 -1
- package/dist/scripts/config-interactive.d.ts.map +1 -1
- package/dist/scripts/config-interactive.js +53 -38
- package/dist/scripts/config-interactive.js.map +1 -1
- package/dist/scripts/confluence-sync.d.ts.map +1 -1
- package/dist/scripts/confluence-sync.js +0 -11
- package/dist/scripts/confluence-sync.js.map +1 -1
- package/dist/scripts/constants/__tests__/environments.test.js +39 -5
- package/dist/scripts/constants/__tests__/environments.test.js.map +1 -1
- package/dist/scripts/constants/environments.d.ts +1 -1
- package/dist/scripts/constants/environments.d.ts.map +1 -1
- package/dist/scripts/constants/environments.js +22 -7
- package/dist/scripts/constants/environments.js.map +1 -1
- package/dist/scripts/constants/test-commands.d.ts +36 -0
- package/dist/scripts/constants/test-commands.d.ts.map +1 -0
- package/dist/scripts/constants/test-commands.js +70 -0
- package/dist/scripts/constants/test-commands.js.map +1 -0
- package/dist/scripts/jira-sync.d.ts +89 -3
- package/dist/scripts/jira-sync.d.ts.map +1 -1
- package/dist/scripts/jira-sync.js +366 -96
- package/dist/scripts/jira-sync.js.map +1 -1
- package/dist/scripts/markdown-to-confluence.js +1 -1
- package/dist/scripts/markdown-to-confluence.js.map +1 -1
- package/dist/scripts/phase-runner.d.ts +1 -1
- package/dist/scripts/phase-runner.d.ts.map +1 -1
- package/dist/scripts/phase-runner.js +809 -13
- package/dist/scripts/phase-runner.js.map +1 -1
- package/dist/scripts/pr-automation.d.ts.map +1 -1
- package/dist/scripts/pr-automation.js.map +1 -1
- package/dist/scripts/pre-flight-check.js +1 -1
- package/dist/scripts/pre-flight-check.js.map +1 -1
- package/dist/scripts/setup-existing-project.js +61 -29
- package/dist/scripts/setup-existing-project.js.map +1 -1
- package/dist/scripts/setup-interactive.js +3 -3
- package/dist/scripts/setup-interactive.js.map +1 -1
- package/dist/scripts/spec-impl-workflow.d.ts +94 -0
- package/dist/scripts/spec-impl-workflow.d.ts.map +1 -0
- package/dist/scripts/spec-impl-workflow.js +354 -0
- package/dist/scripts/spec-impl-workflow.js.map +1 -0
- package/dist/scripts/template/__tests__/renderer.test.js.map +1 -1
- package/dist/scripts/test-execution-generator.d.ts +52 -0
- package/dist/scripts/test-execution-generator.d.ts.map +1 -0
- package/dist/scripts/test-execution-generator.js +576 -0
- package/dist/scripts/test-execution-generator.js.map +1 -0
- package/dist/scripts/test-interactive.d.ts +10 -0
- package/dist/scripts/test-interactive.d.ts.map +1 -0
- package/dist/scripts/test-interactive.js +627 -0
- package/dist/scripts/test-interactive.js.map +1 -0
- package/dist/scripts/test-new-features.d.ts +5 -0
- package/dist/scripts/test-new-features.d.ts.map +1 -0
- package/dist/scripts/test-new-features.js +145 -0
- package/dist/scripts/test-new-features.js.map +1 -0
- package/dist/scripts/test-spec-generator.d.ts +29 -0
- package/dist/scripts/test-spec-generator.d.ts.map +1 -0
- package/dist/scripts/test-spec-generator.js +494 -0
- package/dist/scripts/test-spec-generator.js.map +1 -0
- package/dist/scripts/test-workflow-stages.d.ts +6 -0
- package/dist/scripts/test-workflow-stages.d.ts.map +1 -0
- package/dist/scripts/test-workflow-stages.js +43 -0
- package/dist/scripts/test-workflow-stages.js.map +1 -0
- package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/aidlc-parser.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/aidlc-parser.test.js +315 -0
- package/dist/scripts/utils/__tests__/aidlc-parser.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/business-days.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/business-days.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/business-days.test.js +171 -0
- package/dist/scripts/utils/__tests__/business-days.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/config-loader.test.js +1 -1
- package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -1
- package/dist/scripts/utils/__tests__/config-validator.test.js +164 -35
- package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
- package/dist/scripts/utils/__tests__/env-config.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/env-config.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/env-config.test.js +218 -0
- package/dist/scripts/utils/__tests__/env-config.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js +202 -0
- package/dist/scripts/utils/__tests__/jira-issue-type-fetcher.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/tasks-converter.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/tasks-converter.test.js +500 -0
- package/dist/scripts/utils/__tests__/tasks-converter.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/tasks-format-validator.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/tasks-format-validator.test.js +314 -0
- package/dist/scripts/utils/__tests__/tasks-format-validator.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/test-runner.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/test-runner.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/test-runner.test.js +64 -0
- package/dist/scripts/utils/__tests__/test-runner.test.js.map +1 -0
- package/dist/scripts/utils/aidlc-parser.d.ts +86 -0
- package/dist/scripts/utils/aidlc-parser.d.ts.map +1 -0
- package/dist/scripts/utils/aidlc-parser.js +208 -0
- package/dist/scripts/utils/aidlc-parser.js.map +1 -0
- package/dist/scripts/utils/business-days.d.ts +52 -0
- package/dist/scripts/utils/business-days.d.ts.map +1 -0
- package/dist/scripts/utils/business-days.js +98 -0
- package/dist/scripts/utils/business-days.js.map +1 -0
- package/dist/scripts/utils/ci-generator.d.ts +14 -0
- package/dist/scripts/utils/ci-generator.d.ts.map +1 -0
- package/dist/scripts/utils/ci-generator.js +61 -0
- package/dist/scripts/utils/ci-generator.js.map +1 -0
- package/dist/scripts/utils/config-loader.js +2 -2
- package/dist/scripts/utils/config-loader.js.map +1 -1
- package/dist/scripts/utils/config-validator.d.ts +7 -1
- package/dist/scripts/utils/config-validator.d.ts.map +1 -1
- package/dist/scripts/utils/config-validator.js +136 -23
- package/dist/scripts/utils/config-validator.js.map +1 -1
- package/dist/scripts/utils/confluence-approval.d.ts +46 -0
- package/dist/scripts/utils/confluence-approval.d.ts.map +1 -0
- package/dist/scripts/utils/confluence-approval.js +118 -0
- package/dist/scripts/utils/confluence-approval.js.map +1 -0
- package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
- package/dist/scripts/utils/confluence-hierarchy.js +1 -1
- package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
- package/dist/scripts/utils/docker-generator.d.ts +9 -0
- package/dist/scripts/utils/docker-generator.d.ts.map +1 -0
- package/dist/scripts/utils/docker-generator.js +132 -0
- package/dist/scripts/utils/docker-generator.js.map +1 -0
- package/dist/scripts/utils/docker-requirement-detector.d.ts +15 -0
- package/dist/scripts/utils/docker-requirement-detector.d.ts.map +1 -0
- package/dist/scripts/utils/docker-requirement-detector.js +124 -0
- package/dist/scripts/utils/docker-requirement-detector.js.map +1 -0
- package/dist/scripts/utils/env-config.d.ts +54 -0
- package/dist/scripts/utils/env-config.d.ts.map +1 -0
- package/dist/scripts/utils/env-config.js +414 -0
- package/dist/scripts/utils/env-config.js.map +1 -0
- package/dist/scripts/utils/jira-issue-type-fetcher.d.ts +70 -0
- package/dist/scripts/utils/jira-issue-type-fetcher.d.ts.map +1 -0
- package/dist/scripts/utils/jira-issue-type-fetcher.js +147 -0
- package/dist/scripts/utils/jira-issue-type-fetcher.js.map +1 -0
- package/dist/scripts/utils/language-detector.d.ts +14 -0
- package/dist/scripts/utils/language-detector.d.ts.map +1 -0
- package/dist/scripts/utils/language-detector.js +119 -0
- package/dist/scripts/utils/language-detector.js.map +1 -0
- package/dist/scripts/utils/markdown-parser.d.ts +55 -0
- package/dist/scripts/utils/markdown-parser.d.ts.map +1 -0
- package/dist/scripts/utils/markdown-parser.js +289 -0
- package/dist/scripts/utils/markdown-parser.js.map +1 -0
- package/dist/scripts/utils/project-detector.d.ts +17 -0
- package/dist/scripts/utils/project-detector.d.ts.map +1 -0
- package/dist/scripts/utils/project-detector.js +166 -0
- package/dist/scripts/utils/project-detector.js.map +1 -0
- package/dist/scripts/utils/project-finder.js +2 -2
- package/dist/scripts/utils/project-finder.js.map +1 -1
- package/dist/scripts/utils/release-notes-generator.d.ts +56 -0
- package/dist/scripts/utils/release-notes-generator.d.ts.map +1 -0
- package/dist/scripts/utils/release-notes-generator.js +162 -0
- package/dist/scripts/utils/release-notes-generator.js.map +1 -0
- package/dist/scripts/utils/spec-loader.d.ts +79 -0
- package/dist/scripts/utils/spec-loader.d.ts.map +1 -0
- package/dist/scripts/utils/spec-loader.js +80 -0
- package/dist/scripts/utils/spec-loader.js.map +1 -0
- package/dist/scripts/utils/spec-updater.d.ts +7 -0
- package/dist/scripts/utils/spec-updater.d.ts.map +1 -1
- package/dist/scripts/utils/spec-updater.js.map +1 -1
- package/dist/scripts/utils/tasks-converter.d.ts +57 -0
- package/dist/scripts/utils/tasks-converter.d.ts.map +1 -0
- package/dist/scripts/utils/tasks-converter.js +322 -0
- package/dist/scripts/utils/tasks-converter.js.map +1 -0
- package/dist/scripts/utils/tasks-format-validator.d.ts +36 -0
- package/dist/scripts/utils/tasks-format-validator.d.ts.map +1 -0
- package/dist/scripts/utils/tasks-format-validator.js +158 -0
- package/dist/scripts/utils/tasks-format-validator.js.map +1 -0
- package/dist/scripts/utils/template-applier.d.ts +37 -0
- package/dist/scripts/utils/template-applier.d.ts.map +1 -0
- package/dist/scripts/utils/template-applier.js +129 -0
- package/dist/scripts/utils/template-applier.js.map +1 -0
- package/dist/scripts/utils/test-config-generator.d.ts +12 -0
- package/dist/scripts/utils/test-config-generator.d.ts.map +1 -0
- package/dist/scripts/utils/test-config-generator.js +185 -0
- package/dist/scripts/utils/test-config-generator.js.map +1 -0
- package/dist/scripts/utils/test-runner.d.ts +31 -0
- package/dist/scripts/utils/test-runner.d.ts.map +1 -0
- package/dist/scripts/utils/test-runner.js +103 -0
- package/dist/scripts/utils/test-runner.js.map +1 -0
- package/dist/scripts/validate-phase.d.ts +1 -1
- package/dist/scripts/validate-phase.d.ts.map +1 -1
- package/dist/scripts/validate-phase.js +153 -5
- package/dist/scripts/validate-phase.js.map +1 -1
- package/dist/scripts/workflow-orchestrator.d.ts +8 -0
- package/dist/scripts/workflow-orchestrator.d.ts.map +1 -1
- package/dist/scripts/workflow-orchestrator.js +108 -7
- package/dist/scripts/workflow-orchestrator.js.map +1 -1
- package/dist/src/__tests__/integration/internationalization.test.d.ts +8 -0
- package/dist/src/__tests__/integration/internationalization.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/internationalization.test.js +333 -0
- package/dist/src/__tests__/integration/internationalization.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +1 -1
- package/dist/src/__tests__/integration/setup/claude-agent.test.js +17 -20
- package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +1 -1
- package/dist/src/__tests__/integration/setup/cursor.test.js +23 -19
- package/dist/src/__tests__/integration/setup/cursor.test.js.map +1 -1
- package/dist/src/__tests__/integration/setup/validation.test.js +41 -58
- package/dist/src/__tests__/integration/setup/validation.test.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +208 -18
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/setup-existing.d.ts +3 -0
- package/dist/src/commands/setup-existing.d.ts.map +1 -1
- package/dist/src/commands/setup-existing.js +334 -47
- package/dist/src/commands/setup-existing.js.map +1 -1
- package/docs/README.md +3 -1
- package/docs/context.md +59 -0
- package/docs/design-issue-55.md +240 -0
- package/docs/design-issue-56.md +181 -0
- package/docs/michi-development/testing/manual-verification-flow.md +2242 -0
- package/docs/michi-development/testing/pre-publish-checklist.md +560 -0
- package/docs/plan.md +275 -0
- package/docs/user-guide/getting-started/github-token-setup.md +509 -0
- package/docs/{getting-started → user-guide/getting-started}/quick-start.md +16 -0
- package/docs/{getting-started → user-guide/getting-started}/setup.md +28 -1
- package/docs/user-guide/guides/internationalization.md +540 -0
- package/docs/{guides → user-guide/guides}/multi-project.md +1 -1
- package/docs/{guides → user-guide/guides}/phase-automation.md +67 -9
- package/docs/user-guide/guides/workflow.md +582 -0
- package/docs/user-guide/hands-on/README.md +142 -0
- package/docs/user-guide/hands-on/claude-agent-setup.md +455 -0
- package/docs/user-guide/hands-on/claude-setup.md +398 -0
- package/docs/user-guide/hands-on/cursor-setup.md +352 -0
- package/docs/user-guide/hands-on/troubleshooting.md +964 -0
- package/docs/user-guide/hands-on/verification-checklist.md +438 -0
- package/docs/user-guide/hands-on/workflow-walkthrough.md +906 -0
- package/docs/user-guide/reference/config.md +564 -0
- package/docs/{reference → user-guide/reference}/quick-reference.md +53 -40
- package/docs/user-guide/release/ci-setup.md +541 -0
- package/docs/user-guide/release/release-flow.md +476 -0
- package/docs/user-guide/templates/test-specs/README.md +173 -0
- package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +547 -0
- package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +435 -0
- package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +454 -0
- package/docs/user-guide/templates/test-specs/security-test-spec-template.md +664 -0
- package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +328 -0
- package/docs/{testing → user-guide/testing}/integration-tests.md +24 -9
- package/docs/user-guide/testing/tdd-cycle.md +349 -0
- package/docs/user-guide/testing/test-execution-flow.md +396 -0
- package/docs/user-guide/testing/test-failure-handling.md +521 -0
- package/docs/user-guide/testing/test-planning-flow.md +181 -0
- package/docs/user-guide/testing-strategy.md +185 -0
- package/docs/verification-guide.md +518 -0
- package/package.json +7 -2
- package/scripts/__tests__/create-project.test.ts +67 -49
- package/scripts/__tests__/jira-transitions.test.ts +225 -0
- package/scripts/__tests__/multi-project-estimate.test.ts +36 -30
- package/scripts/__tests__/setup-existing-project.test.ts +98 -1
- package/scripts/__tests__/setup-interactive.test.ts +52 -46
- package/scripts/__tests__/spec-impl-workflow.test.ts +429 -0
- package/scripts/__tests__/spec-loader.test.ts +199 -0
- package/scripts/__tests__/validate-phase.test.ts +78 -54
- package/scripts/config/config-schema.ts +89 -50
- package/scripts/config-interactive.ts +191 -136
- package/scripts/confluence-sync.ts +0 -12
- package/scripts/constants/__tests__/environments.test.ts +42 -6
- package/scripts/constants/environments.ts +33 -13
- package/scripts/constants/test-commands.ts +96 -0
- package/scripts/jira-sync.ts +767 -232
- package/scripts/markdown-to-confluence.ts +1 -1
- package/scripts/phase-runner.ts +1056 -63
- package/scripts/pr-automation.ts +0 -1
- package/scripts/pre-flight-check.ts +1 -1
- package/scripts/pre-publish-check.sh +311 -0
- package/scripts/quick-verify.sh +115 -0
- package/scripts/setup-existing-project.ts +201 -117
- package/scripts/setup-interactive.ts +4 -4
- package/scripts/spec-impl-workflow.ts +505 -0
- package/scripts/template/__tests__/renderer.test.ts +1 -2
- package/scripts/test-execution-generator.ts +695 -0
- package/scripts/test-interactive.ts +779 -0
- package/scripts/test-new-features.ts +168 -0
- package/scripts/test-npm-package.sh +345 -0
- package/scripts/test-spec-generator.ts +574 -0
- package/scripts/test-workflow-stages.ts +53 -0
- package/scripts/utils/__tests__/aidlc-parser.test.ts +349 -0
- package/scripts/utils/__tests__/business-days.test.ts +214 -0
- package/scripts/utils/__tests__/config-loader.test.ts +1 -1
- package/scripts/utils/__tests__/config-validator.test.ts +309 -88
- package/scripts/utils/__tests__/env-config.test.ts +259 -0
- package/scripts/utils/__tests__/jira-issue-type-fetcher.test.ts +272 -0
- package/scripts/utils/__tests__/tasks-converter.test.ts +582 -0
- package/scripts/utils/__tests__/tasks-format-validator.test.ts +338 -0
- package/scripts/utils/__tests__/test-runner.test.ts +77 -0
- package/scripts/utils/aidlc-parser.ts +289 -0
- package/scripts/utils/business-days.ts +115 -0
- package/scripts/utils/ci-generator.ts +84 -0
- package/scripts/utils/config-loader.ts +2 -2
- package/scripts/utils/config-validator.ts +304 -117
- package/scripts/utils/confluence-approval.ts +167 -0
- package/scripts/utils/confluence-hierarchy.ts +2 -4
- package/scripts/utils/docker-generator.ts +151 -0
- package/scripts/utils/docker-requirement-detector.ts +153 -0
- package/scripts/utils/env-config.ts +526 -0
- package/scripts/utils/jira-issue-type-fetcher.ts +199 -0
- package/scripts/utils/language-detector.ts +139 -0
- package/scripts/utils/markdown-parser.ts +376 -0
- package/scripts/utils/project-detector.ts +192 -0
- package/scripts/utils/project-finder.ts +2 -2
- package/scripts/utils/release-notes-generator.ts +210 -0
- package/scripts/utils/spec-loader.ts +125 -0
- package/scripts/utils/spec-updater.ts +8 -1
- package/scripts/utils/tasks-converter.ts +601 -0
- package/scripts/utils/tasks-format-validator.ts +193 -0
- package/scripts/utils/template-applier.ts +202 -0
- package/scripts/utils/test-config-generator.ts +210 -0
- package/scripts/utils/test-runner.ts +133 -0
- package/scripts/validate-phase.ts +186 -9
- package/scripts/workflow-orchestrator.ts +130 -12
- package/templates/ci/github-actions/java.yml +54 -0
- package/templates/ci/github-actions/nodejs.yml +46 -0
- package/templates/ci/github-actions/php.yml +52 -0
- package/templates/ci/screwdriver/java.yaml +17 -0
- package/templates/ci/screwdriver/nodejs.yaml +17 -0
- package/templates/ci/screwdriver/php.yaml +20 -0
- package/templates/claude/commands/kiro/kiro-spec-impl.md +244 -0
- package/templates/claude/commands/kiro/kiro-spec-tasks.md +354 -0
- package/templates/claude-agent/README.md +7 -1
- package/templates/claude-agent/agents/.gitkeep +0 -0
- package/templates/claude-agent/agents/designer.md +79 -0
- package/templates/claude-agent/agents/developer.md +68 -0
- package/templates/claude-agent/agents/manager-agent.md +59 -0
- package/templates/claude-agent/agents/tester.md +101 -0
- package/templates/claude-agent/commands/kiro/.gitkeep +0 -0
- package/templates/claude-agent/commands/kiro/kiro-spec-impl.md +244 -0
- package/templates/claude-agent/commands/kiro/kiro-spec-tasks.md +354 -0
- package/templates/cline/rules/atlassian-integration.md +36 -0
- package/templates/cline/rules/michi-core.md +56 -0
- package/templates/codex/AGENTS.override.md +277 -0
- package/templates/codex/prompts/confluence-sync.md +177 -0
- package/templates/codex/rules/README.md +210 -0
- package/templates/common/.kiro/project.json.template +21 -0
- package/templates/cursor/commands/kiro/kiro-spec-impl.md +244 -0
- package/templates/cursor/commands/kiro/kiro-spec-tasks.md +354 -0
- package/templates/gemini/commands/README.md +41 -0
- package/templates/gemini/rules/GEMINI.md +80 -0
- package/docs/guides/workflow.md +0 -342
- package/docs/reference/config.md +0 -545
- package/scripts/setup-existing.sh +0 -279
- /package/docs/{contributing → michi-development/contributing}/development.md +0 -0
- /package/docs/{contributing → michi-development/contributing}/release.md +0 -0
- /package/docs/{testing-strategy.md → michi-development/testing-strategy.md} +0 -0
- /package/docs/{getting-started → user-guide/getting-started}/new-repository-setup.md +0 -0
- /package/docs/{guides → user-guide/guides}/customization.md +0 -0
- /package/docs/{reference → user-guide/reference}/tasks-template.md +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: designer
|
|
3
|
+
description: When creating design documents, architecture decisions, or API specifications
|
|
4
|
+
tools: Read, Write, Glob, Grep
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Designer Agent
|
|
9
|
+
|
|
10
|
+
## Language
|
|
11
|
+
|
|
12
|
+
All output should be in: **{{LANG_CODE}}**
|
|
13
|
+
|
|
14
|
+
## Role
|
|
15
|
+
|
|
16
|
+
System design and architecture documentation.
|
|
17
|
+
|
|
18
|
+
## Responsibilities
|
|
19
|
+
|
|
20
|
+
- Requirements document creation
|
|
21
|
+
- Design document creation
|
|
22
|
+
- Architecture decisions
|
|
23
|
+
- API specification (OpenAPI)
|
|
24
|
+
- Data model design
|
|
25
|
+
- Sequence diagrams and flowcharts
|
|
26
|
+
|
|
27
|
+
## Design Artifacts
|
|
28
|
+
|
|
29
|
+
### Requirements Document
|
|
30
|
+
|
|
31
|
+
- Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/requirements.md
|
|
32
|
+
- Content: Functional and non-functional requirements
|
|
33
|
+
- Format: Structured markdown with acceptance criteria
|
|
34
|
+
|
|
35
|
+
### Design Document
|
|
36
|
+
|
|
37
|
+
- Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/design.md
|
|
38
|
+
- Content: Architecture, interfaces, data models
|
|
39
|
+
- Include: Error handling strategy, security considerations
|
|
40
|
+
|
|
41
|
+
## Design Principles
|
|
42
|
+
|
|
43
|
+
- Keep it simple (KISS)
|
|
44
|
+
- Design for testability
|
|
45
|
+
- Consider security from the start
|
|
46
|
+
- Document trade-offs and decisions
|
|
47
|
+
|
|
48
|
+
## Workflow
|
|
49
|
+
|
|
50
|
+
### 1. Requirements Analysis
|
|
51
|
+
|
|
52
|
+
- Gather requirements from manager-agent
|
|
53
|
+
- Clarify ambiguities with stakeholders
|
|
54
|
+
- Define acceptance criteria
|
|
55
|
+
|
|
56
|
+
### 2. Architecture Design
|
|
57
|
+
|
|
58
|
+
- Define system components
|
|
59
|
+
- Design interfaces between components
|
|
60
|
+
- Create data models
|
|
61
|
+
|
|
62
|
+
### 3. Documentation
|
|
63
|
+
|
|
64
|
+
- Write requirements.md
|
|
65
|
+
- Write design.md
|
|
66
|
+
- Create API specifications if applicable
|
|
67
|
+
|
|
68
|
+
## Project Context
|
|
69
|
+
|
|
70
|
+
- Project ID: {{PROJECT_ID}}
|
|
71
|
+
- Kiro directory: {{KIRO_DIR}}
|
|
72
|
+
- Agent directory: {{AGENT_DIR}}
|
|
73
|
+
- Feature name: {{FEATURE_NAME}}
|
|
74
|
+
|
|
75
|
+
## Constraints
|
|
76
|
+
|
|
77
|
+
- Do not implement code (delegate to developer)
|
|
78
|
+
- All designs must be documented in {{KIRO_DIR}}/specs/
|
|
79
|
+
- Consider existing architecture patterns in the codebase
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: developer
|
|
3
|
+
description: When implementing code, running tests, or creating pull requests
|
|
4
|
+
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Developer Agent
|
|
9
|
+
|
|
10
|
+
## Language
|
|
11
|
+
|
|
12
|
+
All output should be in: **{{LANG_CODE}}**
|
|
13
|
+
|
|
14
|
+
## Development Guidelines
|
|
15
|
+
|
|
16
|
+
{{DEV_GUIDELINES}}
|
|
17
|
+
|
|
18
|
+
## Role
|
|
19
|
+
|
|
20
|
+
Code implementation following TDD principles.
|
|
21
|
+
|
|
22
|
+
## Responsibilities
|
|
23
|
+
|
|
24
|
+
- Feature implementation based on design documents
|
|
25
|
+
- Test-Driven Development (TDD) cycle execution
|
|
26
|
+
- Code quality maintenance
|
|
27
|
+
- Pull request creation and self-review
|
|
28
|
+
|
|
29
|
+
## TDD Workflow
|
|
30
|
+
|
|
31
|
+
### 1. Red Phase
|
|
32
|
+
|
|
33
|
+
- Read design document at {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/design.md
|
|
34
|
+
- Write failing tests first
|
|
35
|
+
- Define expected behavior through tests
|
|
36
|
+
|
|
37
|
+
### 2. Green Phase
|
|
38
|
+
|
|
39
|
+
- Implement minimum code to pass tests
|
|
40
|
+
- Focus on functionality, not perfection
|
|
41
|
+
- Run tests frequently
|
|
42
|
+
|
|
43
|
+
### 3. Refactor Phase
|
|
44
|
+
|
|
45
|
+
- Clean up code while keeping tests green
|
|
46
|
+
- Apply DRY principle
|
|
47
|
+
- Improve code readability
|
|
48
|
+
|
|
49
|
+
## Development Principles
|
|
50
|
+
|
|
51
|
+
- DRY (Don't Repeat Yourself)
|
|
52
|
+
- Single Responsibility Principle
|
|
53
|
+
- Target 95%+ test coverage
|
|
54
|
+
- Follow secure coding best practices
|
|
55
|
+
|
|
56
|
+
## Project Context
|
|
57
|
+
|
|
58
|
+
- Project ID: {{PROJECT_ID}}
|
|
59
|
+
- Kiro directory: {{KIRO_DIR}}
|
|
60
|
+
- Agent directory: {{AGENT_DIR}}
|
|
61
|
+
- Feature name: {{FEATURE_NAME}}
|
|
62
|
+
|
|
63
|
+
## Constraints
|
|
64
|
+
|
|
65
|
+
- Never skip writing tests
|
|
66
|
+
- Always run tests before committing
|
|
67
|
+
- Follow the design document specifications
|
|
68
|
+
- Do not modify design decisions without approval
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: manager-agent
|
|
3
|
+
description: When managing project workflow, task assignment, or progress tracking
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Manager Agent
|
|
9
|
+
|
|
10
|
+
## Language
|
|
11
|
+
|
|
12
|
+
All output should be in: **{{LANG_CODE}}**
|
|
13
|
+
|
|
14
|
+
## Role
|
|
15
|
+
|
|
16
|
+
Project orchestration and workflow management.
|
|
17
|
+
|
|
18
|
+
## Responsibilities
|
|
19
|
+
|
|
20
|
+
- Requirements gathering and task breakdown
|
|
21
|
+
- Task prioritization and assignment to other agents
|
|
22
|
+
- Progress tracking and status reporting
|
|
23
|
+
- Coordination between agents (developer, designer, tester)
|
|
24
|
+
- Spec initialization and management
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### 1. Project Initialization
|
|
29
|
+
|
|
30
|
+
- Initialize spec structure at {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/
|
|
31
|
+
- Create spec.json with project metadata
|
|
32
|
+
- Reference {{KIRO_DIR}}/project.json for project context
|
|
33
|
+
|
|
34
|
+
### 2. Task Management
|
|
35
|
+
|
|
36
|
+
- Break down requirements into actionable tasks
|
|
37
|
+
- Assign tasks to appropriate agents:
|
|
38
|
+
- Design tasks -> designer agent
|
|
39
|
+
- Implementation tasks -> developer agent
|
|
40
|
+
- Testing tasks -> tester agent
|
|
41
|
+
- Track completion status
|
|
42
|
+
|
|
43
|
+
### 3. Integration
|
|
44
|
+
|
|
45
|
+
- Coordinate with JIRA for ticket creation
|
|
46
|
+
- Sync specifications with Confluence
|
|
47
|
+
- Ensure consistency across all artifacts
|
|
48
|
+
|
|
49
|
+
## Project Context
|
|
50
|
+
|
|
51
|
+
- Project ID: {{PROJECT_ID}}
|
|
52
|
+
- Kiro directory: {{KIRO_DIR}}
|
|
53
|
+
- Agent directory: {{AGENT_DIR}}
|
|
54
|
+
|
|
55
|
+
## Constraints
|
|
56
|
+
|
|
57
|
+
- Do not implement code directly (delegate to developer)
|
|
58
|
+
- Do not create design documents directly (delegate to designer)
|
|
59
|
+
- Focus on coordination and tracking
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tester
|
|
3
|
+
description: When designing tests, running test suites, or performing quality assurance
|
|
4
|
+
tools: Read, Write, Edit, Bash, Glob, Grep
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Tester Agent
|
|
9
|
+
|
|
10
|
+
## Language
|
|
11
|
+
|
|
12
|
+
All output should be in: **{{LANG_CODE}}**
|
|
13
|
+
|
|
14
|
+
## Role
|
|
15
|
+
|
|
16
|
+
Test design, execution, and quality assurance.
|
|
17
|
+
|
|
18
|
+
## Responsibilities
|
|
19
|
+
|
|
20
|
+
- Test strategy definition
|
|
21
|
+
- Test case design
|
|
22
|
+
- Test execution and result analysis
|
|
23
|
+
- Coverage report generation
|
|
24
|
+
- Quality gate enforcement
|
|
25
|
+
|
|
26
|
+
## Testing Phases
|
|
27
|
+
|
|
28
|
+
### Phase A (Pre-PR)
|
|
29
|
+
|
|
30
|
+
Automated tests run before pull request:
|
|
31
|
+
|
|
32
|
+
- Unit tests
|
|
33
|
+
- Lint checks
|
|
34
|
+
- Build verification
|
|
35
|
+
|
|
36
|
+
### Phase B (Pre-Release)
|
|
37
|
+
|
|
38
|
+
Manual/automated tests before release:
|
|
39
|
+
|
|
40
|
+
- Integration tests
|
|
41
|
+
- End-to-end tests
|
|
42
|
+
- Performance tests
|
|
43
|
+
- Security tests
|
|
44
|
+
|
|
45
|
+
## Test Artifacts
|
|
46
|
+
|
|
47
|
+
### Test Specifications
|
|
48
|
+
|
|
49
|
+
- Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/test-specs/
|
|
50
|
+
- Content: Test cases, scenarios, expected results
|
|
51
|
+
|
|
52
|
+
### Test Execution
|
|
53
|
+
|
|
54
|
+
- Location: {{KIRO_DIR}}/specs/{{FEATURE_NAME}}/test-execution/
|
|
55
|
+
- Content: Test scripts, configuration files
|
|
56
|
+
|
|
57
|
+
## Quality Standards
|
|
58
|
+
|
|
59
|
+
- Code coverage target: 95%+
|
|
60
|
+
- All critical paths must have tests
|
|
61
|
+
- Security vulnerabilities must be addressed
|
|
62
|
+
- Performance benchmarks must be met
|
|
63
|
+
|
|
64
|
+
## Workflow
|
|
65
|
+
|
|
66
|
+
### 1. Test Planning
|
|
67
|
+
|
|
68
|
+
- Review requirements and design documents
|
|
69
|
+
- Identify test scenarios
|
|
70
|
+
- Define acceptance criteria
|
|
71
|
+
|
|
72
|
+
### 2. Test Design
|
|
73
|
+
|
|
74
|
+
- Create test cases
|
|
75
|
+
- Design test data
|
|
76
|
+
- Set up test environment
|
|
77
|
+
|
|
78
|
+
### 3. Test Execution
|
|
79
|
+
|
|
80
|
+
- Run automated tests
|
|
81
|
+
- Execute manual tests if required
|
|
82
|
+
- Document results
|
|
83
|
+
|
|
84
|
+
### 4. Quality Reporting
|
|
85
|
+
|
|
86
|
+
- Generate coverage reports
|
|
87
|
+
- Report defects found
|
|
88
|
+
- Provide quality metrics
|
|
89
|
+
|
|
90
|
+
## Project Context
|
|
91
|
+
|
|
92
|
+
- Project ID: {{PROJECT_ID}}
|
|
93
|
+
- Kiro directory: {{KIRO_DIR}}
|
|
94
|
+
- Agent directory: {{AGENT_DIR}}
|
|
95
|
+
- Feature name: {{FEATURE_NAME}}
|
|
96
|
+
|
|
97
|
+
## Constraints
|
|
98
|
+
|
|
99
|
+
- Do not approve code that fails tests
|
|
100
|
+
- All tests must be reproducible
|
|
101
|
+
- Test documentation must be maintained
|
|
File without changes
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# kiro:spec-impl - Spec Implementation Command
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This command implements the specifications defined in `tasks.md` following TDD (Test-Driven Development) practices with automatic JIRA integration.
|
|
6
|
+
|
|
7
|
+
**Key Features:**
|
|
8
|
+
|
|
9
|
+
- Automatic JIRA info detection from `spec.json`
|
|
10
|
+
- Updates both Epic AND first Story status
|
|
11
|
+
- Creates PR and adds JIRA comments automatically
|
|
12
|
+
|
|
13
|
+
## Arguments
|
|
14
|
+
|
|
15
|
+
- `$ARGUMENTS`: Feature name (e.g., "user-auth")
|
|
16
|
+
|
|
17
|
+
**Note:** JIRA ticket keys are automatically detected from `.kiro/specs/{feature}/spec.json`. No need to specify them manually.
|
|
18
|
+
|
|
19
|
+
## Pre-requisites
|
|
20
|
+
|
|
21
|
+
1. `.kiro/specs/{feature}/tasks.md` must exist
|
|
22
|
+
2. `.kiro/specs/{feature}/spec.json` must contain JIRA info (run `michi jira:sync` first)
|
|
23
|
+
3. Environment variables must be configured:
|
|
24
|
+
- `ATLASSIAN_URL`: JIRA instance URL
|
|
25
|
+
- `ATLASSIAN_EMAIL`: JIRA user email
|
|
26
|
+
- `ATLASSIAN_API_TOKEN`: JIRA API token
|
|
27
|
+
- `GITHUB_TOKEN`: GitHub API token
|
|
28
|
+
- `GITHUB_REPO`: GitHub repository (owner/repo format)
|
|
29
|
+
|
|
30
|
+
## Execution Flow
|
|
31
|
+
|
|
32
|
+
### 1. Parse Arguments
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Input: $ARGUMENTS
|
|
36
|
+
Expected format: "<feature-name>"
|
|
37
|
+
Example: "user-auth"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Extract:
|
|
41
|
+
|
|
42
|
+
- `FEATURE_NAME`: Feature name from arguments
|
|
43
|
+
|
|
44
|
+
### 2. JIRA Info Detection (Automatic)
|
|
45
|
+
|
|
46
|
+
Read JIRA information from `.kiro/specs/$FEATURE_NAME/spec.json`:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"jira": {
|
|
51
|
+
"epicKey": "PROJ-123",
|
|
52
|
+
"storyKeys": ["PROJ-124", "PROJ-125"],
|
|
53
|
+
"epicUrl": "https://..."
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**If JIRA info is missing:**
|
|
59
|
+
|
|
60
|
+
- Ask user: "JIRA info not found. Skip JIRA integration? (y/n)"
|
|
61
|
+
- If yes: Continue without JIRA integration
|
|
62
|
+
- If no: Stop and suggest running `michi jira:sync $FEATURE_NAME` first
|
|
63
|
+
|
|
64
|
+
### 3. Start Processing (JIRA Status Update)
|
|
65
|
+
|
|
66
|
+
**Automatically move Epic AND first Story to "In Progress":**
|
|
67
|
+
|
|
68
|
+
This is handled internally. The workflow will:
|
|
69
|
+
|
|
70
|
+
1. Transition Epic to "In Progress"
|
|
71
|
+
2. Transition first Story to "In Progress"
|
|
72
|
+
|
|
73
|
+
### 4. Implementation Phase (TDD)
|
|
74
|
+
|
|
75
|
+
Read the tasks from `.kiro/specs/$FEATURE_NAME/tasks.md` and implement each Story following TDD:
|
|
76
|
+
|
|
77
|
+
For each Story in tasks.md:
|
|
78
|
+
|
|
79
|
+
1. **Read Story Requirements**
|
|
80
|
+
- Parse the Story section from tasks.md
|
|
81
|
+
- Identify acceptance criteria and subtasks
|
|
82
|
+
|
|
83
|
+
2. **Write Tests First (Red)**
|
|
84
|
+
- Create test files based on acceptance criteria
|
|
85
|
+
- Run tests to verify they fail
|
|
86
|
+
|
|
87
|
+
3. **Implement Code (Green)**
|
|
88
|
+
- Write minimal code to pass tests
|
|
89
|
+
- Follow the existing code patterns in the project
|
|
90
|
+
|
|
91
|
+
4. **Refactor (Blue)**
|
|
92
|
+
- Clean up code while keeping tests green
|
|
93
|
+
- Apply project coding standards
|
|
94
|
+
|
|
95
|
+
5. **Commit Changes**
|
|
96
|
+
- Create atomic commits for each Story
|
|
97
|
+
- Use conventional commit format: `feat($FEATURE_NAME): Story title`
|
|
98
|
+
|
|
99
|
+
### 5. Code Review Phase (Automatic)
|
|
100
|
+
|
|
101
|
+
**Automatically review the implemented code:**
|
|
102
|
+
|
|
103
|
+
For each Story implementation:
|
|
104
|
+
|
|
105
|
+
1. **Code Review (/review)**
|
|
106
|
+
- Execute `/review` command automatically
|
|
107
|
+
- Analyze the implementation for code quality issues
|
|
108
|
+
- Check for best practices and potential bugs
|
|
109
|
+
|
|
110
|
+
2. **Fix Issues if Found**
|
|
111
|
+
- If review identifies issues, automatically fix them
|
|
112
|
+
- Commit the fixes
|
|
113
|
+
- Re-run `/review` to verify fixes
|
|
114
|
+
- Repeat until `/review` passes without critical issues
|
|
115
|
+
|
|
116
|
+
3. **Security Review (/security-review)**
|
|
117
|
+
- Execute `/security-review` command automatically
|
|
118
|
+
- Scan for security vulnerabilities
|
|
119
|
+
- Check for common security issues (SQL injection, XSS, etc.)
|
|
120
|
+
|
|
121
|
+
4. **Fix Security Issues if Found**
|
|
122
|
+
- If security issues are identified, automatically fix them
|
|
123
|
+
- Commit the security fixes
|
|
124
|
+
- Re-run `/security-review` to verify fixes
|
|
125
|
+
- Repeat until `/security-review` passes without critical issues
|
|
126
|
+
|
|
127
|
+
**Review Loop:**
|
|
128
|
+
- Maximum iterations: 3 per review type
|
|
129
|
+
- If issues persist after 3 iterations, report to user and ask for manual intervention
|
|
130
|
+
|
|
131
|
+
### 6. PR Creation Confirmation
|
|
132
|
+
|
|
133
|
+
**Ask user before creating PR:**
|
|
134
|
+
|
|
135
|
+
After all reviews pass successfully, ask the user:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
✅ All reviews completed successfully!
|
|
139
|
+
- Code Review: PASSED
|
|
140
|
+
- Security Review: PASSED
|
|
141
|
+
|
|
142
|
+
Would you like to create a Pull Request now? (y/n)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
- **If yes**: Proceed to End Processing (Step 7)
|
|
146
|
+
- **If no**: Stop workflow, save current state
|
|
147
|
+
- User can manually create PR later using:
|
|
148
|
+
- `jj git push --bookmark <branch-name>`
|
|
149
|
+
- `gh pr create --head <branch-name> --base main`
|
|
150
|
+
|
|
151
|
+
### 7. End Processing (PR Creation & JIRA Update)
|
|
152
|
+
|
|
153
|
+
**Automatically complete the workflow:**
|
|
154
|
+
|
|
155
|
+
This is handled internally. The workflow will:
|
|
156
|
+
|
|
157
|
+
1. Push the branch to remote
|
|
158
|
+
2. Create a Pull Request on GitHub
|
|
159
|
+
3. Move Epic AND first Story to "Ready for Review"
|
|
160
|
+
4. Add PR link as a comment on the Epic
|
|
161
|
+
|
|
162
|
+
## Usage Examples
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
/kiro:spec-impl user-auth
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
/kiro:spec-impl payment-gateway
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Workflow Comparison
|
|
173
|
+
|
|
174
|
+
### Before (3 steps with manual JIRA keys)
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
michi spec-impl:start user-auth PROJ-123
|
|
178
|
+
/kiro:spec-impl user-auth PROJ-123
|
|
179
|
+
michi spec-impl:complete user-auth PROJ-123
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### After (1 command with auto-detection)
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
/kiro:spec-impl user-auth
|
|
186
|
+
# JIRA info auto-detected from spec.json
|
|
187
|
+
# Epic + first Story -> "In Progress"
|
|
188
|
+
# TDD implementation
|
|
189
|
+
# Automatic code review (/review)
|
|
190
|
+
# - Fix issues if found
|
|
191
|
+
# - Re-review until passed
|
|
192
|
+
# Automatic security review (/security-review)
|
|
193
|
+
# - Fix security issues if found
|
|
194
|
+
# - Re-review until passed
|
|
195
|
+
# Ask user: "Create PR now? (y/n)"
|
|
196
|
+
# - If yes:
|
|
197
|
+
# - PR creation
|
|
198
|
+
# - Epic + first Story -> "Ready for Review"
|
|
199
|
+
# - PR link commented on JIRA
|
|
200
|
+
# - If no:
|
|
201
|
+
# - Save state, exit workflow
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## JIRA Status Mapping
|
|
205
|
+
|
|
206
|
+
Default status names (customizable in `.michi/config.json`):
|
|
207
|
+
|
|
208
|
+
| Phase | Default Status | Targets |
|
|
209
|
+
| ----- | ---------------- | ------------------ |
|
|
210
|
+
| Start | In Progress | Epic + First Story |
|
|
211
|
+
| End | Ready for Review | Epic + First Story |
|
|
212
|
+
|
|
213
|
+
To customize, add to `.michi/config.json`:
|
|
214
|
+
|
|
215
|
+
```json
|
|
216
|
+
{
|
|
217
|
+
"jira": {
|
|
218
|
+
"statusMapping": {
|
|
219
|
+
"inProgress": "In Progress",
|
|
220
|
+
"readyForReview": "Ready for Review"
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Error Handling
|
|
227
|
+
|
|
228
|
+
- **JIRA info not found**: Interactive prompt to skip JIRA integration
|
|
229
|
+
- **JIRA transition fails**: Check available transitions for the current status
|
|
230
|
+
- **Review fails (max iterations exceeded)**: Report issues to user and ask for manual intervention
|
|
231
|
+
- **Security review fails (max iterations exceeded)**: Report vulnerabilities to user and ask for manual intervention
|
|
232
|
+
- **User declines PR creation**: Save current state, workflow stops (user can create PR manually later)
|
|
233
|
+
- **PR creation fails**: Ensure the branch is pushed to remote
|
|
234
|
+
- **JIRA comment fails**: The PR URL is still returned for manual update
|
|
235
|
+
|
|
236
|
+
## Notes
|
|
237
|
+
|
|
238
|
+
- JIRA info is automatically detected from `spec.json` (populated by `michi jira:sync`)
|
|
239
|
+
- Both Epic AND first Story are updated together
|
|
240
|
+
- The branch name defaults to `feature/{feature-name}`
|
|
241
|
+
- Individual JIRA operations can still be done via `michi jira:transition` and `michi jira:comment`
|
|
242
|
+
- Code reviews (`/review` and `/security-review`) are executed automatically after implementation
|
|
243
|
+
- Review loop has a maximum of 3 iterations per review type to prevent infinite loops
|
|
244
|
+
- User can decline PR creation and manually create it later if needed
|