@einja/dev-cli 0.1.40 → 0.1.44

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 (207) hide show
  1. package/README.md +89 -1
  2. package/dist/cli.js +1 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +71 -1
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/list.js.map +1 -1
  8. package/dist/commands/sync.d.ts.map +1 -1
  9. package/dist/commands/sync.js +187 -13
  10. package/dist/commands/sync.js.map +1 -1
  11. package/dist/commands/task-loop/lib/github-client.test.js.map +1 -1
  12. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +2 -2
  13. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js.map +1 -1
  14. package/dist/lib/dependency-checker.d.ts.map +1 -1
  15. package/dist/lib/merger.d.ts +12 -0
  16. package/dist/lib/merger.d.ts.map +1 -1
  17. package/dist/lib/merger.js +28 -0
  18. package/dist/lib/merger.js.map +1 -1
  19. package/dist/lib/preset-update/cli-repo-detector.d.ts.map +1 -1
  20. package/dist/lib/preset-update/file-copier.d.ts.map +1 -1
  21. package/dist/lib/preset-update/file-copier.js +3 -3
  22. package/dist/lib/preset-update/file-copier.js.map +1 -1
  23. package/dist/lib/preset-update/preset-finder.d.ts.map +1 -1
  24. package/dist/lib/preset.d.ts.map +1 -1
  25. package/dist/lib/sync/category-validator.d.ts +1 -1
  26. package/dist/lib/sync/category-validator.d.ts.map +1 -1
  27. package/dist/lib/sync/category-validator.js +2 -1
  28. package/dist/lib/sync/category-validator.js.map +1 -1
  29. package/dist/lib/sync/category-validator.test.js +3 -1
  30. package/dist/lib/sync/category-validator.test.js.map +1 -1
  31. package/dist/lib/sync/conflict-reporter.d.ts.map +1 -1
  32. package/dist/lib/sync/diff-engine.d.ts.map +1 -1
  33. package/dist/lib/sync/file-filter.d.ts.map +1 -1
  34. package/dist/lib/sync/file-filter.js +1 -0
  35. package/dist/lib/sync/file-filter.js.map +1 -1
  36. package/dist/lib/sync/integration.test.js +255 -69
  37. package/dist/lib/sync/integration.test.js.map +1 -1
  38. package/dist/lib/sync/json-processor.d.ts +4 -4
  39. package/dist/lib/sync/json-processor.d.ts.map +1 -1
  40. package/dist/lib/sync/json-processor.js +11 -11
  41. package/dist/lib/sync/json-processor.js.map +1 -1
  42. package/dist/lib/sync/marker-processor.d.ts +60 -8
  43. package/dist/lib/sync/marker-processor.d.ts.map +1 -1
  44. package/dist/lib/sync/marker-processor.js +117 -26
  45. package/dist/lib/sync/marker-processor.js.map +1 -1
  46. package/dist/lib/sync/marker-processor.test.js +261 -40
  47. package/dist/lib/sync/marker-processor.test.js.map +1 -1
  48. package/dist/lib/sync/metadata-manager.d.ts +4 -0
  49. package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
  50. package/dist/lib/sync/metadata-manager.js +15 -0
  51. package/dist/lib/sync/metadata-manager.js.map +1 -1
  52. package/dist/lib/sync/metadata-manager.test.js +69 -0
  53. package/dist/lib/sync/metadata-manager.test.js.map +1 -1
  54. package/dist/lib/sync/orphan-cleaner.d.ts +29 -0
  55. package/dist/lib/sync/orphan-cleaner.d.ts.map +1 -0
  56. package/dist/lib/sync/orphan-cleaner.js +80 -0
  57. package/dist/lib/sync/orphan-cleaner.js.map +1 -0
  58. package/dist/lib/sync/orphan-cleaner.test.d.ts +2 -0
  59. package/dist/lib/sync/orphan-cleaner.test.d.ts.map +1 -0
  60. package/dist/lib/sync/orphan-cleaner.test.js +169 -0
  61. package/dist/lib/sync/orphan-cleaner.test.js.map +1 -0
  62. package/dist/lib/sync/project-private-synchronizer.d.ts +52 -0
  63. package/dist/lib/sync/project-private-synchronizer.d.ts.map +1 -0
  64. package/dist/lib/sync/project-private-synchronizer.js +110 -0
  65. package/dist/lib/sync/project-private-synchronizer.js.map +1 -0
  66. package/dist/lib/sync/project-private-synchronizer.test.d.ts +2 -0
  67. package/dist/lib/sync/project-private-synchronizer.test.d.ts.map +1 -0
  68. package/dist/lib/sync/project-private-synchronizer.test.js +348 -0
  69. package/dist/lib/sync/project-private-synchronizer.test.js.map +1 -0
  70. package/dist/types/index.d.ts +1 -0
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/sync.d.ts +36 -6
  73. package/dist/types/sync.d.ts.map +1 -1
  74. package/dist/types/sync.js +2 -2
  75. package/dist/types/sync.js.map +1 -1
  76. package/package.json +5 -4
  77. package/presets/default/.claude/agents/einja/Explore.md +140 -0
  78. package/presets/default/.claude/agents/einja/backend-architect.md +21 -1
  79. package/presets/default/.claude/agents/einja/codex-agent.md +5 -1
  80. package/presets/default/.claude/agents/einja/design-engineer.md +5 -1
  81. package/presets/default/.claude/agents/einja/docs/docs-updater.md +7 -93
  82. package/presets/default/.claude/agents/einja/frontend-architect.md +21 -1
  83. package/presets/default/.claude/agents/einja/frontend-coder.md +5 -1
  84. package/presets/default/.claude/agents/einja/{specs/spec-design-generator.md → issue-specs/design-generator.md} +16 -8
  85. package/presets/default/.claude/agents/einja/{specs/spec-qa-generator.md → issue-specs/qa-generator.md} +10 -4
  86. package/presets/default/.claude/agents/einja/{specs/spec-requirements-generator.md → issue-specs/requirements-generator.md} +9 -6
  87. package/presets/default/.claude/agents/einja/{specs/spec-tasks-generator.md → issue-specs/tasks-generator.md} +19 -16
  88. package/presets/default/.claude/agents/einja/{specs/spec-tasks-validator.md → issue-specs/tasks-validator.md} +13 -9
  89. package/presets/default/.claude/agents/einja/issue-specs/ui-design-generator.md +114 -0
  90. package/presets/default/.claude/agents/einja/task/task-executer.md +64 -116
  91. package/presets/default/.claude/agents/einja/task/task-modification-analyzer.md +6 -2
  92. package/presets/default/.claude/agents/einja/task/task-qa.md +7 -3
  93. package/presets/default/.claude/agents/einja/task/task-reviewer.md +17 -1
  94. package/presets/default/.claude/commands/einja/einja-sync.md +124 -45
  95. package/presets/default/.claude/commands/einja/frontend-implement.md +3 -1
  96. package/presets/default/.claude/commands/einja/issue-exec.md +413 -0
  97. package/presets/default/.claude/commands/einja/start-dev.md +4 -0
  98. package/presets/default/.claude/commands/einja/sync-cursor-commands.md +10 -6
  99. package/presets/default/.claude/commands/einja/{update-docs-by-task-specs.md → update-docs-by-issue-specs.md} +61 -57
  100. package/presets/default/.claude/hooks/einja/plan-mode-skill-loader.sh +27 -0
  101. package/presets/default/.claude/settings.json +29 -5
  102. package/presets/default/.claude/skills/{einja-general-context-loader → _einja-general-context-loader}/SKILL.md +6 -2
  103. package/presets/default/.claude/skills/{einja-output-format → _einja-output-format}/SKILL.md +5 -1
  104. package/presets/default/.claude/skills/_einja-project-overview/SKILL.md +29 -0
  105. package/presets/default/.claude/skills/{einja-spec-context-loader → _einja-spec-context-loader}/SKILL.md +9 -5
  106. package/presets/default/.claude/skills/einja-coding-standards/references/testing-strategy.md +899 -0
  107. package/presets/default/.claude/skills/einja-conflict-resolver/SKILL.md +5 -1
  108. package/presets/default/.claude/skills/einja-create-pr/SKILL.md +138 -0
  109. package/presets/default/.claude/skills/einja-infra-maintenance/SKILL.md +779 -0
  110. package/presets/default/.claude/{commands/einja/spec-create.md → skills/einja-issue-spec-create/SKILL.md} +60 -23
  111. package/presets/default/.claude/skills/einja-issue-spec-generator/SKILL.md +105 -0
  112. package/presets/default/.claude/skills/einja-issue-spec-generator/references/format-rules.md +35 -0
  113. package/presets/default/.claude/skills/einja-issue-spec-validator/SKILL.md +130 -0
  114. package/presets/default/.claude/skills/einja-issue-spec-validator/references/validation-rules.md +52 -0
  115. package/presets/default/.claude/skills/einja-npm-release/SKILL.md +242 -0
  116. package/presets/default/.claude/skills/einja-skill-creator/SKILL.md +311 -263
  117. package/presets/default/.claude/skills/einja-skill-creator/agents/analyzer.md +274 -0
  118. package/presets/default/.claude/skills/einja-skill-creator/agents/comparator.md +202 -0
  119. package/presets/default/.claude/skills/einja-skill-creator/agents/grader.md +195 -0
  120. package/presets/default/.claude/skills/einja-skill-creator/assets/eval_review.html +146 -0
  121. package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/generate_review.py +471 -0
  122. package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/viewer.html +1325 -0
  123. package/presets/default/.claude/skills/einja-skill-creator/references/schemas.md +430 -0
  124. package/presets/default/.claude/skills/einja-skill-creator/scripts/aggregate_benchmark.py +401 -0
  125. package/presets/default/.claude/skills/einja-skill-creator/scripts/compare_runs.py +154 -0
  126. package/presets/default/.claude/skills/einja-skill-creator/scripts/generate_report.py +272 -0
  127. package/presets/default/.claude/skills/einja-skill-creator/scripts/improve_description.py +247 -0
  128. package/presets/default/.claude/skills/einja-skill-creator/scripts/init_skill.py +13 -19
  129. package/presets/default/.claude/skills/einja-skill-creator/scripts/package_skill.py +36 -7
  130. package/presets/default/.claude/skills/einja-skill-creator/scripts/run_eval.py +310 -0
  131. package/presets/default/.claude/skills/einja-skill-creator/scripts/run_loop.py +375 -0
  132. package/presets/default/.claude/skills/einja-skill-creator/scripts/utils.py +48 -0
  133. package/presets/default/.claude/skills/einja-skill-first/SKILL.md +265 -0
  134. package/presets/default/.claude/skills/einja-subagent-question-protocol/SKILL.md +98 -0
  135. package/presets/default/.claude/skills/einja-task-commit/SKILL.md +11 -7
  136. package/presets/default/.claude/{commands/einja/task-exec.md → skills/einja-task-exec/SKILL.md} +106 -89
  137. package/presets/default/.claude/skills/einja-task-qa/SKILL.md +8 -4
  138. package/presets/default/.claude/skills/einja-task-qa/references/troubleshooting.md +1 -1
  139. package/presets/default/.claude/skills/einja-task-qa/references/usage-patterns.md +2 -2
  140. package/presets/default/.claude/skills/einja-team-exec/SKILL.md +165 -0
  141. package/presets/default/.envrc +5 -0
  142. package/presets/default/.mcp.json +2 -12
  143. package/presets/default/CLAUDE.md.template +45 -8
  144. package/presets/default/docs/einja/example/specs/issues/issue999-example-task/tasks.md +1 -1
  145. package/presets/default/docs/einja/instructions/deployment-setup.md +4 -9
  146. package/presets/default/docs/einja/instructions/environment-setup.md +3 -8
  147. package/presets/default/docs/einja/instructions/issue-exec-workflow.md +276 -0
  148. package/presets/default/docs/einja/instructions/local-server-environment-and-worktree.md +71 -9
  149. package/presets/default/docs/einja/instructions/neon-cli-reference.md +3 -8
  150. package/presets/default/docs/einja/instructions/setup-flow.md +279 -0
  151. package/presets/default/docs/einja/instructions/task-execute.md +63 -68
  152. package/presets/default/docs/einja/instructions/vercel-cli-reference.md +17 -10
  153. package/presets/default/docs/einja/steering/README.md +11 -11
  154. package/presets/default/docs/einja/steering/acceptance-criteria-and-qa-guide.md +4 -9
  155. package/presets/default/docs/einja/steering/architecture.md +3 -8
  156. package/presets/default/docs/einja/steering/branch-strategy.md +63 -70
  157. package/presets/default/docs/einja/steering/commit-rules.md +3 -8
  158. package/presets/default/docs/einja/steering/db-schema-design.md +3 -8
  159. package/presets/default/docs/einja/steering/development/api-development.md +3 -8
  160. package/presets/default/docs/einja/steering/development/backend-architecture.md +3 -8
  161. package/presets/default/docs/einja/steering/development/coding-standards.md +723 -0
  162. package/presets/default/docs/einja/steering/development/component-design.md +502 -0
  163. package/presets/default/docs/einja/steering/development/database-guidelines.md +2 -2
  164. package/presets/default/docs/einja/steering/development/frontend-development.md +3 -8
  165. package/presets/default/docs/einja/steering/development/playwright-guidelines.md +59 -0
  166. package/presets/default/docs/einja/steering/development/review-guidelines.md +3 -8
  167. package/presets/default/docs/einja/steering/development/testing-strategy.md +3 -8
  168. package/presets/default/docs/einja/steering/development-workflow.md +155 -140
  169. package/presets/default/docs/einja/steering/infrastructure/deployment.md +156 -55
  170. package/presets/default/docs/einja/steering/infrastructure/environment-variables.md +4 -8
  171. package/presets/default/docs/einja/steering/product.md +3 -8
  172. package/presets/default/docs/einja/steering/task-management.md +22 -110
  173. package/presets/default/scripts/ensure-serena.sh +75 -0
  174. package/presets/default/scripts/env-rotate-secrets.ts +396 -0
  175. package/presets/default/scripts/env-show.ts +130 -0
  176. package/presets/default/scripts/env.ts +479 -0
  177. package/presets/default/scripts/init-github.ts +363 -0
  178. package/presets/default/scripts/init.sh +98 -0
  179. package/presets/default/scripts/lib/env-common.ts +108 -0
  180. package/presets/default/scripts/lib/worktree-config.ts +64 -0
  181. package/presets/default/scripts/setup-dev.ts +655 -0
  182. package/presets/default/scripts/stop-serena.sh +25 -0
  183. package/presets/default/scripts/worktree/dev.ts +872 -0
  184. package/dist/lib/sync/seed-synchronizer.d.ts +0 -27
  185. package/dist/lib/sync/seed-synchronizer.d.ts.map +0 -1
  186. package/dist/lib/sync/seed-synchronizer.js +0 -72
  187. package/dist/lib/sync/seed-synchronizer.js.map +0 -1
  188. package/dist/lib/sync/seed-synchronizer.test.d.ts +0 -2
  189. package/dist/lib/sync/seed-synchronizer.test.d.ts.map +0 -1
  190. package/dist/lib/sync/seed-synchronizer.test.js +0 -147
  191. package/dist/lib/sync/seed-synchronizer.test.js.map +0 -1
  192. package/presets/default/.claude/agents/einja/git/conflict-resolver.md +0 -148
  193. package/presets/default/.claude/hooks/einja/validate-git-commit.sh +0 -239
  194. package/presets/default/.claude/skills/einja-api-development/SKILL.md +0 -14
  195. package/presets/default/.claude/skills/einja-backend-architecture/SKILL.md +0 -18
  196. package/presets/default/.claude/skills/einja-coding-standards/SKILL.md +0 -132
  197. package/presets/default/.claude/skills/einja-coding-standards/references/import-conventions.md +0 -69
  198. package/presets/default/.claude/skills/einja-coding-standards/references/naming-conventions.md +0 -107
  199. package/presets/default/.claude/skills/einja-coding-standards/references/prohibited-patterns.md +0 -169
  200. package/presets/default/.claude/skills/einja-coding-standards/references/typescript-rules.md +0 -247
  201. package/presets/default/.claude/skills/einja-component-design/SKILL.md +0 -109
  202. package/presets/default/.claude/skills/einja-component-design/references/directory-structure.md +0 -117
  203. package/presets/default/.claude/skills/einja-component-design/references/props-patterns.md +0 -159
  204. package/presets/default/.claude/skills/einja-component-design/references/styling-guide.md +0 -122
  205. package/presets/default/.claude/skills/einja-frontend-development/SKILL.md +0 -14
  206. package/presets/default/.claude/skills/einja-project-overview/SKILL.md +0 -35
  207. package/presets/default/docs/einja/instructions/task-vibe-kanban-loop.md +0 -565
