create-ai-project 1.11.2

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 (150) hide show
  1. package/.claude/agents/acceptance-test-generator.md +316 -0
  2. package/.claude/agents/code-reviewer.md +193 -0
  3. package/.claude/agents/document-reviewer.md +182 -0
  4. package/.claude/agents/prd-creator.md +186 -0
  5. package/.claude/agents/quality-fixer.md +295 -0
  6. package/.claude/agents/requirement-analyzer.md +161 -0
  7. package/.claude/agents/rule-advisor.md +194 -0
  8. package/.claude/agents/task-decomposer.md +291 -0
  9. package/.claude/agents/task-executor.md +270 -0
  10. package/.claude/agents/technical-designer.md +343 -0
  11. package/.claude/agents/work-planner.md +181 -0
  12. package/.claude/agents-en/acceptance-test-generator.md +256 -0
  13. package/.claude/agents-en/code-reviewer.md +195 -0
  14. package/.claude/agents-en/design-sync.md +225 -0
  15. package/.claude/agents-en/document-reviewer.md +190 -0
  16. package/.claude/agents-en/integration-test-reviewer.md +195 -0
  17. package/.claude/agents-en/prd-creator.md +196 -0
  18. package/.claude/agents-en/quality-fixer-frontend.md +334 -0
  19. package/.claude/agents-en/quality-fixer.md +291 -0
  20. package/.claude/agents-en/requirement-analyzer.md +165 -0
  21. package/.claude/agents-en/rule-advisor.md +194 -0
  22. package/.claude/agents-en/task-decomposer.md +291 -0
  23. package/.claude/agents-en/task-executor-frontend.md +276 -0
  24. package/.claude/agents-en/task-executor.md +272 -0
  25. package/.claude/agents-en/technical-designer-frontend.md +441 -0
  26. package/.claude/agents-en/technical-designer.md +371 -0
  27. package/.claude/agents-en/work-planner.md +216 -0
  28. package/.claude/agents-ja/acceptance-test-generator.md +256 -0
  29. package/.claude/agents-ja/code-reviewer.md +195 -0
  30. package/.claude/agents-ja/design-sync.md +225 -0
  31. package/.claude/agents-ja/document-reviewer.md +192 -0
  32. package/.claude/agents-ja/integration-test-reviewer.md +195 -0
  33. package/.claude/agents-ja/prd-creator.md +194 -0
  34. package/.claude/agents-ja/quality-fixer-frontend.md +335 -0
  35. package/.claude/agents-ja/quality-fixer.md +292 -0
  36. package/.claude/agents-ja/requirement-analyzer.md +164 -0
  37. package/.claude/agents-ja/rule-advisor.md +194 -0
  38. package/.claude/agents-ja/task-decomposer.md +291 -0
  39. package/.claude/agents-ja/task-executor-frontend.md +276 -0
  40. package/.claude/agents-ja/task-executor.md +272 -0
  41. package/.claude/agents-ja/technical-designer-frontend.md +442 -0
  42. package/.claude/agents-ja/technical-designer.md +370 -0
  43. package/.claude/agents-ja/work-planner.md +213 -0
  44. package/.claude/commands/build.md +78 -0
  45. package/.claude/commands/design.md +27 -0
  46. package/.claude/commands/implement.md +79 -0
  47. package/.claude/commands/plan.md +43 -0
  48. package/.claude/commands/project-inject.md +76 -0
  49. package/.claude/commands/refine-rule.md +206 -0
  50. package/.claude/commands/review.md +78 -0
  51. package/.claude/commands/sync-rules.md +116 -0
  52. package/.claude/commands/task.md +13 -0
  53. package/.claude/commands-en/build.md +77 -0
  54. package/.claude/commands-en/design.md +39 -0
  55. package/.claude/commands-en/front-build.md +103 -0
  56. package/.claude/commands-en/front-design.md +42 -0
  57. package/.claude/commands-en/front-plan.md +40 -0
  58. package/.claude/commands-en/implement.md +75 -0
  59. package/.claude/commands-en/plan.md +45 -0
  60. package/.claude/commands-en/project-inject.md +76 -0
  61. package/.claude/commands-en/refine-rule.md +208 -0
  62. package/.claude/commands-en/review.md +78 -0
  63. package/.claude/commands-en/sync-rules.md +116 -0
  64. package/.claude/commands-en/task.md +13 -0
  65. package/.claude/commands-ja/build.md +75 -0
  66. package/.claude/commands-ja/design.md +37 -0
  67. package/.claude/commands-ja/front-build.md +103 -0
  68. package/.claude/commands-ja/front-design.md +42 -0
  69. package/.claude/commands-ja/front-plan.md +40 -0
  70. package/.claude/commands-ja/implement.md +73 -0
  71. package/.claude/commands-ja/plan.md +43 -0
  72. package/.claude/commands-ja/project-inject.md +76 -0
  73. package/.claude/commands-ja/refine-rule.md +206 -0
  74. package/.claude/commands-ja/review.md +78 -0
  75. package/.claude/commands-ja/sync-rules.md +116 -0
  76. package/.claude/commands-ja/task.md +13 -0
  77. package/.claude/settings.local.json +74 -0
  78. package/.husky/pre-commit +1 -0
  79. package/.husky/pre-push +3 -0
  80. package/.madgerc +14 -0
  81. package/.tsprunerc +11 -0
  82. package/CLAUDE.en.md +102 -0
  83. package/CLAUDE.ja.md +102 -0
  84. package/CLAUDE.md +111 -0
  85. package/LICENSE +21 -0
  86. package/README.ja.md +233 -0
  87. package/README.md +243 -0
  88. package/bin/create-project.js +87 -0
  89. package/biome.json +51 -0
  90. package/docs/adr/template-en.md +64 -0
  91. package/docs/adr/template-ja.md +64 -0
  92. package/docs/design/template-en.md +281 -0
  93. package/docs/design/template-ja.md +285 -0
  94. package/docs/guides/en/quickstart.md +111 -0
  95. package/docs/guides/en/rule-editing-guide.md +266 -0
  96. package/docs/guides/en/sub-agents.md +343 -0
  97. package/docs/guides/en/use-cases.md +308 -0
  98. package/docs/guides/ja/quickstart.md +112 -0
  99. package/docs/guides/ja/rule-editing-guide.md +266 -0
  100. package/docs/guides/ja/sub-agents.md +343 -0
  101. package/docs/guides/ja/use-cases.md +290 -0
  102. package/docs/guides/sub-agents.md +306 -0
  103. package/docs/plans/20250123-integration-test-improvement.md +993 -0
  104. package/docs/plans/template-en.md +130 -0
  105. package/docs/plans/template-ja.md +130 -0
  106. package/docs/prd/template-en.md +109 -0
  107. package/docs/prd/template-ja.md +109 -0
  108. package/docs/rules/ai-development-guide.md +260 -0
  109. package/docs/rules/architecture/implementation-approach.md +136 -0
  110. package/docs/rules/documentation-criteria.md +180 -0
  111. package/docs/rules/project-context.md +38 -0
  112. package/docs/rules/rules-index.yaml +137 -0
  113. package/docs/rules/technical-spec.md +47 -0
  114. package/docs/rules/typescript-testing.md +188 -0
  115. package/docs/rules/typescript.md +166 -0
  116. package/docs/rules-en/architecture/implementation-approach.md +136 -0
  117. package/docs/rules-en/coding-standards.md +333 -0
  118. package/docs/rules-en/documentation-criteria.md +184 -0
  119. package/docs/rules-en/frontend/technical-spec.md +143 -0
  120. package/docs/rules-en/frontend/typescript-testing.md +124 -0
  121. package/docs/rules-en/frontend/typescript.md +131 -0
  122. package/docs/rules-en/integration-e2e-testing.md +149 -0
  123. package/docs/rules-en/project-context.md +38 -0
  124. package/docs/rules-en/rules-index.yaml +211 -0
  125. package/docs/rules-en/technical-spec.md +86 -0
  126. package/docs/rules-en/typescript-testing.md +149 -0
  127. package/docs/rules-en/typescript.md +116 -0
  128. package/docs/rules-ja/architecture/implementation-approach.md +136 -0
  129. package/docs/rules-ja/coding-standards.md +333 -0
  130. package/docs/rules-ja/documentation-criteria.md +180 -0
  131. package/docs/rules-ja/frontend/technical-spec.md +143 -0
  132. package/docs/rules-ja/frontend/typescript-testing.md +124 -0
  133. package/docs/rules-ja/frontend/typescript.md +131 -0
  134. package/docs/rules-ja/integration-e2e-testing.md +149 -0
  135. package/docs/rules-ja/project-context.md +38 -0
  136. package/docs/rules-ja/rules-index.yaml +196 -0
  137. package/docs/rules-ja/technical-spec.md +86 -0
  138. package/docs/rules-ja/typescript-testing.md +149 -0
  139. package/docs/rules-ja/typescript.md +116 -0
  140. package/package.json +98 -0
  141. package/scripts/check-unused-exports.js +69 -0
  142. package/scripts/cleanup-test-processes.sh +32 -0
  143. package/scripts/post-setup.js +110 -0
  144. package/scripts/set-language.js +310 -0
  145. package/scripts/setup-project.js +199 -0
  146. package/scripts/show-coverage.js +74 -0
  147. package/src/index.ts +11 -0
  148. package/templates/.gitignore.template +52 -0
  149. package/tsconfig.json +50 -0
  150. package/vitest.config.mjs +47 -0
