@sk8metal/michi-cli 0.0.7 → 0.0.9

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 (175) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +205 -11
  3. package/dist/scripts/__tests__/create-project.test.d.ts +2 -0
  4. package/dist/scripts/__tests__/create-project.test.d.ts.map +1 -0
  5. package/dist/scripts/__tests__/create-project.test.js +247 -0
  6. package/dist/scripts/__tests__/create-project.test.js.map +1 -0
  7. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts +2 -0
  8. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts.map +1 -0
  9. package/dist/scripts/__tests__/multi-project-estimate.test.js +119 -0
  10. package/dist/scripts/__tests__/multi-project-estimate.test.js.map +1 -0
  11. package/dist/scripts/__tests__/setup-existing-project.test.d.ts +2 -0
  12. package/dist/scripts/__tests__/setup-existing-project.test.d.ts.map +1 -0
  13. package/dist/scripts/__tests__/setup-existing-project.test.js +129 -0
  14. package/dist/scripts/__tests__/setup-existing-project.test.js.map +1 -0
  15. package/dist/scripts/__tests__/setup-interactive.test.d.ts +2 -0
  16. package/dist/scripts/__tests__/setup-interactive.test.d.ts.map +1 -0
  17. package/dist/scripts/__tests__/setup-interactive.test.js +160 -0
  18. package/dist/scripts/__tests__/setup-interactive.test.js.map +1 -0
  19. package/dist/scripts/config/default-config.json +57 -0
  20. package/dist/scripts/confluence-sync.d.ts +4 -0
  21. package/dist/scripts/confluence-sync.d.ts.map +1 -1
  22. package/dist/scripts/confluence-sync.js +12 -23
  23. package/dist/scripts/confluence-sync.js.map +1 -1
  24. package/dist/scripts/constants/__tests__/environments.test.d.ts +2 -0
  25. package/dist/scripts/constants/__tests__/environments.test.d.ts.map +1 -0
  26. package/dist/scripts/constants/__tests__/environments.test.js +91 -0
  27. package/dist/scripts/constants/__tests__/environments.test.js.map +1 -0
  28. package/dist/scripts/constants/__tests__/languages.test.d.ts +2 -0
  29. package/dist/scripts/constants/__tests__/languages.test.d.ts.map +1 -0
  30. package/dist/scripts/constants/__tests__/languages.test.js +82 -0
  31. package/dist/scripts/constants/__tests__/languages.test.js.map +1 -0
  32. package/dist/scripts/constants/environments.d.ts +33 -0
  33. package/dist/scripts/constants/environments.d.ts.map +1 -0
  34. package/dist/scripts/constants/environments.js +49 -0
  35. package/dist/scripts/constants/environments.js.map +1 -0
  36. package/dist/scripts/constants/languages.d.ts +23 -0
  37. package/dist/scripts/constants/languages.d.ts.map +1 -0
  38. package/dist/scripts/constants/languages.js +53 -0
  39. package/dist/scripts/constants/languages.js.map +1 -0
  40. package/dist/scripts/create-project.d.ts +4 -0
  41. package/dist/scripts/create-project.d.ts.map +1 -1
  42. package/dist/scripts/create-project.js +227 -137
  43. package/dist/scripts/create-project.js.map +1 -1
  44. package/dist/scripts/jira-sync.d.ts.map +1 -1
  45. package/dist/scripts/jira-sync.js +15 -0
  46. package/dist/scripts/jira-sync.js.map +1 -1
  47. package/dist/scripts/list-projects.d.ts.map +1 -1
  48. package/dist/scripts/list-projects.js +42 -15
  49. package/dist/scripts/list-projects.js.map +1 -1
  50. package/dist/scripts/multi-project-estimate.d.ts.map +1 -1
  51. package/dist/scripts/multi-project-estimate.js +56 -21
  52. package/dist/scripts/multi-project-estimate.js.map +1 -1
  53. package/dist/scripts/resource-dashboard.d.ts.map +1 -1
  54. package/dist/scripts/resource-dashboard.js +74 -17
  55. package/dist/scripts/resource-dashboard.js.map +1 -1
  56. package/dist/scripts/setup-existing-project.d.ts +3 -1
  57. package/dist/scripts/setup-existing-project.d.ts.map +1 -1
  58. package/dist/scripts/setup-existing-project.js +306 -217
  59. package/dist/scripts/setup-existing-project.js.map +1 -1
  60. package/dist/scripts/setup-interactive.d.ts +10 -0
  61. package/dist/scripts/setup-interactive.d.ts.map +1 -0
  62. package/dist/scripts/setup-interactive.js +413 -0
  63. package/dist/scripts/setup-interactive.js.map +1 -0
  64. package/dist/scripts/template/__tests__/renderer.test.d.ts +2 -0
  65. package/dist/scripts/template/__tests__/renderer.test.d.ts.map +1 -0
  66. package/dist/scripts/template/__tests__/renderer.test.js +165 -0
  67. package/dist/scripts/template/__tests__/renderer.test.js.map +1 -0
  68. package/dist/scripts/template/renderer.d.ts +70 -0
  69. package/dist/scripts/template/renderer.d.ts.map +1 -0
  70. package/dist/scripts/template/renderer.js +99 -0
  71. package/dist/scripts/template/renderer.js.map +1 -0
  72. package/dist/scripts/utils/__tests__/config-validator.test.js +5 -0
  73. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  74. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts +5 -0
  75. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts.map +1 -0
  76. package/dist/scripts/utils/__tests__/spec-updater.test.js +158 -0
  77. package/dist/scripts/utils/__tests__/spec-updater.test.js.map +1 -0
  78. package/dist/scripts/utils/confluence-hierarchy.d.ts +2 -1
  79. package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
  80. package/dist/scripts/utils/confluence-hierarchy.js +5 -0
  81. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
  82. package/dist/scripts/utils/project-finder.d.ts +30 -0
  83. package/dist/scripts/utils/project-finder.d.ts.map +1 -0
  84. package/dist/scripts/utils/project-finder.js +147 -0
  85. package/dist/scripts/utils/project-finder.js.map +1 -0
  86. package/dist/scripts/utils/spec-updater.d.ts +72 -0
  87. package/dist/scripts/utils/spec-updater.d.ts.map +1 -0
  88. package/dist/scripts/utils/spec-updater.js +141 -0
  89. package/dist/scripts/utils/spec-updater.js.map +1 -0
  90. package/dist/scripts/utils/template-finder.d.ts +37 -0
  91. package/dist/scripts/utils/template-finder.d.ts.map +1 -0
  92. package/dist/scripts/utils/template-finder.js +63 -0
  93. package/dist/scripts/utils/template-finder.js.map +1 -0
  94. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +5 -0
  95. package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts.map +1 -0
  96. package/dist/src/__tests__/integration/setup/claude-agent.test.js +125 -0
  97. package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +1 -0
  98. package/dist/src/__tests__/integration/setup/claude.test.d.ts +5 -0
  99. package/dist/src/__tests__/integration/setup/claude.test.d.ts.map +1 -0
  100. package/dist/src/__tests__/integration/setup/claude.test.js +111 -0
  101. package/dist/src/__tests__/integration/setup/claude.test.js.map +1 -0
  102. package/dist/src/__tests__/integration/setup/cursor.test.d.ts +5 -0
  103. package/dist/src/__tests__/integration/setup/cursor.test.d.ts.map +1 -0
  104. package/dist/src/__tests__/integration/setup/cursor.test.js +162 -0
  105. package/dist/src/__tests__/integration/setup/cursor.test.js.map +1 -0
  106. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts +32 -0
  107. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts.map +1 -0
  108. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js +72 -0
  109. package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js.map +1 -0
  110. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts +38 -0
  111. package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts.map +1 -0
  112. package/dist/src/__tests__/integration/setup/helpers/test-project.js +83 -0
  113. package/dist/src/__tests__/integration/setup/helpers/test-project.js.map +1 -0
  114. package/dist/src/__tests__/integration/setup/validation.test.d.ts +5 -0
  115. package/dist/src/__tests__/integration/setup/validation.test.d.ts.map +1 -0
  116. package/dist/src/__tests__/integration/setup/validation.test.js +318 -0
  117. package/dist/src/__tests__/integration/setup/validation.test.js.map +1 -0
  118. package/dist/src/cli.d.ts.map +1 -1
  119. package/dist/src/cli.js +20 -0
  120. package/dist/src/cli.js.map +1 -1
  121. package/dist/src/commands/setup-existing.d.ts +22 -0
  122. package/dist/src/commands/setup-existing.d.ts.map +1 -0
  123. package/dist/src/commands/setup-existing.js +408 -0
  124. package/dist/src/commands/setup-existing.js.map +1 -0
  125. package/dist/vitest.config.d.ts.map +1 -1
  126. package/dist/vitest.config.js +9 -6
  127. package/dist/vitest.config.js.map +1 -1
  128. package/docs/README.md +2 -2
  129. package/docs/contributing/development.md +37 -0
  130. package/docs/getting-started/{new-project-setup.md → new-repository-setup.md} +165 -38
  131. package/docs/getting-started/quick-start.md +57 -6
  132. package/docs/getting-started/setup.md +551 -180
  133. package/docs/guides/customization.md +4 -4
  134. package/docs/guides/multi-project.md +12 -9
  135. package/docs/reference/quick-reference.md +27 -18
  136. package/docs/testing/integration-tests.md +297 -0
  137. package/docs/testing-strategy.md +87 -0
  138. package/package.json +23 -6
  139. package/scripts/__tests__/create-project.test.ts +292 -0
  140. package/scripts/__tests__/multi-project-estimate.test.ts +145 -0
  141. package/scripts/__tests__/setup-existing-project.test.ts +147 -0
  142. package/scripts/__tests__/setup-interactive.test.ts +199 -0
  143. package/scripts/confluence-sync.ts +17 -29
  144. package/scripts/constants/__tests__/environments.test.ts +110 -0
  145. package/scripts/constants/__tests__/languages.test.ts +100 -0
  146. package/scripts/constants/environments.ts +61 -0
  147. package/scripts/constants/languages.ts +70 -0
  148. package/scripts/copy-static-assets.js +50 -0
  149. package/scripts/create-project.ts +251 -158
  150. package/scripts/jira-sync.ts +16 -1
  151. package/scripts/list-projects.ts +51 -24
  152. package/scripts/multi-project-estimate.ts +58 -22
  153. package/scripts/resource-dashboard.ts +91 -26
  154. package/scripts/setup-existing-project.ts +350 -230
  155. package/scripts/setup-existing.sh +159 -25
  156. package/scripts/setup-interactive.ts +565 -0
  157. package/scripts/template/__tests__/renderer.test.ts +207 -0
  158. package/scripts/template/renderer.ts +133 -0
  159. package/scripts/utils/__tests__/config-validator.test.ts +6 -0
  160. package/scripts/utils/__tests__/spec-updater.test.ts +220 -0
  161. package/scripts/utils/confluence-hierarchy.ts +7 -1
  162. package/scripts/utils/project-finder.ts +184 -0
  163. package/scripts/utils/spec-updater.ts +212 -0
  164. package/scripts/utils/template-finder.ts +75 -0
  165. package/templates/claude/commands/michi/confluence-sync.md +38 -0
  166. package/templates/claude/commands/michi/project-switch.md +36 -0
  167. package/templates/claude/rules/atlassian-integration.md +35 -0
  168. package/templates/claude/rules/michi-core.md +54 -0
  169. package/templates/claude-agent/README.md +25 -0
  170. package/templates/cursor/commands/michi/confluence-sync.md +76 -0
  171. package/templates/cursor/commands/michi/project-switch.md +69 -0
  172. package/templates/cursor/rules/atlassian-mcp.mdc +188 -0
  173. package/templates/cursor/rules/github-ssot.mdc +151 -0
  174. package/templates/cursor/rules/multi-project.mdc +81 -0
  175. package/scripts/setup-env.sh +0 -52
