@sk8metal/michi-cli 0.10.1 → 0.12.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.
Files changed (139) hide show
  1. package/README.md +71 -848
  2. package/dist/scripts/constants/environments.d.ts +1 -1
  3. package/dist/scripts/constants/environments.d.ts.map +1 -1
  4. package/dist/scripts/constants/environments.js +0 -20
  5. package/dist/scripts/constants/environments.js.map +1 -1
  6. package/dist/scripts/phase-runner.js +1 -1
  7. package/dist/scripts/phase-runner.js.map +1 -1
  8. package/dist/scripts/utils/multi-repo-validator.d.ts +18 -0
  9. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
  10. package/dist/scripts/utils/multi-repo-validator.js +42 -0
  11. package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
  12. package/dist/scripts/utils/tasks-format-validator.js +3 -3
  13. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  14. package/dist/scripts/utils/template-finder.d.ts +2 -2
  15. package/dist/scripts/utils/template-finder.d.ts.map +1 -1
  16. package/dist/scripts/utils/template-finder.js +3 -8
  17. package/dist/scripts/utils/template-finder.js.map +1 -1
  18. package/dist/src/cli.d.ts.map +1 -1
  19. package/dist/src/cli.js +0 -8
  20. package/dist/src/cli.js.map +1 -1
  21. package/dist/src/commands/init.d.ts +0 -4
  22. package/dist/src/commands/init.d.ts.map +1 -1
  23. package/dist/src/commands/init.js +6 -30
  24. package/dist/src/commands/init.js.map +1 -1
  25. package/dist/src/commands/setup-existing.d.ts +2 -6
  26. package/dist/src/commands/setup-existing.d.ts.map +1 -1
  27. package/dist/src/commands/setup-existing.js +8 -142
  28. package/dist/src/commands/setup-existing.js.map +1 -1
  29. package/docs/README.md +20 -83
  30. package/docs/getting-started/configuration.md +350 -0
  31. package/docs/getting-started/installation.md +59 -0
  32. package/docs/getting-started/quick-start.md +76 -0
  33. package/docs/guides/atlassian-integration.md +116 -0
  34. package/docs/guides/claude-code.md +155 -0
  35. package/docs/guides/multi-repo.md +117 -0
  36. package/docs/guides/workflow.md +382 -0
  37. package/docs/reference/ai-commands.md +92 -0
  38. package/docs/reference/cli.md +752 -0
  39. package/docs/reference/environment-variables.md +192 -0
  40. package/docs/troubleshooting.md +498 -0
  41. package/package.json +1 -3
  42. package/scripts/__tests__/create-project.test.ts +12 -12
  43. package/scripts/__tests__/setup-existing-project.test.ts +22 -22
  44. package/scripts/constants/__tests__/environments.test.ts +7 -50
  45. package/scripts/constants/environments.ts +1 -27
  46. package/scripts/phase-runner.ts +1 -1
  47. package/scripts/template/__tests__/renderer.test.ts +21 -21
  48. package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
  49. package/scripts/utils/multi-repo-validator.ts +50 -0
  50. package/scripts/utils/tasks-format-validator.ts +3 -3
  51. package/scripts/utils/template-finder.ts +5 -11
  52. package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
  53. package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
  54. package/templates/claude/commands/michi/e2e-plan.md +1 -1
  55. package/templates/claude/commands/michi/spec-design.md +2 -2
  56. package/templates/claude/commands/michi/spec-tasks.md +156 -0
  57. package/templates/claude/commands/michi/test-planning.md +1 -1
  58. package/templates/claude/commands/michi/validate-design.md +3 -3
  59. package/templates/claude/commands/michi-multi-repo/impl-all.md +30 -1
  60. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +14 -1
  61. package/templates/claude/commands/michi-multi-repo/spec-review.md +16 -2
  62. package/templates/claude-agent/agents/repo-spec-executor.md +1 -1
  63. package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
  64. package/templates/claude-agent/rules/code-size-monitor.md +26 -0
  65. package/templates/claude-agent/rules/code-size-rules.md +32 -0
  66. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
  67. package/docs/context.md +0 -59
  68. package/docs/michi-development/contributing/development.md +0 -341
  69. package/docs/michi-development/contributing/release.md +0 -365
  70. package/docs/michi-development/design/config-unification.md +0 -733
  71. package/docs/michi-development/design/design-config-current-state.md +0 -330
  72. package/docs/michi-development/design/design-config-implementation.md +0 -628
  73. package/docs/michi-development/design/design-config-migration.md +0 -952
  74. package/docs/michi-development/design/design-config-security.md +0 -771
  75. package/docs/michi-development/design/design-config-solution.md +0 -583
  76. package/docs/michi-development/design/design-config-testing.md +0 -892
  77. package/docs/michi-development/testing/manual-verification-flow.md +0 -871
  78. package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
  79. package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
  80. package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
  81. package/docs/michi-development/testing-strategy.md +0 -87
  82. package/docs/plan.md +0 -275
  83. package/docs/user-guide/getting-started/github-token-setup.md +0 -510
  84. package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
  85. package/docs/user-guide/getting-started/quick-start.md +0 -212
  86. package/docs/user-guide/getting-started/setup.md +0 -819
  87. package/docs/user-guide/guides/agent-skills-integration.md +0 -222
  88. package/docs/user-guide/guides/customization.md +0 -537
  89. package/docs/user-guide/guides/internationalization.md +0 -540
  90. package/docs/user-guide/guides/migration-guide.md +0 -138
  91. package/docs/user-guide/guides/multi-project.md +0 -368
  92. package/docs/user-guide/guides/multi-repo-guide.md +0 -1590
  93. package/docs/user-guide/guides/phase-automation.md +0 -419
  94. package/docs/user-guide/guides/workflow.md +0 -574
  95. package/docs/user-guide/hands-on/README.md +0 -142
  96. package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
  97. package/docs/user-guide/hands-on/claude-setup.md +0 -452
  98. package/docs/user-guide/hands-on/cursor-setup.md +0 -353
  99. package/docs/user-guide/hands-on/troubleshooting.md +0 -964
  100. package/docs/user-guide/hands-on/verification-checklist.md +0 -439
  101. package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -1078
  102. package/docs/user-guide/reference/config.md +0 -589
  103. package/docs/user-guide/reference/multi-repo-api.md +0 -771
  104. package/docs/user-guide/reference/quick-reference.md +0 -297
  105. package/docs/user-guide/reference/security-test-payloads.md +0 -50
  106. package/docs/user-guide/reference/tasks-template.md +0 -550
  107. package/docs/user-guide/release/ci-setup-java.md +0 -114
  108. package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
  109. package/docs/user-guide/release/ci-setup-php.md +0 -102
  110. package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
  111. package/docs/user-guide/release/ci-setup.md +0 -188
  112. package/docs/user-guide/release/release-flow.md +0 -476
  113. package/docs/user-guide/templates/test-specs/README.md +0 -173
  114. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
  115. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
  116. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
  117. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
  118. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
  119. package/docs/user-guide/testing/integration-tests.md +0 -312
  120. package/docs/user-guide/testing/tdd-cycle.md +0 -349
  121. package/docs/user-guide/testing/test-execution-flow.md +0 -396
  122. package/docs/user-guide/testing/test-failure-handling.md +0 -521
  123. package/docs/user-guide/testing/test-planning-flow.md +0 -185
  124. package/docs/user-guide/testing-strategy.md +0 -185
  125. package/docs/verification-guide.md +0 -518
  126. package/templates/cline/rules/atlassian-integration.md +0 -36
  127. package/templates/cline/rules/michi-core.md +0 -56
  128. package/templates/codex/AGENTS.override.md +0 -277
  129. package/templates/codex/prompts/confluence-sync.md +0 -177
  130. package/templates/codex/rules/README.md +0 -210
  131. package/templates/cursor/commands/kiro/kiro-spec-impl.md +0 -244
  132. package/templates/cursor/commands/kiro/kiro-spec-tasks.md +0 -354
  133. package/templates/cursor/commands/michi/confluence-sync.md +0 -76
  134. package/templates/cursor/commands/michi/project-switch.md +0 -69
  135. package/templates/cursor/rules/atlassian-mcp.mdc +0 -188
  136. package/templates/cursor/rules/github-ssot.mdc +0 -151
  137. package/templates/cursor/rules/multi-project.mdc +0 -81
  138. package/templates/gemini/commands/README.md +0 -41
  139. package/templates/gemini/rules/GEMINI.md +0 -80
