create-einja-app 0.1.1

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 (235) hide show
  1. package/README.md +307 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +1041 -0
  4. package/dist/cli.js.map +1 -0
  5. package/package.json +62 -0
  6. package/templates/turborepo-pandacss/.biomeignore +15 -0
  7. package/templates/turborepo-pandacss/.claude/hooks/einja/biome-format.sh +49 -0
  8. package/templates/turborepo-pandacss/.claude/hooks/einja/design-doc-check.sh +61 -0
  9. package/templates/turborepo-pandacss/.claude/hooks/einja/detect-secrets.sh +62 -0
  10. package/templates/turborepo-pandacss/.claude/hooks/einja/large-file-warning.sh +42 -0
  11. package/templates/turborepo-pandacss/.claude/hooks/einja/playwright-resize.sh +36 -0
  12. package/templates/turborepo-pandacss/.claude/hooks/einja/typecheck.sh +37 -0
  13. package/templates/turborepo-pandacss/.claude/hooks/einja/unset-volta-recursion.sh +32 -0
  14. package/templates/turborepo-pandacss/.claude/hooks/einja/validate-git-commit.sh +239 -0
  15. package/templates/turborepo-pandacss/.claude/hooks/einja/warn-index-ts.sh +34 -0
  16. package/templates/turborepo-pandacss/.claude/hooks/einja/warn-relative-import.sh +48 -0
  17. package/templates/turborepo-pandacss/.claude/settings.json +174 -0
  18. package/templates/turborepo-pandacss/.claude/skills/create-einja-app-release/SKILL.md +186 -0
  19. package/templates/turborepo-pandacss/.claude/skills/dev-cli-release/SKILL.md +173 -0
  20. package/templates/turborepo-pandacss/.cursor/commands/spec-create.md +227 -0
  21. package/templates/turborepo-pandacss/.cursor/commands/start-dev.md +98 -0
  22. package/templates/turborepo-pandacss/.cursor/commands/task-exec.md +287 -0
  23. package/templates/turborepo-pandacss/.cursor/commands/task-vibe-kanban-loop.md +532 -0
  24. package/templates/turborepo-pandacss/.cursor/commands/update-docs-by-task-specs.md +448 -0
  25. package/templates/turborepo-pandacss/.cursor/mcp.json +45 -0
  26. package/templates/turborepo-pandacss/.cursor/rules/api-rules.mdc +171 -0
  27. package/templates/turborepo-pandacss/.cursor/rules/api-test-rules.mdc +181 -0
  28. package/templates/turborepo-pandacss/.cursor/rules/base-code.mdc +70 -0
  29. package/templates/turborepo-pandacss/.cursor/rules/base-commit-rules.mdc +174 -0
  30. package/templates/turborepo-pandacss/.cursor/rules/base-design.mdc +12 -0
  31. package/templates/turborepo-pandacss/.cursor/rules/base-rules.mdc +231 -0
  32. package/templates/turborepo-pandacss/.cursor/rules/error-handling-rules.mdc +188 -0
  33. package/templates/turborepo-pandacss/.cursor/rules/refactor-rules.mdc +93 -0
  34. package/templates/turborepo-pandacss/.dockerignore +126 -0
  35. package/templates/turborepo-pandacss/.einja-sync.json +35 -0
  36. package/templates/turborepo-pandacss/.env.ci +25 -0
  37. package/templates/turborepo-pandacss/.env.example +35 -0
  38. package/templates/turborepo-pandacss/.env.personal.example +27 -0
  39. package/templates/turborepo-pandacss/.envrc +4 -0
  40. package/templates/turborepo-pandacss/.gitattributes +5 -0
  41. package/templates/turborepo-pandacss/.husky/pre-commit +1 -0
  42. package/templates/turborepo-pandacss/.lintstagedrc.js +24 -0
  43. package/templates/turborepo-pandacss/.mcp.json +45 -0
  44. package/templates/turborepo-pandacss/.node-version +1 -0
  45. package/templates/turborepo-pandacss/.templateignore +60 -0
  46. package/templates/turborepo-pandacss/.vscode/extensions.json +3 -0
  47. package/templates/turborepo-pandacss/CLAUDE.md +415 -0
  48. package/templates/turborepo-pandacss/README.md +322 -0
  49. package/templates/turborepo-pandacss/apps/web/middleware.ts +28 -0
  50. package/templates/turborepo-pandacss/apps/web/next.config.ts +10 -0
  51. package/templates/turborepo-pandacss/apps/web/package.json +80 -0
  52. package/templates/turborepo-pandacss/apps/web/panda.config.ts +114 -0
  53. package/templates/turborepo-pandacss/apps/web/postcss.config.cjs +6 -0
  54. package/templates/turborepo-pandacss/apps/web/public/file.svg +1 -0
  55. package/templates/turborepo-pandacss/apps/web/public/globe.svg +1 -0
  56. package/templates/turborepo-pandacss/apps/web/public/next.svg +1 -0
  57. package/templates/turborepo-pandacss/apps/web/public/vercel.svg +1 -0
  58. package/templates/turborepo-pandacss/apps/web/public/window.svg +1 -0
  59. package/templates/turborepo-pandacss/apps/web/src/app/(authenticated)/dashboard/page.tsx +79 -0
  60. package/templates/turborepo-pandacss/apps/web/src/app/(authenticated)/data/_components/UserTable.tsx +203 -0
  61. package/templates/turborepo-pandacss/apps/web/src/app/(authenticated)/data/page.tsx +57 -0
  62. package/templates/turborepo-pandacss/apps/web/src/app/(authenticated)/layout-client.tsx +31 -0
  63. package/templates/turborepo-pandacss/apps/web/src/app/(authenticated)/layout.tsx +17 -0
  64. package/templates/turborepo-pandacss/apps/web/src/app/(authenticated)/profile/page.tsx +59 -0
  65. package/templates/turborepo-pandacss/apps/web/src/app/api/auth/[...nextauth]/route.ts +3 -0
  66. package/templates/turborepo-pandacss/apps/web/src/app/api/auth/signup/route.ts +70 -0
  67. package/templates/turborepo-pandacss/apps/web/src/app/error.tsx +106 -0
  68. package/templates/turborepo-pandacss/apps/web/src/app/favicon.ico +0 -0
  69. package/templates/turborepo-pandacss/apps/web/src/app/global-error.tsx +110 -0
  70. package/templates/turborepo-pandacss/apps/web/src/app/globals.css +121 -0
  71. package/templates/turborepo-pandacss/apps/web/src/app/layout.tsx +28 -0
  72. package/templates/turborepo-pandacss/apps/web/src/app/not-found.tsx +54 -0
  73. package/templates/turborepo-pandacss/apps/web/src/app/page.module.css +165 -0
  74. package/templates/turborepo-pandacss/apps/web/src/app/page.test.tsx +52 -0
  75. package/templates/turborepo-pandacss/apps/web/src/app/page.tsx +284 -0
  76. package/templates/turborepo-pandacss/apps/web/src/app/signin/page.tsx +296 -0
  77. package/templates/turborepo-pandacss/apps/web/src/app/signup/page.tsx +395 -0
  78. package/templates/turborepo-pandacss/apps/web/src/application/use-cases/UserUseCases.test.ts +229 -0
  79. package/templates/turborepo-pandacss/apps/web/src/application/use-cases/UserUseCases.ts +115 -0
  80. package/templates/turborepo-pandacss/apps/web/src/components/auth/login-button.tsx +35 -0
  81. package/templates/turborepo-pandacss/apps/web/src/components/auth/logout-button.tsx +24 -0
  82. package/templates/turborepo-pandacss/apps/web/src/components/auth/user-avatar.test.tsx +68 -0
  83. package/templates/turborepo-pandacss/apps/web/src/components/auth/user-avatar.tsx +43 -0
  84. package/templates/turborepo-pandacss/apps/web/src/components/dashboard/dashboard-stats.tsx +128 -0
  85. package/templates/turborepo-pandacss/apps/web/src/components/providers/query-provider.tsx +30 -0
  86. package/templates/turborepo-pandacss/apps/web/src/components/providers/session-provider.tsx +12 -0
  87. package/templates/turborepo-pandacss/apps/web/src/components/shared/Sidebar.tsx +175 -0
  88. package/templates/turborepo-pandacss/apps/web/src/components/shared/header.tsx +166 -0
  89. package/templates/turborepo-pandacss/apps/web/src/components/ui/accordion.tsx +64 -0
  90. package/templates/turborepo-pandacss/apps/web/src/components/ui/alert-dialog.tsx +135 -0
  91. package/templates/turborepo-pandacss/apps/web/src/components/ui/alert.tsx +60 -0
  92. package/templates/turborepo-pandacss/apps/web/src/components/ui/aspect-ratio.tsx +9 -0
  93. package/templates/turborepo-pandacss/apps/web/src/components/ui/avatar.tsx +41 -0
  94. package/templates/turborepo-pandacss/apps/web/src/components/ui/badge.tsx +39 -0
  95. package/templates/turborepo-pandacss/apps/web/src/components/ui/breadcrumb.tsx +101 -0
  96. package/templates/turborepo-pandacss/apps/web/src/components/ui/button.tsx +56 -0
  97. package/templates/turborepo-pandacss/apps/web/src/components/ui/card.tsx +75 -0
  98. package/templates/turborepo-pandacss/apps/web/src/components/ui/checkbox.tsx +29 -0
  99. package/templates/turborepo-pandacss/apps/web/src/components/ui/data-table.tsx +189 -0
  100. package/templates/turborepo-pandacss/apps/web/src/components/ui/dialog-hook.tsx +210 -0
  101. package/templates/turborepo-pandacss/apps/web/src/components/ui/dialog.tsx +129 -0
  102. package/templates/turborepo-pandacss/apps/web/src/components/ui/drawer.tsx +124 -0
  103. package/templates/turborepo-pandacss/apps/web/src/components/ui/dropdown-menu.tsx +228 -0
  104. package/templates/turborepo-pandacss/apps/web/src/components/ui/form.tsx +152 -0
  105. package/templates/turborepo-pandacss/apps/web/src/components/ui/hover-card.tsx +38 -0
  106. package/templates/turborepo-pandacss/apps/web/src/components/ui/input.tsx +21 -0
  107. package/templates/turborepo-pandacss/apps/web/src/components/ui/label.tsx +21 -0
  108. package/templates/turborepo-pandacss/apps/web/src/components/ui/pagination.tsx +105 -0
  109. package/templates/turborepo-pandacss/apps/web/src/components/ui/popover.tsx +42 -0
  110. package/templates/turborepo-pandacss/apps/web/src/components/ui/progress.tsx +28 -0
  111. package/templates/turborepo-pandacss/apps/web/src/components/ui/select.tsx +170 -0
  112. package/templates/turborepo-pandacss/apps/web/src/components/ui/separator.tsx +28 -0
  113. package/templates/turborepo-pandacss/apps/web/src/components/ui/skeleton.tsx +13 -0
  114. package/templates/turborepo-pandacss/apps/web/src/components/ui/sonner.tsx +25 -0
  115. package/templates/turborepo-pandacss/apps/web/src/components/ui/table.tsx +92 -0
  116. package/templates/turborepo-pandacss/apps/web/src/components/ui/tabs.tsx +54 -0
  117. package/templates/turborepo-pandacss/apps/web/src/components/ui/textarea.tsx +18 -0
  118. package/templates/turborepo-pandacss/apps/web/src/components/ui/tooltip.tsx +57 -0
  119. package/templates/turborepo-pandacss/apps/web/src/components/ui/typography.tsx +158 -0
  120. package/templates/turborepo-pandacss/apps/web/src/lib/auth/guard.ts +36 -0
  121. package/templates/turborepo-pandacss/apps/web/src/lib/auth/index.ts +22 -0
  122. package/templates/turborepo-pandacss/apps/web/src/lib/prisma.ts +3 -0
  123. package/templates/turborepo-pandacss/apps/web/src/lib/utils.ts +6 -0
  124. package/templates/turborepo-pandacss/apps/web/test/globals.d.ts +1 -0
  125. package/templates/turborepo-pandacss/apps/web/test/matchers.d.ts +1 -0
  126. package/templates/turborepo-pandacss/apps/web/test/setup.ts +22 -0
  127. package/templates/turborepo-pandacss/apps/web/tsconfig.json +37 -0
  128. package/templates/turborepo-pandacss/apps/web/vitest.config.ts +20 -0
  129. package/templates/turborepo-pandacss/apps/web/vitest.d.ts +2 -0
  130. package/templates/turborepo-pandacss/biome.json +60 -0
  131. package/templates/turborepo-pandacss/components.json +21 -0
  132. package/templates/turborepo-pandacss/docker-compose.yml +27 -0
  133. package/templates/turborepo-pandacss/middleware.ts +32 -0
  134. package/templates/turborepo-pandacss/next.config.ts +10 -0
  135. package/templates/turborepo-pandacss/package-lock.json +9346 -0
  136. package/templates/turborepo-pandacss/package.json +64 -0
  137. package/templates/turborepo-pandacss/packages/config/package.json +41 -0
  138. package/templates/turborepo-pandacss/packages/config/panda.config.ts +114 -0
  139. package/templates/turborepo-pandacss/packages/config/src/index.ts +24 -0
  140. package/templates/turborepo-pandacss/packages/config/src/worktree-config-loader.ts +129 -0
  141. package/templates/turborepo-pandacss/packages/config/src/worktree-config.ts +75 -0
  142. package/templates/turborepo-pandacss/packages/config/tsconfig.build.json +19 -0
  143. package/templates/turborepo-pandacss/packages/config/tsconfig.json +24 -0
  144. package/templates/turborepo-pandacss/packages/config/typescript/base.json +19 -0
  145. package/templates/turborepo-pandacss/packages/front-core/package.json +24 -0
  146. package/templates/turborepo-pandacss/packages/front-core/src/auth/config.ts +84 -0
  147. package/templates/turborepo-pandacss/packages/front-core/src/auth/index.ts +5 -0
  148. package/templates/turborepo-pandacss/packages/front-core/src/auth/types/next-auth.d.ts +20 -0
  149. package/templates/turborepo-pandacss/packages/front-core/src/auth/utils.ts +29 -0
  150. package/templates/turborepo-pandacss/packages/front-core/src/context/index.ts +2 -0
  151. package/templates/turborepo-pandacss/packages/front-core/src/hooks/index.ts +2 -0
  152. package/templates/turborepo-pandacss/packages/front-core/src/index.ts +4 -0
  153. package/templates/turborepo-pandacss/packages/front-core/src/utils/index.ts +2 -0
  154. package/templates/turborepo-pandacss/packages/front-core/tsconfig.json +14 -0
  155. package/templates/turborepo-pandacss/packages/server-core/package.json +32 -0
  156. package/templates/turborepo-pandacss/packages/server-core/prisma/schema.prisma +102 -0
  157. package/templates/turborepo-pandacss/packages/server-core/prisma/seed.ts +67 -0
  158. package/templates/turborepo-pandacss/packages/server-core/prisma.config.ts +8 -0
  159. package/templates/turborepo-pandacss/packages/server-core/src/__generated__/fabbrica/index.d.ts +270 -0
  160. package/templates/turborepo-pandacss/packages/server-core/src/__generated__/fabbrica/index.js +484 -0
  161. package/templates/turborepo-pandacss/packages/server-core/src/core/result.test.ts +78 -0
  162. package/templates/turborepo-pandacss/packages/server-core/src/core/result.ts +53 -0
  163. package/templates/turborepo-pandacss/packages/server-core/src/domain/.gitkeep +0 -0
  164. package/templates/turborepo-pandacss/packages/server-core/src/domain/entities/User.test.ts +232 -0
  165. package/templates/turborepo-pandacss/packages/server-core/src/domain/entities/User.ts +105 -0
  166. package/templates/turborepo-pandacss/packages/server-core/src/domain/repository-interfaces/IUserRepository.ts +101 -0
  167. package/templates/turborepo-pandacss/packages/server-core/src/infrastructure/database/client.ts +15 -0
  168. package/templates/turborepo-pandacss/packages/server-core/src/infrastructure/database/mappers/UserMapper.test.ts +278 -0
  169. package/templates/turborepo-pandacss/packages/server-core/src/infrastructure/database/mappers/UserMapper.ts +103 -0
  170. package/templates/turborepo-pandacss/packages/server-core/src/infrastructure/database/repositories/UserRepository.test.ts +317 -0
  171. package/templates/turborepo-pandacss/packages/server-core/src/infrastructure/database/repositories/UserRepository.ts +169 -0
  172. package/templates/turborepo-pandacss/packages/server-core/src/testing/factories/index.ts +22 -0
  173. package/templates/turborepo-pandacss/packages/server-core/src/testing/factories/user.factory.ts +123 -0
  174. package/templates/turborepo-pandacss/packages/server-core/src/testing/fixtures/users.ts +92 -0
  175. package/templates/turborepo-pandacss/packages/server-core/src/testing/helpers/date.ts +49 -0
  176. package/templates/turborepo-pandacss/packages/server-core/src/testing/helpers/password.ts +50 -0
  177. package/templates/turborepo-pandacss/packages/server-core/src/testing/index.ts +26 -0
  178. package/templates/turborepo-pandacss/packages/server-core/tsconfig.json +14 -0
  179. package/templates/turborepo-pandacss/packages/server-core/vitest.config.ts +15 -0
  180. package/templates/turborepo-pandacss/packages/ui/package.json +37 -0
  181. package/templates/turborepo-pandacss/packages/ui/src/accordion.tsx +66 -0
  182. package/templates/turborepo-pandacss/packages/ui/src/alert-dialog.tsx +157 -0
  183. package/templates/turborepo-pandacss/packages/ui/src/alert.tsx +66 -0
  184. package/templates/turborepo-pandacss/packages/ui/src/aspect-ratio.tsx +11 -0
  185. package/templates/turborepo-pandacss/packages/ui/src/avatar.tsx +53 -0
  186. package/templates/turborepo-pandacss/packages/ui/src/badge.tsx +46 -0
  187. package/templates/turborepo-pandacss/packages/ui/src/breadcrumb.tsx +108 -0
  188. package/templates/turborepo-pandacss/packages/ui/src/button.tsx +59 -0
  189. package/templates/turborepo-pandacss/packages/ui/src/card.tsx +92 -0
  190. package/templates/turborepo-pandacss/packages/ui/src/checkbox.tsx +32 -0
  191. package/templates/turborepo-pandacss/packages/ui/src/data-table.tsx +216 -0
  192. package/templates/turborepo-pandacss/packages/ui/src/dialog-hook.tsx +226 -0
  193. package/templates/turborepo-pandacss/packages/ui/src/dialog.tsx +143 -0
  194. package/templates/turborepo-pandacss/packages/ui/src/drawer.tsx +135 -0
  195. package/templates/turborepo-pandacss/packages/ui/src/dropdown-menu.tsx +257 -0
  196. package/templates/turborepo-pandacss/packages/ui/src/form.tsx +168 -0
  197. package/templates/turborepo-pandacss/packages/ui/src/hover-card.tsx +44 -0
  198. package/templates/turborepo-pandacss/packages/ui/src/input.tsx +21 -0
  199. package/templates/turborepo-pandacss/packages/ui/src/label.tsx +24 -0
  200. package/templates/turborepo-pandacss/packages/ui/src/lib/utils.ts +6 -0
  201. package/templates/turborepo-pandacss/packages/ui/src/pagination.tsx +126 -0
  202. package/templates/turborepo-pandacss/packages/ui/src/popover.tsx +48 -0
  203. package/templates/turborepo-pandacss/packages/ui/src/progress.tsx +31 -0
  204. package/templates/turborepo-pandacss/packages/ui/src/select.tsx +185 -0
  205. package/templates/turborepo-pandacss/packages/ui/src/separator.tsx +28 -0
  206. package/templates/turborepo-pandacss/packages/ui/src/skeleton.tsx +13 -0
  207. package/templates/turborepo-pandacss/packages/ui/src/sonner.tsx +25 -0
  208. package/templates/turborepo-pandacss/packages/ui/src/table.tsx +116 -0
  209. package/templates/turborepo-pandacss/packages/ui/src/tabs.tsx +66 -0
  210. package/templates/turborepo-pandacss/packages/ui/src/textarea.tsx +18 -0
  211. package/templates/turborepo-pandacss/packages/ui/src/tooltip.tsx +61 -0
  212. package/templates/turborepo-pandacss/packages/ui/src/typography.tsx +187 -0
  213. package/templates/turborepo-pandacss/packages/ui/tsconfig.json +20 -0
  214. package/templates/turborepo-pandacss/panda.config.ts +114 -0
  215. package/templates/turborepo-pandacss/pnpm-lock.yaml +9032 -0
  216. package/templates/turborepo-pandacss/pnpm-workspace.yaml +11 -0
  217. package/templates/turborepo-pandacss/postcss.config.cjs +6 -0
  218. package/templates/turborepo-pandacss/prisma/schema.prisma +82 -0
  219. package/templates/turborepo-pandacss/public/file.svg +1 -0
  220. package/templates/turborepo-pandacss/public/globe.svg +1 -0
  221. package/templates/turborepo-pandacss/public/next.svg +1 -0
  222. package/templates/turborepo-pandacss/public/vercel.svg +1 -0
  223. package/templates/turborepo-pandacss/public/window.svg +1 -0
  224. package/templates/turborepo-pandacss/scripts/cli-template-update.ts +387 -0
  225. package/templates/turborepo-pandacss/scripts/env-show.ts +129 -0
  226. package/templates/turborepo-pandacss/scripts/env.ts +555 -0
  227. package/templates/turborepo-pandacss/scripts/init.sh +92 -0
  228. package/templates/turborepo-pandacss/scripts/setup-dev.ts +640 -0
  229. package/templates/turborepo-pandacss/scripts/template-update.ts +277 -0
  230. package/templates/turborepo-pandacss/scripts/worktree/dev.ts +872 -0
  231. package/templates/turborepo-pandacss/test/globals.d.ts +1 -0
  232. package/templates/turborepo-pandacss/test/setup.ts +22 -0
  233. package/templates/turborepo-pandacss/tsconfig.json +46 -0
  234. package/templates/turborepo-pandacss/turbo.json +57 -0
  235. package/templates/turborepo-pandacss/vitest.config.ts +20 -0