@@ -2,19 +2,143 @@
2
2
  #
3
3
  # 既存プロジェクトにMichiワークフローを追加(簡易版)
4
4
  #
5
+ # ⚠️ 非推奨: このスクリプトは非推奨です
6
+ # 代わりに以下を使用してください:
7
+ # npx @sk8metal/michi-cli setup-existing --cursor --lang ja
8
+ #
5
9
  # 使い方:
6
10
  # cd /path/to/existing-repo
7
- # bash /path/to/michi/scripts/setup-existing.sh
11
+ # bash /path/to/michi/scripts/setup-existing.sh [options]
12
+ #
13
+ # オプション:
14
+ # --claude Claude Code環境を使用(デフォルト)
15
+ # --claude-agent Claude Code Subagents環境を使用
16
+ # --cursor Cursor IDE環境を使用
17
+ # --lang <code> 言語コード(デフォルト: ja)
18
+ # --help ヘルプメッセージを表示
8
19
  #
9
20
 
10
21
  set -e
11
22
 
23
+ # 非推奨警告を表示
24
+ echo ""
25
+ echo "⚠️ Warning: This script is deprecated."
26
+ echo " Please use: npx @sk8metal/michi-cli setup-existing --cursor --lang ja"
27
+ echo ""
28
+ echo " Benefits of the new command:"
29
+ echo " - No git clone required"
30
+ echo " - Always uses the latest version"
31
+ echo " - Cross-platform support"
32
+ echo " - Templates included in NPM package"
33
+ echo ""
34
+ read -p "Continue with this deprecated script? [y/N]: " -n 1 -r
35
+ echo
36
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
37
+ echo "Cancelled. Please use: npx @sk8metal/michi-cli setup-existing"
38
+ exit 0
39
+ fi
40
+ echo ""
41
+
12
42
  # 色付きメッセージ
