@glxmart/boss-cli 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/README.md +0 -1
  2. package/assets/claude-md/docs/conductor.md +139 -0
  3. package/assets/claude-md/docs/initialization.md +2 -2
  4. package/assets/claude-md/docs/workers.md +33 -54
  5. package/assets/claude-md/docs/workflow.md +23 -59
  6. package/assets/claude-md/template.md +198 -756
  7. package/assets/git-hooks/commit-msg.sh +4 -8
  8. package/assets/git-hooks/pre-commit.sh +0 -4
  9. package/assets/git-hooks/pre-push.sh +21 -0
  10. package/assets/github-workflows/CODEOWNERS +21 -2
  11. package/assets/github-workflows/boss-ci.yml +163 -23
  12. package/assets/github-workflows/boss-gates.yml +100 -13
  13. package/assets/template-docs/nextjs-app-turbo.md +412 -61
  14. package/assets/worker-configs/architect/.claude/skills/conductor-orchestration.md +635 -0
  15. package/assets/worker-configs/architect/.claude/skills/spec-kit-workflow.md +827 -0
  16. package/assets/worker-configs/architect/CLAUDE.md +99 -38
  17. package/assets/worker-configs/clarifier/.claude/skills/conductor-orchestration.md +635 -0
  18. package/assets/worker-configs/clarifier/.claude/skills/spec-kit-workflow.md +827 -0
  19. package/assets/worker-configs/clarifier/CLAUDE.md +81 -40
  20. package/assets/worker-configs/code-reviewer/.claude/skills/nextjs-turbo-stack.md +1017 -0
  21. package/assets/worker-configs/code-reviewer/.claude/skills/spec-kit-workflow.md +827 -0
  22. package/assets/worker-configs/code-reviewer/.claude/skills/test-first-methodology.md +745 -0
  23. package/assets/worker-configs/code-reviewer/CLAUDE.md +85 -79
  24. package/assets/worker-configs/consolidator/.claude/skills/conductor-orchestration.md +635 -0
  25. package/assets/worker-configs/consolidator/.claude/skills/spec-kit-workflow.md +827 -0
  26. package/assets/worker-configs/consolidator/CLAUDE.md +94 -88
  27. package/assets/worker-configs/developer-backend/.claude/skills/nextjs-turbo-stack.md +1017 -0
  28. package/assets/worker-configs/developer-backend/.claude/skills/spec-kit-workflow.md +827 -0
  29. package/assets/worker-configs/developer-backend/.claude/skills/test-first-methodology.md +745 -0
  30. package/assets/worker-configs/developer-backend/CLAUDE.md +156 -56
  31. package/assets/worker-configs/developer-frontend/.claude/skills/nextjs-turbo-stack.md +1017 -0
  32. package/assets/worker-configs/developer-frontend/.claude/skills/spec-kit-workflow.md +827 -0
  33. package/assets/worker-configs/developer-frontend/.claude/skills/test-first-methodology.md +745 -0
  34. package/assets/worker-configs/developer-frontend/CLAUDE.md +152 -54
  35. package/assets/worker-configs/developer-fullstack/.claude/skills/nextjs-turbo-stack.md +1017 -0
  36. package/assets/worker-configs/developer-fullstack/.claude/skills/spec-kit-workflow.md +827 -0
  37. package/assets/worker-configs/developer-fullstack/.claude/skills/test-first-methodology.md +745 -0
  38. package/assets/worker-configs/developer-fullstack/CLAUDE.md +155 -57
  39. package/assets/worker-configs/devops-engineer/.claude/skills/infrastructure-as-code.md +794 -0
  40. package/assets/worker-configs/devops-engineer/.claude/skills/spec-kit-workflow.md +827 -0
  41. package/assets/worker-configs/devops-engineer/CLAUDE.md +92 -85
  42. package/assets/worker-configs/planner/.claude/skills/conductor-orchestration.md +635 -0
  43. package/assets/worker-configs/planner/.claude/skills/spec-kit-workflow.md +827 -0
  44. package/assets/worker-configs/planner/CLAUDE.md +143 -46
  45. package/assets/worker-configs/product-owner/CLAUDE.md +72 -82
  46. package/assets/worker-configs/reviewer/.claude/skills/conductor-orchestration.md +635 -0
  47. package/assets/worker-configs/reviewer/.claude/skills/spec-kit-workflow.md +827 -0
  48. package/assets/worker-configs/reviewer/CLAUDE.md +108 -50
  49. package/assets/worker-configs/security-engineer/.claude/skills/spec-kit-workflow.md +827 -0
  50. package/assets/worker-configs/security-engineer/CLAUDE.md +83 -83
  51. package/assets/worker-configs/spec-writer/.claude/skills/conductor-orchestration.md +635 -0
  52. package/assets/worker-configs/spec-writer/.claude/skills/spec-kit-workflow.md +827 -0
  53. package/assets/worker-configs/spec-writer/CLAUDE.md +107 -48
  54. package/assets/worker-configs/technical-writer/.claude/skills/nextjs-turbo-stack.md +1017 -0
  55. package/assets/worker-configs/technical-writer/.claude/skills/spec-kit-workflow.md +827 -0
  56. package/assets/worker-configs/technical-writer/CLAUDE.md +91 -81
  57. package/assets/worker-configs/tester/.claude/skills/nextjs-turbo-stack.md +1017 -0
  58. package/assets/worker-configs/tester/.claude/skills/spec-kit-workflow.md +827 -0
  59. package/assets/worker-configs/tester/.claude/skills/test-first-methodology.md +745 -0
  60. package/assets/worker-configs/tester/CLAUDE.md +141 -52
  61. package/dist/assets/claude-md/docs/conductor.md +139 -0
  62. package/dist/assets/claude-md/docs/initialization.md +2 -2
  63. package/dist/assets/claude-md/docs/workers.md +33 -54
  64. package/dist/assets/claude-md/docs/workflow.md +23 -59
  65. package/dist/assets/claude-md/template.md +198 -756
  66. package/dist/assets/git-hooks/commit-msg.sh +4 -8
  67. package/dist/assets/git-hooks/pre-commit.sh +0 -4
  68. package/dist/assets/git-hooks/pre-push.sh +21 -0
  69. package/dist/assets/github-workflows/CODEOWNERS +21 -2
  70. package/dist/assets/github-workflows/boss-ci.yml +163 -23
  71. package/dist/assets/github-workflows/boss-gates.yml +100 -13
  72. package/dist/assets/template-docs/nextjs-app-turbo.md +412 -61
  73. package/dist/assets/worker-configs/architect/.claude/skills/conductor-orchestration.md +635 -0
  74. package/dist/assets/worker-configs/architect/.claude/skills/spec-kit-workflow.md +827 -0
  75. package/dist/assets/worker-configs/architect/CLAUDE.md +99 -38
  76. package/dist/assets/worker-configs/clarifier/.claude/skills/conductor-orchestration.md +635 -0
  77. package/dist/assets/worker-configs/clarifier/.claude/skills/spec-kit-workflow.md +827 -0
  78. package/dist/assets/worker-configs/clarifier/CLAUDE.md +81 -40
  79. package/dist/assets/worker-configs/code-reviewer/.claude/skills/nextjs-turbo-stack.md +1017 -0
  80. package/dist/assets/worker-configs/code-reviewer/.claude/skills/spec-kit-workflow.md +827 -0
  81. package/dist/assets/worker-configs/code-reviewer/.claude/skills/test-first-methodology.md +745 -0
  82. package/dist/assets/worker-configs/code-reviewer/CLAUDE.md +85 -79
  83. package/dist/assets/worker-configs/consolidator/.claude/skills/conductor-orchestration.md +635 -0
  84. package/dist/assets/worker-configs/consolidator/.claude/skills/spec-kit-workflow.md +827 -0
  85. package/dist/assets/worker-configs/consolidator/CLAUDE.md +94 -88
  86. package/dist/assets/worker-configs/developer-backend/.claude/skills/nextjs-turbo-stack.md +1017 -0
  87. package/dist/assets/worker-configs/developer-backend/.claude/skills/spec-kit-workflow.md +827 -0
  88. package/dist/assets/worker-configs/developer-backend/.claude/skills/test-first-methodology.md +745 -0
  89. package/dist/assets/worker-configs/developer-backend/CLAUDE.md +156 -56
  90. package/dist/assets/worker-configs/developer-frontend/.claude/skills/nextjs-turbo-stack.md +1017 -0
  91. package/dist/assets/worker-configs/developer-frontend/.claude/skills/spec-kit-workflow.md +827 -0
  92. package/dist/assets/worker-configs/developer-frontend/.claude/skills/test-first-methodology.md +745 -0
  93. package/dist/assets/worker-configs/developer-frontend/CLAUDE.md +152 -54
  94. package/dist/assets/worker-configs/developer-fullstack/.claude/skills/nextjs-turbo-stack.md +1017 -0
  95. package/dist/assets/worker-configs/developer-fullstack/.claude/skills/spec-kit-workflow.md +827 -0
  96. package/dist/assets/worker-configs/developer-fullstack/.claude/skills/test-first-methodology.md +745 -0
  97. package/dist/assets/worker-configs/developer-fullstack/CLAUDE.md +155 -57
  98. package/dist/assets/worker-configs/devops-engineer/.claude/skills/infrastructure-as-code.md +794 -0
  99. package/dist/assets/worker-configs/devops-engineer/.claude/skills/spec-kit-workflow.md +827 -0
  100. package/dist/assets/worker-configs/devops-engineer/CLAUDE.md +92 -85
  101. package/dist/assets/worker-configs/planner/.claude/skills/conductor-orchestration.md +635 -0
  102. package/dist/assets/worker-configs/planner/.claude/skills/spec-kit-workflow.md +827 -0
  103. package/dist/assets/worker-configs/planner/CLAUDE.md +143 -46
  104. package/dist/assets/worker-configs/product-owner/CLAUDE.md +72 -82
  105. package/dist/assets/worker-configs/reviewer/.claude/skills/conductor-orchestration.md +635 -0
  106. package/dist/assets/worker-configs/reviewer/.claude/skills/spec-kit-workflow.md +827 -0
  107. package/dist/assets/worker-configs/reviewer/CLAUDE.md +108 -50
  108. package/dist/assets/worker-configs/security-engineer/.claude/skills/spec-kit-workflow.md +827 -0
  109. package/dist/assets/worker-configs/security-engineer/CLAUDE.md +83 -83
  110. package/dist/assets/worker-configs/spec-writer/.claude/skills/conductor-orchestration.md +635 -0
  111. package/dist/assets/worker-configs/spec-writer/.claude/skills/spec-kit-workflow.md +827 -0
  112. package/dist/assets/worker-configs/spec-writer/CLAUDE.md +107 -48
  113. package/dist/assets/worker-configs/technical-writer/.claude/skills/nextjs-turbo-stack.md +1017 -0
  114. package/dist/assets/worker-configs/technical-writer/.claude/skills/spec-kit-workflow.md +827 -0
  115. package/dist/assets/worker-configs/technical-writer/CLAUDE.md +91 -81
  116. package/dist/assets/worker-configs/tester/.claude/skills/nextjs-turbo-stack.md +1017 -0
  117. package/dist/assets/worker-configs/tester/.claude/skills/spec-kit-workflow.md +827 -0
  118. package/dist/assets/worker-configs/tester/.claude/skills/test-first-methodology.md +745 -0
  119. package/dist/assets/worker-configs/tester/CLAUDE.md +141 -52
  120. package/dist/commands/__tests__/bootstrap.test.js +51 -51
  121. package/dist/commands/__tests__/bootstrap.test.js.map +1 -1
  122. package/dist/commands/bootstrap.d.ts.map +1 -1
  123. package/dist/commands/bootstrap.js +19 -15
  124. package/dist/commands/bootstrap.js.map +1 -1
  125. package/dist/commands/doctor.js +33 -9
  126. package/dist/commands/doctor.js.map +1 -1
  127. package/dist/commands/templates.d.ts +1 -1
  128. package/dist/commands/templates.d.ts.map +1 -1
  129. package/dist/commands/templates.js +1 -1
  130. package/dist/commands/templates.js.map +1 -1
  131. package/dist/constants.d.ts +2 -2
  132. package/dist/constants.d.ts.map +1 -1
  133. package/dist/constants.js +1 -1
  134. package/dist/constants.js.map +1 -1
  135. package/dist/generators/__tests__/boss-config.test.js +4 -4
  136. package/dist/generators/__tests__/boss-config.test.js.map +1 -1
  137. package/dist/generators/__tests__/claude-folder.test.js +8 -8
  138. package/dist/generators/__tests__/claude-folder.test.js.map +1 -1
  139. package/dist/generators/__tests__/claude-md.test.js +25 -16
  140. package/dist/generators/__tests__/claude-md.test.js.map +1 -1
  141. package/dist/generators/__tests__/container-use-config.test.js +2 -2
  142. package/dist/generators/__tests__/container-use-config.test.js.map +1 -1
  143. package/dist/generators/__tests__/git-hooks.test.js.map +1 -1
  144. package/dist/generators/__tests__/github-workflows.test.js +10 -6
  145. package/dist/generators/__tests__/github-workflows.test.js.map +1 -1
  146. package/dist/generators/__tests__/mcp-config.test.js +6 -6
  147. package/dist/generators/__tests__/project-structure.test.js +2 -2
  148. package/dist/generators/__tests__/quality-gates.test.js +11 -3
  149. package/dist/generators/__tests__/quality-gates.test.js.map +1 -1
  150. package/dist/generators/__tests__/specify-structure.test.js +1 -1
  151. package/dist/generators/__tests__/specify-structure.test.js.map +1 -1
  152. package/dist/generators/__tests__/template-docs.test.js +1 -1
  153. package/dist/generators/__tests__/template-docs.test.js.map +1 -1
  154. package/dist/generators/__tests__/template-loader.test.js +209 -59
  155. package/dist/generators/__tests__/template-loader.test.js.map +1 -1
  156. package/dist/generators/__tests__/worker-configs.test.js +7 -7
  157. package/dist/generators/boss-config.d.ts.map +1 -1
  158. package/dist/generators/boss-config.js +46 -51
  159. package/dist/generators/boss-config.js.map +1 -1
  160. package/dist/generators/claude-folder.d.ts +1 -1
  161. package/dist/generators/claude-folder.d.ts.map +1 -1
  162. package/dist/generators/claude-folder.js +5 -5
  163. package/dist/generators/claude-folder.js.map +1 -1
  164. package/dist/generators/claude-md.d.ts.map +1 -1
  165. package/dist/generators/claude-md.js +83 -42
  166. package/dist/generators/claude-md.js.map +1 -1
  167. package/dist/generators/container-use-config.d.ts.map +1 -1
  168. package/dist/generators/container-use-config.js +5 -7
  169. package/dist/generators/container-use-config.js.map +1 -1
  170. package/dist/generators/docker-compose.d.ts.map +1 -1
  171. package/dist/generators/docker-compose.js.map +1 -1
  172. package/dist/generators/git-hooks.d.ts.map +1 -1
  173. package/dist/generators/git-hooks.js +2 -2
  174. package/dist/generators/git-hooks.js.map +1 -1
  175. package/dist/generators/github-workflows.js +3 -3
  176. package/dist/generators/github-workflows.js.map +1 -1
  177. package/dist/generators/mcp-config.d.ts.map +1 -1
  178. package/dist/generators/mcp-config.js +18 -16
  179. package/dist/generators/mcp-config.js.map +1 -1
  180. package/dist/generators/project-structure.d.ts +1 -1
  181. package/dist/generators/project-structure.d.ts.map +1 -1
  182. package/dist/generators/project-structure.js +2 -2
  183. package/dist/generators/project-structure.js.map +1 -1
  184. package/dist/generators/quality-gates.d.ts.map +1 -1
  185. package/dist/generators/quality-gates.js +13 -5
  186. package/dist/generators/quality-gates.js.map +1 -1
  187. package/dist/generators/specify-structure.d.ts.map +1 -1
  188. package/dist/generators/specify-structure.js +1 -2
  189. package/dist/generators/specify-structure.js.map +1 -1
  190. package/dist/generators/template-docs.js +2 -2
  191. package/dist/generators/template-docs.js.map +1 -1
  192. package/dist/generators/template-loader.d.ts.map +1 -1
  193. package/dist/generators/template-loader.js +256 -143
  194. package/dist/generators/template-loader.js.map +1 -1
  195. package/dist/generators/worker-configs.d.ts.map +1 -1
  196. package/dist/generators/worker-configs.js +7 -5
  197. package/dist/generators/worker-configs.js.map +1 -1
  198. package/dist/index.js +2 -2
  199. package/dist/index.js.map +1 -1
  200. package/dist/presets/__tests__/quality-presets.test.js +9 -5
  201. package/dist/presets/__tests__/quality-presets.test.js.map +1 -1
  202. package/dist/presets/quality-presets.d.ts.map +1 -1
  203. package/dist/presets/quality-presets.js +11 -11
  204. package/dist/presets/quality-presets.js.map +1 -1
  205. package/dist/types/index.d.ts +1 -0
  206. package/dist/types/index.d.ts.map +1 -1
  207. package/dist/types/index.js +2 -1
  208. package/dist/types/index.js.map +1 -1
  209. package/dist/types/internal.d.ts +69 -0
  210. package/dist/types/internal.d.ts.map +1 -0
  211. package/dist/types/internal.js +4 -0
  212. package/dist/types/internal.js.map +1 -0
  213. package/dist/utils/__tests__/file-system.test.js +1 -1
  214. package/dist/utils/__tests__/file-system.test.js.map +1 -1
  215. package/dist/utils/__tests__/git.test.js.map +1 -1
  216. package/dist/utils/__tests__/template-loader.test.js.map +1 -1
  217. package/dist/utils/__tests__/validators.test.js +1 -1
  218. package/dist/utils/__tests__/validators.test.js.map +1 -1
  219. package/dist/utils/file-system.d.ts.map +1 -1
  220. package/dist/utils/file-system.js +1 -4
  221. package/dist/utils/file-system.js.map +1 -1
  222. package/dist/utils/git.d.ts.map +1 -1
  223. package/dist/utils/git.js +17 -11
  224. package/dist/utils/git.js.map +1 -1
  225. package/dist/utils/prompts.d.ts.map +1 -1
  226. package/dist/utils/prompts.js +51 -39
  227. package/dist/utils/prompts.js.map +1 -1
  228. package/dist/utils/template-loader.d.ts +2 -1
  229. package/dist/utils/template-loader.d.ts.map +1 -1
  230. package/dist/utils/template-loader.js +11 -5
  231. package/dist/utils/template-loader.js.map +1 -1
  232. package/dist/utils/validators.d.ts.map +1 -1
  233. package/dist/utils/validators.js +16 -4
  234. package/dist/utils/validators.js.map +1 -1
  235. package/package.json +2 -2
  236. package/templates/nextjs-turbo-monorepo/base/README.md +167 -0
  237. package/templates/nextjs-turbo-monorepo/base/_gitignore +71 -0
  238. package/templates/nextjs-turbo-monorepo/base/_npmrc +12 -0
  239. package/templates/nextjs-turbo-monorepo/base/apps/admin/app/layout.tsx +19 -0
  240. package/templates/nextjs-turbo-monorepo/base/apps/admin/app/page.tsx +34 -0
  241. package/templates/nextjs-turbo-monorepo/base/apps/admin/next.config.ts +20 -0
  242. package/templates/nextjs-turbo-monorepo/base/apps/admin/package.json +42 -0
  243. package/templates/nextjs-turbo-monorepo/base/apps/admin/tsconfig.json +21 -0
  244. package/templates/nextjs-turbo-monorepo/base/apps/web/app/globals.css +59 -0
  245. package/templates/nextjs-turbo-monorepo/base/apps/web/app/layout.tsx +20 -0
  246. package/templates/nextjs-turbo-monorepo/base/apps/web/app/page.tsx +17 -0
  247. package/templates/nextjs-turbo-monorepo/base/apps/web/components.json +18 -0
  248. package/templates/nextjs-turbo-monorepo/base/apps/web/env.ts +45 -0
  249. package/templates/nextjs-turbo-monorepo/base/apps/web/next.config.ts +38 -0
  250. package/templates/nextjs-turbo-monorepo/base/apps/web/package.json +45 -0
  251. package/templates/nextjs-turbo-monorepo/base/apps/web/tsconfig.json +24 -0
  252. package/templates/nextjs-turbo-monorepo/base/apps/web/vitest.config.ts +28 -0
  253. package/templates/nextjs-turbo-monorepo/base/docker/Dockerfile.admin +76 -0
  254. package/templates/nextjs-turbo-monorepo/base/docker/Dockerfile.web +76 -0
  255. package/templates/nextjs-turbo-monorepo/base/docker/_dockerignore +48 -0
  256. package/templates/nextjs-turbo-monorepo/base/docker/docker-compose.yml +39 -0
  257. package/templates/nextjs-turbo-monorepo/base/package.json +62 -0
  258. package/templates/nextjs-turbo-monorepo/base/packages/auth/package.json +26 -0
  259. package/templates/nextjs-turbo-monorepo/base/packages/auth/src/config.ts +88 -0
  260. package/templates/nextjs-turbo-monorepo/base/packages/auth/src/index.ts +8 -0
  261. package/templates/nextjs-turbo-monorepo/base/packages/auth/tsconfig.json +9 -0
  262. package/templates/nextjs-turbo-monorepo/base/packages/config/eslint/library.js +35 -0
  263. package/templates/nextjs-turbo-monorepo/base/packages/config/eslint/nextjs.js +51 -0
  264. package/templates/nextjs-turbo-monorepo/base/packages/config/eslint/react-library.js +45 -0
  265. package/templates/nextjs-turbo-monorepo/base/packages/config/package.json +19 -0
  266. package/templates/nextjs-turbo-monorepo/base/packages/config/tailwind/base.ts +50 -0
  267. package/templates/nextjs-turbo-monorepo/base/packages/config/typescript/base.json +23 -0
  268. package/templates/nextjs-turbo-monorepo/base/packages/config/typescript/nextjs.json +17 -0
  269. package/templates/nextjs-turbo-monorepo/base/packages/config/typescript/react-library.json +13 -0
  270. package/templates/nextjs-turbo-monorepo/base/packages/database/package.json +32 -0
  271. package/templates/nextjs-turbo-monorepo/base/packages/database/prisma/schema.prisma +85 -0
  272. package/templates/nextjs-turbo-monorepo/base/packages/database/src/client.ts +16 -0
  273. package/templates/nextjs-turbo-monorepo/base/packages/database/src/index.ts +2 -0
  274. package/templates/nextjs-turbo-monorepo/base/packages/database/tsconfig.json +9 -0
  275. package/templates/nextjs-turbo-monorepo/base/packages/trpc/package.json +32 -0
  276. package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/context.ts +17 -0
  277. package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/init.ts +34 -0
  278. package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/routers/_app.ts +8 -0
  279. package/templates/nextjs-turbo-monorepo/base/packages/trpc/src/routers/user.ts +36 -0
  280. package/templates/nextjs-turbo-monorepo/base/packages/trpc/tsconfig.json +9 -0
  281. package/templates/nextjs-turbo-monorepo/base/packages/ui/.storybook/main.ts +19 -0
  282. package/templates/nextjs-turbo-monorepo/base/packages/ui/.storybook/preview.ts +15 -0
  283. package/templates/nextjs-turbo-monorepo/base/packages/ui/components.json +17 -0
  284. package/templates/nextjs-turbo-monorepo/base/packages/ui/package.json +62 -0
  285. package/templates/nextjs-turbo-monorepo/base/packages/ui/postcss.config.js +6 -0
  286. package/templates/nextjs-turbo-monorepo/base/packages/ui/src/components/index.ts +2 -0
  287. package/templates/nextjs-turbo-monorepo/base/packages/ui/src/components/ui/button.tsx +57 -0
  288. package/templates/nextjs-turbo-monorepo/base/packages/ui/src/components/ui/card.tsx +76 -0
  289. package/templates/nextjs-turbo-monorepo/base/packages/ui/src/hooks/index.ts +2 -0
  290. package/templates/nextjs-turbo-monorepo/base/packages/ui/src/lib/utils.ts +6 -0
  291. package/templates/nextjs-turbo-monorepo/base/packages/ui/src/styles/globals.css +59 -0
  292. package/templates/nextjs-turbo-monorepo/base/packages/ui/tailwind.config.ts +15 -0
  293. package/templates/nextjs-turbo-monorepo/base/packages/ui/tsconfig.json +11 -0
  294. package/templates/nextjs-turbo-monorepo/base/packages/ui/vitest.config.ts +28 -0
  295. package/templates/nextjs-turbo-monorepo/base/packages/utils/package.json +24 -0
  296. package/templates/nextjs-turbo-monorepo/base/packages/utils/src/date.ts +117 -0
  297. package/templates/nextjs-turbo-monorepo/base/packages/utils/src/index.ts +2 -0
  298. package/templates/nextjs-turbo-monorepo/base/packages/utils/src/string.ts +59 -0
  299. package/templates/nextjs-turbo-monorepo/base/packages/utils/tsconfig.json +9 -0
  300. package/templates/nextjs-turbo-monorepo/base/packages/utils/vitest.config.ts +13 -0
  301. package/templates/nextjs-turbo-monorepo/base/pnpm-workspace.yaml +3 -0
  302. package/templates/nextjs-turbo-monorepo/base/tsconfig.json +19 -0
  303. package/templates/nextjs-turbo-monorepo/base/turbo.json +47 -0
  304. package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/claude-md/template.md +0 -0
  305. package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/github-workflows/CODEOWNERS +0 -0
  306. package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/github-workflows/boss-ci.yml +139 -0
  307. package/templates/nextjs-turbo-monorepo/extras/boss-cli/assets/github-workflows/boss-gates.yml +116 -0
  308. package/templates/nextjs-turbo-monorepo/extras/config/kamal/_env +18 -0
  309. package/templates/nextjs-turbo-monorepo/extras/config/kamal/deploy.yml +92 -0
  310. package/templates/nextjs-turbo-monorepo/extras/scripts/deploy.sh +38 -0
  311. package/templates/nextjs-turbo-monorepo/extras/scripts/setup-db.sh +29 -0
  312. package/assets/claude-md/docs/container-use.md +0 -140
  313. package/dist/assets/claude-md/docs/container-use.md +0 -140