@@ -1,151 +0,0 @@
1
- ---
2
- title: GitHub Single Source of Truth Rules
3
- description: {{DEV_GUIDELINES}} for using GitHub as SSoT and syncing with Confluence
4
- ---
5
-
6
- # GitHub Single Source of Truth (SSoT) Rules
7
-
8
- ## Basic Principles
9
-
10
- ### Single Source of Truth
11
- - **All specifications managed in GitHub** (.kiro/specs/)
12
- - Confluence is **for reference and approval only** (edit only in GitHub)
13
- - Avoid dual management
14
-
15
- ### Data Flow
16
- ```
17
- GitHub (.kiro/specs/) ← Source of Truth (editable)
18
- ↓ sync
19
- Confluence ← View & Approval only (read-only)
20
- ```
21
-
22
- ## File Structure
23
-
24
- ### GitHub Repository
25
- ```
26
- .kiro/
27
- ├── project.json # Project metadata
28
- ├── specs/
29
- │ └── <feature>/
30
- │ ├── requirements.md # Requirements definition
31
- │ ├── design.md # Design
32
- │ ├── tasks.md # Task breakdown
33
- │ └── test-report.md # Test results
34
- └── settings/
35
- └── templates/ # Templates
36
- ```
37
-
38
- ## Workflow
39
-
40
- ### 1. Generate Markdown → GitHub
41
- ```
42
- Cursor: /michi:spec-requirements <feature>
43
- ↓ Generate: .kiro/specs/<feature>/requirements.md
44
-
45
- jj commit -m "docs: Add requirements"
46
- jj git push
47
- ```
48
-
49
- ### 2. GitHub → Confluence Sync
50
- ```
51
- Cursor AI (using MCP):
52
- 1. Get GitHub URL
53
- 2. Convert Markdown → Confluence Storage Format
54
- 3. Create page with confluence_create_page()
55
- 4. Embed GitHub link
56
- ```
57
-
58
- ### 3. Approval in Confluence
59
- - Planners/Managers review in Confluence
60
- - Approve via Page Properties
61
- - After approval → Proceed to next phase
62
-
63
- ### 4. Technical Review in GitHub
64
- - Engineers review Markdown in GitHub
65
- - Comment/suggest changes in PR format (optional)
66
- - After merge, auto-update Confluence
67
-
68
- ## Confluence Page Structure
69
-
70
- ### Template Structure
71
- ```markdown
72
- ## GitHub Integration
73
- 📄 Latest version managed in [GitHub](URL)
74
- Edit in GitHub, auto-synced to Confluence
75
-
76
- ---
77
-
78
- {Converted Markdown}
79
-
80
- ---
81
-
82
- ## Approval
83
- {approval macro}
84
- Approvers: @Planner, @Manager
85
- {/approval}
86
- ```
87
-
88
- ## Review Flow Separation
89
-
90
- ### Engineer Review (GitHub)
91
- - Target: requirements.md, design.md, tasks.md
92
- - Method: GitHub PR, comments
93
- - Focus: Technical accuracy, feasibility
94
-
95
- ### Planner/Manager Review (Confluence)
96
- - Target: Requirements, design, estimates
97
- - Method: Confluence comments, approval macro
98
- - Focus: Business requirements, priority, budget
99
-
100
- ## Update Synchronization
101
-
102
- ### On GitHub Update
103
- ```
104
- GitHub push
105
- ↓ Webhook (optional)
106
- Confluence auto-update
107
- ```
108
-
109
- ### Manual Sync
110
- ```bash
111
- # Run command
112
- /michi:confluence-sync <feature>
113
-
114
- # Or npm script
115
- npm run confluence:sync <feature>
116
- ```
117
-
118
- ## Benefits
119
-
120
- ✅ **Version Control**: All change history in GitHub
121
- ✅ **Zero Dual Management**: Confluence for reference only
122
- ✅ **Engineer-Friendly**: Markdown, Git, PR
123
- ✅ **Planner/Manager-Friendly**: Confluence's user-friendly UI
124
- ✅ **Auto Sync**: Push = Confluence update
125
- ✅ **Audit Trail**: GitHub as official record
126
-
127
- ## Prohibited Actions
128
-
129
- ❌ Direct editing in Confluence
130
- ❌ Managing in both GitHub and Confluence
131
- ❌ Reverse sync from Confluence to GitHub
132
-
133
- ## Exception Cases
134
-
135
- Direct creation in Confluence allowed only for:
136
- - Meeting minutes
137
- - Temporary notes
138
- - Documents outside the project
139
-
140
- ## Troubleshooting
141
-
142
- ### If Confluence is outdated
143
- ```bash
144
- # Manually re-sync
145
- /michi:confluence-sync <feature>
146
- ```
147
-
148
- ### On sync error
149
- 1. Verify GitHub Markdown is correct
150
- 2. Check Confluence API authentication
151
- 3. Verify page ID is correct
@@ -1,81 +0,0 @@
1
- ---
2
- title: Multi-Project Management Rules
3
- description: {{DEV_GUIDELINES}} for managing multiple concurrent projects with naming conventions and workflows
4
- ---
5
-
6
- # Multi-Project Management Rules
7
-
8
- ## Project Identification
9
-
10
- ### Loading Project Metadata
11
- - Reference `.kiro/project.json` in all operations
12
- - Retrieve project ID, JIRA key, and Confluence labels
13
- - Use project information dynamically
14
-
15
- ### Example
16
- ```typescript
17
- const projectMeta = JSON.parse(fs.readFileSync('.kiro/project.json', 'utf8'));
18
- // projectMeta.projectId
19
- // projectMeta.jiraProjectKey
20
- // projectMeta.confluenceLabels
21
- ```
22
-
23
- ## Naming Conventions
24
-
25
- ### Confluence Pages
26
- - Format: `[{projectName}] {document_type}`
27
- - Example: `[Company-A-Service1] Requirements`
28
- - Example: `[{{PROJECT_ID}}] User Auth Design`
29
-
30
- ### JIRA Epic/Story
31
- - Epic: `[{projectName}] {feature_name}`
32
- - Story: `[{projectName}] {task_name}`
33
- - Example: `[{{PROJECT_ID}}] User Authentication Feature`
34
-
35
- ### GitHub Branches
36
- - Format: `{projectId}/feature/{feature_name}`
37
- - Example: `{{PROJECT_ID}}/feature/user-auth`
38
- - Example: `customer-a-service-1/feature/payment`
39
-
40
- ### Label Assignment
41
- - Confluence: `projectMeta.confluenceLabels` + `requirements|design|tasks`
42
- - JIRA: `projectMeta.confluenceLabels` + feature name
43
-
44
- ## Cross-Project Views
45
-
46
- ### Confluence Dashboard
47
- - Display requirements, design, tasks across all projects
48
- - Filter by labels
49
- - Filter by status (Pending Review, Approved)
50
-
51
- ### JIRA Dashboard
52
- - Track progress by project key
53
- - Filter: `project IN ({{JIRA_PROJECT_KEY}}, PRJA, PRJB)`
54
- - Aggregate story points
55
-
56
- ## Unified Workflow
57
-
58
- Use the same workflow across all projects:
59
-
60
- 1. `/michi:spec-init` → Specification initialization
61
- 2. `/michi:spec-requirements` → Requirements definition (Confluence sync)
62
- 3. `/michi:spec-design` → Design (Confluence sync + estimation)
63
- 4. `/michi:spec-tasks` → Task breakdown (JIRA integration)
64
- 5. `/michi:spec-impl` → TDD implementation
65
- 6. GitHub PR → Review
66
- 7. Release preparation
67
-
68
- ## Project Switching
69
-
70
- When switching between multiple projects:
71
-
72
- 1. Check out repository
73
- 2. Verify `.kiro/project.json`
74
- 3. Open corresponding Confluence/JIRA pages
75
-
76
- ## Important Notes
77
-
78
- - Maintain independent `.kiro/project.json` for each project
79
- - Ensure JIRA project keys are unique
80
- - Identify projects by Confluence labels
81
- - Include project ID in GitHub branch names
@@ -1,41 +0,0 @@
1
- # Gemini CLI Extensions for Michi
2
-
3
- This directory contains additional context and extensions for Gemini CLI when working with Michi projects.
4
-
5
- ## Directory Structure
6
-
7
- ```
8
- .gemini/
9
- ├── GEMINI.md # Main project context (auto-loaded)
10
- └── extensions/ # Additional extensions (optional)
11
- └── README.md # This file
12
- ```
13
-
14
- ## Usage
15
-
16
- Gemini CLI automatically loads `GEMINI.md` from the project root. Extensions in this directory can be loaded using `/directory add` command:
17
-
18
- ```
19
- /directory add .gemini/extensions
20
- ```
21
-
22
- ## Available Extensions
23
-
24
- Currently, Michi provides core principles in the main `GEMINI.md` file. Additional extensions can be added here for:
25
-
26
- - **atlassian-integration** - Confluence/JIRA integration patterns
27
- - **multi-project** - Multi-project management strategies
28
- - **custom-workflows** - Project-specific workflows
29
-
30
- ## Creating Custom Extensions
31
-
32
- To create a custom extension:
33
-
34
- 1. Create a new `.md` file in this directory
35
- 2. Add your context/rules in Markdown format
36
- 3. Load it in Gemini CLI: `/directory add .gemini/extensions/<your-file>.md`
37
-
38
- ## Learn More
39
-
40
- - Gemini CLI Documentation: https://geminicli.com/docs
41
- - Michi Documentation: https://github.com/sk8metalme/michi
@@ -1,80 +0,0 @@
1
- # Michi Core Principles for Gemini CLI
2
-
3
- ## Development Guidelines
4
- {{DEV_GUIDELINES}}
5
-
6
- ## Language
7
- All generated documents should be in: **{{LANG_CODE}}**
8
-
9
- Reference the language field in {{KIRO_DIR}}/project.json.
10
-
11
- ## Single Source of Truth (SSoT)
12
-
13
- ### GitHub as SSoT
14
- - **All specifications are managed in GitHub** ({{KIRO_DIR}}/specs/)
15
- - Confluence is **reference and approval only** (editing is GitHub only)
16
- - Avoid duplicate management
17
-
18
- ### Data Flow
19
- ```
20
- GitHub ({{KIRO_DIR}}/specs/) ← Source of truth (editable)
21
- ↓ sync
22
- Confluence ← Display and approval (read-only)
23
- ```
24
-
25
- ## Multi-Project Management
26
-
27
- ### Project Identification
28
- - All operations reference {{KIRO_DIR}}/project.json
29
- - Dynamically use project ID, JIRA key, Confluence labels
30
- - Project ID: {{PROJECT_ID}}
31
-
32
- ### Naming Conventions
33
-
34
- #### Confluence Pages
35
- - Format: `[{projectName}] {document_type}`
36
- - Example: `[{{PROJECT_ID}}] Requirements`
37
-
38
- #### JIRA Epic/Story
39
- - Format: `[{JIRA_KEY}] {title}`
40
- - Use project metadata from {{KIRO_DIR}}/project.json
41
-
42
- ## Project Structure
43
-
44
- - Project metadata: {{KIRO_DIR}}/project.json
45
- - Specifications: {{KIRO_DIR}}/specs/
46
- - Templates: {{KIRO_DIR}}/settings/templates/
47
- - Steering: {{KIRO_DIR}}/steering/
48
-
49
- ## Workflow Integration
50
-
51
- ### Spec Generation
52
- Use Gemini CLI to generate specifications in {{KIRO_DIR}}/specs/
53
-
54
- ### Git Integration
55
- ```bash
56
- # After spec generation
57
- git add {{KIRO_DIR}}/specs/
58
- git commit -m "docs: Add <feature> specification"
59
- git push
60
- ```
61
-
62
- ### Confluence Sync
63
- Sync GitHub specs to Confluence using Michi commands:
64
- ```bash
65
- # Example: Sync requirements
66
- npm run confluence:sync
67
- ```
68
-
69
- ## Best Practices
70
-
71
- 1. **Always reference project.json** for project-specific metadata
72
- 2. **Use SSoT principle** - Edit in GitHub, reference in Confluence
73
- 3. **Follow naming conventions** for consistency
74
- 4. **Generate specs incrementally** - Requirements → Design → Tasks
75
- 5. **Commit frequently** to GitHub
76
-
77
- ## Additional Context
78
-
79
- For Atlassian integration rules and multi-project management details,
80
- see extensions in {{KIRO_DIR}}/.gemini/extensions/