13
43
  GREEN='\033[0;32m'
14
44
  YELLOW='\033[1;33m'
15
45
  BLUE='\033[0;34m'
46
+ RED='\033[0;31m'
16
47
  NC='\033[0m' # No Color
17
48
 
49
+ # デフォルト値
50
+ ENVIRONMENT="claude"
51
+ LANG_CODE="ja"
52
+
53
+ # v0.0.9 サポート環境
54
+ SUPPORTED_ENVIRONMENTS=("claude" "claude-agent" "cursor")
55
+ # v0.0.9 サポート言語
56
+ SUPPORTED_LANGUAGES=("ja")
57
+
58
+ # ヘルプメッセージを表示
59
+ show_help() {
60
+ echo "Usage: bash setup-existing.sh [options]"
61
+ echo ""
62
+ echo "Options:"
63
+ echo " --claude Use Claude Code environment (default)"
64
+ echo " --claude-agent Use Claude Code Subagents environment"
65
+ echo " --cursor Use Cursor IDE environment"
66
+ echo " --lang <code> Language code (default: ja)"
67
+ echo " --help Show this help message"
68
+ echo ""
69
+ echo "Supported in v0.0.9:"
70
+ echo " Environments: claude, claude-agent, cursor"
71
+ echo " Languages: ja"
72
+ echo ""
73
+ echo "Examples:"
74
+ echo " bash setup-existing.sh # Default (Claude Code, Japanese)"
75
+ echo " bash setup-existing.sh --cursor # Cursor IDE, Japanese"
76
+ echo " bash setup-existing.sh --claude-agent --lang ja # Claude Subagents, Japanese"
77
+ }
78
+
79
+ # 環境のバリデーション
80
+ validate_environment() {
81
+ local env=$1
82
+ for supported in "${SUPPORTED_ENVIRONMENTS[@]}"; do
83
+ if [[ "$env" == "$supported" ]]; then
84
+ return 0
85
+ fi
86
+ done
87
+
88
+ echo -e "${RED}❌ Error: Environment '${env}' is not yet supported in v0.0.9${NC}"
89
+ echo "Supported environments: ${SUPPORTED_ENVIRONMENTS[*]}"
90
+ exit 1
91
+ }
92
+
93
+ # 言語のバリデーション
94
+ validate_language() {
95
+ local lang=$1
96
+ for supported in "${SUPPORTED_LANGUAGES[@]}"; do
97
+ if [[ "$lang" == "$supported" ]]; then
98
+ return 0
99
+ fi
100
+ done
101
+
102
+ echo -e "${RED}❌ Error: Language '${lang}' is not yet supported in v0.0.9${NC}"
103
+ echo "Supported languages: ${SUPPORTED_LANGUAGES[*]}"
104
+ exit 1
105
+ }
106
+
107
+ # 引数解析
108
+ while [[ $# -gt 0 ]]; do
109
+ case $1 in
110
+ --claude)
111
+ ENVIRONMENT="claude"
112
+ shift
113
+ ;;
114
+ --claude-agent)
115
+ ENVIRONMENT="claude-agent"
116
+ shift
117
+ ;;
118
+ --cursor)
119
+ ENVIRONMENT="cursor"
120
+ shift
121
+ ;;
122
+ --lang)
123
+ LANG_CODE="$2"
124
+ shift 2
125
+ ;;
126
+ --help)
127
+ show_help
128
+ exit 0
129
+ ;;
130
+ *)
131
+ echo -e "${RED}❌ Unknown option: $1${NC}"
132
+ echo "Run 'bash setup-existing.sh --help' for usage information."
133
+ exit 1
134
+ ;;
135
+ esac
136
+ done
137
+
138
+ # バリデーション
139
+ validate_environment "$ENVIRONMENT"
140
+ validate_language "$LANG_CODE"
141
+
18
142
  echo -e "${BLUE}🚀 既存プロジェクトにMichiワークフローを追加${NC}"
