@glxmart/boss-cli 1.0.0-beta.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 (506) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/assets/claude-folder/agents/.gitkeep +0 -0
  4. package/assets/claude-folder/commands/boss-commands.md +138 -0
  5. package/assets/claude-folder/rules/boss-workflow.md +33 -0
  6. package/assets/claude-folder/rules/code-style.md +23 -0
  7. package/assets/claude-folder/rules/security.md +22 -0
  8. package/assets/claude-folder/rules/testing.md +32 -0
  9. package/assets/claude-folder/settings.local.json +88 -0
  10. package/assets/claude-folder/skills/.gitkeep +0 -0
  11. package/assets/claude-md/docs/container-use.md +140 -0
  12. package/assets/claude-md/docs/github-operations.md +238 -0
  13. package/assets/claude-md/docs/initialization.md +186 -0
  14. package/assets/claude-md/docs/quality-standards.md +15 -0
  15. package/assets/claude-md/docs/spec-kit.md +46 -0
  16. package/assets/claude-md/docs/workers.md +174 -0
  17. package/assets/claude-md/docs/workflow.md +140 -0
  18. package/assets/claude-md/template.md +812 -0
  19. package/assets/docker-compose/docker-compose.yml +52 -0
  20. package/assets/git-hooks/commit-msg.sh +102 -0
  21. package/assets/git-hooks/pre-commit-check.sh +21 -0
  22. package/assets/git-hooks/pre-commit.sh +6 -0
  23. package/assets/git-hooks/pre-push.sh +154 -0
  24. package/assets/git-hooks/security-check.sh +40 -0
  25. package/assets/git-hooks/test-changed.sh +84 -0
  26. package/assets/github-workflows/CODEOWNERS +3 -0
  27. package/assets/github-workflows/boss-ci.yml +40 -0
  28. package/assets/github-workflows/boss-gates.yml +28 -0
  29. package/assets/start-boss-sh/start-boss.sh +471 -0
  30. package/assets/template-docs/api-service-fastify.md +98 -0
  31. package/assets/template-docs/blank.md +91 -0
  32. package/assets/template-docs/nextjs-app-turbo.md +102 -0
  33. package/assets/template-docs/t3-app.md +106 -0
  34. package/assets/template-loader/README.md +28 -0
  35. package/assets/template-loader/eslint.config.node.js +28 -0
  36. package/assets/template-loader/eslint.config.react.js +47 -0
  37. package/assets/template-loader/gitignore +42 -0
  38. package/assets/template-loader/index.test.ts +10 -0
  39. package/assets/template-loader/index.ts +13 -0
  40. package/assets/template-loader/prettierignore +8 -0
  41. package/assets/template-loader/vitest.config.ts +19 -0
  42. package/assets/worker-configs/architect/.claude/commands/.gitkeep +0 -0
  43. package/assets/worker-configs/architect/.claude/skills/.gitkeep +0 -0
  44. package/assets/worker-configs/architect/CLAUDE.md +106 -0
  45. package/assets/worker-configs/clarifier/.claude/commands/.gitkeep +1 -0
  46. package/assets/worker-configs/clarifier/.claude/skills/.gitkeep +1 -0
  47. package/assets/worker-configs/clarifier/CLAUDE.md +112 -0
  48. package/assets/worker-configs/code-reviewer/CLAUDE.md +113 -0
  49. package/assets/worker-configs/consolidator/.claude/commands/.gitkeep +1 -0
  50. package/assets/worker-configs/consolidator/.claude/skills/.gitkeep +1 -0
  51. package/assets/worker-configs/consolidator/CLAUDE.md +114 -0
  52. package/assets/worker-configs/developer-backend/.claude/commands/.gitkeep +1 -0
  53. package/assets/worker-configs/developer-backend/.claude/skills/.gitkeep +1 -0
  54. package/assets/worker-configs/developer-backend/CLAUDE.md +116 -0
  55. package/assets/worker-configs/developer-frontend/.claude/commands/.gitkeep +1 -0
  56. package/assets/worker-configs/developer-frontend/.claude/skills/.gitkeep +1 -0
  57. package/assets/worker-configs/developer-frontend/CLAUDE.md +116 -0
  58. package/assets/worker-configs/developer-fullstack/.claude/commands/.gitkeep +1 -0
  59. package/assets/worker-configs/developer-fullstack/.claude/skills/.gitkeep +1 -0
  60. package/assets/worker-configs/developer-fullstack/CLAUDE.md +116 -0
  61. package/assets/worker-configs/devops-engineer/CLAUDE.md +111 -0
  62. package/assets/worker-configs/planner/.claude/commands/.gitkeep +1 -0
  63. package/assets/worker-configs/planner/.claude/skills/.gitkeep +1 -0
  64. package/assets/worker-configs/planner/CLAUDE.md +111 -0
  65. package/assets/worker-configs/product-owner/CLAUDE.md +108 -0
  66. package/assets/worker-configs/reviewer/.claude/commands/.gitkeep +1 -0
  67. package/assets/worker-configs/reviewer/.claude/skills/.gitkeep +1 -0
  68. package/assets/worker-configs/reviewer/CLAUDE.md +110 -0
  69. package/assets/worker-configs/security-engineer/CLAUDE.md +109 -0
  70. package/assets/worker-configs/spec-writer/.claude/commands/.gitkeep +1 -0
  71. package/assets/worker-configs/spec-writer/.claude/skills/.gitkeep +1 -0
  72. package/assets/worker-configs/spec-writer/CLAUDE.md +110 -0
  73. package/assets/worker-configs/technical-writer/CLAUDE.md +107 -0
  74. package/assets/worker-configs/tester/CLAUDE.md +110 -0
  75. package/dist/assets/claude-folder/agents/.gitkeep +0 -0
  76. package/dist/assets/claude-folder/commands/boss-commands.md +138 -0
  77. package/dist/assets/claude-folder/rules/boss-workflow.md +33 -0
  78. package/dist/assets/claude-folder/rules/code-style.md +23 -0
  79. package/dist/assets/claude-folder/rules/security.md +22 -0
  80. package/dist/assets/claude-folder/rules/testing.md +32 -0
  81. package/dist/assets/claude-folder/settings.local.json +88 -0
  82. package/dist/assets/claude-folder/skills/.gitkeep +0 -0
  83. package/dist/assets/claude-md/docs/container-use.md +140 -0
  84. package/dist/assets/claude-md/docs/github-operations.md +238 -0
  85. package/dist/assets/claude-md/docs/initialization.md +186 -0
  86. package/dist/assets/claude-md/docs/quality-standards.md +15 -0
  87. package/dist/assets/claude-md/docs/spec-kit.md +46 -0
  88. package/dist/assets/claude-md/docs/workers.md +174 -0
  89. package/dist/assets/claude-md/docs/workflow.md +140 -0
  90. package/dist/assets/claude-md/template.md +812 -0
  91. package/dist/assets/docker-compose/docker-compose.yml +52 -0
  92. package/dist/assets/git-hooks/commit-msg.sh +102 -0
  93. package/dist/assets/git-hooks/pre-commit-check.sh +21 -0
  94. package/dist/assets/git-hooks/pre-commit.sh +6 -0
  95. package/dist/assets/git-hooks/pre-push.sh +154 -0
  96. package/dist/assets/git-hooks/security-check.sh +40 -0
  97. package/dist/assets/git-hooks/test-changed.sh +84 -0
  98. package/dist/assets/github-workflows/CODEOWNERS +3 -0
  99. package/dist/assets/github-workflows/boss-ci.yml +40 -0
  100. package/dist/assets/github-workflows/boss-gates.yml +28 -0
  101. package/dist/assets/start-boss-sh/start-boss.sh +471 -0
  102. package/dist/assets/template-docs/api-service-fastify.md +98 -0
  103. package/dist/assets/template-docs/blank.md +91 -0
  104. package/dist/assets/template-docs/nextjs-app-turbo.md +102 -0
  105. package/dist/assets/template-docs/t3-app.md +106 -0
  106. package/dist/assets/template-loader/README.md +28 -0
  107. package/dist/assets/template-loader/eslint.config.node.js +28 -0
  108. package/dist/assets/template-loader/eslint.config.react.js +47 -0
  109. package/dist/assets/template-loader/gitignore +42 -0
  110. package/dist/assets/template-loader/index.test.ts +10 -0
  111. package/dist/assets/template-loader/index.ts +13 -0
  112. package/dist/assets/template-loader/prettierignore +8 -0
  113. package/dist/assets/template-loader/vitest.config.ts +19 -0
  114. package/dist/assets/worker-configs/architect/.claude/commands/.gitkeep +0 -0
  115. package/dist/assets/worker-configs/architect/.claude/skills/.gitkeep +0 -0
  116. package/dist/assets/worker-configs/architect/CLAUDE.md +106 -0
  117. package/dist/assets/worker-configs/clarifier/.claude/commands/.gitkeep +1 -0
  118. package/dist/assets/worker-configs/clarifier/.claude/skills/.gitkeep +1 -0
  119. package/dist/assets/worker-configs/clarifier/CLAUDE.md +112 -0
  120. package/dist/assets/worker-configs/code-reviewer/CLAUDE.md +113 -0
  121. package/dist/assets/worker-configs/consolidator/.claude/commands/.gitkeep +1 -0
  122. package/dist/assets/worker-configs/consolidator/.claude/skills/.gitkeep +1 -0
  123. package/dist/assets/worker-configs/consolidator/CLAUDE.md +114 -0
  124. package/dist/assets/worker-configs/developer-backend/.claude/commands/.gitkeep +1 -0
  125. package/dist/assets/worker-configs/developer-backend/.claude/skills/.gitkeep +1 -0
  126. package/dist/assets/worker-configs/developer-backend/CLAUDE.md +116 -0
  127. package/dist/assets/worker-configs/developer-frontend/.claude/commands/.gitkeep +1 -0
  128. package/dist/assets/worker-configs/developer-frontend/.claude/skills/.gitkeep +1 -0
  129. package/dist/assets/worker-configs/developer-frontend/CLAUDE.md +116 -0
  130. package/dist/assets/worker-configs/developer-fullstack/.claude/commands/.gitkeep +1 -0
  131. package/dist/assets/worker-configs/developer-fullstack/.claude/skills/.gitkeep +1 -0
  132. package/dist/assets/worker-configs/developer-fullstack/CLAUDE.md +116 -0
  133. package/dist/assets/worker-configs/devops-engineer/CLAUDE.md +111 -0
  134. package/dist/assets/worker-configs/planner/.claude/commands/.gitkeep +1 -0
  135. package/dist/assets/worker-configs/planner/.claude/skills/.gitkeep +1 -0
  136. package/dist/assets/worker-configs/planner/CLAUDE.md +111 -0
  137. package/dist/assets/worker-configs/product-owner/CLAUDE.md +108 -0
  138. package/dist/assets/worker-configs/reviewer/.claude/commands/.gitkeep +1 -0
  139. package/dist/assets/worker-configs/reviewer/.claude/skills/.gitkeep +1 -0
  140. package/dist/assets/worker-configs/reviewer/CLAUDE.md +110 -0
  141. package/dist/assets/worker-configs/security-engineer/CLAUDE.md +109 -0
  142. package/dist/assets/worker-configs/spec-writer/.claude/commands/.gitkeep +1 -0
  143. package/dist/assets/worker-configs/spec-writer/.claude/skills/.gitkeep +1 -0
  144. package/dist/assets/worker-configs/spec-writer/CLAUDE.md +110 -0
  145. package/dist/assets/worker-configs/technical-writer/CLAUDE.md +107 -0
  146. package/dist/assets/worker-configs/tester/CLAUDE.md +110 -0
  147. package/dist/commands/__tests__/bootstrap.test.d.ts +2 -0
  148. package/dist/commands/__tests__/bootstrap.test.d.ts.map +1 -0
  149. package/dist/commands/__tests__/bootstrap.test.js +379 -0
  150. package/dist/commands/__tests__/bootstrap.test.js.map +1 -0
  151. package/dist/commands/__tests__/doctor.test.d.ts +2 -0
  152. package/dist/commands/__tests__/doctor.test.d.ts.map +1 -0
  153. package/dist/commands/__tests__/doctor.test.js +13 -0
  154. package/dist/commands/__tests__/doctor.test.js.map +1 -0
  155. package/dist/commands/bootstrap.d.ts +3 -0
  156. package/dist/commands/bootstrap.d.ts.map +1 -0
  157. package/dist/commands/bootstrap.js +390 -0
  158. package/dist/commands/bootstrap.js.map +1 -0
  159. package/dist/commands/doctor.d.ts +2 -0
  160. package/dist/commands/doctor.d.ts.map +1 -0
  161. package/dist/commands/doctor.js +171 -0
  162. package/dist/commands/doctor.js.map +1 -0
  163. package/dist/commands/templates.d.ts +2 -0
  164. package/dist/commands/templates.d.ts.map +1 -0
  165. package/dist/commands/templates.js +12 -0
  166. package/dist/commands/templates.js.map +1 -0
  167. package/dist/constants.d.ts +23 -0
  168. package/dist/constants.d.ts.map +1 -0
  169. package/dist/constants.js +23 -0
  170. package/dist/constants.js.map +1 -0
  171. package/dist/generators/__tests__/boss-config.test.d.ts +2 -0
  172. package/dist/generators/__tests__/boss-config.test.d.ts.map +1 -0
  173. package/dist/generators/__tests__/boss-config.test.js +61 -0
  174. package/dist/generators/__tests__/boss-config.test.js.map +1 -0
  175. package/dist/generators/__tests__/claude-folder.test.d.ts +2 -0
  176. package/dist/generators/__tests__/claude-folder.test.d.ts.map +1 -0
  177. package/dist/generators/__tests__/claude-folder.test.js +128 -0
  178. package/dist/generators/__tests__/claude-folder.test.js.map +1 -0
  179. package/dist/generators/__tests__/claude-md.test.d.ts +2 -0
  180. package/dist/generators/__tests__/claude-md.test.d.ts.map +1 -0
  181. package/dist/generators/__tests__/claude-md.test.js +55 -0
  182. package/dist/generators/__tests__/claude-md.test.js.map +1 -0
  183. package/dist/generators/__tests__/container-use-config.test.d.ts +2 -0
  184. package/dist/generators/__tests__/container-use-config.test.d.ts.map +1 -0
  185. package/dist/generators/__tests__/container-use-config.test.js +80 -0
  186. package/dist/generators/__tests__/container-use-config.test.js.map +1 -0
  187. package/dist/generators/__tests__/docker-compose.test.d.ts +2 -0
  188. package/dist/generators/__tests__/docker-compose.test.d.ts.map +1 -0
  189. package/dist/generators/__tests__/docker-compose.test.js +39 -0
  190. package/dist/generators/__tests__/docker-compose.test.js.map +1 -0
  191. package/dist/generators/__tests__/git-hooks.test.d.ts +2 -0
  192. package/dist/generators/__tests__/git-hooks.test.d.ts.map +1 -0
  193. package/dist/generators/__tests__/git-hooks.test.js +118 -0
  194. package/dist/generators/__tests__/git-hooks.test.js.map +1 -0
  195. package/dist/generators/__tests__/github-workflows.test.d.ts +2 -0
  196. package/dist/generators/__tests__/github-workflows.test.d.ts.map +1 -0
  197. package/dist/generators/__tests__/github-workflows.test.js +86 -0
  198. package/dist/generators/__tests__/github-workflows.test.js.map +1 -0
  199. package/dist/generators/__tests__/mcp-config.test.d.ts +2 -0
  200. package/dist/generators/__tests__/mcp-config.test.d.ts.map +1 -0
  201. package/dist/generators/__tests__/mcp-config.test.js +131 -0
  202. package/dist/generators/__tests__/mcp-config.test.js.map +1 -0
  203. package/dist/generators/__tests__/project-structure.test.d.ts +2 -0
  204. package/dist/generators/__tests__/project-structure.test.d.ts.map +1 -0
  205. package/dist/generators/__tests__/project-structure.test.js +40 -0
  206. package/dist/generators/__tests__/project-structure.test.js.map +1 -0
  207. package/dist/generators/__tests__/quality-gates.test.d.ts +2 -0
  208. package/dist/generators/__tests__/quality-gates.test.d.ts.map +1 -0
  209. package/dist/generators/__tests__/quality-gates.test.js +71 -0
  210. package/dist/generators/__tests__/quality-gates.test.js.map +1 -0
  211. package/dist/generators/__tests__/specify-structure.test.d.ts +2 -0
  212. package/dist/generators/__tests__/specify-structure.test.d.ts.map +1 -0
  213. package/dist/generators/__tests__/specify-structure.test.js +63 -0
  214. package/dist/generators/__tests__/specify-structure.test.js.map +1 -0
  215. package/dist/generators/__tests__/start-boss-sh.test.d.ts +2 -0
  216. package/dist/generators/__tests__/start-boss-sh.test.d.ts.map +1 -0
  217. package/dist/generators/__tests__/start-boss-sh.test.js +36 -0
  218. package/dist/generators/__tests__/start-boss-sh.test.js.map +1 -0
  219. package/dist/generators/__tests__/template-docs.test.d.ts +2 -0
  220. package/dist/generators/__tests__/template-docs.test.d.ts.map +1 -0
  221. package/dist/generators/__tests__/template-docs.test.js +92 -0
  222. package/dist/generators/__tests__/template-docs.test.js.map +1 -0
  223. package/dist/generators/__tests__/template-loader.test.d.ts +2 -0
  224. package/dist/generators/__tests__/template-loader.test.d.ts.map +1 -0
  225. package/dist/generators/__tests__/template-loader.test.js +215 -0
  226. package/dist/generators/__tests__/template-loader.test.js.map +1 -0
  227. package/dist/generators/__tests__/worker-configs.test.d.ts +2 -0
  228. package/dist/generators/__tests__/worker-configs.test.d.ts.map +1 -0
  229. package/dist/generators/__tests__/worker-configs.test.js +122 -0
  230. package/dist/generators/__tests__/worker-configs.test.js.map +1 -0
  231. package/dist/generators/boss-config.d.ts +3 -0
  232. package/dist/generators/boss-config.d.ts.map +1 -0
  233. package/dist/generators/boss-config.js +242 -0
  234. package/dist/generators/boss-config.js.map +1 -0
  235. package/dist/generators/claude-folder.d.ts +3 -0
  236. package/dist/generators/claude-folder.d.ts.map +1 -0
  237. package/dist/generators/claude-folder.js +94 -0
  238. package/dist/generators/claude-folder.js.map +1 -0
  239. package/dist/generators/claude-md.d.ts +3 -0
  240. package/dist/generators/claude-md.d.ts.map +1 -0
  241. package/dist/generators/claude-md.js +64 -0
  242. package/dist/generators/claude-md.js.map +1 -0
  243. package/dist/generators/container-use-config.d.ts +13 -0
  244. package/dist/generators/container-use-config.d.ts.map +1 -0
  245. package/dist/generators/container-use-config.js +60 -0
  246. package/dist/generators/container-use-config.js.map +1 -0
  247. package/dist/generators/docker-compose.d.ts +2 -0
  248. package/dist/generators/docker-compose.d.ts.map +1 -0
  249. package/dist/generators/docker-compose.js +8 -0
  250. package/dist/generators/docker-compose.js.map +1 -0
  251. package/dist/generators/git-hooks.d.ts +3 -0
  252. package/dist/generators/git-hooks.d.ts.map +1 -0
  253. package/dist/generators/git-hooks.js +58 -0
  254. package/dist/generators/git-hooks.js.map +1 -0
  255. package/dist/generators/github-workflows.d.ts +3 -0
  256. package/dist/generators/github-workflows.d.ts.map +1 -0
  257. package/dist/generators/github-workflows.js +27 -0
  258. package/dist/generators/github-workflows.js.map +1 -0
  259. package/dist/generators/mcp-config.d.ts +3 -0
  260. package/dist/generators/mcp-config.d.ts.map +1 -0
  261. package/dist/generators/mcp-config.js +183 -0
  262. package/dist/generators/mcp-config.js.map +1 -0
  263. package/dist/generators/project-structure.d.ts +3 -0
  264. package/dist/generators/project-structure.d.ts.map +1 -0
  265. package/dist/generators/project-structure.js +24 -0
  266. package/dist/generators/project-structure.js.map +1 -0
  267. package/dist/generators/quality-gates.d.ts +3 -0
  268. package/dist/generators/quality-gates.d.ts.map +1 -0
  269. package/dist/generators/quality-gates.js +32 -0
  270. package/dist/generators/quality-gates.js.map +1 -0
  271. package/dist/generators/specify-structure.d.ts +2 -0
  272. package/dist/generators/specify-structure.d.ts.map +1 -0
  273. package/dist/generators/specify-structure.js +43 -0
  274. package/dist/generators/specify-structure.js.map +1 -0
  275. package/dist/generators/start-boss-sh.d.ts +2 -0
  276. package/dist/generators/start-boss-sh.d.ts.map +1 -0
  277. package/dist/generators/start-boss-sh.js +10 -0
  278. package/dist/generators/start-boss-sh.js.map +1 -0
  279. package/dist/generators/template-docs.d.ts +3 -0
  280. package/dist/generators/template-docs.d.ts.map +1 -0
  281. package/dist/generators/template-docs.js +19 -0
  282. package/dist/generators/template-docs.js.map +1 -0
  283. package/dist/generators/template-loader.d.ts +3 -0
  284. package/dist/generators/template-loader.d.ts.map +1 -0
  285. package/dist/generators/template-loader.js +308 -0
  286. package/dist/generators/template-loader.js.map +1 -0
  287. package/dist/generators/worker-configs.d.ts +3 -0
  288. package/dist/generators/worker-configs.d.ts.map +1 -0
  289. package/dist/generators/worker-configs.js +119 -0
  290. package/dist/generators/worker-configs.js.map +1 -0
  291. package/dist/index.d.ts +3 -0
  292. package/dist/index.d.ts.map +1 -0
  293. package/dist/index.js +57 -0
  294. package/dist/index.js.map +1 -0
  295. package/dist/presets/__tests__/quality-presets.test.d.ts +2 -0
  296. package/dist/presets/__tests__/quality-presets.test.d.ts.map +1 -0
  297. package/dist/presets/__tests__/quality-presets.test.js +152 -0
  298. package/dist/presets/__tests__/quality-presets.test.js.map +1 -0
  299. package/dist/presets/quality-presets.d.ts +3 -0
  300. package/dist/presets/quality-presets.d.ts.map +1 -0
  301. package/dist/presets/quality-presets.js +65 -0
  302. package/dist/presets/quality-presets.js.map +1 -0
  303. package/dist/types/index.d.ts +42 -0
  304. package/dist/types/index.d.ts.map +1 -0
  305. package/dist/types/index.js +2 -0
  306. package/dist/types/index.js.map +1 -0
  307. package/dist/utils/__tests__/file-system.test.d.ts +2 -0
  308. package/dist/utils/__tests__/file-system.test.d.ts.map +1 -0
  309. package/dist/utils/__tests__/file-system.test.js +83 -0
  310. package/dist/utils/__tests__/file-system.test.js.map +1 -0
  311. package/dist/utils/__tests__/git.test.d.ts +2 -0
  312. package/dist/utils/__tests__/git.test.d.ts.map +1 -0
  313. package/dist/utils/__tests__/git.test.js +79 -0
  314. package/dist/utils/__tests__/git.test.js.map +1 -0
  315. package/dist/utils/__tests__/template-loader.test.d.ts +2 -0
  316. package/dist/utils/__tests__/template-loader.test.d.ts.map +1 -0
  317. package/dist/utils/__tests__/template-loader.test.js +109 -0
  318. package/dist/utils/__tests__/template-loader.test.js.map +1 -0
  319. package/dist/utils/__tests__/validators.test.d.ts +2 -0
  320. package/dist/utils/__tests__/validators.test.d.ts.map +1 -0
  321. package/dist/utils/__tests__/validators.test.js +118 -0
  322. package/dist/utils/__tests__/validators.test.js.map +1 -0
  323. package/dist/utils/file-system.d.ts +8 -0
  324. package/dist/utils/file-system.d.ts.map +1 -0
  325. package/dist/utils/file-system.js +54 -0
  326. package/dist/utils/file-system.js.map +1 -0
  327. package/dist/utils/git.d.ts +7 -0
  328. package/dist/utils/git.d.ts.map +1 -0
  329. package/dist/utils/git.js +98 -0
  330. package/dist/utils/git.js.map +1 -0
  331. package/dist/utils/logger.d.ts +13 -0
  332. package/dist/utils/logger.d.ts.map +1 -0
  333. package/dist/utils/logger.js +42 -0
  334. package/dist/utils/logger.js.map +1 -0
  335. package/dist/utils/prompts.d.ts +18 -0
  336. package/dist/utils/prompts.d.ts.map +1 -0
  337. package/dist/utils/prompts.js +197 -0
  338. package/dist/utils/prompts.js.map +1 -0
  339. package/dist/utils/template-loader.d.ts +18 -0
  340. package/dist/utils/template-loader.d.ts.map +1 -0
  341. package/dist/utils/template-loader.js +92 -0
  342. package/dist/utils/template-loader.js.map +1 -0
  343. package/dist/utils/validators.d.ts +21 -0
  344. package/dist/utils/validators.d.ts.map +1 -0
  345. package/dist/utils/validators.js +50 -0
  346. package/dist/utils/validators.js.map +1 -0
  347. package/package.json +79 -0
  348. package/templates/spec-kit/README.md +17 -0
  349. package/templates/spec-kit/memory/constitution.md +50 -0
  350. package/templates/spec-kit/scripts/bash/check-prerequisites.sh +166 -0
  351. package/templates/spec-kit/scripts/bash/common.sh +156 -0
  352. package/templates/spec-kit/scripts/bash/create-new-feature.sh +297 -0
  353. package/templates/spec-kit/scripts/bash/setup-plan.sh +61 -0
  354. package/templates/spec-kit/scripts/bash/update-agent-context.sh +799 -0
  355. package/templates/spec-kit/scripts/powershell/check-prerequisites.ps1 +148 -0
  356. package/templates/spec-kit/scripts/powershell/common.ps1 +137 -0
  357. package/templates/spec-kit/scripts/powershell/create-new-feature.ps1 +283 -0
  358. package/templates/spec-kit/scripts/powershell/setup-plan.ps1 +61 -0
  359. package/templates/spec-kit/scripts/powershell/update-agent-context.ps1 +448 -0
  360. package/templates/spec-kit/src/specify_cli/__init__.py +1369 -0
  361. package/templates/spec-kit/templates/agent-file-template.md +28 -0
  362. package/templates/spec-kit/templates/checklist-template.md +40 -0
  363. package/templates/spec-kit/templates/commands/analyze.md +187 -0
  364. package/templates/spec-kit/templates/commands/checklist.md +297 -0
  365. package/templates/spec-kit/templates/commands/clarify.md +184 -0
  366. package/templates/spec-kit/templates/commands/constitution.md +82 -0
  367. package/templates/spec-kit/templates/commands/implement.md +138 -0
  368. package/templates/spec-kit/templates/commands/plan.md +95 -0
  369. package/templates/spec-kit/templates/commands/specify.md +261 -0
  370. package/templates/spec-kit/templates/commands/tasks.md +140 -0
  371. package/templates/spec-kit/templates/commands/taskstoissues.md +33 -0
  372. package/templates/spec-kit/templates/plan-template.md +104 -0
  373. package/templates/spec-kit/templates/spec-template.md +115 -0
  374. package/templates/spec-kit/templates/tasks-template.md +251 -0
  375. package/templates/spec-kit/templates/vscode-settings.json +14 -0
  376. package/templates/t3-app/README.md +41 -0
  377. package/templates/t3-app/base/README.md +29 -0
  378. package/templates/t3-app/base/_gitignore +47 -0
  379. package/templates/t3-app/base/next-env.d.ts +5 -0
  380. package/templates/t3-app/base/next.config.js +22 -0
  381. package/templates/t3-app/base/package.json +26 -0
  382. package/templates/t3-app/base/public/favicon.ico +0 -0
  383. package/templates/t3-app/base/src/env.js +40 -0
  384. package/templates/t3-app/base/src/styles/globals.css +16 -0
  385. package/templates/t3-app/base/tsconfig.json +42 -0
  386. package/templates/t3-app/extras/config/_eslint.base.js +45 -0
  387. package/templates/t3-app/extras/config/_eslint.drizzle.js +58 -0
  388. package/templates/t3-app/extras/config/_prettier.config.js +2 -0
  389. package/templates/t3-app/extras/config/_tailwind.prettier.config.js +4 -0
  390. package/templates/t3-app/extras/config/biome.jsonc +69 -0
  391. package/templates/t3-app/extras/config/drizzle-config-mysql.ts +12 -0
  392. package/templates/t3-app/extras/config/drizzle-config-postgres.ts +12 -0
  393. package/templates/t3-app/extras/config/drizzle-config-sqlite.ts +12 -0
  394. package/templates/t3-app/extras/config/next-config-appdir.js +10 -0
  395. package/templates/t3-app/extras/config/postcss.config.js +5 -0
  396. package/templates/t3-app/extras/pnpm/_npmrc +2 -0
  397. package/templates/t3-app/extras/prisma/schema/base-planetscale.prisma +25 -0
  398. package/templates/t3-app/extras/prisma/schema/base.prisma +21 -0
  399. package/templates/t3-app/extras/prisma/schema/with-auth-planetscale.prisma +79 -0
  400. package/templates/t3-app/extras/prisma/schema/with-auth.prisma +75 -0
  401. package/templates/t3-app/extras/prisma/schema/with-better-auth-planetscale.prisma +90 -0
  402. package/templates/t3-app/extras/prisma/schema/with-better-auth.prisma +89 -0
  403. package/templates/t3-app/extras/src/app/_components/post-tw.tsx +50 -0
  404. package/templates/t3-app/extras/src/app/_components/post.tsx +54 -0
  405. package/templates/t3-app/extras/src/app/api/auth/[...all]/route.ts +5 -0
  406. package/templates/t3-app/extras/src/app/api/auth/[...nextauth]/route.ts +3 -0
  407. package/templates/t3-app/extras/src/app/api/trpc/[trpc]/route.ts +34 -0
  408. package/templates/t3-app/extras/src/app/layout/base.tsx +24 -0
  409. package/templates/t3-app/extras/src/app/layout/with-trpc-tw.tsx +29 -0
  410. package/templates/t3-app/extras/src/app/layout/with-trpc.tsx +28 -0
  411. package/templates/t3-app/extras/src/app/layout/with-tw.tsx +25 -0
  412. package/templates/t3-app/extras/src/app/page/base.tsx +39 -0
  413. package/templates/t3-app/extras/src/app/page/with-auth-trpc-tw.tsx +69 -0
  414. package/templates/t3-app/extras/src/app/page/with-auth-trpc.tsx +70 -0
  415. package/templates/t3-app/extras/src/app/page/with-better-auth-trpc-tw.tsx +105 -0
  416. package/templates/t3-app/extras/src/app/page/with-better-auth-trpc.tsx +103 -0
  417. package/templates/t3-app/extras/src/app/page/with-better-auth-tw.tsx +90 -0
  418. package/templates/t3-app/extras/src/app/page/with-better-auth.tsx +88 -0
  419. package/templates/t3-app/extras/src/app/page/with-trpc-tw.tsx +53 -0
  420. package/templates/t3-app/extras/src/app/page/with-trpc.tsx +54 -0
  421. package/templates/t3-app/extras/src/app/page/with-tw.tsx +37 -0
  422. package/templates/t3-app/extras/src/env/with-auth-db-planetscale.js +58 -0
  423. package/templates/t3-app/extras/src/env/with-auth-db.js +52 -0
  424. package/templates/t3-app/extras/src/env/with-auth.js +51 -0
  425. package/templates/t3-app/extras/src/env/with-better-auth-db-planetscale.js +58 -0
  426. package/templates/t3-app/extras/src/env/with-better-auth-db.js +50 -0
  427. package/templates/t3-app/extras/src/env/with-better-auth.js +49 -0
  428. package/templates/t3-app/extras/src/env/with-db-planetscale.js +50 -0
  429. package/templates/t3-app/extras/src/env/with-db.js +44 -0
  430. package/templates/t3-app/extras/src/index.module.css +177 -0
  431. package/templates/t3-app/extras/src/pages/_app/base.tsx +18 -0
  432. package/templates/t3-app/extras/src/pages/_app/with-auth-trpc-tw.tsx +27 -0
  433. package/templates/t3-app/extras/src/pages/_app/with-auth-trpc.tsx +27 -0
  434. package/templates/t3-app/extras/src/pages/_app/with-auth-tw.tsx +25 -0
  435. package/templates/t3-app/extras/src/pages/_app/with-auth.tsx +25 -0
  436. package/templates/t3-app/extras/src/pages/_app/with-better-auth-trpc-tw.tsx +20 -0
  437. package/templates/t3-app/extras/src/pages/_app/with-better-auth-trpc.tsx +20 -0
  438. package/templates/t3-app/extras/src/pages/_app/with-trpc-tw.tsx +20 -0
  439. package/templates/t3-app/extras/src/pages/_app/with-trpc.tsx +20 -0
  440. package/templates/t3-app/extras/src/pages/_app/with-tw.tsx +18 -0
  441. package/templates/t3-app/extras/src/pages/api/auth/[...all].ts +8 -0
  442. package/templates/t3-app/extras/src/pages/api/trpc/[trpc].ts +19 -0
  443. package/templates/t3-app/extras/src/pages/index/base.tsx +47 -0
  444. package/templates/t3-app/extras/src/pages/index/with-auth-trpc-tw.tsx +81 -0
  445. package/templates/t3-app/extras/src/pages/index/with-auth-trpc.tsx +82 -0
  446. package/templates/t3-app/extras/src/pages/index/with-better-auth-trpc-tw.tsx +99 -0
  447. package/templates/t3-app/extras/src/pages/index/with-better-auth-trpc.tsx +100 -0
  448. package/templates/t3-app/extras/src/pages/index/with-better-auth-tw.tsx +87 -0
  449. package/templates/t3-app/extras/src/pages/index/with-better-auth.tsx +88 -0
  450. package/templates/t3-app/extras/src/pages/index/with-trpc-tw.tsx +52 -0
  451. package/templates/t3-app/extras/src/pages/index/with-trpc.tsx +53 -0
  452. package/templates/t3-app/extras/src/pages/index/with-tw.tsx +45 -0
  453. package/templates/t3-app/extras/src/server/api/root.ts +23 -0
  454. package/templates/t3-app/extras/src/server/api/routers/post/base.ts +40 -0
  455. package/templates/t3-app/extras/src/server/api/routers/post/with-auth-drizzle.ts +39 -0
  456. package/templates/t3-app/extras/src/server/api/routers/post/with-auth-prisma.ts +41 -0
  457. package/templates/t3-app/extras/src/server/api/routers/post/with-auth.ts +37 -0
  458. package/templates/t3-app/extras/src/server/api/routers/post/with-drizzle.ts +30 -0
  459. package/templates/t3-app/extras/src/server/api/routers/post/with-prisma.ts +31 -0
  460. package/templates/t3-app/extras/src/server/api/trpc-app/base.ts +103 -0
  461. package/templates/t3-app/extras/src/server/api/trpc-app/with-auth-db.ts +133 -0
  462. package/templates/t3-app/extras/src/server/api/trpc-app/with-auth.ts +130 -0
  463. package/templates/t3-app/extras/src/server/api/trpc-app/with-better-auth-db.ts +134 -0
  464. package/templates/t3-app/extras/src/server/api/trpc-app/with-better-auth.ts +131 -0
  465. package/templates/t3-app/extras/src/server/api/trpc-app/with-db.ts +106 -0
  466. package/templates/t3-app/extras/src/server/api/trpc-pages/base.ts +122 -0
  467. package/templates/t3-app/extras/src/server/api/trpc-pages/with-auth-db.ts +160 -0
  468. package/templates/t3-app/extras/src/server/api/trpc-pages/with-auth.ts +158 -0
  469. package/templates/t3-app/extras/src/server/api/trpc-pages/with-better-auth-db.ts +168 -0
  470. package/templates/t3-app/extras/src/server/api/trpc-pages/with-better-auth.ts +166 -0
  471. package/templates/t3-app/extras/src/server/api/trpc-pages/with-db.ts +125 -0
  472. package/templates/t3-app/extras/src/server/auth/config/base.ts +52 -0
  473. package/templates/t3-app/extras/src/server/auth/config/with-drizzle.ts +67 -0
  474. package/templates/t3-app/extras/src/server/auth/config/with-prisma.ts +56 -0
  475. package/templates/t3-app/extras/src/server/auth/index.ts +10 -0
  476. package/templates/t3-app/extras/src/server/better-auth/client.ts +5 -0
  477. package/templates/t3-app/extras/src/server/better-auth/config/base.ts +12 -0
  478. package/templates/t3-app/extras/src/server/better-auth/config/with-drizzle.ts +26 -0
  479. package/templates/t3-app/extras/src/server/better-auth/config/with-prisma.ts +26 -0
  480. package/templates/t3-app/extras/src/server/better-auth/index.ts +1 -0
  481. package/templates/t3-app/extras/src/server/better-auth/server.ts +7 -0
  482. package/templates/t3-app/extras/src/server/db/db-prisma-planetscale.ts +19 -0
  483. package/templates/t3-app/extras/src/server/db/db-prisma.ts +16 -0
  484. package/templates/t3-app/extras/src/server/db/index-drizzle/with-mysql.ts +18 -0
  485. package/templates/t3-app/extras/src/server/db/index-drizzle/with-planetscale.ts +7 -0
  486. package/templates/t3-app/extras/src/server/db/index-drizzle/with-postgres.ts +18 -0
  487. package/templates/t3-app/extras/src/server/db/index-drizzle/with-sqlite.ts +19 -0
  488. package/templates/t3-app/extras/src/server/db/schema-drizzle/base-mysql.ts +26 -0
  489. package/templates/t3-app/extras/src/server/db/schema-drizzle/base-planetscale.ts +26 -0
  490. package/templates/t3-app/extras/src/server/db/schema-drizzle/base-postgres.ts +26 -0
  491. package/templates/t3-app/extras/src/server/db/schema-drizzle/base-sqlite.ts +27 -0
  492. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-mysql.ts +111 -0
  493. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-planetscale.ts +100 -0
  494. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-postgres.ts +108 -0
  495. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-auth-sqlite.ts +105 -0
  496. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-mysql.ts +106 -0
  497. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-planetscale.ts +106 -0
  498. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-postgres.ts +105 -0
  499. package/templates/t3-app/extras/src/server/db/schema-drizzle/with-better-auth-sqlite.ts +134 -0
  500. package/templates/t3-app/extras/src/styles/globals.css +6 -0
  501. package/templates/t3-app/extras/src/trpc/query-client.ts +25 -0
  502. package/templates/t3-app/extras/src/trpc/react.tsx +78 -0
  503. package/templates/t3-app/extras/src/trpc/server.ts +30 -0
  504. package/templates/t3-app/extras/src/utils/api.ts +68 -0
  505. package/templates/t3-app/extras/start-database/mysql.sh +86 -0
  506. package/templates/t3-app/extras/start-database/postgres.sh +88 -0