@@ -0,0 +1,242 @@
1
+ ---
2
+ name: einja-npm-release
3
+ description: "NPMパッケージ(@einja/dev-cli、create-einja-app)の変更検出・ビルド・テスト・リリースを統合的に実行するSkill。公開、リリース、publish、releaseが必要な場合に使用。"
4
+ user-invocable: true
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - Glob
9
+ - Grep
10
+ - AskUserQuestion
11
+ - TodoWrite
12
+ - TodoRead
13
+ - Task
14
+ - MCPSearch
15
+ ---
16
+
17
+ # einja-npm-release Skill: NPM パッケージ統合リリースエンジン
18
+
19
+ ## 役割
20
+
21
+ モノレポ内のNPMパッケージ(`@einja/dev-cli`、`create-einja-app`)の変更を自動検出し、ビルド・テスト・NPM公開を統合的に実行します。
22
+
23
+ ## パッケージ定義テーブル
24
+
25
+ | キー | `@einja/dev-cli` | `create-einja-app` |
26
+ |------|-------------|-------------------|
27
+ | path | `packages/cli` | `packages/create-einja-app` |
28
+ | pnpm filter | `@einja/dev-cli` | `create-einja-app` |
29
+ | workflow | `release-cli.yml` | `release-create-einja-app.yml` |
30
+ | tag prefix | `cli-v` | `create-einja-app-v` |
31
+ | commit scope | `cli` | `create-einja-app` |
32
+ | build/test | build, test, typecheck | build, test, typecheck, lint |
33
+
34
+ ## 参照ドキュメント
35
+
36
+ - `packages/cli/RELEASING.md` - @einja/dev-cli リリース手順、トラブルシューティング、NPM_TOKEN設定方法
37
+ - `packages/create-einja-app/RELEASING.md` - create-einja-app リリース手順
38
+
39
+ ## 実行手順
40
+
41
+ ### Step 1: 前提条件の確認
42
+
43
+ ```bash
44
+ git branch --show-current # mainブランチであること
45
+ git status --porcelain # 未コミット変更の確認
46
+ ```
47
+
48
+ #### 未コミット変更がある場合
49
+
50
+ **AskUserQuestion**で対処方法を確認:
51
+
52
+ - **コミットしてからリリース**: 全ての変更をコミット・プッシュ後にリリース
53
+ - **スタッシュしてリリース**: 変更を一時退避してリリース後に復元
54
+ - **そのままリリース**: 未コミット変更は放置し、**package.jsonのバージョン更新のみ**コミットしてリリース
55
+
56
+ ### Step 2: 変更パッケージの自動検出
57
+
58
+ 各パッケージについて、最新タグからの差分を検出:
59
+
60
+ ```bash
61
+ # @einja/dev-cli: 最新タグ取得
62
+ git tag --list 'cli-v*' --sort=-version:refname | head -1
63
+
64
+ # create-einja-app: 最新タグ取得
65
+ git tag --list 'create-einja-app-v*' --sort=-version:refname | head -1
66
+
67
+ # 各パッケージの差分をチェック
68
+ git diff --name-only {latest_tag}..HEAD -- packages/cli/
69
+ git diff --name-only {latest_tag}..HEAD -- packages/create-einja-app/
70
+ ```
71
+
72
+ 結果をテーブル表示:
73
+
74
+ ```markdown
75
+ | パッケージ | 現バージョン | 最新タグ | 変更ファイル数 |
76
+ |-----------|------------|---------|-------------|
77
+ | @einja/dev-cli | x.y.z | cli-vx.y.z | N |
78
+ | create-einja-app | x.y.z | create-einja-app-vx.y.z | M |
79
+ ```
80
+
81
+ ### Step 3: リリース対象の確認
82
+
83
+ **AskUserQuestion** で確認:
84
+
85
+ #### 両方に変更がある場合
86
+
87
+ ```yaml
88
+ question: "どのパッケージをリリースしますか?"
89
+ header: "リリース対象"
90
+ options:
91
+ - label: "両方リリース(推奨)"
92
+ description: "@einja/dev-cli (変更N件) と create-einja-app (変更M件) の両方をリリース"
93
+ - label: "@einja/dev-cli のみ"
94
+ description: "@einja/dev-cli のみリリース"
95
+ - label: "create-einja-app のみ"
96
+ description: "create-einja-app のみリリース"
97
+ ```
98
+
99
+ #### 片方のみ変更がある場合
100
+
101
+ ```yaml
102
+ question: "{パッケージ名} に変更があります。リリースしますか?"
103
+ header: "リリース確認"
104
+ options:
105
+ - label: "はい"
106
+ description: "{パッケージ名} をリリースする"
107
+ - label: "いいえ"
108
+ description: "リリースをキャンセル"
109
+ ```
110
+
111
+ **注**: 変更がない場合でも「Other」選択肢でリリースできる。
112
+
113
+ ### Step 4: バージョン種別の決定
114
+
115
+ 対象パッケージごとに**AskUserQuestion**:
116
+
117
+ ```yaml
118
+ question: "{パッケージ名} のバージョン種別を選択してください(現在: v{current})"
119
+ header: "バージョン"
120
+ options:
121
+ - label: "patch(推奨)"
122
+ description: "バグ修正・軽微な改善"
123
+ - label: "minor"
124
+ description: "後方互換性のある機能追加"
125
+ - label: "major"
126
+ description: "破壊的変更"
127
+ ```
128
+
129
+ 複数パッケージの場合、順番に確認。
130
+
131
+ ### Step 5: ビルド・テスト
132
+
133
+ 対象パッケージごとに実行(並列実行可能):
134
+
135
+ ```bash
136
+ # @einja/dev-cli
137
+ pnpm --filter @einja/dev-cli build && pnpm --filter @einja/dev-cli test && pnpm --filter @einja/dev-cli typecheck
138
+
139
+ # create-einja-app
140
+ pnpm -F create-einja-app build && pnpm -F create-einja-app test && pnpm -F create-einja-app typecheck && pnpm -F create-einja-app lint
141
+ ```
142
+
143
+ ### Step 6: バージョン更新・コミット・プッシュ
144
+
145
+ **順次実行**(gitコミットは直列化が必要)。全パッケージ統一で `--no-git-tag-version` + 手動タグ方式:
146
+
147
+ ```bash
148
+ # 1. バージョン更新(タグなし)
149
+ npm version {type} --no-git-tag-version --prefix {path}
150
+
151
+ # 2. package.jsonのみコミット
152
+ git add {path}/package.json
153
+ git commit -m "chore({scope}): v{version}にバージョンアップ"
154
+
155
+ # 3. タグ作成
156
+ git tag {tag_prefix}{version}
157
+ ```
158
+
159
+ 全パッケージ分のコミット・タグ作成が完了してから一括プッシュ:
160
+
161
+ ```bash
162
+ git push origin main
163
+ git push origin {tag1}
164
+ git push origin {tag2} # 2パッケージの場合
165
+ ```
166
+
167
+ task-committer には委託しない(全変更をコミットしてしまうため)。
168
+
169
+ ### Step 7: GitHub Actions 監視・自律修正
170
+
171
+ 対象パッケージごとにワークフローを監視(並列監視可能):
172
+
173
+ #### 7.1 監視ループ
174
+
175
+ ```bash
176
+ # 最新のワークフロー実行を取得
177
+ gh run list --workflow={workflow} --limit=1 --json databaseId,status,conclusion
178
+ ```
179
+
180
+ - `status: in_progress` → 30秒待機して再確認
181
+ - `status: completed, conclusion: success` → 成功、Step 8へ
182
+ - `status: completed, conclusion: failure` → 失敗、7.2へ
183
+
184
+ #### 7.2 失敗時の原因特定
185
+
186
+ ```bash
187
+ gh run view {run_id} --log-failed
188
+ ```
189
+
190
+ #### 7.3 原因別の自律修正
191
+
192
+ | 原因 | 対処 |
193
+ |------|------|
194
+ | ビルドエラー | コードを修正 |
195
+ | テストエラー | テストを修正 |
196
+ | NPM_TOKEN エラー | ユーザーに設定確認を依頼して終了 |
197
+ | バージョン重複 | 次のpatchバージョンで再実行 |
198
+
199
+ #### 7.4 修正後の再リリース
200
+
201
+ **重要**: 同じタグ名は使えないため、バージョンを上げて再リリース
202
+
203
+ ```bash
204
+ # 1. 修正をコミット
205
+ git add {修正ファイル}
206
+ git commit -m "fix({scope}): CIエラーを修正"
207
+
208
+ # 2. 新しいバージョンに更新
209
+ npm version patch --no-git-tag-version --prefix {path}
210
+
211
+ # 3. バージョン更新をコミット
212
+ git add {path}/package.json
213
+ git commit -m "chore({scope}): v{new_version}にバージョンアップ"
214
+
215
+ # 4. 新しいタグを作成・プッシュ
216
+ git tag {tag_prefix}{new_version}
217
+ git push origin main
218
+ git push origin {tag_prefix}{new_version}
219
+ ```
220
+
221
+ #### 7.5 リトライ制限
222
+
223
+ 最大3回まで自動リトライ。3回失敗したらユーザーに報告して終了。
224
+
225
+ ### Step 8: 完了報告
226
+
227
+ ```markdown
228
+ ## 📦 NPM パッケージリリース完了
229
+
230
+ | パッケージ | バージョン | タグ | Actions |
231
+ |-----------|----------|-----|---------|
232
+ | @einja/dev-cli | {old} → {new} | cli-v{version} | ✅ |
233
+ | create-einja-app | {old} → {new} | create-einja-app-v{version} | ✅ |
234
+
235
+ ### 確認コマンド
236
+ npm view @einja/dev-cli
237
+ npm view create-einja-app
238
+ ```
239
+
240
+ ---
241
+
242
+ **最終更新**: 2026-03-04