@@ -1,61 +1,201 @@
1
- # Template Documentation: Next.js App (Turbo)
1
+ # Template Documentation: Next.js Turbo Monorepo
2
2
 
3
- This project was bootstrapped using the **Next.js App (Turbo)** template, which provides a modern full-stack web application setup.
3
+ This project was bootstrapped using the **Next.js Turbo Monorepo** template, which provides a production-ready, full-stack monorepo with modern tooling and best practices.
4
4
 
5
5
  ## What Was Included
6
6
 
7
- ### Core Stack
8
- - **Next.js 15** - React framework with App Router
9
- - **React 18** - UI library
10
- - **TypeScript** - Type-safe development
11
- - **Tailwind CSS** - Utility-first CSS (via T3 template)
12
- - **Prisma** - Database ORM (via T3 template)
13
- - **Vitest** - Testing framework
14
- - **ESLint** - Code linting with React support (ESLint 9 flat config)
15
- - **Prettier** - Code formatting
7
+ ### Core Technologies
8
+
9
+ #### Monorepo & Build Tools
10
+ - **Turborepo** - High-performance build system with smart caching
11
+ - **pnpm Workspaces** - Fast, disk-efficient package manager
12
+ - **TypeScript 5.x** - Type-safe development across all packages
13
+
14
+ #### Applications (2)
15
+ - **apps/web** - Main Next.js 15 application (port 3000)
16
+ - App Router with Server Components
17
+ - Standalone output for Docker deployment
18
+ - shadcn/ui components
19
+ - tRPC client integration
20
+ - NextAuth.js authentication
21
+
22
+ - **apps/admin** - Admin dashboard (port 3001)
23
+ - Separate admin interface
24
+ - Shared UI components
25
+ - Independent deployment capability
26
+
27
+ #### Shared Packages (6)
28
+
29
+ **@repo/ui** - Component Library
30
+ - shadcn/ui v4 components (Button, Card, Input, etc.)
31
+ - Tailwind CSS styling
32
+ - Storybook documentation
33
+ - Fully typed component props
34
+
35
+ **@repo/database** - Database Layer
36
+ - Prisma ORM schema
37
+ - User, Account, Session models
38
+ - Type-safe database client
39
+ - Migration scripts
40
+
41
+ **@repo/trpc** - API Layer
42
+ - tRPC routers and procedures
43
+ - Type-safe API contracts
44
+ - Protected procedures with auth
45
+ - Shared between apps
46
+
47
+ **@repo/auth** - Authentication
48
+ - NextAuth.js v5 integration
49
+ - Prisma adapter
50
+ - Credentials provider
51
+ - Session management
52
+
53
+ **@repo/config** - Shared Configurations
54
+ - ESLint config (React, Next.js presets)
55
+ - TypeScript config (base, React, Next.js)
56
+ - Tailwind config
57
+ - Vitest config
58
+
59
+ **@repo/utils** - Utility Functions
60
+ - String utilities (capitalize, slugify, truncate)
61
+ - Date utilities (formatDate, formatRelative)
62
+ - Fully tested with Vitest
63
+ - Shared across all packages
16
64
 