19
143
  echo ""
20
144
 
@@ -24,6 +148,8 @@ MICHI_PATH="$(cd "${SCRIPT_DIR}/.." && pwd)"
24
148
 
25
149
  echo -e "${BLUE}📂 Michiパス: ${MICHI_PATH}${NC}"
26
150
  echo -e "${BLUE}📂 現在のディレクトリ: $(pwd)${NC}"
151
+ echo -e "${BLUE}🔧 環境: ${ENVIRONMENT}${NC}"
152
+ echo -e "${BLUE}🌐 言語: ${LANG_CODE}${NC}"
27
153
  echo ""
28
154
 
29
155
  # プロジェクト情報を入力
@@ -74,7 +200,9 @@ echo -e "${BLUE}🔧 セットアップスクリプトを実行...${NC}"
74
200
  if ! npx tsx "${SETUP_SCRIPT}" \
75
201
  --michi-path "${MICHI_PATH}" \
76
202
  --project-name "${PROJECT_NAME}" \
77
- --jira-key "${JIRA_KEY}"; then
203
+ --jira-key "${JIRA_KEY}" \
204
+ --environment "${ENVIRONMENT}" \
205
+ --lang "${LANG_CODE}"; then
78
206
  echo ""
79
207
  echo -e "${YELLOW}❌ セットアップスクリプトが失敗しました${NC}"
