@sk8metal/michi-cli 0.0.8 → 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 +60 -0
- package/README.md +420 -49
- 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 +146 -5
- 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.d.ts +2 -0
- package/dist/scripts/constants/__tests__/environments.test.d.ts.map +1 -0
- package/dist/scripts/constants/__tests__/environments.test.js +125 -0
- package/dist/scripts/constants/__tests__/environments.test.js.map +1 -0
- package/dist/scripts/constants/__tests__/languages.test.d.ts +2 -0
- package/dist/scripts/constants/__tests__/languages.test.d.ts.map +1 -0
- package/dist/scripts/constants/__tests__/languages.test.js +82 -0
- package/dist/scripts/constants/__tests__/languages.test.js.map +1 -0
- package/dist/scripts/constants/environments.d.ts +33 -0
- package/dist/scripts/constants/environments.d.ts.map +1 -0
- package/dist/scripts/constants/environments.js +64 -0
- package/dist/scripts/constants/environments.js.map +1 -0
- package/dist/scripts/constants/languages.d.ts +23 -0
- package/dist/scripts/constants/languages.d.ts.map +1 -0
- package/dist/scripts/constants/languages.js +53 -0
- package/dist/scripts/constants/languages.js.map +1 -0
- 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/create-project.d.ts +4 -0
- package/dist/scripts/create-project.d.ts.map +1 -1
- package/dist/scripts/create-project.js +51 -22
- package/dist/scripts/create-project.js.map +1 -1
- 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.d.ts +3 -1
- package/dist/scripts/setup-existing-project.d.ts.map +1 -1
- package/dist/scripts/setup-existing-project.js +165 -78
- 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.d.ts +2 -0
- package/dist/scripts/template/__tests__/renderer.test.d.ts.map +1 -0
- package/dist/scripts/template/__tests__/renderer.test.js +165 -0
- package/dist/scripts/template/__tests__/renderer.test.js.map +1 -0
- package/dist/scripts/template/renderer.d.ts +70 -0
- package/dist/scripts/template/renderer.d.ts.map +1 -0
- package/dist/scripts/template/renderer.js +99 -0
- package/dist/scripts/template/renderer.js.map +1 -0
- 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/template-finder.d.ts +37 -0
- package/dist/scripts/utils/template-finder.d.ts.map +1 -0
- package/dist/scripts/utils/template-finder.js +63 -0
- package/dist/scripts/utils/template-finder.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 +5 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.js +122 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/claude.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/claude.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/claude.test.js +111 -0
- package/dist/src/__tests__/integration/setup/claude.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/cursor.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/cursor.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/cursor.test.js +166 -0
- package/dist/src/__tests__/integration/setup/cursor.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts +32 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js +72 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts +38 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.js +83 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.js.map +1 -0
- package/dist/src/__tests__/integration/setup/validation.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/validation.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/validation.test.js +301 -0
- package/dist/src/__tests__/integration/setup/validation.test.js.map +1 -0
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +228 -18
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/setup-existing.d.ts +25 -0
- package/dist/src/commands/setup-existing.d.ts.map +1 -0
- package/dist/src/commands/setup-existing.js +695 -0
- package/dist/src/commands/setup-existing.js.map +1 -0
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +4 -3
- package/dist/vitest.config.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}/new-repository-setup.md +108 -28
- package/docs/{getting-started → user-guide/getting-started}/quick-start.md +73 -6
- package/docs/{getting-started → user-guide/getting-started}/setup.md +278 -3
- package/docs/{guides → user-guide/guides}/customization.md +3 -3
- package/docs/user-guide/guides/internationalization.md +540 -0
- package/docs/{guides → user-guide/guides}/multi-project.md +2 -2
- 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 +75 -53
- 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/user-guide/testing/integration-tests.md +312 -0
- 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 +13 -3
- 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 +171 -6
- 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 +146 -0
- package/scripts/constants/__tests__/languages.test.ts +100 -0
- package/scripts/constants/environments.ts +81 -0
- package/scripts/constants/languages.ts +70 -0
- package/scripts/constants/test-commands.ts +96 -0
- package/scripts/create-project.ts +52 -22
- 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 +306 -143
- package/scripts/setup-interactive.ts +4 -4
- package/scripts/spec-impl-workflow.ts +505 -0
- package/scripts/template/__tests__/renderer.test.ts +206 -0
- package/scripts/template/renderer.ts +133 -0
- 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/template-finder.ts +75 -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/commands/michi/confluence-sync.md +38 -0
- package/templates/claude/commands/michi/project-switch.md +36 -0
- package/templates/claude/rules/atlassian-integration.md +35 -0
- package/templates/claude/rules/michi-core.md +54 -0
- package/templates/claude-agent/README.md +31 -0
- 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/cursor/commands/michi/confluence-sync.md +76 -0
- package/templates/cursor/commands/michi/project-switch.md +69 -0
- package/templates/cursor/rules/atlassian-mcp.mdc +188 -0
- package/templates/cursor/rules/github-ssot.mdc +151 -0
- package/templates/cursor/rules/multi-project.mdc +81 -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-env.sh +0 -52
- package/scripts/setup-existing.sh +0 -152
- /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/{reference → user-guide/reference}/tasks-template.md +0 -0
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Michi (道)
|
|
2
|
+
|
|
2
3
|
**M**anaged **I**ntelligent **C**omprehensive **H**ub for **I**ntegration
|
|
3
4
|
|
|
4
5
|
AI駆動開発ワークフロー自動化プラットフォーム
|
|
5
6
|
|
|
6
7
|
[](https://github.com/sk8metalme/michi/actions/workflows/ci.yml)
|
|
8
|
+
[](https://github.com/sk8metalme/michi/actions/workflows/test-setup.yml)
|
|
7
9
|
[](https://github.com/sk8metalme/michi/actions/workflows/security.yml)
|
|
8
10
|
[](https://codecov.io/gh/sk8metalme/michi)
|
|
9
11
|
|
|
@@ -11,10 +13,12 @@ AI駆動開発ワークフロー自動化プラットフォーム
|
|
|
11
13
|
|
|
12
14
|
Michiは、開発フロー全体(要件定義→設計→タスク分割→実装→テスト→リリース)をAIで自動化するプラットフォームです。
|
|
13
15
|
|
|
14
|
-
**Powered by [cc-sdd](https://github.com/gotalab/cc-sdd)**
|
|
16
|
+
**Powered by [cc-sdd](https://github.com/gotalab/cc-sdd)**
|
|
15
17
|
|
|
16
18
|
### 主な機能
|
|
19
|
+
|
|
17
20
|
- ✅ **AI駆動開発**: cc-sdd + Cursor/VS Code統合
|
|
21
|
+
- ✅ **多言語サポート**: 12言語対応(AI駆動、翻訳ファイル不要)
|
|
18
22
|
- ✅ **GitHub SSoT(Single Source Of True)**: GitHubを情報源として管理
|
|
19
23
|
- ✅ **Confluence/JIRA連携**: 承認者向けドキュメント、タスク管理
|
|
20
24
|
- ✅ **マルチプロジェクト対応**: 3-5プロジェクト同時進行
|
|
@@ -30,16 +34,108 @@ Confluence ← ドキュメント管理
|
|
|
30
34
|
JIRA ← タスク管理・進捗追跡
|
|
31
35
|
```
|
|
32
36
|
|
|
37
|
+
## ワークフロー構造の概要
|
|
38
|
+
|
|
39
|
+
### 新ワークフロー構造(推奨)
|
|
40
|
+
|
|
41
|
+
Michiは以下のフェーズで構成されています:
|
|
42
|
+
|
|
43
|
+
**Phase 0.0-0.6: 仕様化フェーズ**
|
|
44
|
+
|
|
45
|
+
- **Phase 0.0**: プロジェクト初期化
|
|
46
|
+
- **Phase 0.1**: 要件定義(Requirements) - 必須
|
|
47
|
+
- **Phase 0.2**: 設計(Design) - 必須
|
|
48
|
+
- **Phase 0.3**: テストタイプ選択(任意)
|
|
49
|
+
- **Phase 0.4**: テスト仕様書作成(任意)
|
|
50
|
+
- **Phase 0.5**: タスク分割 - 必須
|
|
51
|
+
- **Phase 0.6**: JIRA同期 - 必須
|
|
52
|
+
|
|
53
|
+
**Phase 1: 環境構築(任意)**
|
|
54
|
+
|
|
55
|
+
- テスト環境のセットアップ
|
|
56
|
+
- 開発環境の構築
|
|
57
|
+
|
|
58
|
+
**Phase 2: TDD実装(必須)**
|
|
59
|
+
|
|
60
|
+
- テスト駆動開発による実装
|
|
61
|
+
- RED-GREEN-REFACTORサイクル
|
|
62
|
+
|
|
63
|
+
**Phase A: PR前自動テスト(任意)**
|
|
64
|
+
|
|
65
|
+
- 単体テスト自動実行
|
|
66
|
+
- Lint自動実行
|
|
67
|
+
- ビルド自動実行
|
|
68
|
+
|
|
69
|
+
**Phase 3: 追加QA(任意)**
|
|
70
|
+
|
|
71
|
+
- 統合テスト
|
|
72
|
+
- E2Eテスト
|
|
73
|
+
|
|
74
|
+
**Phase B: リリース準備テスト(任意)**
|
|
75
|
+
|
|
76
|
+
- 手動テスト実行
|
|
77
|
+
- セキュリティテスト
|
|
78
|
+
- パフォーマンステスト
|
|
79
|
+
|
|
80
|
+
**Phase 4: リリース準備(必須)**
|
|
81
|
+
|
|
82
|
+
- 本番環境構築
|
|
83
|
+
- リリースドキュメント作成
|
|
84
|
+
|
|
85
|
+
**Phase 5: リリース(必須)**
|
|
86
|
+
|
|
87
|
+
- ステージング環境デプロイ
|
|
88
|
+
- 本番環境リリース
|
|
89
|
+
|
|
90
|
+
### レガシー6-Phaseサポート
|
|
91
|
+
|
|
92
|
+
後方互換性のため、従来のPhase 0-5構造(要件定義→設計→実装→試験→リリース準備→リリース)もサポートしています。既存プロジェクトはそのまま動作します。
|
|
93
|
+
|
|
94
|
+
詳細は [ワークフローガイド](./docs/user-guide/guides/workflow.md) を参照してください。
|
|
95
|
+
|
|
96
|
+
### 対応プロジェクト
|
|
97
|
+
|
|
98
|
+
Michiは**言語非依存**で、どんなプロジェクトでも使用できます:
|
|
99
|
+
|
|
100
|
+
- ✅ **Java**(Maven/Gradle)
|
|
101
|
+
- ✅ **Python**(pip/poetry/uv)
|
|
102
|
+
- ✅ **Go**(go mod)
|
|
103
|
+
- ✅ **Node.js**(npm/yarn/pnpm)
|
|
104
|
+
- ✅ **Rust**(Cargo)
|
|
105
|
+
- ✅ **PHP**(Composer)
|
|
106
|
+
- ✅ **Ruby**(Bundler)
|
|
107
|
+
- ✅ その他あらゆる言語
|
|
108
|
+
|
|
109
|
+
**重要**: Michiは`package.json`を要求しません。プロジェクトの設定は`.kiro/project.json`で完結します。
|
|
110
|
+
|
|
33
111
|
## クイックスタート
|
|
34
112
|
|
|
35
113
|
### 前提条件
|
|
36
114
|
|
|
37
|
-
- Node.js 20.x
|
|
115
|
+
- Node.js 20.x以上(Michi CLIの実行に必要。プロジェクト自体はNode.jsでなくてもOK)
|
|
38
116
|
- Git(または Jujutsu (jj) も使用可能)
|
|
39
|
-
-
|
|
117
|
+
- **AI開発環境**(以下のいずれか):
|
|
118
|
+
- [Cursor IDE](https://cursor.sh/) (推奨)
|
|
119
|
+
- [Claude Code](https://claude.com/claude-code)
|
|
120
|
+
- [Gemini CLI](https://geminicli.com/)
|
|
121
|
+
- [Codex CLI](https://developers.openai.com/codex/cli)
|
|
122
|
+
- [Cline](https://cline.bot/) (VSCode拡張)
|
|
123
|
+
- VSCode + 他のAI拡張
|
|
40
124
|
- GitHub CLI (gh) - PR作成時に使用
|
|
125
|
+
- **GitHub Personal Access Token** - GitHub連携に必要([作成ガイド](./docs/user-guide/getting-started/github-token-setup.md))
|
|
41
126
|
- **cc-sdd**: AI駆動開発ワークフローのコアフレームワーク
|
|
42
127
|
|
|
128
|
+
**重要な注意事項**:
|
|
129
|
+
|
|
130
|
+
- ⚠️ **セットアップ時にテンプレートファイルが不足している場合、エラーが発生します**
|
|
131
|
+
- 最新のMichiをインストールしてください
|
|
132
|
+
- エラーが発生した場合は[トラブルシューティング](./docs/hands-on/troubleshooting.md)を参照
|
|
133
|
+
- ⚠️ **tasks.mdのフォーマットが間違っているとJIRA同期が失敗します**
|
|
134
|
+
- 新ワークフロー構造では必須フェーズ(Phase 0.1, 0.2, 2, 4, 5)が必要です
|
|
135
|
+
- レガシー構造では全6フェーズ(Phase 0-5)が必須です
|
|
136
|
+
- AIコマンド実行時は必ずテンプレートを参照するよう指示してください
|
|
137
|
+
- 詳細: [tasks.mdフォーマット問題](./docs/hands-on/troubleshooting.md#問題-tasksmdのフォーマットが間違っているformat-validation-error)
|
|
138
|
+
|
|
43
139
|
### インストール
|
|
44
140
|
|
|
45
141
|
#### 方法1: NPMパッケージとしてインストール(推奨)
|
|
@@ -105,14 +201,14 @@ cp env.example .env
|
|
|
105
201
|
**AIコマンド + CLIツール実行** で抜け漏れを防止:
|
|
106
202
|
|
|
107
203
|
```bash
|
|
108
|
-
# Phase 0:
|
|
204
|
+
# Phase 0.0: プロジェクト初期化
|
|
109
205
|
# 凡例
|
|
110
206
|
/kiro:spec-init <機能説明>
|
|
111
207
|
|
|
112
208
|
# 具体例
|
|
113
209
|
/kiro:spec-init ユーザー認証機能
|
|
114
210
|
|
|
115
|
-
# Phase 1: 要件定義
|
|
211
|
+
# Phase 0.1: 要件定義
|
|
116
212
|
# 凡例
|
|
117
213
|
/kiro:spec-requirements <feature> # AIで requirements.md 作成
|
|
118
214
|
npx @sk8metal/michi-cli phase:run <feature> requirements # Confluence作成+バリデーション(必須)
|
|
@@ -121,7 +217,7 @@ npx @sk8metal/michi-cli phase:run <feature> requirements # Confluence作成
|
|
|
121
217
|
/kiro:spec-requirements user-auth # AIで requirements.md 作成
|
|
122
218
|
npx @sk8metal/michi-cli phase:run user-auth requirements # Confluence作成+バリデーション(必須)
|
|
123
219
|
|
|
124
|
-
# Phase 2: 設計
|
|
220
|
+
# Phase 0.2: 設計
|
|
125
221
|
# 凡例
|
|
126
222
|
/kiro:spec-design <feature> # AIで design.md 作成
|
|
127
223
|
npx @sk8metal/michi-cli phase:run <feature> design # Confluence作成+バリデーション(必須)
|
|
@@ -130,32 +226,46 @@ npx @sk8metal/michi-cli phase:run <feature> design # Confluence作成
|
|
|
130
226
|
/kiro:spec-design user-auth # AIで design.md 作成
|
|
131
227
|
npx @sk8metal/michi-cli phase:run user-auth design # Confluence作成+バリデーション(必須)
|
|
132
228
|
|
|
133
|
-
# Phase 3:
|
|
229
|
+
# Phase 0.3-0.4: テスト計画(任意)
|
|
230
|
+
# プロジェクトに応じてテストタイプを選択し、テスト仕様書を作成
|
|
231
|
+
# 詳細: docs/user-guide/testing/test-planning-flow.md
|
|
232
|
+
|
|
233
|
+
# Phase 0.5-0.6: タスク分割とJIRA同期
|
|
134
234
|
# 凡例
|
|
135
|
-
/kiro:spec-tasks <feature> # AIで tasks.md
|
|
235
|
+
/kiro:spec-tasks <feature> # AIで tasks.md 作成(全フェーズ)
|
|
136
236
|
npx @sk8metal/michi-cli phase:run <feature> tasks # 全フェーズのJIRA作成+バリデーション(必須)
|
|
137
237
|
|
|
138
238
|
# 具体例
|
|
139
|
-
/kiro:spec-tasks user-auth # AIで tasks.md
|
|
239
|
+
/kiro:spec-tasks user-auth # AIで tasks.md 作成(全フェーズ)
|
|
140
240
|
npx @sk8metal/michi-cli phase:run user-auth tasks # 全フェーズのJIRA作成+バリデーション(必須)
|
|
141
241
|
|
|
142
|
-
# Phase
|
|
242
|
+
# Phase 1: 環境構築(任意)
|
|
243
|
+
# テスト環境のセットアップ、開発環境の構築
|
|
244
|
+
|
|
245
|
+
# Phase 2: TDD実装
|
|
143
246
|
# 凡例
|
|
144
247
|
/kiro:spec-impl <feature> # TDD実装開始
|
|
145
248
|
|
|
146
249
|
# 具体例
|
|
147
250
|
/kiro:spec-impl user-auth # TDD実装開始
|
|
148
251
|
|
|
149
|
-
# Phase
|
|
150
|
-
#
|
|
252
|
+
# Phase A: PR前自動テスト(任意)
|
|
253
|
+
# CI/CDで自動実行される単体テスト、Lint、ビルド
|
|
151
254
|
|
|
152
|
-
# Phase
|
|
255
|
+
# Phase 3: 追加QA(任意)
|
|
256
|
+
# tasks.mdに従って統合テスト、E2Eテストを実施
|
|
257
|
+
|
|
258
|
+
# Phase B: リリース準備テスト(任意)
|
|
259
|
+
# 手動テスト、セキュリティテスト、パフォーマンステストを実施
|
|
260
|
+
|
|
261
|
+
# Phase 4-5: リリース準備・リリース
|
|
153
262
|
# tasks.mdのPhase 4-5に従ってリリース準備・本番リリース
|
|
154
263
|
```
|
|
155
264
|
|
|
156
|
-
**重要**:
|
|
265
|
+
**重要**: Phase 0.1, 0.2, 0.5-0.6では `npx @sk8metal/michi-cli phase:run` を実行しないと、Confluence/JIRAが作成されず、承認者がレビューできません。
|
|
157
266
|
|
|
158
267
|
**CLIツールの使用方法**:
|
|
268
|
+
|
|
159
269
|
- **npx実行(推奨)**: `npx @sk8metal/michi-cli <command>` - 常に最新版を使用
|
|
160
270
|
- **グローバルインストール**: `npm install -g @sk8metal/michi-cli` 後、`michi <command>` で実行
|
|
161
271
|
- **ローカル開発**: `npm run michi <command>` または `npx tsx src/cli.ts <command>`
|
|
@@ -188,6 +298,27 @@ npx @sk8metal/michi-cli project:list # プロジェ
|
|
|
188
298
|
npx @sk8metal/michi-cli workflow:run --feature user-auth # ワークフロー実行
|
|
189
299
|
```
|
|
190
300
|
|
|
301
|
+
### 実装フェーズ(JIRA連携)
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
# AIコマンドで実装(JIRA連携は自動)
|
|
305
|
+
# /kiro:spec-impl user-auth
|
|
306
|
+
# ↑ spec.json から JIRA 情報を自動取得
|
|
307
|
+
# ↑ Epic + 最初の Story を「進行中」に移動
|
|
308
|
+
# ↑ TDD 実装
|
|
309
|
+
# ↑ PR 作成
|
|
310
|
+
# ↑ Epic + 最初の Story を「レビュー待ち」に移動
|
|
311
|
+
# ↑ PR リンクを JIRA にコメント
|
|
312
|
+
|
|
313
|
+
# 個別のJIRA操作(必要な場合のみ)
|
|
314
|
+
npx @sk8metal/michi-cli jira:transition <issueKey> <status>
|
|
315
|
+
npx @sk8metal/michi-cli jira:comment <issueKey> <comment>
|
|
316
|
+
|
|
317
|
+
# 具体例
|
|
318
|
+
npx @sk8metal/michi-cli jira:transition MICHI-123 "In Progress"
|
|
319
|
+
npx @sk8metal/michi-cli jira:comment MICHI-123 "PRを作成しました: https://github.com/..."
|
|
320
|
+
```
|
|
321
|
+
|
|
191
322
|
## プロジェクト構造
|
|
192
323
|
|
|
193
324
|
```text
|
|
@@ -198,6 +329,16 @@ michi/
|
|
|
198
329
|
│ ├── settings/ # テンプレート
|
|
199
330
|
│ ├── specs/ # 機能仕様書(GitHub SSoT)
|
|
200
331
|
│ └── steering/ # AIガイダンス
|
|
332
|
+
├── templates/ # cc-sdd準拠のマルチ環境テンプレート(Issue #35)
|
|
333
|
+
│ ├── cursor/ # Cursor IDE用テンプレート
|
|
334
|
+
│ │ ├── rules/ # ルールファイル(.mdc)
|
|
335
|
+
│ │ └── commands/
|
|
336
|
+
│ │ └── michi/ # Michi専用コマンド
|
|
337
|
+
│ ├── claude/ # Claude Code用テンプレート(プレースホルダー含む)
|
|
338
|
+
│ │ ├── rules/ # ルールファイル(.md、統合版)
|
|
339
|
+
│ │ └── commands/
|
|
340
|
+
│ │ └── michi/ # Michi専用コマンド(言語指示含む)
|
|
341
|
+
│ └── claude-agent/ # Claude Agentテンプレート
|
|
201
342
|
├── scripts/ # 自動化スクリプト
|
|
202
343
|
├── docs/ # ドキュメント
|
|
203
344
|
├── env.example # 環境変数テンプレート
|
|
@@ -205,6 +346,55 @@ michi/
|
|
|
205
346
|
└── package.json # 依存関係
|
|
206
347
|
```
|
|
207
348
|
|
|
349
|
+
### テンプレートアーキテクチャ
|
|
350
|
+
|
|
351
|
+
Michiは**cc-sdd準拠の多環境対応**を目指しています:
|
|
352
|
+
|
|
353
|
+
#### 設計原則
|
|
354
|
+
|
|
355
|
+
1. **単一の英語テンプレート**: 言語別ファイルを作らない
|
|
356
|
+
2. **プレースホルダー使用**: `{{LANG_CODE}}`, `{{DEV_GUIDELINES}}` 等
|
|
357
|
+
3. **AI駆動の多言語生成**: 実行時にAIが指定言語で出力
|
|
358
|
+
4. **セットアップ時は置換しない**: テンプレートをそのままコピー、AIが実行時に解釈
|
|
359
|
+
|
|
360
|
+
#### プレースホルダー一覧
|
|
361
|
+
|
|
362
|
+
| プレースホルダー | 説明 | 例 |
|
|
363
|
+
| -------------------- | ---------------- | ---------------------------------------- |
|
|
364
|
+
| `{{LANG_CODE}}` | 言語コード | ja, en |
|
|
365
|
+
| `{{DEV_GUIDELINES}}` | 言語別AI指示 | "Think in English, generate in Japanese" |
|
|
366
|
+
| `{{KIRO_DIR}}` | 仕様書ルート | .kiro |
|
|
367
|
+
| `{{AGENT_DIR}}` | エージェント設定 | .claude |
|
|
368
|
+
| `{{PROJECT_ID}}` | プロジェクトID | michi |
|
|
369
|
+
| `{{FEATURE_NAME}}` | 機能名 | user-auth |
|
|
370
|
+
|
|
371
|
+
#### テンプレート例
|
|
372
|
+
|
|
373
|
+
```markdown
|
|
374
|
+
# Michi Core Principles
|
|
375
|
+
|
|
376
|
+
## Development Guidelines
|
|
377
|
+
|
|
378
|
+
{{DEV_GUIDELINES}}
|
|
379
|
+
|
|
380
|
+
## Language
|
|
381
|
+
|
|
382
|
+
All generated documents should be in: **{{LANG_CODE}}**
|
|
383
|
+
|
|
384
|
+
## Project Metadata
|
|
385
|
+
|
|
386
|
+
- Project ID: {{PROJECT_ID}}
|
|
387
|
+
- Kiro directory: {{KIRO_DIR}}
|
|
388
|
+
- Agent directory: {{AGENT_DIR}}
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**利点:**
|
|
392
|
+
|
|
393
|
+
- ✅ 静的翻訳ファイル不要(メンテナンスコスト削減)
|
|
394
|
+
- ✅ cc-sddとの完全互換
|
|
395
|
+
- ✅ Cursor/Claude両環境で動作
|
|
396
|
+
- ✅ プロジェクト固有値の動的生成
|
|
397
|
+
|
|
208
398
|
### 設定ファイル
|
|
209
399
|
|
|
210
400
|
OSS公開に対応するため、以下のテンプレートファイルを用意しています:
|
|
@@ -214,7 +404,6 @@ OSS公開に対応するため、以下のテンプレートファイルを用
|
|
|
214
404
|
- GitHub認証情報
|
|
215
405
|
- プロジェクト固有設定
|
|
216
406
|
- **ワークフロー承認ゲート設定**(オプション)
|
|
217
|
-
|
|
218
407
|
- **`mcp.json.example`**: MCP設定テンプレート
|
|
219
408
|
- Cursor/VS Code用のAtlassian MCP設定
|
|
220
409
|
|
|
@@ -226,6 +415,7 @@ OSS公開に対応するため、以下のテンプレートファイルを用
|
|
|
226
415
|
- **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。
|
|
227
416
|
|
|
228
417
|
**初回セットアップ時:**
|
|
418
|
+
|
|
229
419
|
```bash
|
|
230
420
|
# 環境変数を設定
|
|
231
421
|
cp env.example .env
|
|
@@ -260,24 +450,157 @@ APPROVAL_GATES_RELEASE=SM,部長
|
|
|
260
450
|
|
|
261
451
|
## 他のリポジトリでプロジェクトを進める
|
|
262
452
|
|
|
263
|
-
###
|
|
453
|
+
### 推奨ワークフロー(cc-sdd準拠)
|
|
454
|
+
|
|
455
|
+
既存リポジトリにMichiを導入する標準的な手順です:
|
|
456
|
+
|
|
457
|
+
```bash
|
|
458
|
+
# Step 1: cc-sddで標準ファイル生成
|
|
459
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
460
|
+
|
|
461
|
+
# Step 2: Michi固有ファイルを追加
|
|
462
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
463
|
+
|
|
464
|
+
# Step 3: 環境設定
|
|
465
|
+
npm run setup:interactive
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**ステップの説明**:
|
|
469
|
+
|
|
470
|
+
1. **cc-sdd導入**: AI駆動開発ワークフローのコアフレームワークをインストール
|
|
471
|
+
2. **Michi固有ファイル追加**: Confluence/JIRA連携、マルチプロジェクト管理などのMichi専用機能を追加
|
|
472
|
+
3. **環境設定**: 認証情報とプロジェクトメタデータを対話的に設定
|
|
473
|
+
|
|
474
|
+
### IDE別セットアップ例
|
|
475
|
+
|
|
476
|
+
#### Cursor IDE(推奨)
|
|
477
|
+
|
|
478
|
+
```bash
|
|
479
|
+
# Step 1: cc-sdd導入
|
|
480
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
481
|
+
|
|
482
|
+
# Step 2: Michi固有ファイル追加
|
|
483
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
484
|
+
# または npm run michi:setup:cursor
|
|
485
|
+
|
|
486
|
+
# Step 3: 環境設定
|
|
487
|
+
npm run setup:interactive
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
#### Claude Code
|
|
491
|
+
|
|
492
|
+
```bash
|
|
493
|
+
# Step 1: cc-sdd導入
|
|
494
|
+
npx cc-sdd@latest --claude --lang ja
|
|
495
|
+
|
|
496
|
+
# Step 2: Michi固有ファイル追加
|
|
497
|
+
npx @sk8metal/michi-cli setup-existing --claude --lang ja
|
|
498
|
+
# または npm run michi:setup:claude
|
|
499
|
+
|
|
500
|
+
# Step 3: 環境設定
|
|
501
|
+
npm run setup:interactive
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
#### Gemini CLI
|
|
505
|
+
|
|
506
|
+
```bash
|
|
507
|
+
# Step 1: cc-sdd導入(準備中 - 現在はスキップ可能)
|
|
508
|
+
# npx cc-sdd@latest --gemini --lang ja
|
|
509
|
+
|
|
510
|
+
# Step 2: Michi固有ファイル追加
|
|
511
|
+
npx @sk8metal/michi-cli setup-existing --gemini --lang ja
|
|
512
|
+
|
|
513
|
+
# Step 3: 環境設定
|
|
514
|
+
npm run setup:interactive
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
**Gemini CLI特有の機能**:
|
|
518
|
+
|
|
519
|
+
- `.gemini/GEMINI.md` - プロジェクトコンテキスト(階層的ロード対応)
|
|
520
|
+
- `.gemini/extensions/` - 拡張機能
|
|
521
|
+
|
|
522
|
+
#### Codex CLI
|
|
523
|
+
|
|
524
|
+
```bash
|
|
525
|
+
# Step 1: cc-sdd導入(必須)
|
|
526
|
+
npx cc-sdd@latest --codex --lang ja
|
|
527
|
+
|
|
528
|
+
# Step 2: Michi拡張をインストール
|
|
529
|
+
npx @sk8metal/michi-cli setup-existing --codex --lang ja
|
|
530
|
+
|
|
531
|
+
# Step 3: 環境設定
|
|
532
|
+
npm run setup:interactive
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
**Codex CLI + cc-sdd統合**:
|
|
536
|
+
|
|
537
|
+
- ✅ **完全対応**: cc-sddとの統合により、Michiワークフロー全機能をサポート
|
|
538
|
+
- ✅ **11個の /kiro:* コマンド**: cc-sddが提供(spec-init, requirements, design, tasks, impl など)
|
|
539
|
+
- ✅ **1個の /prompts:confluence-sync コマンド**: Michi独自(Confluence連携)
|
|
540
|
+
- ✅ **AGENTS.md**: プロジェクトコンテキスト(cc-sdd提供 + Michi拡張)
|
|
541
|
+
- ✅ **`.kiro/` ディレクトリ**: Spec-Driven Development構造
|
|
542
|
+
|
|
543
|
+
**詳細**: `templates/codex/rules/README.md` を参照
|
|
544
|
+
|
|
545
|
+
#### Cline (VSCode拡張)
|
|
546
|
+
|
|
547
|
+
```bash
|
|
548
|
+
# Step 1: VSCodeにCline拡張をインストール
|
|
549
|
+
# https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev
|
|
550
|
+
|
|
551
|
+
# Step 2: Michi固有ファイル追加
|
|
552
|
+
npx @sk8metal/michi-cli setup-existing --cline --lang ja
|
|
553
|
+
|
|
554
|
+
# Step 3: 環境設定
|
|
555
|
+
npm run setup:interactive
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
**Cline特有の機能**:
|
|
559
|
+
|
|
560
|
+
- `.clinerules/rules/` - プロジェクト固有のルール(Markdown形式)
|
|
561
|
+
- ルールのトグル機能(v3.13以降)- 各ルールファイルを個別に有効/無効化可能
|
|
562
|
+
|
|
563
|
+
#### Windsurf IDE
|
|
564
|
+
|
|
565
|
+
```bash
|
|
566
|
+
# Step 1: cc-sdd導入
|
|
567
|
+
npx cc-sdd@next --windsurf --lang ja
|
|
568
|
+
|
|
569
|
+
# Step 2: Michi固有ファイル追加(Cursor互換モード)
|
|
570
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
571
|
+
|
|
572
|
+
# Step 3: 環境設定
|
|
573
|
+
npm run setup:interactive
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
### 既存リポジトリ vs 新規リポジトリ
|
|
577
|
+
|
|
578
|
+
#### 既存リポジトリにMichiを追加(推奨)
|
|
579
|
+
|
|
580
|
+
既に稼働しているプロジェクトにMichiを追加する場合:
|
|
264
581
|
|
|
265
582
|
```bash
|
|
266
583
|
# 既存プロジェクトのディレクトリに移動
|
|
267
584
|
cd /path/to/existing-repo
|
|
268
585
|
|
|
269
|
-
#
|
|
270
|
-
|
|
586
|
+
# 推奨ワークフローを実行
|
|
587
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
588
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
589
|
+
npm run setup:interactive
|
|
271
590
|
```
|
|
272
591
|
|
|
273
|
-
|
|
274
|
-
- プロジェクト名
|
|
275
|
-
- JIRAプロジェクトキー
|
|
276
|
-
- 顧客名
|
|
592
|
+
**自動的に追加されるもの**:
|
|
277
593
|
|
|
278
|
-
|
|
594
|
+
- 共通ルール(`.cursor/rules/`または`.claude/rules/`)
|
|
595
|
+
- Michi専用コマンド(`.cursor/commands/michi/`または`.claude/commands/michi/`)
|
|
596
|
+
- Steeringテンプレート(`.kiro/steering/`)
|
|
597
|
+
- Specテンプレート(`.kiro/settings/templates/`)
|
|
598
|
+
- プロジェクトメタデータ(`.kiro/project.json`)
|
|
599
|
+
- 環境変数テンプレート(`.env`)
|
|
279
600
|
|
|
280
|
-
|
|
601
|
+
#### 新規リポジトリを作成してMichiを導入
|
|
602
|
+
|
|
603
|
+
新しいプロジェクトをゼロから始める場合:
|
|
281
604
|
|
|
282
605
|
```bash
|
|
283
606
|
# Michiディレクトリから実行
|
|
@@ -290,24 +613,35 @@ npm run create-project -- \
|
|
|
290
613
|
|
|
291
614
|
詳細: [新規リポジトリセットアップガイド](./docs/getting-started/new-repository-setup.md)
|
|
292
615
|
|
|
616
|
+
**どちらを選ぶべきか?**
|
|
617
|
+
|
|
618
|
+
- ✅ **既存リポジトリに追加**: 既に稼働中のプロジェクトがある場合
|
|
619
|
+
- ✅ **新規リポジトリ作成**: 新しいプロジェクトを始める場合
|
|
620
|
+
|
|
293
621
|
## ドキュメント
|
|
294
622
|
|
|
295
623
|
### はじめに
|
|
624
|
+
|
|
296
625
|
- [クイックスタート](./docs/getting-started/quick-start.md) - 5分で始める ⭐
|
|
297
626
|
- [セットアップガイド](./docs/getting-started/setup.md) - インストール・設定手順
|
|
298
627
|
- [新規リポジトリセットアップ](./docs/getting-started/new-repository-setup.md) - 新規リポジトリでの開始方法
|
|
628
|
+
- **[ハンズオンガイド](./docs/hands-on/README.md)** - 実際に手を動かして学ぶ1時間のチュートリアル ⭐
|
|
299
629
|
|
|
300
630
|
### 実践ガイド
|
|
631
|
+
|
|
301
632
|
- [ワークフローガイド](./docs/guides/workflow.md) - AI開発フロー ⭐
|
|
302
633
|
- [フェーズ自動化ガイド](./docs/guides/phase-automation.md) - Confluence/JIRA自動作成 ⭐
|
|
303
634
|
- [マルチプロジェクト管理](./docs/guides/multi-project.md) - 複数プロジェクト管理
|
|
304
635
|
- [カスタマイズガイド](./docs/guides/customization.md) - Confluence/JIRA階層構造のカスタマイズ
|
|
636
|
+
- [多言語サポートガイド](./docs/guides/internationalization.md) - AI駆動多言語対応(12言語サポート) ⭐
|
|
305
637
|
|
|
306
638
|
### リファレンス
|
|
639
|
+
|
|
307
640
|
- [クイックリファレンス](./docs/reference/quick-reference.md) - コマンド一覧、チートシート ⭐
|
|
308
641
|
- [設定値リファレンス](./docs/reference/config.md) - `.michi/config.json`の全設定値の説明
|
|
309
642
|
|
|
310
643
|
### コントリビューター向け
|
|
644
|
+
|
|
311
645
|
- [コントリビューションガイド](./CONTRIBUTING.md) - 貢献方法
|
|
312
646
|
- [開発環境セットアップ](./docs/contributing/development.md) - 開発者向けセットアップ
|
|
313
647
|
- [リリース手順](./docs/contributing/release.md) - バージョンアップ・NPM公開手順
|
|
@@ -315,7 +649,6 @@ npm run create-project -- \
|
|
|
315
649
|
|
|
316
650
|
すべてのドキュメントは [docs/README.md](./docs/README.md) から参照できます。
|
|
317
651
|
|
|
318
|
-
|
|
319
652
|
## CI/CD
|
|
320
653
|
|
|
321
654
|
このプロジェクトでは、GitHub Actionsを使用してCI/CDパイプラインを構築しています。
|
|
@@ -342,6 +675,7 @@ npm run create-project -- \
|
|
|
342
675
|
**設定手順**: [NPM_TOKEN設定ガイド](./docs/contributing/npm-token-setup.md)
|
|
343
676
|
|
|
344
677
|
**設定内容**:
|
|
678
|
+
|
|
345
679
|
1. NPMアカウントでAutomation Tokenを生成
|
|
346
680
|
2. GitHub Secretsに`NPM_TOKEN`を追加
|
|
347
681
|
|
|
@@ -399,26 +733,28 @@ Copyright (c) 2025 sk8metalme
|
|
|
399
733
|
|
|
400
734
|
ドキュメント内で使用している記号の意味:
|
|
401
735
|
|
|
402
|
-
| 記号
|
|
403
|
-
|
|
404
|
-
| `<feature>`
|
|
405
|
-
| `<project-id>`
|
|
406
|
-
| `<project-name>` | プロジェクト名
|
|
407
|
-
| `<phase>`
|
|
408
|
-
| `<tasks>`
|
|
409
|
-
| `<doc-type>`
|
|
410
|
-
| `<jira-key>`
|
|
736
|
+
| 記号 | 説明 | 例 |
|
|
737
|
+
| ---------------- | -------------------- | -------------------------------- |
|
|
738
|
+
| `<feature>` | 機能名 | user-auth, health-check-endpoint |
|
|
739
|
+
| `<project-id>` | プロジェクトID | michi, 20240115-payment-api |
|
|
740
|
+
| `<project-name>` | プロジェクト名 | Michi, プロジェクトA |
|
|
741
|
+
| `<phase>` | フェーズ名 | requirements, design, tasks |
|
|
742
|
+
| `<tasks>` | タスクID | FE-1,BE-1, STORY-1 |
|
|
743
|
+
| `<doc-type>` | ドキュメント種類 | requirements, design, tasks |
|
|
744
|
+
| `<jira-key>` | JIRAプロジェクトキー | MICHI, PRJA |
|
|
411
745
|
|
|
412
746
|
### 凡例と具体例の読み方
|
|
413
747
|
|
|
414
748
|
ドキュメント内のコマンド例は「凡例」と「具体例」を併記しています:
|
|
415
749
|
|
|
416
750
|
**凡例**: 汎用的なパターン(記号を使用)
|
|
751
|
+
|
|
417
752
|
```bash
|
|
418
753
|
/kiro:spec-requirements <feature>
|
|
419
754
|
```
|
|
420
755
|
|
|
421
756
|
**具体例**: 実際の使用例
|
|
757
|
+
|
|
422
758
|
```bash
|
|
423
759
|
/kiro:spec-requirements user-auth
|
|
424
760
|
```
|
|
@@ -431,19 +767,20 @@ Copyright (c) 2025 sk8metalme
|
|
|
431
767
|
|
|
432
768
|
feature名は以下の場所で使用されるため、**英語・小文字・ハイフン区切り**が必須です:
|
|
433
769
|
|
|
434
|
-
| 使用箇所
|
|
435
|
-
|
|
436
|
-
| ディレクトリ名
|
|
437
|
-
| GitHub URL
|
|
438
|
-
| Confluenceラベル | `user-auth`
|
|
439
|
-
| JIRA Epic検索
|
|
440
|
-
| ブランチ名
|
|
770
|
+
| 使用箇所 | 例 | 制約理由 |
|
|
771
|
+
| ---------------- | ------------------------------------- | ---------------------- |
|
|
772
|
+
| ディレクトリ名 | `.kiro/specs/user-auth/` | ファイルシステム互換性 |
|
|
773
|
+
| GitHub URL | `.../specs/user-auth/requirements.md` | URLセーフ |
|
|
774
|
+
| Confluenceラベル | `user-auth` | ラベル検索・フィルタ |
|
|
775
|
+
| JIRA Epic検索 | `labels = "user-auth"` | JQLクエリ |
|
|
776
|
+
| ブランチ名 | `michi/feature/user-auth` | Git命名規則 |
|
|
441
777
|
|
|
442
778
|
#### 命名ルール
|
|
443
779
|
|
|
444
780
|
**形式**: 英語、kebab-case(ハイフン区切り)、小文字のみ
|
|
445
781
|
|
|
446
782
|
**ルール**:
|
|
783
|
+
|
|
447
784
|
- 2-4単語推奨
|
|
448
785
|
- 英数字とハイフン(`-`)のみ使用
|
|
449
786
|
- スペース、アンダースコア、日本語は不可
|
|
@@ -451,14 +788,14 @@ feature名は以下の場所で使用されるため、**英語・小文字・
|
|
|
451
788
|
|
|
452
789
|
#### 変換例
|
|
453
790
|
|
|
454
|
-
| spec-init(日本語説明)
|
|
455
|
-
|
|
456
|
-
| ユーザー認証機能
|
|
457
|
-
| OAuth 2.0を使った認証
|
|
458
|
-
| 支払い処理機能
|
|
459
|
-
| ヘルスチェックエンドポイント | `health-check-endpoint`
|
|
460
|
-
| 商品検索API
|
|
461
|
-
| 在庫管理システム
|
|
791
|
+
| spec-init(日本語説明) | spec-requirements以降(feature名) |
|
|
792
|
+
| ---------------------------- | ---------------------------------- |
|
|
793
|
+
| ユーザー認証機能 | `user-auth` |
|
|
794
|
+
| OAuth 2.0を使った認証 | `oauth-auth` |
|
|
795
|
+
| 支払い処理機能 | `payment` |
|
|
796
|
+
| ヘルスチェックエンドポイント | `health-check-endpoint` |
|
|
797
|
+
| 商品検索API | `product-search-api` |
|
|
798
|
+
| 在庫管理システム | `inventory-management` |
|
|
462
799
|
|
|
463
800
|
#### 変換のコツ
|
|
464
801
|
|
|
@@ -470,11 +807,13 @@ feature名は以下の場所で使用されるため、**英語・小文字・
|
|
|
470
807
|
#### 良い例・悪い例
|
|
471
808
|
|
|
472
809
|
✅ **良い例**:
|
|
810
|
+
|
|
473
811
|
- `user-auth` - 短く明確
|
|
474
812
|
- `payment-processing` - 具体的
|
|
475
813
|
- `health-check` - 標準的な用語
|
|
476
814
|
|
|
477
815
|
❌ **悪い例**:
|
|
816
|
+
|
|
478
817
|
- `ユーザー認証` - 日本語(URL/ラベルに不適)
|
|
479
818
|
- `user_auth` - アンダースコア(kebab-caseではない)
|
|
480
819
|
- `UserAuth` - CamelCase(kebab-caseではない)
|
|
@@ -482,6 +821,38 @@ feature名は以下の場所で使用されるため、**英語・小文字・
|
|
|
482
821
|
- `-user-auth` - 先頭ハイフン(無効)
|
|
483
822
|
- `very-long-feature-name-for-user-authentication` - 長すぎる
|
|
484
823
|
|
|
824
|
+
## テスト
|
|
825
|
+
|
|
826
|
+
Michiプロジェクトは、統合テストによって品質を保証しています。
|
|
827
|
+
|
|
828
|
+
### テスト実行
|
|
829
|
+
|
|
830
|
+
```bash
|
|
831
|
+
# すべてのテスト実行
|
|
832
|
+
npm test
|
|
833
|
+
|
|
834
|
+
# 統合テストのみ実行
|
|
835
|
+
npm run test:integration:setup
|
|
836
|
+
|
|
837
|
+
# カバレッジ付き実行
|
|
838
|
+
npm run test:coverage:setup
|
|
839
|
+
|
|
840
|
+
# 監視モード
|
|
841
|
+
npm test -- --watch
|
|
842
|
+
|
|
843
|
+
# UIモード
|
|
844
|
+
npm run test:ui
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
### テストカバレッジ
|
|
848
|
+
|
|
849
|
+
- **目標**: 95%以上
|
|
850
|
+
- **現在のカバレッジ**: [](https://codecov.io/gh/sk8metalme/michi)
|
|
851
|
+
|
|
852
|
+
### テストドキュメント
|
|
853
|
+
|
|
854
|
+
詳細なテストガイドは [docs/testing/integration-tests.md](./docs/testing/integration-tests.md) を参照してください。
|
|
855
|
+
|
|
485
856
|
## 参考リンク
|
|
486
857
|
|
|
487
858
|
### AI開発フレームワーク
|