17
65
  ### Project Structure
18
66
 
19
67
  \`\`\`
20
68
  ${config.name}/
21
- ├── src/
22
- └── app/ # Next.js App Router pages
23
- ├── public/ # Static assets
24
- ├── tests/ # Test files
25
- ├── docs/ # Documentation
26
- ├── .boss/ # BOSS configuration
27
- ├── .specify/ # Spec-Kit structure
28
- ├── .container-use/ # Container-use config
29
- ├── .claude/ # Claude Code rules
30
- ├── .github/ # GitHub workflows
31
- ├── .husky/ # Git hooks
32
- ├── scripts/ # Utility scripts
33
- ├── package.json # Dependencies and scripts
34
- ├── tsconfig.json # TypeScript configuration
35
- ├── next.config.js # Next.js configuration
36
- ├── vitest.config.ts # Test configuration
37
- ├── eslint.config.js # ESLint configuration (ESLint 9)
38
- └── docker-compose.yml # Local infrastructure
69
+ ├── apps/
70
+ ├── web/ # Main Next.js app (port 3000)
71
+ │ │ ├── src/
72
+ │ │ │ └── app/ # App Router pages
73
+ │ │ ├── public/ # Static assets
74
+ │ │ └── package.json
75
+ │ └── admin/ # Admin dashboard (port 3001)
76
+ ├── src/
77
+ │ │ └── app/
78
+ │ └── package.json
79
+
80
+ ├── packages/
81
+ ├── ui/ # Component library + Storybook
82
+ │ │ ├── src/
83
+ │ │ │ └── components/
84
+ │ │ ├── .storybook/
85
+ │ │ └── package.json
86
+ │ ├── database/ # Prisma schema
87
+ │ │ ├── prisma/
88
+ │ │ │ └── schema.prisma
89
+ │ │ └── package.json
90
+ │ ├── trpc/ # tRPC routers
91
+ │ │ ├── src/
92
+ │ │ │ ├── router.ts
93
+ │ │ │ └── routers/
94
+ │ │ └── package.json
95
+ │ ├── auth/ # NextAuth.js config
96
+ │ │ ├── src/
97
+ │ │ │ └── index.ts
98
+ │ │ └── package.json
99
+ │ ├── config/ # Shared configs
100
+ │ │ ├── eslint/
101
+ │ │ ├── typescript/
102
+ │ │ ├── tailwind/
103
+ │ │ └── vitest/
104
+ │ └── utils/ # Utility functions
105
+ │ ├── src/
106
+ │ │ ├── string.ts
107
+ │ │ └── date.ts
108
+ │ └── tests/
109
+
110
+ ├── docker/ # Docker configurations
111
+ │ ├── Dockerfile.web # Web app image
112
+ │ ├── Dockerfile.admin # Admin app image
113
+ │ └── docker-compose.yml # Local PostgreSQL + Redis
114
+
115
+ ├── extras/ # Deployment & scripts
116
+ │ ├── config/
117
+ │ │ └── kamal/
118
+ │ │ └── deploy.yml # Kamal deployment config
119
+ │ └── scripts/
120
+ │ ├── deploy.sh # Deployment automation
121
+ │ └── setup-db.sh # Database setup
122
+
123
+ ├── .boss/ # BOSS configuration
124
+ ├── .specify/ # Spec-Kit structure
125
+ ├── .container-use/ # Container-use config
126
+ ├── .claude/ # Claude Code rules
127
+ ├── .github/ # GitHub workflows
128
+ ├── package.json # Root workspace config
129
+ ├── pnpm-workspace.yaml # Workspace definitions
130
+ ├── turbo.json # Turborepo pipeline
131
+ └── tsconfig.json # Base TypeScript config
39
132
  \`\`\`
40
133
 
41
134
  ### Available Scripts
42
135
 
43
- - \`pnpm dev\` - Start development server
44
- - \`pnpm build\` - Build for production
45
- - \`pnpm start\` - Start production server
46
- - \`pnpm typecheck\` - Type check without emitting files
47
- - \`pnpm lint\` - Lint code with ESLint
48
- - \`pnpm test\` - Run tests in watch mode
49
- - \`pnpm test:unit\` - Run unit tests (excludes e2e/integration)
50
- - \`pnpm test:coverage\` - Run tests with coverage
136
+ #### Root-Level (Workspace)
137
+ - \`pnpm dev\` - Start all apps in development mode
138
+ - \`pnpm build\` - Build all apps and packages
139
+ - \`pnpm test\` - Run tests across all packages
140
+ - \`pnpm lint\` - Lint all packages
141
+ - \`pnpm typecheck\` - Type check all packages
142
+ - \`pnpm clean\` - Clean all build artifacts
143
+
144
+ #### Application-Specific
145
+ - \`pnpm --filter web dev\` - Start web app only (port 3000)
146
+ - \`pnpm --filter admin dev\` - Start admin app only (port 3001)
147
+ - \`pnpm --filter web build\` - Build web app
148
+ - \`pnpm --filter admin build\` - Build admin app
149
+
150
+ #### Package-Specific
151
+ - \`pnpm --filter @repo/ui storybook\` - Run Storybook (port 6006)
152
+ - \`pnpm --filter @repo/ui build-storybook\` - Build Storybook static site
153
+ - \`pnpm --filter @repo/database db:generate\` - Generate Prisma client
154
+ - \`pnpm --filter @repo/database db:push\` - Push schema to database
155
+ - \`pnpm --filter @repo/database db:studio\` - Open Prisma Studio
156
+ - \`pnpm --filter @repo/utils test\` - Test utils package
157
+
158
+ #### Deployment
159
+ - \`./extras/scripts/deploy.sh\` - Deploy to production via Kamal
160
+ - \`./extras/scripts/setup-db.sh\` - Initialize production database
51
161
 
52
162
  ### Features
53
163
 
54
- - **App Router** - Next.js 15 App Router for modern routing
55
- - **Server Components** - React Server Components by default
56
- - **Type Safety** - Full TypeScript support throughout
57
- - **Fast Refresh** - Instant feedback during development
58
- - **Optimized Builds** - Production-ready optimizations
164
+ #### Monorepo Architecture
165
+ - **Turborepo Pipeline** - Optimized task execution with caching
166
+ - **Workspace Dependencies** - Shared packages across apps
167
+ - **Independent Deployment** - Each app can be deployed separately
168
+ - **Fast Builds** - Only rebuild what changed
169
+
170
+ #### Component Library
171
+ - **shadcn/ui v4** - Accessible, customizable components
172
+ - **Storybook** - Interactive component documentation
173
+ - **Tailwind CSS** - Utility-first styling
174
+ - **Type-Safe Props** - Full TypeScript support
175
+
176
+ #### Database & API
177
+ - **Prisma ORM** - Type-safe database access
178
+ - **tRPC** - End-to-end type safety for APIs
179
+ - **Protected Procedures** - Authentication-aware API routes
180
+ - **PostgreSQL** - Production-ready relational database
181
+
182
+ #### Authentication
183
+ - **NextAuth.js v5** - Modern authentication
184
+ - **Prisma Adapter** - Database-backed sessions
185
+ - **Credentials Provider** - Email/password authentication
186
+ - **Protected Routes** - Server-side session validation
187
+
188
+ #### Testing & Quality
189
+ - **Vitest** - Fast unit testing framework
190
+ - **Component Tests** - Test utilities in isolation
191
+ - **Integration Tests** - Test tRPC procedures
192
+ - **Coverage Reports** - Track test coverage
193
+
194
+ #### Deployment
195
+ - **Docker** - Multi-stage builds for production
196
+ - **Kamal** - Docker-based deployment (NOT Vercel)
197
+ - **Standalone Output** - Optimized Next.js builds
198
+ - **PostgreSQL + Redis** - Local development stack
59
199
 
60
200
  ### Quality Preset: ${config.quality}
61
201
 
@@ -73,30 +213,241 @@ The following git hooks are configured:
73
213
  - **commit-msg** - Validates commit messages follow Conventional Commits v1.0.0
74
214
  - **pre-push** - Runs comprehensive validation (typecheck, lint, tests, security checks)
75
215
 
216
+ ### Turborepo Pipeline
217
+
218
+ The \`turbo.json\` defines the task execution pipeline:
219
+
220
+ \`\`\`json
221
+ {
222
+ "pipeline": {
223
+ "build": {
224
+ "dependsOn": ["^build"],
225
+ "outputs": [".next/**", "dist/**", "storybook-static/**"]
226
+ },
227
+ "dev": {
228
+ "cache": false,
229
+ "persistent": true
230
+ },
231
+ "test": {
232
+ "dependsOn": ["^build"],
233
+ "outputs": ["coverage/**"]
234
+ },
235
+ "lint": {},
236
+ "typecheck": {}
237
+ }
238
+ }
239
+ \`\`\`
240
+
241
+ **Key features:**
242
+ - **Dependency Graph** - Builds packages before apps
243
+ - **Smart Caching** - Skip unchanged tasks
244
+ - **Parallel Execution** - Run tasks concurrently
245
+ - **Persistent Tasks** - Keep dev servers running
246
+
76
247
  ### Next Steps
77
248
 
78
- 1. **Start Development**
79
- \`\`\`bash
80
- pnpm install
81
- pnpm dev
82
- \`\`\`
249
+ #### 1. Install Dependencies & Start Development
250
+
251
+ \`\`\`bash
252
+ # Install all dependencies
253
+ pnpm install
254
+
255
+ # Start local infrastructure (PostgreSQL + Redis)
256
+ docker-compose up -d
257
+
258
+ # Setup database
259
+ pnpm --filter @repo/database db:push
260
+
261
+ # Start all apps in development
262
+ pnpm dev
263
+
264
+ # Or start apps individually:
265
+ pnpm --filter web dev # Web app on port 3000
266
+ pnpm --filter admin dev # Admin on port 3001
267
+ \`\`\`
268
+
269
+ #### 2. Explore the Component Library
83
270
 
84
- 2. **Add Pages**
85
- - Create pages in \`src/app/\` directory
86
- - Use Server Components by default
87
- - Add Client Components when needed with \`"use client"\`
271
+ \`\`\`bash
272
+ # Start Storybook
273
+ pnpm --filter @repo/ui storybook
88
274
 
89
- 3. **Add Styling**
90
- - Use Tailwind CSS classes
91
- - Configure in \`tailwind.config.js\`
275
+ # Visit http://localhost:6006
276
+ # Browse shadcn/ui components
277
+ # See component documentation and examples
278
+ \`\`\`
279
+
280
+ #### 3. Add New Features
281
+
282
+ **Add a new page to web app:**
283
+ \`\`\`bash
284
+ # Create new page in apps/web/src/app/
285
+ # Example: apps/web/src/app/dashboard/page.tsx
286
+ \`\`\`
287
+
288
+ **Add a new tRPC procedure:**
289
+ \`\`\`typescript
290
+ // packages/trpc/src/routers/user.ts
291
+ export const userRouter = router({
292
+ getProfile: publicProcedure
293
+ .input(z.object({ userId: z.string() }))
294
+ .query(async ({ input, ctx }) => {
295
+ return ctx.db.user.findUnique({
296
+ where: { id: input.userId }
297
+ });
298
+ })
299
+ });
300
+ \`\`\`
301
+
302
+ **Add a new UI component:**
303
+ \`\`\`bash
304
+ # Add to packages/ui/src/components/
305
+ # Create Storybook story in packages/ui/src/components/*.stories.tsx
306
+ \`\`\`
307
+
308
+ **Add a new utility function:**
309
+ \`\`\`bash
310
+ # Add to packages/utils/src/
311
+ # Add tests to packages/utils/tests/
312
+ pnpm --filter @repo/utils test
313
+ \`\`\`
92
314
 
93
- 4. **Use BOSS**
94
- - Run \`./start-boss.sh\` to start BOSS orchestration
95
- - BOSS will help you build features following the Spec-Kit workflow
315
+ #### 4. Update Database Schema
96
316
 
97
- ### Documentation
317
+ \`\`\`bash
318
+ # Edit schema
319
+ vim packages/database/prisma/schema.prisma
98
320
 
99
- - [Next.js Documentation](https://nextjs.org/docs)
100
- - [React Documentation](https://react.dev)
101
- - [TypeScript Documentation](https://www.typescriptlang.org/docs)
321
+ # Generate Prisma client
322
+ pnpm --filter @repo/database db:generate
102
323
 
324
+ # Push to database
325
+ pnpm --filter @repo/database db:push
326
+
327
+ # Or create migration
328
+ pnpm --filter @repo/database db:migrate dev --name add_new_table
329
+ \`\`\`
330
+
331
+ #### 5. Deploy to Production
332
+
333
+ \`\`\`bash
334
+ # Configure deployment (edit extras/config/kamal/deploy.yml)
335
+ # Update:
336
+ # - domain: your-domain.com
337
+ # - servers: [your-production-ip]
338
+ # - registry credentials
339
+
340
+ # Setup database
341
+ ./extras/scripts/setup-db.sh
342
+
343
+ # Deploy
344
+ ./extras/scripts/deploy.sh
345
+ \`\`\`
346
+
347
+ #### 6. Use BOSS for Feature Development
348
+
349
+ \`\`\`bash
350
+ # Start BOSS orchestration
351
+ ./start-boss.sh
352
+
353
+ # BOSS will:
354
+ # - Guide you through Spec-Kit workflow
355
+ # - Spawn specialized workers
356
+ # - Coordinate development across packages
357
+ # - Ensure quality gates are met
358
+ \`\`\`
359
+
360
+ ### Package Dependencies
361
+
362
+ The monorepo uses internal workspace dependencies:
363
+
364
+ \`\`\`
365
+ apps/web
366
+ ├── @repo/ui
367
+ ├── @repo/database
368
+ ├── @repo/trpc
369
+ ├── @repo/auth
370
+ └── @repo/utils
371
+
372
+ apps/admin
373
+ ├── @repo/ui
374
+ ├── @repo/database
375
+ ├── @repo/trpc
376
+ └── @repo/auth
377
+
378
+ packages/ui
379
+ └── @repo/utils
380
+
381
+ packages/trpc
382
+ ├── @repo/database
383
+ └── @repo/auth
384
+
385
+ packages/auth
386
+ └── @repo/database
387
+ \`\`\`
388
+
389
+ Turborepo automatically builds packages in the correct order based on these dependencies.
390
+
391
+ ### Local Development URLs
392
+
393
+ After running \`pnpm dev\`:
394
+
395
+ - **Web App**: http://localhost:3000
396
+ - **Admin App**: http://localhost:3001
397
+ - **Storybook**: http://localhost:6006 (run separately: \`pnpm --filter @repo/ui storybook\`)
398
+ - **Prisma Studio**: http://localhost:5555 (run separately: \`pnpm --filter @repo/database db:studio\`)
399
+
400
+ ### Documentation & Resources
401
+
402
+ #### Official Documentation
403
+ - [Turborepo Documentation](https://turbo.build/repo/docs)
404
+ - [pnpm Workspaces](https://pnpm.io/workspaces)
405
+ - [Next.js 15 Documentation](https://nextjs.org/docs)
406
+ - [shadcn/ui Documentation](https://ui.shadcn.com)
407
+ - [Prisma Documentation](https://www.prisma.io/docs)
408
+ - [tRPC Documentation](https://trpc.io/docs)
409
+ - [NextAuth.js Documentation](https://authjs.dev)
410
+ - [Storybook Documentation](https://storybook.js.org/docs)
411
+ - [Kamal Deployment](https://kamal-deploy.org)
412
+
413
+ #### Monorepo-Specific Guides
414
+ - [Managing Dependencies in Monorepos](https://turbo.build/repo/docs/handbook/package-installation)
415
+ - [Sharing Code](https://turbo.build/repo/docs/handbook/sharing-code)
416
+ - [Deploying Turborepo Apps](https://turbo.build/repo/docs/handbook/deploying-with-docker)
417
+
418
+ ### Troubleshooting
419
+
420
+ **Issue: Build errors after adding new package**
421
+ \`\`\`bash
422
+ # Clean all node_modules and reinstall
423
+ pnpm clean
424
+ pnpm install
425
+ \`\`\`
426
+
427
+ **Issue: TypeScript can't find @repo/* packages**
428
+ \`\`\`bash
429
+ # Rebuild all packages
430
+ pnpm build
431
+ \`\`\`
432
+
433
+ **Issue: Database connection errors**
434
+ \`\`\`bash
435
+ # Ensure PostgreSQL is running
436
+ docker-compose up -d postgres
437
+
438
+ # Check DATABASE_URL in .env files
439
+ # Should be: postgresql://postgres:postgres@localhost:5432/mydb
440
+ \`\`\`
441
+
442
+ **Issue: Turborepo cache issues**
443
+ \`\`\`bash
444
+ # Clear Turborepo cache
445
+ pnpm turbo run build --force
446
+ \`\`\`
447
+
448
+ **Issue: Port already in use**
449
+ \`\`\`bash
450
+ # Change port in package.json dev script
451
+ # Or kill the process using the port
452
+ lsof -ti:3000 | xargs kill -9
453
+ \`\`\`