80
208
  exit 1
@@ -87,28 +215,35 @@ echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━
87
215
  echo -e "${YELLOW}📋 次のステップ(重要)${NC}"
88
216
  echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
89
217
  echo ""
90
- echo -e "${YELLOW}Step 1: 認証情報の設定 (.env ファイル編集)${NC}"
91
- echo " ファイル: $(pwd)/.env"
92
- echo ""
93
- echo " ${BLUE}🔑 Atlassian API トークンの取得:${NC}"
94
- echo " 1. Atlassian アカウントにログイン"
95
- echo " 2. https://id.atlassian.com/manage-profile/security/api-tokens にアクセス"
96
- echo " 3. 「APIトークンを作成」をクリック"
97
- echo " 4. ラベルを入力(例: Michi Workflow)して作成"
98
- echo " 5. 生成されたトークンをコピー(※一度しか表示されません)"
99
- echo ""
100
- echo " ${BLUE}🔑 GitHub Personal Access Token の取得:${NC}"
101
- echo " 1. GitHub にログイン"
102
- echo " 2. https://github.com/settings/tokens にアクセス"
103
- echo " 3. 「Generate new token (classic)」をクリック"
104
- echo " 4. スコープを選択: repo, workflow, read:org"
105
- echo " 5. 「Generate token」をクリックしてトークンをコピー"
106
- echo ""
107
- echo " ${GREEN}編集例:${NC}"
108
- echo " ATLASSIAN_URL=https://your-domain.atlassian.net"
109
- echo " ATLASSIAN_EMAIL=your-email@company.com"
110
- echo " ATLASSIAN_API_TOKEN=<上記で取得したトークン>"
111
- echo " GITHUB_TOKEN=ghp_xxxxxxxxxxxxx"
218
+ echo -e "${YELLOW}Step 1: 認証情報の設定${NC}"
219
+ echo ""
220
+ echo " ${BLUE}方法A: 対話的設定ツールを使用(推奨)${NC}"
221
+ echo " ${GREEN}$ npm run setup:interactive${NC}"
222
+ echo " または"
223
+ echo " ${GREEN}$ npx tsx ${MICHI_PATH}/scripts/setup-interactive.ts${NC}"
224
+ echo ""
225
+ echo " ${BLUE}方法B: 手動で.envファイルを編集${NC}"
226
+ echo " ファイル: $(pwd)/.env"
227
+ echo ""
228
+ echo " ${BLUE}🔑 Atlassian API トークンの取得:${NC}"
229
+ echo " 1. Atlassian アカウントにログイン"
230
+ echo " 2. https://id.atlassian.com/manage-profile/security/api-tokens にアクセス"
231
+ echo " 3. 「APIトークンを作成」をクリック"
232
+ echo " 4. ラベルを入力(例: Michi Workflow)して作成"
233
+ echo " 5. 生成されたトークンをコピー(※一度しか表示されません)"
234
+ echo ""
235
+ echo " ${BLUE}🔑 GitHub Personal Access Token の取得:${NC}"
236
+ echo " 1. GitHub にログイン"
237
+ echo " 2. https://github.com/settings/tokens にアクセス"
238
+ echo " 3. 「Generate new token (classic)」をクリック"
239
+ echo " 4. スコープを選択: repo, workflow, read:org"
240
+ echo " 5. 「Generate token」をクリックしてトークンをコピー"
241
+ echo ""
242
+ echo " ${GREEN}編集例:${NC}"
243
+ echo " ATLASSIAN_URL=https://your-domain.atlassian.net"
244
+ echo " ATLASSIAN_EMAIL=your-email@company.com"
245
+ echo " ATLASSIAN_API_TOKEN=<上記で取得したトークン>"
246
+ echo " GITHUB_TOKEN=ghp_xxxxxxxxxxxxx"
112
247
  echo ""
113
248
  echo -e "${YELLOW}Step 2: 依存パッケージのインストール${NC}"
114
249
  echo " ${GREEN}$ npm install${NC}"
@@ -142,4 +277,3 @@ echo " - クイックリファレンス: ${MICHI_PATH}/docs/quick-reference.md
142
277
  echo ""
143
278
  echo -e "${GREEN}✨ 準備完了!開発を始めましょう!${NC}"
144
279
  echo ""
145
-