@@ -0,0 +1,532 @@
1
+ ---
2
+ description: "GitHub Issueから実行可能なタスクグループを自動選定し、Vibe-Kanbanに登録して実行を継続するループコマンド。自然言語でIssue番号、最大タスクグループ番号、ベースブランチを指定できます。"
3
+ allowed-tools: Read, Write, Edit, Bash, Grep, Glob, mcp__github__*, mcp__serena__*, mcp__vibe_kanban__*, AskUserQuestion
4
+ ---
5
+
6
+ > **⚠️ Cursor での動作について**
7
+ >
8
+ > このコマンドは `.claude/agents/` 配下のサブエージェント定義ファイルを参照します。
9
+ > サブエージェント呼び出し箇所では、該当する `.md` ファイルを Read で読み込み、
10
+ > そのプロンプト内容に従って処理を実行してください。
11
+ >
12
+ > **サブエージェント実行の手順**:
13
+ > 1. サブエージェント `.md` ファイルを Read で読み込む
14
+ > 2. YAML フロントマターを除外し、本文プロンプトを取得
15
+ > 3. プロンプトの指示に従って処理を実行
16
+ > 4. プロンプト内の「出力形式」に従った報告を生成
17
+ >
18
+ > **このコマンドで使用するサブエージェント**:
19
+ > - task-starter: タスク選定(haiku モデル)
20
+
21
+ # タスク自動実行ループ
22
+
23
+ このコマンドは、指定されたGitHub Issueから実行可能なタスクグループを自動的に選定し、Vibe-Kanbanに登録して実行を継続するループを実行します。
24
+
25
+ ## 🚨 最重要事項
26
+
27
+ **このコマンドは「タスク選定 → タスク作成 → タスク実行 → タスク選定...」のループです。**
28
+
29
+ **絶対にやってはいけないこと**:
30
+ 1. ❌ **事前に全タスクをVibe-Kanbanに作成すること**
31
+ 2. ❌ **依存関係が満たされていないタスクをVibe-Kanbanに作成すること**
32
+ 3. ❌ **task-starterの選定結果を無視してタスクを作成すること**
33
+
34
+ **正しい動作**:
35
+ - ✅ task-starterで「今実行できる」タスクだけを選定
36
+ - ✅ 選定されたタスクのみをVibe-Kanbanに作成
37
+ - ✅ タスク実行後、再度task-starterで選定
38
+ - ✅ これを繰り返す
39
+
40
+ ## 必要な情報
41
+
42
+ ユーザーから以下の情報を**自然言語で**取得します:
43
+
44
+ 1. **GitHub Issue番号**(必須)
45
+ - 例: 「Issue #123で実行して」
46
+ - 例: 「123」
47
+
48
+ 2. **最大タスクグループ番号**(オプション)
49
+ - **Phase番号で指定**: 「Phase 4まで」→ 4
50
+ - **タスクグループ番号で指定**: 「タスクグループ4.2まで」→ 4.2
51
+ - 例: 「全部実行して」→ all
52
+ - 未指定の場合、AskUserQuestionで確認
53
+
54
+ 3. **ベースブランチ**(オプション)
55
+ - 例: 「mainブランチベースで」→ main
56
+ - 例: 「developから作業して」→ develop
57
+ - 例: 「feature/authブランチで」→ feature/auth
58
+ - 未指定の場合、AskUserQuestionで確認
59
+
60
+ ## 実行前の確認
61
+
62
+ コマンド実行時に以下の情報が不足している場合、**AskUserQuestionツールを使用して確認**します:
63
+
64
+ ### 1. 実行範囲の確認
65
+
66
+ **⚠️ 必須**: 質問する前に必ずタスクファイルを読み込んで進捗状況を確認すること
67
+
68
+ 1. **タスクファイルを読み込んで進捗状況を確認**
69
+ - どのフェーズまで完了しているか(✅マークで判定)
70
+ - 未完了のフェーズを特定
71
+
72
+ 2. **進捗状況に基づいて動的に質問を生成**
73
+ - 完了済みフェーズの次から選択肢を提示
74
+ - 例: Phase 1完了済み → 「Phase 2のみ / Phase 3まで / すべて実行(推奨)」
75
+ - ユーザーから既に指定がある場合はスキップ
76
+
77
+ ### 2. Issueブランチの作成元確認
78
+
79
+ GitHub Issueから Issue番号を取得し、ブランチ名を生成して作成元を確認:
80
+
81
+ 1. **Issue番号を抽出**
82
+ - GitHub Issue: `#123`
83
+ - Issueブランチ名: `issue/123`
84
+
85
+ 2. **Issueブランチの存在確認**
86
+ - 既に存在する場合 → そのまま使用
87
+ - 存在しない場合 → 作成元を確認
88
+
89
+ 3. **Issueブランチ作成元の確認**(ブランチが存在しない場合のみ)
90
+
91
+ 特別な指示がない場合、以下の選択肢を提示:
92
+ ```markdown
93
+ **質問**: Issueブランチ `issue/123` をどのブランチから作成しますか?
94
+
95
+ **選択肢**:
96
+ - {default_branch}(デフォルトブランチ・推奨)
97
+ - develop
98
+ - 現在のブランチ
99
+ - その他のブランチ(ブランチ名を入力)
100
+ ```
101
+
102
+ **デフォルトブランチの取得方法**:
103
+ ```bash
104
+ # リモートのデフォルトブランチを取得
105
+ git remote show origin | grep 'HEAD branch' | awk '{print $NF}'
106
+ ```
107
+
108
+ 4. **タスクブランチの作成**(必要な場合)
109
+ ```bash
110
+ git checkout {source_branch}
111
+ git pull origin {source_branch}
112
+ git checkout -b feat/monorepo/20251104-turborepo-setup
113
+ git push -u origin feat/monorepo/20251104-turborepo-setup
114
+ ```
115
+
116
+ ### 3. フェーズブランチの自動作成
117
+
118
+ 実行対象の各フェーズについて、フェーズブランチを自動作成:
119
+
120
+ 1. **フェーズブランチ名を生成**
121
+ - 形式: `feat/{ディレクトリ}/{タスク名}-phase{N}`
122
+ - 例: `feat/monorepo/20251104-turborepo-setup-phase1`
123
+
124
+ 2. **フェーズブランチの存在確認と作成**
125
+ - 存在しない場合 → タスクブランチから作成してプッシュ
126
+ ```bash
127
+ git checkout feat/monorepo/20251104-turborepo-setup
128
+ git checkout -b feat/monorepo/20251104-turborepo-setup-phase1
129
+ git push -u origin feat/monorepo/20251104-turborepo-setup-phase1
130
+ ```
131
+ - 既に存在する場合 → そのまま使用
132
+
133
+ 3. **フェーズブランチをベースブランチとして使用**
134
+ - Phase 1タスク → `feat/monorepo/20251104-turborepo-setup-phase1`
135
+ - Phase 2タスク → `feat/monorepo/20251104-turborepo-setup-phase2`
136
+
137
+ **詳細**: ブランチ運用の詳細は [ブランチ運用戦略](../../docs/einja/steering/branch-strategy.md) を参照
138
+
139
+ ## 処理フロー
140
+
141
+ ### 0. 初期化フェーズ(最初のみ実行)
142
+
143
+ 1. **ユーザー入力の解析**
144
+ - タスクファイルパスを自然言語から抽出
145
+ - 最大タスク番号を自然言語から抽出(あれば)
146
+
147
+ 2. **不足情報の確認**
148
+ - **タスクファイルを読み込んで進捗状況を確認**(必須)
149
+ - 最大タスク番号が未指定の場合 → 進捗状況に基づいて動的に質問生成
150
+
151
+ 3. **タスクファイルパスからブランチ名を生成**
152
+ - ディレクトリとタスク名を抽出
153
+ - タスクブランチ名を生成: `feat/{ディレクトリ}/{タスク名}`
154
+ - フェーズブランチ名を生成: `feat/{ディレクトリ}/{タスク名}-phase{N}`
155
+
156
+ 4. **タスクブランチの確認と作成**
157
+ - タスクブランチが存在するか確認
158
+ - 存在しない場合 → 作成元を確認(デフォルト: main)
159
+ - タスクブランチを作成してプッシュ
160
+
161
+ 5. **フェーズブランチの確認と作成**
162
+ - 実行対象の各フェーズについて、フェーズブランチを確認
163
+ - 存在しない場合 → タスクブランチから作成してプッシュ
164
+
165
+ 6. **設定の表示**
166
+ ```markdown
167
+ 📋 タスク実行設定:
168
+ - タスクファイル: {task_file_path}
169
+ - 最大タスク番号: {max_task_number}(または「全タスク」)
170
+ - タスクブランチ: feat/{ディレクトリ}/{タスク名}(新規作成 / 既存)
171
+ - 実行フェーズ: Phase {N}まで
172
+ - フェーズブランチ: feat/{ディレクトリ}/{タスク名}-phase{N}
173
+ ```
174
+
175
+ 以下の処理をループで繰り返し実行します:
176
+
177
+ ### 1. 最新タスク状態取得フェーズ
178
+
179
+ **⚠️ 重要**: リモートのベースブランチから最新のタスクファイルを取得して、タスクの完了状態を確認します。
180
+
181
+ 1. **リモート情報を更新**
182
+ - `git fetch origin` を実行
183
+
184
+ 2. **リモートのベースブランチからタスクファイルを取得**
185
+ - `git show origin/{base_branch}:{task_file_path}` でタスクファイルの内容を取得
186
+ - このファイル内容をtask-starterに渡してタスク選定を行う
187
+
188
+ 3. **取得成功を確認**
189
+ - ファイル取得が成功したら、次のタスク選定フェーズに進む
190
+ - ファイルが存在しない場合は、ローカルのタスクファイルを使用
191
+
192
+ ### 2. タスク選定フェーズ
193
+
194
+ **⚠️ 重要**: このコマンド内でタスクファイルを読んで未完了タスクを確認する必要はありません。**すべてtask-starterサブエージェントに任せてください。**
195
+
196
+ **絶対にやってはいけないこと**:
197
+ - ❌ **コマンド実行者がタスクファイルを読んで未完了タスクを手動で確認すること**
198
+ - ❌ **タスクファイルの内容を解析して依存関係を手動でチェックすること**
199
+
200
+ **正しい動作**:
201
+ - ✅ task-starterサブエージェントを呼び出すだけ
202
+ - ✅ task-starterの選定結果を信頼して使用する
203
+ - ✅ コマンド実行者は選定結果に基づいてVibe-Kanbanタスクを作成するだけ
204
+
205
+ **task-starter の処理を実行**:
206
+
207
+ **📖 サブエージェントプロンプトの読み込み**
208
+ - `.claude/agents/task/task-starter.md` を Read ツールで読み込む
209
+ - YAML フロントマター(`---` で囲まれた部分)を除外
210
+ - 本文のプロンプト内容を取得
211
+
212
+ **🔨 プロンプトに従った処理の実行**
213
+ - 取得したプロンプト内容に記載された手順・指示に従って処理を実行
214
+ - GitHub Issueから着手可能なタスクグループを選定(haiku モデル推奨)
215
+ - 選定されるタスク数は自然言語指示から自動判断
216
+ - 粒度指定(「1-1, 1-2の粒度でタスク作成」など)がある場合、各中カテゴリ(サブフェーズ)ごとに実行可能な全タスクを選定
217
+ - 明示的なタスク指定がある場合、指定された数だけ選定
218
+ - 指定がない場合、最も優先度の高い1タスクのみ選定
219
+ - 選定したタスクグループを着手中状態(`[🔄]`)に変更
220
+
221
+ **📋 完了報告**
222
+ - 「## 📋 タスク選定完了」で始まる完了報告を生成
223
+ - 選定したタスクグループの詳細を含む構造化マークダウン形式で出力
224
+
225
+ **選定結果の判定**:
226
+ - task-starterが「実行可能なタスクあり」と判定 → 3. タスク実行フェーズへ
227
+ - task-starterが「実行可能なタスクなし」と判定 → 4. 完了・待機フェーズへ
228
+
229
+ ### 3. タスク実行フェーズ
230
+
231
+ **🚨 このフェーズは、task-starterが「実行可能なタスクあり」と判定した場合のみ実行**
232
+
233
+ **絶対に守ること**:
234
+ - ❌ **依存関係が満たされていないタスクのVibe-Kanbanタスクを作成してはいけません**
235
+ - ❌ **task-starterの選定結果を無視してタスクを作成してはいけません**
236
+ - ❌ **タスクファイルの全未完了タスクを一度に作成してはいけません**
237
+ - ✅ **task-starterが選定したタスクのみを作成**
238
+ - ✅ **task-starterが「実行可能なタスクなし」の場合、このフェーズはスキップして待機フェーズへ移行**
239
+
240
+ 1. **Vibe-Kanbanにタスクを作成**(task-starterが選定したタスクのみ)
241
+
242
+ **選定タスクが1個の場合**:
243
+
244
+ - タイトル形式: `/task-exec <タスクグループ番号> <タスクグループ名>`
245
+ - 例: `/task-exec 4.1 Turborepoビルドパイプライン最適化`
246
+ - `/task-exec` プレフィックスは**必須**です
247
+ - 説明:
248
+ ```
249
+ ## タスクファイル
250
+ `<タスクファイルパス>`
251
+
252
+ ## タスクグループ番号
253
+ <タスクグループ番号>
254
+
255
+ ## タスク一覧
256
+ <tasks.mdから抽出したタスク一覧(X.Y.Z形式)とサブタスク>
257
+ ```
258
+
259
+ **選定タスクが複数の場合**:
260
+
261
+ - タイトル形式: `/task-exec <タスクグループ番号1>, <タスクグループ番号2>, ... <グループ名>`
262
+ - 例: `/task-exec 4.1, 4.2 Phase 4 ビルド最適化タスク`
263
+ - グループ名は粒度指定から生成、または「まとめて実装」など
264
+ - 説明:
265
+ ```
266
+ ## タスクファイル
267
+ `<タスクファイルパス>`
268
+
269
+ ## タスクグループ番号
270
+ <タスクグループ番号1>, <タスクグループ番号2>
271
+
272
+ ## タスク詳細
273
+
274
+ ### タスクグループ<タスクグループ番号1>: <タスクグループ名1>
275
+ <tasks.mdから抽出したタスク一覧とサブタスク1>
276
+
277
+ ### タスクグループ<タスクグループ番号2>: <タスクグループ名2>
278
+ <tasks.mdから抽出したタスク一覧とサブタスク2>
279
+ ```
280
+
281
+ **実装時の注意**: `mcp__vibe_kanban__create_task` を呼び出す際、titleパラメータには必ず `/task-exec ` で始まる文字列を渡すこと
282
+
283
+ 2. **ステータスを "in-progress" に更新**
284
+ - `mcp__vibe_kanban__update_task` を使用
285
+ - status パラメータには `"in-progress"` を指定(ハイフン区切り)
286
+
287
+ 3. **タスクの実行を開始**
288
+ - `mcp__vibe_kanban__start_task_attempt` を呼び出し
289
+ - executor: CLAUDE_CODE
290
+ - base_branch: **タスクが属するフェーズのフェーズブランチ**
291
+ - 例: Phase 1のタスク → `feat/monorepo/20251104-turborepo-setup-phase1`
292
+ - 例: Phase 2のタスク → `feat/monorepo/20251104-turborepo-setup-phase2`
293
+ - 実行試行IDを取得
294
+ - **重要**: GitHub Issueは更新しない(エージェントが完了時に自動更新する)
295
+
296
+ 4. **タスク開始成功時の処理**
297
+ - 待機試行カウンターをリセット(0に戻す)
298
+ - **即座に2. タスク選定フェーズに戻る**
299
+ - **⚠️ 重要**:
300
+ - 次のタスクを事前に作成してはいけません。必ずタスク選定フェーズから開始してください
301
+ - **task-executer、task-reviewer、task-qa、task-finisherなどのタスク実行サブエージェントを呼び出してはいけません**
302
+ - **タスクの実際の実行はVibe-Kanban側が自動的に処理します**
303
+ - **このコマンドの役割はタスクの選定とVibe-Kanban登録のみです**
304
+
305
+ ### 4. 完了・待機フェーズ
306
+
307
+ #### 4.1 最大タスク番号に到達した場合
308
+
309
+ - メッセージを出力:
310
+ ```
311
+ ✅ 指定された最大タスク番号 {max_task_number} まで完了しました!
312
+
313
+ 実行されたタスク: {completed_count}個
314
+
315
+ ループを終了します。
316
+ ```
317
+ - ループを終了
318
+
319
+ #### 4.2 選定されたタスクがない場合(最大タスク番号未到達)
320
+
321
+ 1. **待機試行カウンターを確認**
322
+ - 待機試行回数が30回に達した場合:
323
+ ```
324
+ ⚠️ 30回の待機試行後も実行可能なタスクが見つかりませんでした。
325
+
326
+ 最後に実行されたタスク番号: {last_task_number}
327
+ 実行完了タスク数: {completed_count}個
328
+
329
+ ループを終了します。
330
+ ```
331
+ - ループを終了
332
+
333
+ 2. **2分間待機(必ず120秒)**
334
+ - 待機試行カウンターを +1 する
335
+ - メッセージを出力: "実行可能なタスクがありません。2分後に再試行します...(試行 {current_retry}/{max_retry})"
336
+ - **⚠️ 重要**: 待機時間は必ず120秒です。60秒や300秒など他の値に変更してはいけません
337
+ - `sleep 120` コマンドを使用
338
+
339
+ 3. **ステップ1(最新タスク状態取得フェーズ)に戻る**
340
+ - 再度リモートから最新のタスクファイルを取得してタスク選定を試みる
341
+ - **⚠️ 重要**: 実行できないタスクを事前に作成してはいけません
342
+
343
+ ## 技術仕様
344
+
345
+ ### サブエージェント設定
346
+ ```
347
+ subagent_type: task-starter
348
+ model: haiku # コスト削減のため軽量モデルを使用
349
+ ```
350
+
351
+ ### 使用ツール
352
+ - **タスク読み取り**: GitHub MCP(GitHub Issueからタスク一覧を読み取り)
353
+ - **Vibe-Kanban操作**:
354
+ - `mcp__vibe_kanban__create_task`
355
+ - `mcp__vibe_kanban__update_task`
356
+ - `mcp__vibe_kanban__start_task_attempt`
357
+
358
+ **注意**: GitHub Issueの書き込みは行わない(実行エージェントが完了時に自動更新)
359
+
360
+ ## 使用例
361
+
362
+ ### 例1: 最小限の指定(対話形式)
363
+
364
+ ```
365
+ /task-vibe-kanban-loop monorepoのタスクファイルで実行して
366
+ ```
367
+
368
+ 実行時にシステムが確認:
369
+ - どこまでのタスクを実行しますか? → 「すべてのタスクを実行」を選択
370
+ - タスクブランチをどのブランチから作成しますか? → 「{default_branch}(デフォルトブランチ・推奨)」を選択
371
+
372
+ 自動的に以下のブランチが作成されます:
373
+ - タスクブランチ: `feat/monorepo/20251104-turborepo-setup`(デフォルトブランチから作成)
374
+ - フェーズブランチ: `feat/monorepo/20251104-turborepo-setup-phase1`(タスクブランチから作成)
375
+
376
+ → 各タスクを1個ずつ選定して、該当フェーズブランチで実行(デフォルト動作)
377
+
378
+ ### 例2: Phase指定で実行
379
+
380
+ ```
381
+ /task-vibe-kanban-loop monorepoのタスクファイルでPhase 4まで実行
382
+ ```
383
+
384
+ タスクグループ4.Xまで(Phase 4完了確認まで)を実行
385
+
386
+ 自動的に以下のブランチが作成されます:
387
+ - タスクブランチ: `feat/monorepo/20251104-turborepo-setup`(デフォルトブランチから作成)
388
+ - フェーズブランチ: `feat/monorepo/20251104-turborepo-setup-phase4`(タスクブランチから作成)
389
+
390
+ → 各タスクグループを1個ずつ選定して、phase4ブランチで実行
391
+
392
+ ### 例3: タスクグループ指定で実行
393
+
394
+ ```
395
+ /task-vibe-kanban-loop monorepoのタスクファイルでタスクグループ4.2まで実行
396
+ ```
397
+
398
+ タスクグループ4.2まで実行
399
+
400
+ 自動的に以下のブランチが作成されます:
401
+ - タスクブランチ: `feat/monorepo/20251104-turborepo-setup`(デフォルトブランチから作成)
402
+ - フェーズブランチ: `feat/monorepo/20251104-turborepo-setup-phase4`(タスクブランチから作成)
403
+
404
+ → タスクグループ4.1、4.2を順次実行
405
+
406
+ ### 例4: タスク番号指定で実行
407
+
408
+ ```
409
+ /task-vibe-kanban-loop monorepoのタスクファイルでタスク4.1.2まで実行
410
+ ```
411
+
412
+ タスク4.1.2まで実行(タスクグループ4.1内のタスク4.1.1、4.1.2が完了したら停止)
413
+
414
+ → より細かい粒度で実行範囲を制御
415
+
416
+ ### 例5: タスクブランチの作成元を指定
417
+
418
+ ```
419
+ /task-vibe-kanban-loop authタスクを全部実行して
420
+ ```
421
+
422
+ 実行時にシステムが確認:
423
+ - タスクブランチをどのブランチから作成しますか? → 「develop」を選択
424
+
425
+ 自動的に以下のブランチが作成されます:
426
+ - タスクブランチ: `feat/auth/20251105-magic-link`(**developから作成**)
427
+ - フェーズブランチ: `feat/auth/20251105-magic-link-phase1`(タスクブランチから作成)
428
+ - フェーズブランチ: `feat/auth/20251105-magic-link-phase2`(タスクブランチから作成)
429
+
430
+ → 各タスクを1個ずつ選定して、該当フェーズブランチで実行
431
+
432
+ ## 重要な識別情報の記録
433
+
434
+ ### プロジェクト情報
435
+ Vibe-Kanbanでタスクを管理する際に必要な情報:
436
+
437
+ ```markdown
438
+ ## Vibe-Kanban プロジェクト情報
439
+
440
+ **プロジェクトID**: `<project_id>`
441
+ **プロジェクト名**: `<project_name>`
442
+
443
+ ## 作成されたタスク一覧
444
+
445
+ | タスクグループ番号 | タスクグループ名 | Vibe-Kanban タスクID | ステータス | 作成日時 |
446
+ |-----------|---------|---------------------|----------|---------|
447
+ | 4.1 | Turborepoビルドパイプライン最適化 | `<task_id>` | in-progress | YYYY-MM-DD HH:MM |
448
+ | 4.2 | リモートキャッシュ設定 | `<task_id>` | todo | YYYY-MM-DD HH:MM |
449
+
450
+ ## タスク実行試行情報
451
+
452
+ | タスクグループ番号 | 試行ID | Executor | Base Branch | 開始日時 |
453
+ |-----------|--------|----------|-------------|---------|
454
+ | 4.1 | `<attempt_id>` | CLAUDE_CODE | main | YYYY-MM-DD HH:MM |
455
+ ```
456
+
457
+ ### 記録すべき情報
458
+
459
+ 1. **プロジェクトID** (`project_id`)
460
+ - `mcp__vibe_kanban__list_projects` で取得
461
+ - 全タスク操作で必要
462
+
463
+ 2. **タスクID** (`task_id`)
464
+ - `mcp__vibe_kanban__create_task` のレスポンスから取得
465
+ - タスク更新・削除時に必要
466
+
467
+ 3. **タスク実行試行ID** (`attempt_id`)
468
+ - `mcp__vibe_kanban__start_task_attempt` のレスポンスから取得
469
+ - 実行状況の追跡に使用
470
+
471
+ ### 情報の取得方法
472
+
473
+ ```javascript
474
+ // プロジェクト一覧取得
475
+ const projects = await mcp__vibe_kanban__list_projects({});
476
+ // => プロジェクトID: projects.data[0].id
477
+
478
+ // タスク作成
479
+ const task = await mcp__vibe_kanban__create_task({
480
+ project_id: "<project_id>",
481
+ title: "1.1.1 プロジェクトルート初期化",
482
+ description: "..."
483
+ });
484
+ // => タスクID: task.id
485
+
486
+ // タスク実行開始
487
+ const attempt = await mcp__vibe_kanban__start_task_attempt({
488
+ task_id: "<task_id>",
489
+ executor: "CLAUDE_CODE",
490
+ base_branch: "main"
491
+ });
492
+ // => 試行ID: attempt.id
493
+ ```
494
+
495
+ ## 注意事項
496
+
497
+ **⚠️ 厳守事項**:
498
+ 1. **待機時間は必ず120秒**: `sleep 120` を使用。60秒や300秒など他の値に変更してはいけません
499
+ 2. **実行可能なタスクのみ作成**: 依存関係が満たされていないタスクのVibe-Kanbanタスクを事前に作成してはいけません
500
+ 3. **タスク開始後は即座にタスク選定へ**: 次のタスクを事前に作成せず、必ずタスク選定フェーズから開始します
501
+ 4. **完了報告で止まらない**: タスク完了を確認したら、報告だけで止まらず、即座に次のタスク選定フェーズに進みます
502
+
503
+ - **最大タスク番号が指定されている場合、その番号に到達したらループを自動終了します**
504
+ - **最大タスク番号が `all` の場合、すべてのタスクが完了するまで継続します(手動停止が必要)**
505
+ - **待機試行回数の上限は30回です**
506
+ - 実行可能なタスクがない場合、**必ず2分間(120秒)**待機して再試行します
507
+ - タスクが見つからない状態で30回待機した場合、ループを自動終了します
508
+ - タスクの実行開始に成功した場合、待機試行カウンターは0にリセットされます
509
+ - task-starterサブエージェントは軽量なhaikuモデルを使用してコストを削減します
510
+ - **GitHub Issueの書き込みは行わない**(実行エージェントが完了時に自動更新するため)
511
+ - タスクの読み取りにはGitHub MCPツール(`mcp__github__get_issue`など)を使用してください
512
+ - Vibe-KanbanのプロジェクトIDは`mcp__vibe_kanban__list_projects`で取得します
513
+ - **タスク作成時は必ず返却されたIDを記録し、後続の操作で使用してください**
514
+ - **タスクブランチの作成元は初期化時に1度だけ確認します(デフォルト: リモートのデフォルトブランチを自動取得)**
515
+ - **各タスクは属するフェーズのフェーズブランチをベースブランチとして実行します**
516
+ - **粒度指定がある場合、指定された粒度(Phase/タスクグループ/タスク)に応じて実行可能なタスクをまとめて1つのVibe-Kanbanタスクとして作成します**
517
+ - **複数タスクをまとめて実行する場合、Vibe-Kanbanタスクのタイトルには `/task-exec <タスク番号1>, <タスク番号2>, ... <グループ名>` 形式を使用します**
518
+
519
+ ## タスク番号の比較ルール
520
+
521
+ タスク番号(例: `1.2.3`)を比較して実行範囲を判定します:
522
+
523
+ - タスク番号をドット区切りで分割し、左から順に数値として比較
524
+ - 各セグメントを比較し、小さければ実行対象、大きければ対象外
525
+ - 完全一致の場合も実行対象
526
+
527
+ **比較例**:
528
+ - `1.2.3` と最大 `1.2.5` → 実行対象(メジャー・マイナーが同じで、パッチが小さい)
529
+ - `1.2.5` と最大 `1.2.5` → 実行対象(完全一致)
530
+ - `1.2.6` と最大 `1.2.5` → 実行対象外(パッチが大きい)
531
+ - `1.3.1` と最大 `1.2.5` → 実行対象外(マイナーが大きい)
532
+ - `2.1.1` と最大 `1.2.5` → 実行対象外(メジャーが大きい)