package/README.ja.md ADDED
@@ -0,0 +1,233 @@
1
+ # AI ć‚³ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆ ćƒœć‚¤ćƒ©ćƒ¼ćƒ—ćƒ¬ćƒ¼ćƒˆ šŸ¤–
2
+
3
+ *ä»–ć®čØ€čŖžć§čŖ­ć‚€: [English](README.md)*
4
+
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/)
6
+ [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green?logo=node.js)](https://nodejs.org/)
7
+ [![Claude Code](https://img.shields.io/badge/Claude%20Code-Optimized-purple)](https://claude.ai/code)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/shinpr/ai-coding-project-boilerplate/pulls)
10
+
11
+ ⚔ **ć“ć®ćƒœć‚¤ćƒ©ćƒ¼ćƒ—ćƒ¬ćƒ¼ćƒˆćÆä»„äø‹ć®ć‚ˆć†ćŖé–‹ē™ŗč€…ć®ćŸć‚ć®ćƒ„ćƒ¼ćƒ«ć§ć™**
12
+ - AIを擻用して**ćƒ—ćƒ­ćƒ€ć‚Æć‚·ćƒ§ćƒ³å“č³Ŗć®TypeScriptćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆ**ć‚’é–‹ē™ŗć—ćŸć„
13
+ - 長Ꙃ間恮AIć‚³ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°ć§čµ·ćć‚‹**ć‚³ćƒ³ćƒ†ć‚­ć‚¹ćƒˆęžÆęø‡**ć‚’å›žéæć—ćŸć„
14
+ - **専門AIć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆ**ć§é–‹ē™ŗć®ćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼ć‚’ęØ™ęŗ–åŒ–ć—ćŸć„
15
+
16
+ ## šŸ“– 目欔
17
+ 1. [ć‚Æć‚¤ćƒƒć‚Æć‚¹ć‚æćƒ¼ćƒˆļ¼ˆ3ć‚¹ćƒ†ćƒƒćƒ—ļ¼‰](#-ć‚Æć‚¤ćƒƒć‚Æć‚¹ć‚æćƒ¼ćƒˆ3ć‚¹ćƒ†ćƒƒćƒ—)
18
+ 2. [ćŖćœć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆļ¼Ÿ](#-ćŖćœć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆ)
19
+ 3. [å®Ÿćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®ęˆęžœ](#-å®Ÿćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®ęˆęžœ)
20
+ 4. [ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆļ¼†ć‚¬ć‚¤ćƒ‰](#-ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆć‚¬ć‚¤ćƒ‰)
21
+ 5. [ć‚¹ćƒ©ćƒƒć‚·ćƒ„ć‚³ćƒžćƒ³ćƒ‰](#-ć‚¹ćƒ©ćƒƒć‚·ćƒ„ć‚³ćƒžćƒ³ćƒ‰)
22
+ 6. [é–‹ē™ŗćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼](#-claude-code-ćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼)
23
+ 7. [ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆę§‹ęˆ](#-ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆę§‹ęˆ)
24
+ 8. [ćƒ‘ćƒƒć‚±ćƒ¼ć‚øćƒžćƒćƒ¼ć‚øćƒ£ćƒ¼ć®čØ­å®š](#-ćƒ‘ćƒƒć‚±ćƒ¼ć‚øćƒžćƒćƒ¼ć‚øćƒ£ćƒ¼ć®čØ­å®š)
25
+ 9. [å¤ščØ€čŖžåÆ¾åæœ](#-å¤ščØ€čŖžåÆ¾åæœ)
26
+ 10. [ć‚ˆćć‚ć‚‹č³Ŗå•](#-ć‚ˆćć‚ć‚‹č³Ŗå•)
27
+
28
+ > **ć©ć‚Œć‚’ä½æć†ć¹ćļ¼Ÿ**
29
+ > - **ć“ć®ćƒœć‚¤ćƒ©ćƒ¼ćƒ—ćƒ¬ćƒ¼ćƒˆ**を使う → **Claude Code**恧**TypeScript Ɨ ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆ**ć«ęœ€é©åŒ–ć—ć€**ē²¾åŗ¦ć‚’ęœ€å¤§åŒ–**ć—ćŸć„å “åˆ
30
+ > - **[claude-code-workflows](https://github.com/shinpr/claude-code-workflows)**を使う → **Claude Code**恧**ć©ć‚“ćŖćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć§ć‚‚2ć‚³ćƒžćƒ³ćƒ‰ć§å§‹ć‚ć‚‰ć‚Œć‚‹**态**ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°čØ€čŖžéžä¾å­˜**ć®ćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼
31
+ > - **[Agentic Code](https://github.com/shinpr/agentic-code)**を使う → **čØ­å®šäøč¦**恧**ć©ć‚“ćŖćƒ„ćƒ¼ćƒ«**恧悂**ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°čØ€čŖžć®ęŒ‡å®šćŖć**é–‹ē™ŗć—ćŸć„å “åˆļ¼ˆCodex CLI/Cursor/Aider等)
32
+
33
+ ## ⚔ ć‚Æć‚¤ćƒƒć‚Æć‚¹ć‚æćƒ¼ćƒˆļ¼ˆ3ć‚¹ćƒ†ćƒƒćƒ—ļ¼‰
34
+
35
+ ```bash
36
+ # 1. ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆä½œęˆļ¼ˆ30秒)
37
+ npx create-ai-project my-project --lang=ja
38
+
39
+ # 2. ä¾å­˜é–¢äæ‚ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ļ¼ˆč‡Ŗå‹•ļ¼‰
40
+ cd my-project && npm install
41
+
42
+ # 3. Claude Codeć‚’čµ·å‹•ć—ć¦čØ­å®š
43
+ claude # Claude Codeć‚’čµ·å‹•
44
+ /project-inject # ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć‚³ćƒ³ćƒ†ć‚­ć‚¹ćƒˆć‚’čØ­å®š
45
+ /implement <ć‚ćŖćŸć®ä½œć‚ŠćŸć„ę©Ÿčƒ½> # 開発開始!
46
+ ```
47
+
48
+ > šŸ’” **åˆć‚ć¦ć®ę–¹ćÆļ¼Ÿ** [ć‚Æć‚¤ćƒƒć‚Æć‚¹ć‚æćƒ¼ćƒˆć‚¬ć‚¤ćƒ‰](docs/guides/ja/quickstart.md)ć§č©³ē“°ćŖć‚»ćƒƒćƒˆć‚¢ćƒƒćƒ—ę‰‹é †ć‚’ē¢ŗčŖ
49
+
50
+ ## šŸš€ ćŖćœć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆļ¼Ÿ
51
+
52
+ **å¾“ę„ć®AIć‚³ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°ć®å•é”Œ**
53
+ - āŒ é•·ę™‚é–“ć®ć‚»ćƒƒć‚·ćƒ§ćƒ³ć§ć‚³ćƒ³ćƒ†ć‚­ć‚¹ćƒˆć‚’å¤±ć†
54
+ - āŒ ę™‚é–“ćØćØć‚‚ć«ć‚³ćƒ¼ćƒ‰å“č³ŖćŒä½Žäø‹
55
+ - āŒ å¤§č¦ęØ”ć‚æć‚¹ć‚Æć§é »ē¹ćŖć‚»ćƒƒć‚·ćƒ§ćƒ³å†čµ·å‹•ćŒåæ…č¦
56
+
57
+ **ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆć«ć‚ˆć‚‹č§£ę±ŗ**
58
+ - āœ… å°‚é–€ēš„ćŖå˜äø€ć®å½¹å‰²ć«åˆ†å‰²ļ¼ˆčØ­čØˆć€å®Ÿč£…ć€ćƒ¬ćƒ“ćƒ„ćƒ¼ļ¼‰
59
+ - āœ… ć‚³ćƒ³ćƒ†ć‚­ć‚¹ćƒˆć‚’åøøć«ę–°é®®ć«äæć”ć€å“č³Ŗć‚’äø€å®šć«ē¶­ęŒ
60
+ - āœ… å“č³Ŗä½Žäø‹ćŖć—ć§č¦ęØ”ę„Ÿć®ć‚ć‚‹ć‚æć‚¹ć‚Æć‚’å‡¦ē†
61
+
62
+ å„ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆćÆ1ć¤ć®ć‚æć‚¹ć‚Æć«é›†äø­ć—ć¾ć™ć€‚ćć®ēµęžœć€ć‚³ćƒ³ćƒ†ć‚­ć‚¹ćƒˆćÆęžÆęø‡ć›ćšć€å“č³Ŗć‚‚ē¶­ęŒć•ć‚Œć¾ć™ć€‚
63
+
64
+ šŸ‘‰ [ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆć«ć¤ć„ć¦č©³ć—ćļ¼ˆAnthropic docs)](https://docs.anthropic.com/en/docs/claude-code/sub-agents)
65
+
66
+ ### šŸ“ø ćƒ‡ćƒ¢
67
+
68
+ ![Demo](./.github/assets/demo.gif)
69
+
70
+ *ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆćŒé€£ęŗć—ć¦ćƒ—ćƒ­ćƒ€ć‚Æć‚·ćƒ§ćƒ³å“č³Ŗć®TypeScriptćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć‚’ę§‹ēÆ‰ć™ć‚‹ę§˜å­*
71
+
72
+ ## šŸŽÆ å®Ÿćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®ęˆęžœ
73
+
74
+ ### [Sub agents MCP Server](https://github.com/shinpr/sub-agents-mcp)
75
+ **内容**: Claude Code/Cursor CLIć‚’ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆåŒ–ć™ć‚‹MCPć‚µćƒ¼ćƒćƒ¼
76
+ **Ꙃ間**: 2ę—„é–“ → **TypeScript 30ćƒ•ć‚”ć‚¤ćƒ«ć€ćƒ•ćƒ«ćƒ†ć‚¹ćƒˆć‚«ćƒćƒ¬ćƒƒć‚ø**
77
+ **ēµęžœ**: ćƒ—ćƒ­ćƒ€ć‚Æć‚·ćƒ§ćƒ³ē’°å¢ƒć«ćƒ‡ćƒ—ćƒ­ć‚¤ęøˆćæć€3åˆ†ć§ć‚»ćƒƒćƒˆć‚¢ćƒƒćƒ—åÆčƒ½
78
+
79
+ ### [MCP Image Generator](https://github.com/shinpr/mcp-image)
80
+ **内容**: Gemini APIēµŒē”±ć®AIē”»åƒē”Ÿęˆ
81
+ **Ꙃ間**: 1.5ę—„é–“ → **é«˜åŗ¦ćŖę©Ÿčƒ½ć‚’ęŒć¤ć‚ÆćƒŖć‚Øć‚¤ćƒ†ć‚£ćƒ–ćƒ„ćƒ¼ćƒ«**
82
+ **ēµęžœ**: ćƒžćƒ«ćƒē”»åƒćƒ–ćƒ¬ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć€ć‚­ćƒ£ćƒ©ć‚Æć‚æćƒ¼äø€č²«ę€§ć€ćƒÆćƒ³ć‚³ćƒžćƒ³ćƒ‰ēµ±åˆ
83
+
84
+ > šŸ’” **ćƒć‚¤ćƒ³ćƒˆ**: é©åˆ‡ćŖćƒ«ćƒ¼ćƒ« + ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆ = ē“ ę—©ććƒ—ćƒ­ćƒ€ć‚Æć‚·ćƒ§ćƒ³å“č³Ŗć®ć‚³ćƒ¼ćƒ‰ć‚’ē”Ÿęˆć§ćć‚‹
85
+
86
+ ## šŸ“š ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆļ¼†ć‚¬ć‚¤ćƒ‰
87
+
88
+ - **[ć‚Æć‚¤ćƒƒć‚Æć‚¹ć‚æćƒ¼ćƒˆć‚¬ć‚¤ćƒ‰](docs/guides/ja/quickstart.md)** - 5åˆ†ć§å‹•ć‹ć™
89
+ - **[ćƒ¦ćƒ¼ć‚¹ć‚±ćƒ¼ć‚¹ļ¼†ć‚³ćƒžćƒ³ćƒ‰](docs/guides/ja/use-cases.md)** - ę—„åøøćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼ć®ćƒŖćƒ•ć‚”ćƒ¬ćƒ³ć‚¹
90
+ - **[ćƒ«ćƒ¼ćƒ«ē·Øé›†ć‚¬ć‚¤ćƒ‰](docs/guides/ja/rule-editing-guide.md)** - ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«åˆć‚ć›ć¦ć‚«ć‚¹ć‚æćƒžć‚¤ć‚ŗ
91
+ - **[čØ­čØˆę€ęƒ³](https://qiita.com/shinpr/items/98771c2b8d2e15cafcd5)** - ćŖćœć“ć‚ŒćŒę©Ÿčƒ½ć™ć‚‹ć®ć‹
92
+
93
+ ## šŸ“ ć‚¹ćƒ©ćƒƒć‚·ćƒ„ć‚³ćƒžćƒ³ćƒ‰
94
+
95
+ Claude Codeć§åˆ©ē”Øć§ćć‚‹äø»č¦ćŖć‚³ćƒžćƒ³ćƒ‰ļ¼š
96
+
97
+ | ć‚³ćƒžćƒ³ćƒ‰ | ē›®ēš„ | ä½æē”Øå “é¢ |
98
+ |---------|------|----------|
99
+ | `/implement` | č¦ä»¶ć‹ć‚‰å®Ÿč£…ć¾ć§ć®äø€č²«ć—ćŸé–‹ē™ŗ | ę–°ę©Ÿčƒ½é–‹ē™ŗļ¼ˆBackend) |
100
+ | `/task` | ćƒ«ćƒ¼ćƒ«ć«åŸŗć„ć„ćŸå˜äø€ć‚æć‚¹ć‚Æć®å®Ÿč”Œ | ćƒć‚°äæ®ę­£ć€å°č¦ęØ”ćŖå¤‰ę›“ |
101
+ | `/design` | čØ­čØˆę›øć®ä½œęˆ | ć‚¢ćƒ¼ć‚­ćƒ†ć‚Æćƒćƒ£ć®čØˆē”»ę™‚ļ¼ˆBackend) |
102
+ | `/plan` | čØ­čØˆę›øć‹ć‚‰ä½œę„­čØˆē”»ę›øć‚’ä½œęˆ | čØ­čØˆę‰æčŖå¾Œļ¼ˆBackend) |
103
+ | `/build` | ę—¢å­˜ć®čØˆē”»ć‹ć‚‰å®Ÿč”Œ | ä½œę„­ć®å†é–‹ę™‚ļ¼ˆBackend) |
104
+ | `/review` | ć‚³ćƒ¼ćƒ‰ć®ęŗ–ę‹ ę€§ē¢ŗčŖ | å®Ÿč£…å®Œäŗ†å¾Œ |
105
+ | `/front-design` | ćƒ•ćƒ­ćƒ³ćƒˆć‚Øćƒ³ćƒ‰čØ­čØˆę›øć®ä½œęˆ | React/Viteć‚¢ćƒ¼ć‚­ćƒ†ć‚Æćƒćƒ£čØˆē”»ę™‚ |
106
+ | `/front-plan` | ćƒ•ćƒ­ćƒ³ćƒˆć‚Øćƒ³ćƒ‰ä½œę„­čØˆē”»ę›øć‚’ä½œęˆ | ćƒ•ćƒ­ćƒ³ćƒˆć‚Øćƒ³ćƒ‰čØ­čØˆę‰æčŖå¾Œ |
107
+ | `/front-build` | ćƒ•ćƒ­ćƒ³ćƒˆć‚Øćƒ³ćƒ‰å®Ÿč£…ć®å®Ÿč”Œ | Reactć‚³ćƒ³ćƒćƒ¼ćƒćƒ³ćƒˆé–‹ē™ŗ |
108
+
109
+ [ć‚³ćƒžćƒ³ćƒ‰ć®č©³ē“°ćÆć“ć”ć‚‰ →](docs/guides/ja/use-cases.md)
110
+
111
+ ## šŸ¤– Claude Code ćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼
112
+
113
+ ```mermaid
114
+ graph LR
115
+ A[要件] --> B[č¦ęØ”åˆ¤å®š]
116
+ B -->|å°č¦ęØ”| C[ē›“ęŽ„å®Ÿč£…]
117
+ B -->|äø­č¦ęØ”| D[設計 → å®Ÿč£…]
118
+ B -->|å¤§č¦ęØ”| E[PRD → 設計 → å®Ÿč£…]
119
+
120
+ C --> F[å“č³Ŗćƒć‚§ćƒƒć‚Æ → ć‚³ćƒŸćƒƒćƒˆ]
121
+ D --> F
122
+ E --> F
123
+ ```
124
+
125
+ ### å‹•ä½œć®ä»•ēµ„ćæ
126
+
127
+ 1. **č¦ä»¶åˆ†ęž**: `/implement`ć‚³ćƒžćƒ³ćƒ‰ćŒć‚æć‚¹ć‚Æć®č¦ęØ”ć‚’åˆ¤ę–­ć—ć¾ć™
128
+ 2. **ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆē”Ÿęˆ**: åæ…č¦ć«åæœć˜ć¦ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆļ¼ˆPRD态Design Doc态Work Planļ¼‰ć‚’ä½œęˆć—ć¾ć™
129
+ 3. **ć‚æć‚¹ć‚Æå®Ÿč”Œ**: å°‚é–€ć®ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆćŒå„ćƒ•ć‚§ćƒ¼ć‚ŗć‚’ę‹…å½“ć—ć¾ć™
130
+ 4. **å“č³ŖäæčØ¼**: ćƒ†ć‚¹ćƒˆć€åž‹ćƒć‚§ćƒƒć‚Æć€åæ…č¦ć«åæœć˜ćŸäæ®ę­£ć‚’č”Œć„ć¾ć™
131
+ 5. **ć‚³ćƒŸćƒƒćƒˆ**: ć‚æć‚¹ć‚Æć”ćØć«ę•“ē†ć•ć‚ŒćŸć‚³ćƒŸćƒƒćƒˆć‚’ä½œęˆć—ć¾ć™
132
+
133
+ ## šŸ“‚ ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆę§‹ęˆ
134
+
135
+ ```
136
+ ai-coding-project-boilerplate/
137
+ ā”œā”€ā”€ .claude/ # AIć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆčØ­å®š
138
+ │ ā”œā”€ā”€ agents/ # å°‚é–€ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆå®šē¾©
139
+ │ └── commands/ # ć‚¹ćƒ©ćƒƒć‚·ćƒ„ć‚³ćƒžćƒ³ćƒ‰å®šē¾©
140
+ ā”œā”€ā”€ docs/
141
+ │ ā”œā”€ā”€ rules/ # é–‹ē™ŗćƒ«ćƒ¼ćƒ«ļ¼†ćƒ‘ć‚æćƒ¼ćƒ³
142
+ │ ā”œā”€ā”€ guides/ # ćƒ¦ćƒ¼ć‚¶ćƒ¼ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆ
143
+ │ ā”œā”€ā”€ adr/ # ć‚¢ćƒ¼ć‚­ćƒ†ć‚Æćƒćƒ£ę±ŗå®š
144
+ │ ā”œā”€ā”€ design/ # čØ­čØˆćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆ
145
+ │ └── prd/ # 製品要件
146
+ ā”œā”€ā”€ src/ # ć‚ćŖćŸć®ć‚½ćƒ¼ć‚¹ć‚³ćƒ¼ćƒ‰
147
+ ā”œā”€ā”€ scripts/ # ćƒ¦ćƒ¼ćƒ†ć‚£ćƒŖćƒ†ć‚£ć‚¹ć‚ÆćƒŖćƒ—ćƒˆ
148
+ └── CLAUDE.md # Claude Code設定
149
+ ```
150
+
151
+ ## šŸ”§ ćƒ‘ćƒƒć‚±ćƒ¼ć‚øćƒžćƒćƒ¼ć‚øćƒ£ćƒ¼ć®čØ­å®š
152
+
153
+ ć“ć®ćƒœć‚¤ćƒ©ćƒ¼ćƒ—ćƒ¬ćƒ¼ćƒˆćÆćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć§npmć‚’ä½æē”Øć—ć¾ć™ćŒć€bun悄pnpmćŖć©å„½ćæć®ćƒ‘ćƒƒć‚±ćƒ¼ć‚øćƒžćƒćƒ¼ć‚øćƒ£ćƒ¼ć«åˆ‡ć‚Šę›æćˆć‚‹ć“ćØćŒć§ćć¾ć™ć€‚
154
+
155
+ `package.json`には2ć¤ć®ē’°å¢ƒä¾å­˜čØ­å®šćŒć‚ć‚Šć¾ć™ļ¼š
156
+
157
+ - **`packageManager`**: ä½æē”Øć™ć‚‹ćƒ‘ćƒƒć‚±ćƒ¼ć‚øćƒžćƒćƒ¼ć‚øćƒ£ćƒ¼ćØćƒćƒ¼ć‚øćƒ§ćƒ³
158
+ - **`scripts`**: å„ć‚¹ć‚ÆćƒŖćƒ—ćƒˆć®å®Ÿč”Œć‚³ćƒžćƒ³ćƒ‰
159
+
160
+ ć“ć‚Œć‚‰ć‚’å¤‰ę›“ć™ć‚‹ćØć€Claude CodećŒćć‚Œć‚’čŖč­˜ć—ć€é©åˆ‡ćŖć‚³ćƒžćƒ³ćƒ‰ć§å®Ÿč”Œć—ć¾ć™ć€‚
161
+
162
+ ### bunć«åˆ‡ć‚Šę›æćˆć‚‹å “åˆ
163
+
164
+ ```json
165
+ {
166
+ "packageManager": "bun@1.3.3",
167
+ "scripts": {
168
+ "build": "bun run tsc && tsc-alias",
169
+ "dev": "bun run src/index.ts",
170
+ "test": "bun test",
171
+ "check": "bunx @biomejs/biome check src",
172
+ "check:all": "bun run check && bun run lint && bun run format:check && bun run check:unused && bun run check:deps && bun run build && bun test"
173
+ }
174
+ }
175
+ ```
176
+
177
+ äøŠčØ˜ćÆä»£č”Øä¾‹ć§ć™ć€‚ćƒ«ćƒ¼ćƒ«ć‚„ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆå®šē¾©ć§čØ€åŠć•ć‚Œć¦ć„ć‚‹ć‚¹ć‚ÆćƒŖćƒ—ćƒˆćÆä»„äø‹ć®é€šć‚Šć§ć™ć€‚åæ…č¦ć«åæœć˜ć¦ę›øćę›ćˆć¦ćć ć•ć„ļ¼š
178
+
179
+ `build`, `build:frontend`, `dev`, `preview`, `type-check`, `test`, `test:coverage`, `test:coverage:fresh`, `test:safe`, `cleanup:processes`, `check`, `check:fix`, `check:code`, `check:unused`, `check:deps`, `check:all`, `format`, `format:check`, `lint`, `lint:fix`
180
+
181
+ ## 🌐 å¤ščØ€čŖžåÆ¾åæœ
182
+
183
+ ę—„ęœ¬čŖžćØč‹±čŖžć«åÆ¾åæœć—ć¦ć„ć¾ć™ļ¼š
184
+
185
+ ```bash
186
+ npm run lang:ja # ę—„ęœ¬čŖžć«åˆ‡ć‚Šę›æćˆ
187
+ npm run lang:en # č‹±čŖžć«åˆ‡ć‚Šę›æćˆ
188
+ npm run lang:status # ē¾åœØć®čØ€čŖžčØ­å®šć‚’ē¢ŗčŖ
189
+ ```
190
+
191
+ čØ€čŖžć‚’åˆ‡ć‚Šę›æćˆć‚‹ćØć€čØ­å®šćƒ•ć‚”ć‚¤ćƒ«ć€ćƒ«ćƒ¼ćƒ«ć€ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆå®šē¾©ćŒč‡Ŗå‹•ēš„ć«ę›“ę–°ć•ć‚Œć¾ć™ć€‚
192
+
193
+ ## šŸ¤” ć‚ˆćć‚ć‚‹č³Ŗå•
194
+
195
+ **Q: ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆćÆć©ć®ć‚ˆć†ć«å‹•ä½œć—ć¾ć™ć‹ļ¼Ÿ**
196
+ A: `/implement`悄`/task`ć‚³ćƒžćƒ³ćƒ‰ć‚’ä½æē”Øć™ć‚‹ćØć€ć‚æć‚¹ć‚Æć«åæœć˜ć¦é©åˆ‡ćŖć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆćŒč‡Ŗå‹•ēš„ć«éøęŠžć•ć‚Œć€å®Ÿč”Œć•ć‚Œć¾ć™ć€‚
197
+
198
+ **Q: ć‚Øćƒ©ćƒ¼ćŒē™ŗē”Ÿć—ćŸå “åˆć®åÆ¾å‡¦ę³•ćÆļ¼Ÿ**
199
+ A: quality-fixerćŒå¤šćć®å•é”Œć‚’č‡Ŗå‹•ēš„ć«ę¤œå‡ŗćƒ»äæ®ę­£ć—ć¾ć™ć€‚č‡Ŗå‹•äæ®ę­£ć§ććŖć„å “åˆćÆć€å…·ä½“ēš„ćŖåÆ¾å‡¦ę–¹ę³•ć‚’ć”ę”ˆå†…ć—ć¾ć™ć€‚
200
+
201
+ **Q: ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«åˆć‚ć›ćŸć‚«ć‚¹ć‚æćƒžć‚¤ć‚ŗćÆåÆčƒ½ć§ć™ć‹ļ¼Ÿ**
202
+ A: ćÆć„ć€åÆčƒ½ć§ć™ć€‚`/project-inject`ć‚³ćƒžćƒ³ćƒ‰ć‚’å®Ÿč”Œć—ć¦ć€ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆå›ŗęœ‰ć®čØ­å®šć‚’č”Œć£ć¦ćć ć•ć„ć€‚
203
+
204
+ **Q: åŸŗęœ¬ēš„ćŖé–‹ē™ŗć®ęµć‚Œć‚’ę•™ćˆć¦ćć ć•ć„ć€‚**
205
+ A: åˆå›žćÆ`/project-inject`ć§ćƒ—ćƒ­ć‚øć‚§ć‚ÆćƒˆčØ­å®šć‚’č”Œć„ć€ćć®å¾ŒćÆ`/implement`ć§ę©Ÿčƒ½é–‹ē™ŗć€å“č³Ŗćƒć‚§ćƒƒć‚Æć€ć‚³ćƒŸćƒƒćƒˆćØć„ć†ęµć‚Œć«ćŖć‚Šć¾ć™ć€‚
206
+
207
+ **Q: GitHub Copilot悄CursorćØćÆć©ć†é•ć„ć¾ć™ć‹ļ¼Ÿ**
208
+ A: ć“ć‚Œć‚‰ć®ćƒ„ćƒ¼ćƒ«ćÆć‚³ćƒ¼ćƒ‰čØ˜čæ°ć®ę”Æę“ć«ē‰¹åŒ–ć—ć¦ć„ć¾ć™ćŒć€ęœ¬ćƒœć‚¤ćƒ©ćƒ¼ćƒ—ćƒ¬ćƒ¼ćƒˆćÆé–‹ē™ŗćƒ—ćƒ­ć‚»ć‚¹å…Øä½“ć‚’ć‚µćƒćƒ¼ćƒˆć™ć‚‹ä»•ēµ„ćæć‚’ęä¾›ć—ć¦ć„ć¾ć™ć€‚
209
+
210
+ ## šŸ¤– ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆäø€č¦§
211
+
212
+ | ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆ | ę‹…å½“é ˜åŸŸ | ä½æē”Øć•ć‚Œć‚‹ć‚æć‚¤ćƒŸćƒ³ć‚° |
213
+ |------------|---------|------------------|
214
+ | **requirement-analyzer** | ć‚æć‚¹ć‚Æč¦ęØ”ć®åˆ¤å®š | `/implement`ć‚³ćƒžćƒ³ćƒ‰å®Ÿč”Œę™‚ |
215
+ | **technical-designer** | čØ­čØˆćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆć®ä½œęˆ | äø­č¦ęØ”ćƒ»å¤§č¦ęØ”ę©Ÿčƒ½ć®é–‹ē™ŗę™‚ |
216
+ | **document-reviewer** | ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆå“č³Ŗćƒć‚§ćƒƒć‚Æ | ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆä½œęˆå¾Œ |
217
+ | **design-sync** | Design Docé–“ć®ę•“åˆę€§ę¤œčØ¼ | Design Doc作成後 |
218
+ | **acceptance-test-generator** | ACć‹ć‚‰ćƒ†ć‚¹ćƒˆć‚¹ć‚±ćƒ«ćƒˆćƒ³ē”Ÿęˆ | čØ­čØˆę‰æčŖå¾Œ |
219
+ | **work-planner** | ć‚æć‚¹ć‚Æć®åˆ†č§£ćØčØˆē”» | čØ­čØˆå®Œäŗ†å¾Œ |
220
+ | **task-executor** | å®Ÿč£…ä½œę„­ | é–‹ē™ŗćƒ•ć‚§ćƒ¼ć‚ŗ |
221
+ | **quality-fixer** | å“č³Ŗå•é”Œć®äæ®ę­£ | ć‚Øćƒ©ćƒ¼ć‚„č­¦å‘Šć®ę¤œå‡ŗę™‚ |
222
+ | **code-reviewer** | ć‚³ćƒ¼ćƒ‰ćƒ¬ćƒ“ćƒ„ćƒ¼ | `/review`ć‚³ćƒžćƒ³ćƒ‰å®Ÿč”Œę™‚ |
223
+ | **integration-test-reviewer** | ćƒ†ć‚¹ćƒˆå®Ÿč£…å“č³Ŗć®ę¤œčØ¼ | ćƒ†ć‚¹ćƒˆå®Ÿč£…å¾Œ |
224
+
225
+ [ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆć®č©³ē“° →](.claude/agents-ja/)
226
+
227
+ ## šŸ“„ ćƒ©ć‚¤ć‚»ćƒ³ć‚¹
228
+
229
+ MIT License - č‡Ŗē”±ć«ä½æē”Øćƒ»ę”¹å¤‰ćƒ»é…åøƒåÆčƒ½
230
+
231
+ ## šŸŽÆ ć“ć®ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«ć¤ć„ć¦
232
+
233
+ AI Coding Project Boilerplateは、AIć‚’ę“»ē”Øć—ćŸé–‹ē™ŗć«ćŠć„ć¦ć€ć‚³ćƒ¼ćƒ‰å“č³ŖćØé–‹ē™ŗåŠ¹ēŽ‡ć®ćƒćƒ©ćƒ³ć‚¹ć‚’é‡č¦–ć—ć¦čØ­čØˆć•ć‚Œć¦ć„ć¾ć™ć€‚ć‚µćƒ–ć‚Øćƒ¼ć‚øć‚§ćƒ³ćƒˆć«ć‚ˆć‚‹å½¹å‰²åˆ†ę‹…ćØć‚³ćƒ³ćƒ†ć‚­ć‚¹ćƒˆē®”ē†ć«ć‚ˆć‚Šć€TypeScriptćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®åŠ¹ēŽ‡ēš„ćŖé–‹ē™ŗć‚’ć‚µćƒćƒ¼ćƒˆć—ć¾ć™ć€‚
package/README.md ADDED
@@ -0,0 +1,243 @@
1
+ # AI Coding Project Boilerplate šŸ¤–
2
+
3
+ *Read this in other languages: [ę—„ęœ¬čŖž](README.ja.md)*
4
+
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/)
6
+ [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green?logo=node.js)](https://nodejs.org/)
7
+ [![Claude Code](https://img.shields.io/badge/Claude%20Code-Optimized-purple)](https://claude.ai/code)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/shinpr/ai-coding-project-boilerplate/pulls)
10
+
11
+ ⚔ **This boilerplate is for developers who want to:**
12
+ - Build **production-ready TypeScript projects** faster with AI
13
+ - Avoid **context exhaustion** in long AI coding sessions
14
+ - Standardize team workflows with **specialized AI agents**
15
+
16
+ ## šŸ“– Table of Contents
17
+ 1. [Quick Start (3 Steps)](#-quick-start-3-steps)
18
+ 2. [Why Sub Agents?](#-why-sub-agents)
19
+ 3. [Real Projects & Results](#-real-world-results)
20
+ 4. [Documentation & Guides](#-documentation--guides)
21
+ 5. [Slash Commands](#-slash-commands)
22
+ 6. [Development Workflow](#-claude-code-workflow)
23
+ 7. [Project Structure](#-project-structure)
24
+ 8. [Package Manager Configuration](#-package-manager-configuration)
25
+ 9. [Multilingual Support](#-multilingual-support)
26
+ 10. [FAQ](#-faq)
27
+
28
+ > **Which one should you use?**
29
+ > - **Use this Boilerplate** if you want to **maximize precision** with **TypeScript Ɨ Sub-agent** setup optimized for **Claude Code**.
30
+ > - **Use [claude-code-workflows](https://github.com/shinpr/claude-code-workflows)** if you're on **Claude Code** and want to **start with any project** in **2 commands** and **language-agnostic** workflows.
31
+ > - **Use [Agentic Code](https://github.com/shinpr/agentic-code)** if you want **zero-config**, **tool-agnostic** workflows **without language restrictions** (Codex CLI/Cursor/Aider etc.).
32
+
33
+ ## ⚔ Quick Start (3 Steps)
34
+
35
+ ```bash
36
+ # 1. Create your project (30 seconds)
37
+ npx create-ai-project my-project
38
+
39
+ # 2. Install dependencies (automatic)
40
+ cd my-project && npm install
41
+
42
+ # 3. Launch Claude Code and configure
43
+ claude # Launch Claude Code
44
+ /project-inject # Configure project context
45
+ /implement <your feature> # Start building!
46
+ ```
47
+
48
+ > šŸ’” **First time?** Check the [Quick Start Guide](docs/guides/en/quickstart.md) for detailed setup instructions
49
+
50
+ ## šŸš€ Why Sub Agents?
51
+
52
+ **Traditional AI coding struggles with:**
53
+ - āŒ Losing context in long sessions
54
+ - āŒ Declining code quality over time
55
+ - āŒ Frequent session restarts for large tasks
56
+
57
+ **Sub agents solve this by:**
58
+ - āœ… Splitting work into specialized roles (design, implementation, review)
59
+ - āœ… Keeping context fresh and quality consistent
60
+ - āœ… Handling large projects without degradation
61
+
62
+ Each agent focuses on one thing and does it well. No context exhaustion, no quality drop.
63
+
64
+ šŸ‘‰ [Learn more about Sub Agents (Anthropic docs)](https://docs.anthropic.com/en/docs/claude-code/sub-agents)
65
+
66
+ ### šŸ“ø Demo
67
+
68
+ ![Demo](./.github/assets/demo.gif)
69
+
70
+ *Sub agents working together to build a production-ready TypeScript project*
71
+
72
+ ## šŸŽÆ Real-World Results
73
+
74
+ ### ā±ļø Time Comparison
75
+ - **Without this boilerplate**: ~1 week for setup + infrastructure
76
+ - **With this boilerplate**: ~2 days to production-ready application
77
+
78
+ ### Success Stories
79
+
80
+ #### [Sub agents MCP Server](https://github.com/shinpr/sub-agents-mcp)
81
+ **What**: MCP server enabling Claude Code/Cursor CLI as sub agents
82
+ **Time**: 2 days → **30 TypeScript files with full test coverage**
83
+ **Result**: Production-deployed, 3-minute setup
84
+
85
+ #### [MCP Image Generator](https://github.com/shinpr/mcp-image)
86
+ **What**: AI image generation via Gemini API
87
+ **Time**: 1.5 days → **Complete creative tool with advanced features**
88
+ **Result**: Multi-image blending, character consistency, one-command integration
89
+
90
+ > šŸ’” **Key Insight**: Proper rules + sub agents = production-quality code at AI speed
91
+
92
+ ## šŸ“š Documentation & Guides
93
+
94
+ - **[Quick Start Guide](docs/guides/en/quickstart.md)** - Get running in 5 minutes
95
+ - **[Use Cases & Commands](docs/guides/en/use-cases.md)** - Daily workflow reference
96
+ - **[Rule Editing Guide](docs/guides/en/rule-editing-guide.md)** - Customize for your project
97
+ - **[Design Philosophy](https://dev.to/shinpr/zero-context-exhaustion-building-production-ready-ai-coding-teams-with-claude-code-sub-agents-31b)** - Why it works (770K tokens without exhaustion)
98
+
99
+ ## šŸ“ Slash Commands
100
+
101
+ Essential commands for Claude Code:
102
+
103
+ | Command | Purpose | When to Use |
104
+ |---------|---------|-------------|
105
+ | `/implement` | End-to-end feature development | New features (Backend) |
106
+ | `/task` | Single task with rule precision | Bug fixes, small changes |
107
+ | `/design` | Create design docs only | Architecture planning (Backend) |
108
+ | `/plan` | Create work plan from design | After design approval (Backend) |
109
+ | `/build` | Execute from existing plan | Resume work (Backend) |
110
+ | `/review` | Check code compliance | Post-implementation |
111
+ | `/front-design` | Create frontend design docs | React/Vite architecture planning |
112
+ | `/front-plan` | Create frontend work plan | After frontend design approval |
113
+ | `/front-build` | Execute frontend implementation | React component development |
114
+
115
+ [Full command reference →](docs/guides/en/use-cases.md)
116
+
117
+ ## šŸ¤– Claude Code Workflow
118
+
119
+ ```mermaid
120
+ graph LR
121
+ A[Requirements] --> B[Scale Detection]
122
+ B -->|Small| C[Direct Implementation]
123
+ B -->|Medium| D[Design → Implementation]
124
+ B -->|Large| E[PRD → Design → Implementation]
125
+
126
+ C --> F[Quality Check → Commit]
127
+ D --> F
128
+ E --> F
129
+ ```
130
+
131
+ ### How It Works
132
+
133
+ 1. **Requirement Analysis**: `/implement` command analyzes task scale
134
+ 2. **Document Generation**: Creates necessary docs (PRD, Design Doc, Work Plan)
135
+ 3. **Task Execution**: Specialized agents handle each phase
136
+ 4. **Quality Assurance**: Automatic testing, type checking, and fixes
137
+ 5. **Commit & Continue**: Clean commits for each completed task
138
+
139
+ ## šŸ“‚ Project Structure
140
+
141
+ ```
142
+ ai-coding-project-boilerplate/
143
+ ā”œā”€ā”€ .claude/ # AI agent configurations
144
+ │ ā”œā”€ā”€ agents/ # Specialized sub-agent definitions
145
+ │ └── commands/ # Slash command definitions
146
+ ā”œā”€ā”€ docs/
147
+ │ ā”œā”€ā”€ rules/ # Development rules & patterns
148
+ │ ā”œā”€ā”€ guides/ # User documentation
149
+ │ ā”œā”€ā”€ adr/ # Architecture decisions
150
+ │ ā”œā”€ā”€ design/ # Design documents
151
+ │ └── prd/ # Product requirements
152
+ ā”œā”€ā”€ src/ # Your source code
153
+ ā”œā”€ā”€ scripts/ # Utility scripts
154
+ └── CLAUDE.md # Claude Code configuration
155
+ ```
156
+
157
+ ## šŸ”§ Package Manager Configuration
158
+
159
+ This boilerplate uses npm by default, but you can switch to your preferred package manager like bun or pnpm.
160
+
161
+ There are two environment-dependent settings in `package.json`:
162
+
163
+ - **`packageManager`**: The package manager and version to use
164
+ - **`scripts`**: The execution commands for each script
165
+
166
+ When you change these, Claude Code will recognize them and execute with the appropriate commands.
167
+
168
+ ### Switching to bun
169
+
170
+ ```json
171
+ {
172
+ "packageManager": "bun@1.3.3",
173
+ "scripts": {
174
+ "build": "bun run tsc && tsc-alias",
175
+ "dev": "bun run src/index.ts",
176
+ "test": "bun test",
177
+ "check": "bunx @biomejs/biome check src",
178
+ "check:all": "bun run check && bun run lint && bun run format:check && bun run check:unused && bun run check:deps && bun run build && bun test"
179
+ }
180
+ }
181
+ ```
182
+
183
+ The above are representative examples. The following scripts are referenced in rules and sub-agent definitions. Update them as needed:
184
+
185
+ `build`, `build:frontend`, `dev`, `preview`, `type-check`, `test`, `test:coverage`, `test:coverage:fresh`, `test:safe`, `cleanup:processes`, `check`, `check:fix`, `check:code`, `check:unused`, `check:deps`, `check:all`, `format`, `format:check`, `lint`, `lint:fix`
186
+
187
+ ## 🌐 Multilingual Support
188
+
189
+ Full support for English and Japanese:
190
+
191
+ ```bash
192
+ npm run lang:en # Switch to English
193
+ npm run lang:ja # Switch to Japanese
194
+ npm run lang:status # Check current language
195
+ ```
196
+
197
+ Automatically updates all configurations, rules, and agent definitions.
198
+
199
+ ## šŸ¤” FAQ
200
+
201
+ **Q: How do sub agents work?**
202
+ A: Just use `/implement` or `/task`. The right agents activate automatically.
203
+
204
+ **Q: What if there are errors?**
205
+ A: quality-fixer auto-fixes most issues. If not, it provides clear instructions.
206
+
207
+ **Q: Can I customize for my project?**
208
+ A: Yes! Run `/project-inject` to configure project-specific context.
209
+
210
+ **Q: What's the typical workflow?**
211
+ A: `/project-inject` (once) → `/implement` (features) → auto quality checks → commit
212
+
213
+ **Q: How is this different from Copilot/Cursor?**
214
+ A: Those help write code. This manages entire development lifecycle with specialized agents.
215
+
216
+ ## šŸ¤– Complete Sub Agents Roster
217
+
218
+ | Agent | Specialization | Activation |
219
+ |-------|---------------|------------|
220
+ | **requirement-analyzer** | Scale assessment | Start of `/implement` |
221
+ | **technical-designer** | Design documentation | Medium/large features |
222
+ | **document-reviewer** | Document quality check | After document creation |
223
+ | **design-sync** | Design Doc consistency | After Design Doc creation |
224
+ | **acceptance-test-generator** | Test skeleton from ACs | After design approval |
225
+ | **work-planner** | Task breakdown | After design approval |
226
+ | **task-executor** | Implementation | During build phase |
227
+ | **quality-fixer** | Automated fixes | On any quality issue |
228
+ | **code-reviewer** | Compliance check | `/review` command |
229
+ | **integration-test-reviewer** | Test implementation quality | After test implementation |
230
+
231
+ [Full agent list →](.claude/agents-en/)
232
+
233
+ ## šŸ“„ License
234
+
235
+ MIT License - Free to use, modify, and distribute
236
+
237
+ ## šŸŽÆ About This Project
238
+
239
+ The AI Coding Project Boilerplate is engineered to maximize AI coding productivity while maintaining human-level code quality. By leveraging specialized sub agents and context engineering, it enables teams to build production-ready TypeScript applications at unprecedented speed.
240
+
241
+ ---
242
+
243
+ Happy Coding with Claude Code! šŸ¤–āœØ
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawn } = require('child_process');
4
+ const path = require('path');
5
+ const fs = require('fs');
6
+
7
+ // Parse command line arguments
8
+ const args = process.argv.slice(2);
9
+
10
+ if (args.length === 0 || args[0] === '--help' || args[0] === '-h') {
11
+ console.log(`
12
+ šŸš€ AI Coding Project Boilerplate
13
+
14
+ Usage:
15
+ npx create-ai-project <project-name> [options]
16
+ npm init ai-project <project-name> [options]
17
+
18
+ Options:
19
+ --lang=<language> Set the project language (ja or en, default: en)
20
+ --help, -h Show this help message
21
+
22
+ Examples:
23
+ npx create-ai-project my-project
24
+ npx create-ai-project my-project --lang=ja
25
+ npm init ai-project my-project --lang=ja
26
+ `);
27
+ process.exit(0);
28
+ }
29
+
30
+ const projectName = args[0];
31
+ const options = args.slice(1);
32
+
33
+ // Parse language option
34
+ let language = 'en'; // default
35
+ for (const opt of options) {
36
+ if (opt.startsWith('--lang=')) {
37
+ language = opt.split('=')[1];
38
+ if (!['ja', 'en'].includes(language)) {
39
+ console.error(`āŒ Invalid language: ${language}. Supported languages are: ja, en`);
40
+ process.exit(1);
41
+ }
42
+ }
43
+ }
44
+
45
+ // Validate project name
46
+ const validNamePattern = /^[a-z0-9-._]+$/;
47
+ if (!validNamePattern.test(projectName)) {
48
+ console.error(`āŒ Invalid project name: ${projectName}`);
49
+ console.error(' Project name must contain only lowercase letters, numbers, hyphens, dots, and underscores.');
50
+ process.exit(1);
51
+ }
52
+
53
+ // Check if directory already exists
54
+ const projectPath = path.resolve(process.cwd(), projectName);
55
+ if (fs.existsSync(projectPath)) {
56
+ console.error(`āŒ Directory already exists: ${projectPath}`);
57
+ process.exit(1);
58
+ }
59
+
60
+ console.log(`\nšŸŽ‰ Creating new AI coding project: ${projectName}`);
61
+ console.log(`šŸ“ Location: ${projectPath}`);
62
+ console.log(`🌐 Language: ${language}\n`);
63
+
64
+ // Run setup script
65
+ const setupScript = path.join(__dirname, '..', 'scripts', 'setup-project.js');
66
+ const setupProcess = spawn('node', [setupScript, projectName, language], {
67
+ stdio: 'inherit',
68
+ cwd: process.cwd() // ē¾åœØć®ä½œę„­ćƒ‡ć‚£ćƒ¬ć‚ÆćƒˆćƒŖć‚’ä½æē”Ø
69
+ });
70
+
71
+ setupProcess.on('close', (code) => {
72
+ if (code !== 0) {
73
+ console.error(`\nāŒ Setup failed with exit code ${code}`);
74
+ process.exit(code);
75
+ }
76
+
77
+ console.log(`\nāœ… Project created successfully!`);
78
+ console.log(`\nšŸ“– Next steps:`);
79
+ console.log(` cd ${projectName}`);
80
+ console.log(` npm install`);
81
+ console.log(` npm run dev\n`);
82
+ });
83
+
84
+ setupProcess.on('error', (err) => {
85
+ console.error(`\nāŒ Failed to execute setup script: ${err.message}`);
86
+ process.exit(1);
87
+ });
package/biome.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
3
+ "organizeImports": {
4
+ "enabled": true
5
+ },
6
+ "formatter": {
7
+ "enabled": true,
8
+ "formatWithErrors": false,
9
+ "indentStyle": "space",
10
+ "indentWidth": 2,
11
+ "lineWidth": 100
12
+ },
13
+ "linter": {
14
+ "enabled": true,
15
+ "rules": {
16
+ "recommended": true,
17
+ "style": {
18
+ "noNonNullAssertion": "off"
19
+ },
20
+ "suspicious": {
21
+ "noExplicitAny": "warn"
22
+ },
23
+ "complexity": {
24
+ "useLiteralKeys": "off"
25
+ }
26
+ }
27
+ },
28
+ "overrides": [
29
+ {
30
+ "include": ["**/__tests__/**/*.ts", "**/*.test.ts", "**/*.spec.ts"],
31
+ "linter": {
32
+ "rules": {
33
+ "suspicious": {
34
+ "noExplicitAny": "off"
35
+ }
36
+ }
37
+ }
38
+ }
39
+ ],
40
+ "javascript": {
41
+ "formatter": {
42
+ "semicolons": "asNeeded",
43
+ "quoteStyle": "single",
44
+ "trailingCommas": "es5"
45
+ }
46
+ },
47
+ "files": {
48
+ "include": ["src/**/*.ts", "src/**/*.js"],
49
+ "ignore": ["node_modules/**", "dist/**"]
50
+ }
51
+ }
@@ -0,0 +1,64 @@
1
+ # [ADR Number] [Title]
2
+
3
+ ## Status
4
+
5
+ [Proposed | Accepted | Deprecated | Superseded]
6
+
7
+ ## Context
8
+
9
+ [Describe the background and reasons why this decision is needed. Include the essence of the problem, current challenges, and constraints]
10
+
11
+ ## Decision
12
+
13
+ [Describe the actual decision made. Aim for specific and clear descriptions]
14
+
15
+ ### Decision Details
16
+
17
+ | Item | Content |
18
+ |------|---------|
19
+ | **Decision** | [The decision in one sentence] |
20
+ | **Why now** | [Why this needs to happen now (timing rationale)] |
21
+ | **Why this** | [Why this option over alternatives (1-3 lines)] |
22
+ | **Known unknowns** | [At least one uncertainty at this point] |
23
+ | **Kill criteria** | [One signal that should trigger reversal of this decision] |
24
+
25
+ ## Rationale
26
+
27
+ [Explain why this decision was made and why it is the best option compared to alternatives]
28
+
29
+ ### Options Considered
30
+
31
+ 1. **Option 1**: [Description]
32
+ - Pros: [List advantages]
33
+ - Cons: [List disadvantages]
34
+
35
+ 2. **Option 2**: [Description]
36
+ - Pros: [List advantages]
37
+ - Cons: [List disadvantages]
38
+
39
+ 3. **Option 3 (Selected)**: [Description]
40
+ - Pros: [List advantages]
41
+ - Cons: [List disadvantages]
42
+
43
+ ## Consequences
44
+
45
+ ### Positive Consequences
46
+
47
+ - [List positive impacts on the project or system]
48
+
49
+ ### Negative Consequences
50
+
51
+ - [List negative impacts or trade-offs that need to be accepted]
52
+
53
+ ### Neutral Consequences
54
+
55
+ - [List changes that are neither good nor bad]
56
+
57
+ ## Implementation Guidance
58
+
59
+ [Principled direction only. Implementation procedures go to Design Doc]
60
+ Example: "Use dependency injection" āœ“, "Implement in Phase 1" āœ—
61
+
62
+ ## Related Information
63
+
64
+ - [Links to related ADRs, documents, issues, PRs, etc.]