@@ -0,0 +1,107 @@
1
+ # ${workerName} Worker Instructions
2
+
3
+ This worker is responsible for ${workerRoleDescription}
4
+
5
+ ## Worker-Specific Guidelines
6
+
7
+ - Follow the prompt in \`prompt.md\` for detailed role instructions
8
+ - Use container-use environments for all operations
9
+ - Reference \`.claude/commands/\`, \`.claude/skills/\`, and \`.claude/agents/\` for worker-specific resources
10
+
11
+ ## Environment Operations
12
+
13
+ All file, code, and shell operations MUST use container-use environments.
14
+
15
+ - DO NOT use git CLI directly
16
+ - All operations must go through container-use MCP
17
+ - Inform user: \`container-use log <env_id>\` AND \`container-use checkout <env_id>\`
18
+
19
+ ## Project Status & Configuration
20
+
21
+ **CRITICAL:** Always check `.boss/project-config.json` to understand project state before starting work.
22
+
23
+ **Read project-config.json to understand:**
24
+ - Current branch and workflow stage
25
+ - Active workers and their status
26
+ - Completed tasks
27
+ - Repository information
28
+ - Initialization status
29
+
30
+ **Update project-config.json when:**
31
+ - Starting work: Add your environment ID to `workflow.activeWorkers`
32
+ - Completing work: Add a summary to `workers.summaries` with:
33
+ - Environment ID
34
+ - Tasks completed
35
+ - Artifacts created (API docs, user guides, developer docs)
36
+ - Documentation coverage metrics
37
+ - Any blockers or issues encountered
38
+ - After merging: Remove from `workflow.activeWorkers` and add to `workflow.completedTasks`
39
+
40
+ **Example worker summary format:**
41
+ ```json
42
+ {
43
+ "envId": "env-abc123",
44
+ "workerType": "${workerName}",
45
+ "completedAt": "2026-01-15T10:30:00Z",
46
+ "tasksCompleted": ["API documentation", "User guide", "Quickstart"],
47
+ "artifactsCreated": ["docs/api.md", "docs/user-guide.md", ".specify/specs/001-feature/quickstart.md"],
48
+ "coverage": "100%",
49
+ "notes": "Created comprehensive documentation for feature"
50
+ }
51
+ ```
52
+
53
+ **IMPORTANT:**
54
+ - NEVER use git commands to check project status - read project-config.json instead
55
+ - ALWAYS update project-config.json when completing work
56
+ - Keep summaries concise but informative for BOSS to track progress
57
+
58
+ ## Git Commit Strategy
59
+
60
+ **IMPORTANT:** Batch related changes into logical commits to reduce overhead and improve workflow efficiency.
61
+
62
+ ### Batching Guidelines
63
+
64
+ 1. **Group files by feature/fix** (not by file type)
65
+ 2. **Aim for 1-3 commits per task** instead of 5-10
66
+ 3. **Use meaningful commit messages** following Conventional Commits
67
+ 4. **Only commit when reaching a logical checkpoint**
68
+
69
+ ### Good Practice ✅
70
+
71
+ ```bash
72
+ # Create documentation files in one commit
73
+ git add docs/api.md docs/user-guide.md .specify/specs/001-feature/quickstart.md
74
+ git commit -m "docs: add API documentation and user guide"
75
+
76
+ # Or batch complete documentation phase
77
+ git add docs/api.md docs/tutorials/ README.md
78
+ git commit -m "docs: complete feature documentation with API reference and tutorials"
79
+ ```
80
+
81
+ ### Bad Practice ❌
82
+
83
+ ```bash
84
+ # Individual commits for related work (too granular)
85
+ git add docs/api.md
86
+ git commit -m "docs: add API docs"
87
+
88
+ git add docs/user-guide.md
89
+ git commit -m "docs: add guide"
90
+
91
+ git add README.md
92
+ git commit -m "docs: update README"
93
+ ```
94
+
95
+ ### Commit Message Format
96
+
97
+ Follow Conventional Commits:
98
+ - `docs:` - Documentation changes (primary for technical-writer)
99
+
100
+ ### Expected Behavior
101
+
102
+ - **Simple task:** 1-2 commits (initial docs + refinements)
103
+ - **Complex task:** 2-3 commits (major documentation phases)
104
+ - **Avoid:** 5-10 commits for small changes
105
+
106
+ This batching strategy reduces git overhead by ~10-15 seconds per task and creates cleaner commit history.
107
+
@@ -0,0 +1,110 @@
1
+ # ${workerName} Worker Instructions
2
+
3
+ This worker is responsible for ${workerRoleDescription}
4
+
5
+ ## Worker-Specific Guidelines
6
+
7
+ - Follow the prompt in \`prompt.md\` for detailed role instructions
8
+ - Use container-use environments for all operations
9
+ - Reference \`.claude/commands/\`, \`.claude/skills/\`, and \`.claude/agents/\` for worker-specific resources
10
+
11
+ ## Environment Operations
12
+
13
+ All file, code, and shell operations MUST use container-use environments.
14
+
15
+ - DO NOT use git CLI directly
16
+ - All operations must go through container-use MCP
17
+ - Inform user: \`container-use log <env_id>\` AND \`container-use checkout <env_id>\`
18
+
19
+ ## Project Status & Configuration
20
+
21
+ **CRITICAL:** Always check `.boss/project-config.json` to understand project state before starting work.
22
+
23
+ **Read project-config.json to understand:**
24
+ - Current branch and workflow stage
25
+ - Active workers and their status
26
+ - Completed tasks
27
+ - Repository information
28
+ - Initialization status
29
+
30
+ **Update project-config.json when:**
31
+ - Starting work: Add your environment ID to `workflow.activeWorkers`
32
+ - Completing work: Add a summary to `workers.summaries` with:
33
+ - Environment ID
34
+ - Tasks completed
35
+ - Artifacts created (test files, test reports)
36
+ - Test coverage metrics
37
+ - Mutation testing scores
38
+ - Any blockers or issues encountered
39
+ - After merging: Remove from `workflow.activeWorkers` and add to `workflow.completedTasks`
40
+
41
+ **Example worker summary format:**
42
+ ```json
43
+ {
44
+ "envId": "env-abc123",
45
+ "workerType": "${workerName}",
46
+ "completedAt": "2026-01-15T10:30:00Z",
47
+ "tasksCompleted": ["BDD test suite", "Integration tests"],
48
+ "artifactsCreated": ["tests/feature.test.ts", "tests/integration.test.ts"],
49
+ "testCoverage": "85%",
50
+ "mutationScore": "82%",
51
+ "notes": "Created comprehensive test suite with BDD tests matching spec.md"
52
+ }
53
+ ```
54
+
55
+ **IMPORTANT:**
56
+ - NEVER use git commands to check project status - read project-config.json instead
57
+ - ALWAYS update project-config.json when completing work
58
+ - Keep summaries concise but informative for BOSS to track progress
59
+
60
+ ## Git Commit Strategy
61
+
62
+ **IMPORTANT:** Batch related changes into logical commits to reduce overhead and improve workflow efficiency.
63
+
64
+ ### Batching Guidelines
65
+
66
+ 1. **Group files by feature/fix** (not by file type)
67
+ 2. **Aim for 1-3 commits per task** instead of 5-10
68
+ 3. **Use meaningful commit messages** following Conventional Commits
69
+ 4. **Only commit when reaching a logical checkpoint**
70
+
71
+ ### Good Practice ✅
72
+
73
+ ```bash
74
+ # Create test files in one commit
75
+ git add tests/feature.test.ts tests/integration.test.ts tests/e2e.test.ts
76
+ git commit -m "test: add comprehensive test suite with unit, integration, and e2e tests"
77
+
78
+ # Or batch test implementation with fixtures
79
+ git add tests/api/users.test.ts tests/fixtures/users.ts tests/helpers/auth.ts
80
+ git commit -m "test: implement user API tests with fixtures and helpers"
81
+ ```
82
+
83
+ ### Bad Practice ❌
84
+
85
+ ```bash
86
+ # Individual commits for related work (too granular)
87
+ git add tests/feature.test.ts
88
+ git commit -m "test: add unit tests"
89
+
90
+ git add tests/integration.test.ts
91
+ git commit -m "test: add integration tests"
92
+
93
+ git add tests/e2e.test.ts
94
+ git commit -m "test: add e2e tests"
95
+ ```
96
+
97
+ ### Commit Message Format
98
+
99
+ Follow Conventional Commits:
100
+ - `test:` - Adding/updating tests (primary for tester)
101
+ - `fix:` - Bug fixes found during testing
102
+
103
+ ### Expected Behavior
104
+
105
+ - **Simple task:** 1-2 commits (test suite + coverage)
106
+ - **Complex task:** 2-3 commits (major test phases)
107
+ - **Avoid:** 5-10 commits for small changes
108
+
109
+ This batching strategy reduces git overhead by ~10-15 seconds per task and creates cleaner commit history.
110
+
File without changes
@@ -0,0 +1,138 @@
1
+ # BOSS Commands
2
+
3
+ ## Available Commands
4
+
5
+ ### Container-Use Commands
6
+
7
+ - \`container-use log <env_id>\` - View worker logs
8
+ - \`container-use checkout <env_id>\` - Checkout worker branch
9
+ - \`container-use diff <env_id>\` - View code changes
10
+ - \`container-use merge <env_id>\` - Merge worker branch
11
+
12
+ ### Spec-Kit Commands
13
+
14
+ - \`bash .specify/scripts/speckit.plan.sh\` - Generate plan
15
+ - \`bash .specify/scripts/speckit.tasks.sh\` - Generate tasks
16
+ - \`bash .specify/scripts/speckit.implement.sh\` - Implement features
17
+
18
+ ### BOSS Commands
19
+
20
+ - \`./start-boss.sh\` - Start BOSS with MCP restrictions
21
+
22
+ ### Initial Setup Command
23
+
24
+ **Command:** `boss-initial-setup`
25
+
26
+ **Purpose:** Complete the initial project setup after bootstrap.
27
+
28
+ **When to Run:**
29
+ - After bootstrap completes
30
+ - When `initialization.stage` in `.boss/project-config.json` is `"bootstrap"` or `"remote-setup"`
31
+
32
+ **What It Does:**
33
+ 1. Checks `.boss/project-config.json` for current initialization status
34
+ 2. Verifies if remote repository exists
35
+ 3. If no remote exists:
36
+ - Asks user:
37
+ - Should repository be **private** or **public**? (default: private)
38
+ - Should it be created in an **organization**? (if yes, which org?)
39
+ - Repository name (if different from project name)
40
+ - Creates GitHub repository using GitHub MCP
41
+ - Adds remote using Container-Use MCP (NOT git CLI)
42
+ - Pushes initial commit to remote
43
+ - Updates `.boss/project-config.json` with remote information
44
+ 4. Marks `initialization.stage = "ready"` in project-config.json
45
+ 5. Updates project status to indicate setup is complete
46
+
47
+ **How to Execute:**
48
+ - BOSS can run this command directly when user asks to complete setup
49
+ - Or BOSS can spawn an initial-setup worker using Container-Use MCP
50
+ - Worker should follow the checklist in its prompt.md
51
+
52
+ **Checklist for Initial Setup:**
53
+ - [ ] Read `.boss/project-config.json` to check current status
54
+ - [ ] **Verify:** Main branch is EMPTY (only empty commit) - bootstrap files are NOT on main
55
+ - [ ] **Verify:** Feature branch `feature/boss-initial-setup` exists with ALL bootstrap files (created during bootstrap)
56
+ - [ ] Confirm you are on `feature/boss-initial-setup` branch (created during bootstrap)
57
+ - [ ] Check if remote repository exists (read project-config.json, NOT git)
58
+ - [ ] If no remote:
59
+ - [ ] Ask user for repository preferences (private/public, org)
60
+ - [ ] Create GitHub repository using GitHub MCP (will create under personal account)
61
+ - [ ] If organization was requested:
62
+ - [ ] Ask user: "Repository created under your personal account. Would you like me to transfer it to [org-name] now?"
63
+ - [ ] If user confirms:
64
+ - [ ] Transfer repository using GitHub API: `POST /repos/{owner}/{repo}/transfer` with `{"new_owner": "org-name"}`
65
+ - [ ] Wait for transfer to complete
66
+ - [ ] Update git remote URL to reflect new owner using Container-Use MCP
67
+ - [ ] **CRITICAL: Lock main branch and require PRs** - Use GitHub API to set branch protection:
68
+ - [ ] Make HTTP PUT request to: `https://api.github.com/repos/{owner}/{repo}/branches/main/protection`
69
+ - [ ] Headers: `Authorization: Bearer {GITHUB_PERSONAL_ACCESS_TOKEN}`, `Accept: application/vnd.github.v3+json` (use GITHUB_PERSONAL_ACCESS_TOKEN, not GITHUB_TOKEN, for API calls)
70
+ - [ ] Body (JSON):
71
+ ```json
72
+ {
73
+ "required_pull_request_reviews": {
74
+ "required": true,
75
+ "dismiss_stale_reviews": true,
76
+ "require_code_owner_reviews": false,
77
+ "required_approving_review_count": 1
78
+ },
79
+ "enforce_admins": true,
80
+ "required_status_checks": {
81
+ "strict": true,
82
+ "contexts": []
83
+ },
84
+ "restrictions": null,
85
+ "allow_force_pushes": false,
86
+ "allow_deletions": false,
87
+ "required_linear_history": false,
88
+ "allow_squash_merge": true,
89
+ "allow_merge_commit": true,
90
+ "allow_rebase_merge": true
91
+ }
92
+ ```
93
+ - [ ] Verify protection was set: Check response status is 200
94
+ - [ ] **DO NOT skip this step** - branch protection is mandatory
95
+ - [ ] **CRITICAL ORDER - Follow EXACTLY:**
96
+ 1. **Add remote using HTTPS:** `git remote add origin https://github.com/<owner>/<repo>.git` (ALWAYS use HTTPS, NEVER SSH `git@github.com` format)
97
+ 2. **If transferred, update remote:** `git remote set-url origin https://github.com/<new-owner>/<repo>.git` (use HTTPS format)
98
+ 3. **Check current branch:** `git branch --show-current` - verify you're on the correct branch
99
+ 4. **Handle uncommitted changes:** If on `feature/boss-initial-setup` with uncommitted changes, commit them first: `git add . && git commit -m "chore: bootstrap files"` (these should be on feature branch)
100
+ 5. **Switch to main branch:** `git checkout main` (if uncommitted changes prevent checkout, commit them to current branch first, then switch)
101
+ 6. **FIRST push empty main branch:** `git push -u origin main` (main is EMPTY - only empty commit, no validation needed, MUST be pushed first, git will use GITHUB_TOKEN from environment automatically, which is set to same value as GITHUB_PERSONAL_ACCESS_TOKEN)
102
+ - **NOTE:** The pre-push hook allows empty main push without validation checks
103
+ - **Main branch must be pushed first (empty) before feature branch**
104
+ 7. **Switch back to feature branch:** `git checkout feature/boss-initial-setup` (branch should already exist from bootstrap)
105
+ 8. **Verify validation checks pass BEFORE pushing feature branch:**
106
+ - **BEFORE pushing feature branch, verify all checks pass:**
107
+ 1. **Typecheck:** Run `pnpm typecheck` (or `npm run typecheck`) - must pass
108
+ 2. **Lint:** Run `pnpm lint` (or `npm run lint`) - must pass
109
+ 3. **Security:** Run `bash scripts/security-check.sh` - must pass
110
+ 4. **Tests:** Run `pnpm test:unit` (or `npm run test:unit`) - must pass
111
+ - **If any check fails, fix the issues before pushing**
112
+ 9. **THEN push feature branch:** `git push -u origin feature/boss-initial-setup` (contains all bootstrap files, git will use GITHUB_TOKEN from environment automatically, which is set to same value as GITHUB_PERSONAL_ACCESS_TOKEN)
113
+ 10. **Update project-config.json** with repository info (including final owner after transfer)
114
+ 11. **Commit and push project-config.json:** `git add .boss/project-config.json && git commit -m "chore: update project-config.json" && git push`
115
+ 12. **Mark `initialization.stage = "ready"`** in project-config.json
116
+ 13. **Update `initialization.remoteCreated = true`** and `initialization.initialSetupComplete = true`
117
+ 14. **Commit and push again:** `git add .boss/project-config.json && git commit -m "chore: mark initialization as ready" && git push`
118
+ 15. **FINAL STEP - Create PR from feature/boss-initial-setup to main:** Use GitHub MCP `create_pull_request` with:
119
+ - **Title:** `"chore: BOSS initial setup - bootstrap files"`
120
+ - **Body:** `"This PR contains all BOSS bootstrap files and initial project structure. Ready for review and merge."`
121
+ - **Base branch:** `"main"`
122
+ - **Head branch:** `"feature/boss-initial-setup"`
123
+ - **DO NOT ask user** - create PR automatically
124
+ - [ ] **NEVER push feature branch before main branch** - empty main must be pushed first
125
+ - [ ] **After this, NEVER push directly to main** - main branch is protected, use PRs for future changes
126
+ - [ ] Report completion to user with PR link
127
+
128
+ **Important Notes:**
129
+ - BOSS uses git commands for orchestration (branches, pushes, merges) - git CLI is allowed and expected
130
+ - Workers use Container-Use MCP for their git operations (automatic)
131
+ - ALWAYS update `.boss/project-config.json` to reflect status changes, then commit and push immediately
132
+ - ALWAYS ask user for repository preferences before creating
133
+ - Default to private repositories unless user specifies otherwise
134
+ - **CRITICAL:** Main branch MUST be protected before any pushes - require PRs for all changes
135
+ - **NEVER push directly to main branch** - always push to feature branch and create PR
136
+ - **ALWAYS create PRs automatically** - never ask user if they want a PR created
137
+ - **MINIMIZE status checks** - only check worker/environment status when necessary, not repeatedly
138
+
@@ -0,0 +1,33 @@
1
+ # BOSS Workflow Rules
2
+
3
+ ## Spec-Kit Phases
4
+
5
+ Follow the 8-phase Spec-Kit methodology:
6
+
7
+ 1. **Constitution** - Create/update constitution.md
8
+ 2. **Clarification** - Gather business requirements
9
+ 3. **Specification** - Write user stories (Given/When/Then)
10
+ 4. **Planning** - Create technical plan
11
+ 5. **Validation** - Validate against constitution
12
+ 6. **Task Breakdown** - Create tasks.md with [P] markers
13
+ 7. **Implementation** - TDD + BDD implementation
14
+ 8. **Consolidation** - Merge and create delivery artifacts
15
+
16
+ ## Worker Coordination
17
+
18
+ - Workers execute in parallel when tasks marked with [P]
19
+ - Each worker in isolated container-use environment
20
+ - Workers use Spec-Kit templates from \`.specify/templates/\`
21
+
22
+ ## Quality Gates
23
+
24
+ - All quality gates must pass before merging
25
+ - Coverage and mutation thresholds are enforced
26
+ - Documentation must be complete
27
+
28
+ ## Communication Standards
29
+
30
+ - **CRITICAL:** Use plain text only when communicating with workers - NO emojis
31
+ - All messages, instructions, prompts, and feedback to workers must be in plain text format
32
+ - Emojis should not be used in worker prompts, Container-Use instructions, or any worker-related communication
33
+
@@ -0,0 +1,23 @@
1
+ # Code Style
2
+
3
+ ## TypeScript
4
+
5
+ - Use strict TypeScript configuration
6
+ - Prefer explicit types over `any`
7
+ - Use interfaces for object shapes
8
+ - Use enums for constants
9
+
10
+ ## Naming Conventions
11
+
12
+ - Use camelCase for variables and functions
13
+ - Use PascalCase for classes and types
14
+ - Use UPPER_CASE for constants
15
+ - Use kebab-case for file names
16
+
17
+ ## Formatting
18
+
19
+ - Use 2 spaces for indentation
20
+ - Use semicolons
21
+ - Use single quotes for strings
22
+ - Trailing commas in multi-line objects/arrays
23
+
@@ -0,0 +1,22 @@
1
+ # Security Guidelines
2
+
3
+ ## Secrets Management
4
+
5
+ - NEVER commit secrets to git
6
+ - Use 1Password vault "boss" for all secrets
7
+ - Reference secrets via \`op://boss/credential/needed\` format
8
+ - Secrets are injected at runtime via container-use
9
+
10
+ ## Dependencies
11
+
12
+ - Keep dependencies up to date
13
+ - Use security scanning tools
14
+ - Review dependency changes in PRs
15
+
16
+ ## Code Security
17
+
18
+ - Validate all user input
19
+ - Use parameterized queries for database
20
+ - Implement proper authentication/authorization
21
+ - Follow OWASP guidelines
22
+
@@ -0,0 +1,32 @@
1
+ # Testing Requirements
2
+
3
+ ## Test-First (NON-NEGOTIABLE)
4
+
5
+ - Write tests BEFORE implementation
6
+ - Follow TDD cycle: red → green → refactor
7
+ - All tests must pass before committing
8
+
9
+ ## BDD (Mandatory)
10
+
11
+ - Use Given/When/Then format for test descriptions
12
+ - Use BDD test frameworks (Cucumber, Gherkin, or equivalent)
13
+ - Tests should read like specifications
14
+
15
+ ## Coverage
16
+
17
+ - Unit tests: ≥80% coverage
18
+ - Integration tests: Required for all API endpoints
19
+ - Mutation testing: ≥80% score
20
+
21
+ ## Test Structure
22
+
23
+ \`\`\`
24
+ describe('Feature Name', () => {
25
+ describe('Given [context]', () => {
26
+ it('When [action], Then [expected result]', () => {
27
+ // Test implementation
28
+ });
29
+ });
30
+ });
31
+ \`\`\`
32
+
@@ -0,0 +1,88 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(test:*)",
5
+ "Bash(grep:*)",
6
+ "Bash(cat:*)",
7
+ "Bash(ls:*)",
8
+ "Bash(echo:*)",
9
+ "Bash(curl:*)",
10
+ "Bash(pnpm:*)",
11
+ "Bash(npm:*)",
12
+ "Bash(bash scripts/security-check.sh)",
13
+ "Bash(cat .boss/project-config.json)",
14
+ "Bash(ls .boss/)",
15
+ "Bash(ls -la .boss/)",
16
+ "Bash(git commit:*)",
17
+ "Bash(git merge:*)",
18
+ "Bash(git pull:*)",
19
+ "Bash(git push:*)",
20
+ "Bash(git add:*)",
21
+ "Bash(git branch:*)",
22
+ "Bash(git checkout:*)",
23
+ "Bash(git log:*)",
24
+ "Bash(git ls-tree:*)",
25
+ "Bash(git remote:*)",
26
+ "Bash(git show:*)",
27
+ "Bash(git status:*)",
28
+ "Bash(rm ./*)",
29
+ "Bash(rm -f ./*)",
30
+ "Bash(rm ./.*)",
31
+ "Bash(rm -f ./.*)",
32
+ "Bash(rm ./**/*)",
33
+ "Bash(rm -f ./**/*)",
34
+ "Read(*)",
35
+ "Read(**)",
36
+ "Read(.*)",
37
+ "Read(.*/**)",
38
+ "Read(.boss/**)",
39
+ "Read(.boss/project-config.json)",
40
+ "Write(*)",
41
+ "Write(**)",
42
+ "Write(.*)",
43
+ "Write(.*/**)",
44
+ "Write(.boss/**)",
45
+ "Write(.boss/project-config.json)",
46
+ "Edit(*)",
47
+ "Edit(**)",
48
+ "Edit(.*)",
49
+ "Edit(.*/**)",
50
+ "Edit(.boss/**)",
51
+ "Edit(.boss/project-config.json)",
52
+ "Delete(*)",
53
+ "Delete(**)"
54
+ ],
55
+ "ask": [
56
+ "Bash(rm -rf ./*)"
57
+ ],
58
+ "deny": [
59
+ "Bash(rm //etc/**)",
60
+ "Bash(rm //usr/**)",
61
+ "Bash(rm //var/**)",
62
+ "Bash(rm //home/**)",
63
+ "Bash(rm -f //etc/**)",
64
+ "Bash(rm -f //usr/**)",
65
+ "Bash(rm -f //var/**)",
66
+ "Bash(rm -rf //etc/**)",
67
+ "Bash(rm -rf //usr/**)",
68
+ "Bash(rm -rf //var/**)",
69
+ "Read(//etc/**)",
70
+ "Read(//usr/**)",
71
+ "Read(//var/**)",
72
+ "Read(//root/**)",
73
+ "Read(//tmp/**)",
74
+ "Write(//etc/**)",
75
+ "Write(//usr/**)",
76
+ "Write(//var/**)",
77
+ "Write(//root/**)",
78
+ "Edit(//etc/**)",
79
+ "Edit(//usr/**)",
80
+ "Edit(//var/**)",
81
+ "Edit(//root/**)",
82
+ "Delete(//etc/**)",
83
+ "Delete(//usr/**)",
84
+ "Delete(//var/**)",
85
+ "Delete(//root/**)"
86
+ ]
87
+ }
88
+ }
File without changes