nitm-ai-dev-toolkit 3.0.15

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 (754) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/LICENSE +21 -0
  3. package/README.md +881 -0
  4. package/bin/cli.js +398 -0
  5. package/package.json +41 -0
  6. package/src/monorepo/.agents/rules/ponytail.md +3 -0
  7. package/src/monorepo/.agents/skills/acli/SKILL.md +424 -0
  8. package/src/monorepo/.agents/skills/bkt-cli/SKILL.md +374 -0
  9. package/src/monorepo/.agents/skills/brainstorming/SKILL.md +54 -0
  10. package/src/monorepo/.agents/skills/code-simplifier/SKILL.md +109 -0
  11. package/src/monorepo/.agents/skills/debugger/SKILL.md +123 -0
  12. package/src/monorepo/.agents/skills/dispatching-parallel-agents/SKILL.md +206 -0
  13. package/src/monorepo/.agents/skills/executing-plans/SKILL.md +76 -0
  14. package/src/monorepo/.agents/skills/finishing-a-development-branch/SKILL.md +200 -0
  15. package/src/monorepo/.agents/skills/gh-cli/SKILL.md +461 -0
  16. package/src/monorepo/.agents/skills/glab-cli/SKILL.md +468 -0
  17. package/src/monorepo/.agents/skills/issue-tracker/SKILL.md +119 -0
  18. package/src/monorepo/.agents/skills/linear-cli/SKILL.md +276 -0
  19. package/src/monorepo/.agents/skills/logging/SKILL.md +393 -0
  20. package/src/monorepo/.agents/skills/orient-to-recent-work/SKILL.md +43 -0
  21. package/src/monorepo/.agents/skills/ponytail/SKILL.md +101 -0
  22. package/src/monorepo/.agents/skills/ponytail-audit/SKILL.md +41 -0
  23. package/src/monorepo/.agents/skills/ponytail-debt/SKILL.md +44 -0
  24. package/src/monorepo/.agents/skills/ponytail-gain/SKILL.md +51 -0
  25. package/src/monorepo/.agents/skills/ponytail-help/SKILL.md +74 -0
  26. package/src/monorepo/.agents/skills/ponytail-review/SKILL.md +57 -0
  27. package/src/monorepo/.agents/skills/project-documentation/SKILL.md +425 -0
  28. package/src/monorepo/.agents/skills/receiving-code-review/SKILL.md +213 -0
  29. package/src/monorepo/.agents/skills/requesting-code-review/SKILL.md +105 -0
  30. package/src/monorepo/.agents/skills/requesting-code-review/code-reviewer.md +146 -0
  31. package/src/monorepo/.agents/skills/security-reviewer/SKILL.md +144 -0
  32. package/src/monorepo/.agents/skills/subagent-driven-development/SKILL.md +279 -0
  33. package/src/monorepo/.agents/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  34. package/src/monorepo/.agents/skills/subagent-driven-development/implementer-prompt.md +78 -0
  35. package/src/monorepo/.agents/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  36. package/src/monorepo/.agents/skills/systematic-debugging/CREATION-LOG.md +119 -0
  37. package/src/monorepo/.agents/skills/systematic-debugging/SKILL.md +296 -0
  38. package/src/monorepo/.agents/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  39. package/src/monorepo/.agents/skills/systematic-debugging/condition-based-waiting.md +115 -0
  40. package/src/monorepo/.agents/skills/systematic-debugging/defense-in-depth.md +122 -0
  41. package/src/monorepo/.agents/skills/systematic-debugging/find-polluter.sh +63 -0
  42. package/src/monorepo/.agents/skills/systematic-debugging/root-cause-tracing.md +169 -0
  43. package/src/monorepo/.agents/skills/systematic-debugging/test-academic.md +14 -0
  44. package/src/monorepo/.agents/skills/systematic-debugging/test-pressure-1.md +58 -0
  45. package/src/monorepo/.agents/skills/systematic-debugging/test-pressure-2.md +68 -0
  46. package/src/monorepo/.agents/skills/systematic-debugging/test-pressure-3.md +69 -0
  47. package/src/monorepo/.agents/skills/test-driven-development/SKILL.md +371 -0
  48. package/src/monorepo/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
  49. package/src/monorepo/.agents/skills/using-git-worktrees/SKILL.md +291 -0
  50. package/src/monorepo/.agents/skills/using-superpowers/SKILL.md +87 -0
  51. package/src/monorepo/.agents/skills/verification-before-completion/SKILL.md +148 -0
  52. package/src/monorepo/.agents/skills/writing-plans/SKILL.md +116 -0
  53. package/src/monorepo/.agents/skills/writing-skills/SKILL.md +655 -0
  54. package/src/monorepo/.agents/skills/writing-skills/anthropic-best-practices.md +1150 -0
  55. package/src/monorepo/.agents/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  56. package/src/monorepo/.agents/skills/writing-skills/graphviz-conventions.dot +172 -0
  57. package/src/monorepo/.agents/skills/writing-skills/persuasion-principles.md +187 -0
  58. package/src/monorepo/.agents/skills/writing-skills/render-graphs.js +168 -0
  59. package/src/monorepo/.agents/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  60. package/src/monorepo/.claude/agents/admin-portal.agent.md +11 -0
  61. package/src/monorepo/.claude/agents/api-specialist.agent.md +11 -0
  62. package/src/monorepo/.claude/agents/backend-architect.agent.md +11 -0
  63. package/src/monorepo/.claude/agents/documenter.agent.md +11 -0
  64. package/src/monorepo/.claude/agents/feature-builder.agent.md +23 -0
  65. package/src/monorepo/.claude/agents/frontend-developer.agent.md +11 -0
  66. package/src/monorepo/.claude/agents/green.agent.md +12 -0
  67. package/src/monorepo/.claude/agents/implementer.agent.md +12 -0
  68. package/src/monorepo/.claude/agents/planner.agent.md +12 -0
  69. package/src/monorepo/.claude/agents/red.agent.md +12 -0
  70. package/src/monorepo/.claude/agents/refactor.agent.md +12 -0
  71. package/src/monorepo/.claude/agents/researcher.agent.md +12 -0
  72. package/src/monorepo/.claude/agents/reviewer.agent.md +11 -0
  73. package/src/monorepo/.claude/agents/tdd.agent.md +12 -0
  74. package/src/monorepo/.claude/agents-snippets/admin-portal.md +90 -0
  75. package/src/monorepo/.claude/agents-snippets/api-specialist.md +57 -0
  76. package/src/monorepo/.claude/agents-snippets/backend-architect.md +49 -0
  77. package/src/monorepo/.claude/agents-snippets/documenter.md +58 -0
  78. package/src/monorepo/.claude/agents-snippets/feature-builder.md +49 -0
  79. package/src/monorepo/.claude/agents-snippets/frontend-developer.md +49 -0
  80. package/src/monorepo/.claude/agents-snippets/green.md +18 -0
  81. package/src/monorepo/.claude/agents-snippets/implementer.md +31 -0
  82. package/src/monorepo/.claude/agents-snippets/planner.md +40 -0
  83. package/src/monorepo/.claude/agents-snippets/red.md +14 -0
  84. package/src/monorepo/.claude/agents-snippets/refactor.md +22 -0
  85. package/src/monorepo/.claude/agents-snippets/researcher.md +43 -0
  86. package/src/monorepo/.claude/agents-snippets/reviewer.md +83 -0
  87. package/src/monorepo/.claude/agents-snippets/tdd.md +18 -0
  88. package/src/monorepo/.claude/commands/assign-tasks.md +13 -0
  89. package/src/monorepo/.claude/commands/bootstrap-patch.md +15 -0
  90. package/src/monorepo/.claude/commands/bootstrap-upgrade.md +15 -0
  91. package/src/monorepo/.claude/commands/bootstrap.md +15 -0
  92. package/src/monorepo/.claude/commands/commit-push.md +13 -0
  93. package/src/monorepo/.claude/commands/constitution.md +15 -0
  94. package/src/monorepo/.claude/commands/create-skill.md +15 -0
  95. package/src/monorepo/.claude/commands/implement-feature.md +15 -0
  96. package/src/monorepo/.claude/commands/implement-fixes.md +15 -0
  97. package/src/monorepo/.claude/commands/implement.md +15 -0
  98. package/src/monorepo/.claude/commands/plan.md +15 -0
  99. package/src/monorepo/.claude/commands/playwright-test.md +13 -0
  100. package/src/monorepo/.claude/commands/ponytail-audit.md +15 -0
  101. package/src/monorepo/.claude/commands/ponytail-debt.md +15 -0
  102. package/src/monorepo/.claude/commands/ponytail-gain.md +15 -0
  103. package/src/monorepo/.claude/commands/ponytail-help.md +15 -0
  104. package/src/monorepo/.claude/commands/ponytail-review.md +15 -0
  105. package/src/monorepo/.claude/commands/ponytail.md +15 -0
  106. package/src/monorepo/.claude/commands/release-notes.md +13 -0
  107. package/src/monorepo/.claude/commands/review-pr.md +15 -0
  108. package/src/monorepo/.claude/commands/review-staged.md +15 -0
  109. package/src/monorepo/.claude/commands/review.md +15 -0
  110. package/src/monorepo/.claude/commands/specify.md +15 -0
  111. package/src/monorepo/.claude/commands/tasks.md +13 -0
  112. package/src/monorepo/.claude/prompt-snippets/assign-tasks.md +169 -0
  113. package/src/monorepo/.claude/prompt-snippets/bootstrap-patch.md +199 -0
  114. package/src/monorepo/.claude/prompt-snippets/bootstrap-upgrade.md +452 -0
  115. package/src/monorepo/.claude/prompt-snippets/bootstrap.md +764 -0
  116. package/src/monorepo/.claude/prompt-snippets/commit-push.md +69 -0
  117. package/src/monorepo/.claude/prompt-snippets/constitution.md +57 -0
  118. package/src/monorepo/.claude/prompt-snippets/create-skill.md +490 -0
  119. package/src/monorepo/.claude/prompt-snippets/implement-feature.md +119 -0
  120. package/src/monorepo/.claude/prompt-snippets/implement-fixes.md +122 -0
  121. package/src/monorepo/.claude/prompt-snippets/implement.md +56 -0
  122. package/src/monorepo/.claude/prompt-snippets/plan.md +67 -0
  123. package/src/monorepo/.claude/prompt-snippets/playwright-test.md +55 -0
  124. package/src/monorepo/.claude/prompt-snippets/ponytail-audit.md +5 -0
  125. package/src/monorepo/.claude/prompt-snippets/ponytail-debt.md +5 -0
  126. package/src/monorepo/.claude/prompt-snippets/ponytail-gain.md +5 -0
  127. package/src/monorepo/.claude/prompt-snippets/ponytail-help.md +5 -0
  128. package/src/monorepo/.claude/prompt-snippets/ponytail-review.md +5 -0
  129. package/src/monorepo/.claude/prompt-snippets/ponytail.md +5 -0
  130. package/src/monorepo/.claude/prompt-snippets/release-notes.md +134 -0
  131. package/src/monorepo/.claude/prompt-snippets/review-pr.md +156 -0
  132. package/src/monorepo/.claude/prompt-snippets/review-staged.md +35 -0
  133. package/src/monorepo/.claude/prompt-snippets/review.md +139 -0
  134. package/src/monorepo/.claude/prompt-snippets/specify.md +51 -0
  135. package/src/monorepo/.claude/prompt-snippets/tasks.md +108 -0
  136. package/src/monorepo/.claude/rules/agent-conduct.md +14 -0
  137. package/src/monorepo/.claude/rules/api-server.md +19 -0
  138. package/src/monorepo/.claude/rules/coding-standards.md +13 -0
  139. package/src/monorepo/.claude/rules/component-structure.md +18 -0
  140. package/src/monorepo/.claude/rules/core-libraries.md +16 -0
  141. package/src/monorepo/.claude/rules/environment-tooling.md +12 -0
  142. package/src/monorepo/.claude/rules/logging-comments.md +17 -0
  143. package/src/monorepo/.claude/rules/logging.md +17 -0
  144. package/src/monorepo/.claude/rules/orient-to-recent-work.md +13 -0
  145. package/src/monorepo/.claude/rules/prisma-migrations.md +16 -0
  146. package/src/monorepo/.claude/rules/project-context.md +14 -0
  147. package/src/monorepo/.claude/rules/server-client-separation.md +17 -0
  148. package/src/monorepo/.claude/rules/subagent-workflow.md +14 -0
  149. package/src/monorepo/.claude/rules/testing-quality.md +19 -0
  150. package/src/monorepo/.claude/rules/testing.md +16 -0
  151. package/src/monorepo/.claude/rules/ui-accessibility.md +18 -0
  152. package/src/monorepo/.claude/rules/version-control.md +14 -0
  153. package/src/monorepo/.claude/rules/what-to-avoid.md +14 -0
  154. package/src/monorepo/.claude/rules-snippets/agent-conduct.md +51 -0
  155. package/src/monorepo/.claude/rules-snippets/api-server.md +5 -0
  156. package/src/monorepo/.claude/rules-snippets/coding-standards.md +45 -0
  157. package/src/monorepo/.claude/rules-snippets/component-structure.md +6 -0
  158. package/src/monorepo/.claude/rules-snippets/core-libraries.md +6 -0
  159. package/src/monorepo/.claude/rules-snippets/deployment.md +41 -0
  160. package/src/monorepo/.claude/rules-snippets/documentation.md +210 -0
  161. package/src/monorepo/.claude/rules-snippets/environment-tooling.md +4 -0
  162. package/src/monorepo/.claude/rules-snippets/logging-comments.md +4 -0
  163. package/src/monorepo/.claude/rules-snippets/logging.md +107 -0
  164. package/src/monorepo/.claude/rules-snippets/patterns.md +134 -0
  165. package/src/monorepo/.claude/rules-snippets/ponytail.md +24 -0
  166. package/src/monorepo/.claude/rules-snippets/prisma-migrations.md +6 -0
  167. package/src/monorepo/.claude/rules-snippets/project-context.md +8 -0
  168. package/src/monorepo/.claude/rules-snippets/server-client-separation.md +5 -0
  169. package/src/monorepo/.claude/rules-snippets/subagent-workflow.md +134 -0
  170. package/src/monorepo/.claude/rules-snippets/testing-quality.md +5 -0
  171. package/src/monorepo/.claude/rules-snippets/testing.md +42 -0
  172. package/src/monorepo/.claude/rules-snippets/ui-accessibility.md +5 -0
  173. package/src/monorepo/.claude/rules-snippets/version-control.md +4 -0
  174. package/src/monorepo/.claude/rules-snippets/what-to-avoid.md +6 -0
  175. package/src/monorepo/.claude/rules-snippets/workflows.md +81 -0
  176. package/src/monorepo/.claude/settings.json +7 -0
  177. package/src/monorepo/.claude/skills/README.md +50 -0
  178. package/src/monorepo/.cursor/agents/admin-portal.agent.md +11 -0
  179. package/src/monorepo/.cursor/agents/api-specialist.agent.md +11 -0
  180. package/src/monorepo/.cursor/agents/backend-architect.agent.md +11 -0
  181. package/src/monorepo/.cursor/agents/documenter.agent.md +11 -0
  182. package/src/monorepo/.cursor/agents/feature-builder.agent.md +11 -0
  183. package/src/monorepo/.cursor/agents/frontend-developer.agent.md +11 -0
  184. package/src/monorepo/.cursor/agents/green.agent.md +11 -0
  185. package/src/monorepo/.cursor/agents/implementer.agent.md +11 -0
  186. package/src/monorepo/.cursor/agents/planner.agent.md +11 -0
  187. package/src/monorepo/.cursor/agents/red.agent.md +11 -0
  188. package/src/monorepo/.cursor/agents/refactor.agent.md +11 -0
  189. package/src/monorepo/.cursor/agents/researcher.agent.md +11 -0
  190. package/src/monorepo/.cursor/agents/reviewer.agent.md +11 -0
  191. package/src/monorepo/.cursor/agents/tdd.agent.md +11 -0
  192. package/src/monorepo/.cursor/commands/assign-tasks.md +13 -0
  193. package/src/monorepo/.cursor/commands/bootstrap-patch.md +17 -0
  194. package/src/monorepo/.cursor/commands/bootstrap-upgrade.md +15 -0
  195. package/src/monorepo/.cursor/commands/bootstrap.md +17 -0
  196. package/src/monorepo/.cursor/commands/commit-push.md +15 -0
  197. package/src/monorepo/.cursor/commands/constitution.md +17 -0
  198. package/src/monorepo/.cursor/commands/create-skill.md +17 -0
  199. package/src/monorepo/.cursor/commands/implement-feature.md +17 -0
  200. package/src/monorepo/.cursor/commands/implement-fixes.md +17 -0
  201. package/src/monorepo/.cursor/commands/implement.md +17 -0
  202. package/src/monorepo/.cursor/commands/plan.md +17 -0
  203. package/src/monorepo/.cursor/commands/playwright-test.md +15 -0
  204. package/src/monorepo/.cursor/commands/ponytail-audit.md +13 -0
  205. package/src/monorepo/.cursor/commands/ponytail-debt.md +13 -0
  206. package/src/monorepo/.cursor/commands/ponytail-gain.md +13 -0
  207. package/src/monorepo/.cursor/commands/ponytail-help.md +13 -0
  208. package/src/monorepo/.cursor/commands/ponytail-review.md +13 -0
  209. package/src/monorepo/.cursor/commands/ponytail.md +13 -0
  210. package/src/monorepo/.cursor/commands/release-notes.md +15 -0
  211. package/src/monorepo/.cursor/commands/review-pr.md +17 -0
  212. package/src/monorepo/.cursor/commands/review-staged.md +10 -0
  213. package/src/monorepo/.cursor/commands/review.md +17 -0
  214. package/src/monorepo/.cursor/commands/specify.md +17 -0
  215. package/src/monorepo/.cursor/commands/tasks.md +15 -0
  216. package/src/monorepo/.cursor/mcp.json +13 -0
  217. package/src/monorepo/.cursor/rules/agent-conduct.mdc +11 -0
  218. package/src/monorepo/.cursor/rules/api-server.mdc +11 -0
  219. package/src/monorepo/.cursor/rules/coding-standards.mdc +11 -0
  220. package/src/monorepo/.cursor/rules/component-structure.mdc +11 -0
  221. package/src/monorepo/.cursor/rules/core-libraries.mdc +11 -0
  222. package/src/monorepo/.cursor/rules/environment-tooling.mdc +11 -0
  223. package/src/monorepo/.cursor/rules/logging-comments.mdc +11 -0
  224. package/src/monorepo/.cursor/rules/logging.mdc +10 -0
  225. package/src/monorepo/.cursor/rules/orient-to-recent-work.mdc +9 -0
  226. package/src/monorepo/.cursor/rules/ponytail.mdc +9 -0
  227. package/src/monorepo/.cursor/rules/prisma-migrations.mdc +11 -0
  228. package/src/monorepo/.cursor/rules/project-context.mdc +11 -0
  229. package/src/monorepo/.cursor/rules/server-client-separation.mdc +11 -0
  230. package/src/monorepo/.cursor/rules/subagent-workflow.mdc +11 -0
  231. package/src/monorepo/.cursor/rules/testing-quality.mdc +11 -0
  232. package/src/monorepo/.cursor/rules/ui-accessibility.mdc +11 -0
  233. package/src/monorepo/.cursor/rules/version-control.mdc +11 -0
  234. package/src/monorepo/.cursor/rules/what-to-avoid.mdc +11 -0
  235. package/src/monorepo/.cursor/skills/README.md +50 -0
  236. package/src/monorepo/.github/agents/admin-portal.agent.md +11 -0
  237. package/src/monorepo/.github/agents/api-specialist.agent.md +11 -0
  238. package/src/monorepo/.github/agents/backend-architect.agent.md +11 -0
  239. package/src/monorepo/.github/agents/documenter.agent.md +11 -0
  240. package/src/monorepo/.github/agents/feature-builder.agent.md +24 -0
  241. package/src/monorepo/.github/agents/frontend-developer.agent.md +11 -0
  242. package/src/monorepo/.github/agents/green.agent.md +12 -0
  243. package/src/monorepo/.github/agents/implementer.agent.md +12 -0
  244. package/src/monorepo/.github/agents/planner.agent.md +12 -0
  245. package/src/monorepo/.github/agents/red.agent.md +12 -0
  246. package/src/monorepo/.github/agents/refactor.agent.md +12 -0
  247. package/src/monorepo/.github/agents/researcher.agent.md +12 -0
  248. package/src/monorepo/.github/agents/reviewer.agent.md +11 -0
  249. package/src/monorepo/.github/agents/tdd.agent.md +13 -0
  250. package/src/monorepo/.github/copilot-instructions.md +95 -0
  251. package/src/monorepo/.github/instructions/agent-conduct.instructions.md +14 -0
  252. package/src/monorepo/.github/instructions/api-server.instructions.md +14 -0
  253. package/src/monorepo/.github/instructions/coding-standards.instructions.md +13 -0
  254. package/src/monorepo/.github/instructions/component-structure.instructions.md +14 -0
  255. package/src/monorepo/.github/instructions/core-libraries.instructions.md +14 -0
  256. package/src/monorepo/.github/instructions/deployment.instructions.md +13 -0
  257. package/src/monorepo/.github/instructions/documentation.instructions.md +14 -0
  258. package/src/monorepo/.github/instructions/environment-tooling.instructions.md +14 -0
  259. package/src/monorepo/.github/instructions/logging-comments.instructions.md +14 -0
  260. package/src/monorepo/.github/instructions/logging.instructions.md +14 -0
  261. package/src/monorepo/.github/instructions/patterns.instructions.md +14 -0
  262. package/src/monorepo/.github/instructions/prisma-migrations.instructions.md +14 -0
  263. package/src/monorepo/.github/instructions/project-context.instructions.md +13 -0
  264. package/src/monorepo/.github/instructions/server-client-separation.instructions.md +14 -0
  265. package/src/monorepo/.github/instructions/subagent-workflow.instructions.md +14 -0
  266. package/src/monorepo/.github/instructions/testing-quality.instructions.md +15 -0
  267. package/src/monorepo/.github/instructions/testing.instructions.md +14 -0
  268. package/src/monorepo/.github/instructions/ui-accessibility.instructions.md +14 -0
  269. package/src/monorepo/.github/instructions/version-control.instructions.md +14 -0
  270. package/src/monorepo/.github/instructions/what-to-avoid.instructions.md +14 -0
  271. package/src/monorepo/.github/instructions/workflows.instructions.md +14 -0
  272. package/src/monorepo/.github/prompts/assign-tasks.prompt.md +14 -0
  273. package/src/monorepo/.github/prompts/bootstrap-patch.prompt.md +15 -0
  274. package/src/monorepo/.github/prompts/bootstrap-upgrade.prompt.md +15 -0
  275. package/src/monorepo/.github/prompts/bootstrap.prompt.md +15 -0
  276. package/src/monorepo/.github/prompts/commit-push.prompt.md +13 -0
  277. package/src/monorepo/.github/prompts/constitution.prompt.md +15 -0
  278. package/src/monorepo/.github/prompts/create-skill.prompt.md +15 -0
  279. package/src/monorepo/.github/prompts/implement-feature.prompt.md +15 -0
  280. package/src/monorepo/.github/prompts/implement-fixes.prompt.md +15 -0
  281. package/src/monorepo/.github/prompts/implement.prompt.md +15 -0
  282. package/src/monorepo/.github/prompts/plan.prompt.md +15 -0
  283. package/src/monorepo/.github/prompts/playwright-test.prompt.md +13 -0
  284. package/src/monorepo/.github/prompts/ponytail-audit.prompt.md +13 -0
  285. package/src/monorepo/.github/prompts/ponytail-debt.prompt.md +13 -0
  286. package/src/monorepo/.github/prompts/ponytail-gain.prompt.md +13 -0
  287. package/src/monorepo/.github/prompts/ponytail-help.prompt.md +13 -0
  288. package/src/monorepo/.github/prompts/ponytail-review.prompt.md +13 -0
  289. package/src/monorepo/.github/prompts/ponytail.prompt.md +13 -0
  290. package/src/monorepo/.github/prompts/release-notes.prompt.md +13 -0
  291. package/src/monorepo/.github/prompts/review-pr.prompt.md +15 -0
  292. package/src/monorepo/.github/prompts/review-staged.prompt.md +16 -0
  293. package/src/monorepo/.github/prompts/review.prompt.md +15 -0
  294. package/src/monorepo/.github/prompts/specify.prompt.md +15 -0
  295. package/src/monorepo/.github/prompts/tasks.prompt.md +13 -0
  296. package/src/monorepo/.github/skills/README.md +36 -0
  297. package/src/monorepo/.mcp.json +13 -0
  298. package/src/monorepo/.opencode/agents/admin-portal.md +14 -0
  299. package/src/monorepo/.opencode/agents/api-specialist.md +14 -0
  300. package/src/monorepo/.opencode/agents/backend-architect.md +14 -0
  301. package/src/monorepo/.opencode/agents/documenter.md +14 -0
  302. package/src/monorepo/.opencode/agents/feature-builder.md +15 -0
  303. package/src/monorepo/.opencode/agents/frontend-developer.md +14 -0
  304. package/src/monorepo/.opencode/agents/green.md +14 -0
  305. package/src/monorepo/.opencode/agents/implementer.md +14 -0
  306. package/src/monorepo/.opencode/agents/planner.md +14 -0
  307. package/src/monorepo/.opencode/agents/red.md +14 -0
  308. package/src/monorepo/.opencode/agents/refactor.md +14 -0
  309. package/src/monorepo/.opencode/agents/researcher.md +14 -0
  310. package/src/monorepo/.opencode/agents/reviewer.md +14 -0
  311. package/src/monorepo/.opencode/agents/tdd.md +15 -0
  312. package/src/monorepo/.opencode/commands/assign-tasks.md +16 -0
  313. package/src/monorepo/.opencode/commands/bootstrap-patch.md +18 -0
  314. package/src/monorepo/.opencode/commands/bootstrap-upgrade.md +18 -0
  315. package/src/monorepo/.opencode/commands/bootstrap.md +18 -0
  316. package/src/monorepo/.opencode/commands/commit-push.md +16 -0
  317. package/src/monorepo/.opencode/commands/constitution.md +18 -0
  318. package/src/monorepo/.opencode/commands/create-skill.md +16 -0
  319. package/src/monorepo/.opencode/commands/implement-feature.md +18 -0
  320. package/src/monorepo/.opencode/commands/implement-fixes.md +20 -0
  321. package/src/monorepo/.opencode/commands/implement.md +18 -0
  322. package/src/monorepo/.opencode/commands/plan.md +18 -0
  323. package/src/monorepo/.opencode/commands/playwright-test.md +16 -0
  324. package/src/monorepo/.opencode/commands/ponytail-audit.md +10 -0
  325. package/src/monorepo/.opencode/commands/ponytail-debt.md +10 -0
  326. package/src/monorepo/.opencode/commands/ponytail-gain.md +10 -0
  327. package/src/monorepo/.opencode/commands/ponytail-help.md +10 -0
  328. package/src/monorepo/.opencode/commands/ponytail-review.md +10 -0
  329. package/src/monorepo/.opencode/commands/ponytail.md +10 -0
  330. package/src/monorepo/.opencode/commands/release-notes.md +16 -0
  331. package/src/monorepo/.opencode/commands/review-pr.md +18 -0
  332. package/src/monorepo/.opencode/commands/review-staged.md +11 -0
  333. package/src/monorepo/.opencode/commands/review.md +18 -0
  334. package/src/monorepo/.opencode/commands/specify.md +18 -0
  335. package/src/monorepo/.opencode/commands/tasks.md +16 -0
  336. package/src/monorepo/.opencode/opencode.json +9 -0
  337. package/src/monorepo/.opencode/plugins/ponytail.mjs +79 -0
  338. package/src/monorepo/.opencode/rules/agent-conduct.md +12 -0
  339. package/src/monorepo/.opencode/rules/api-server.md +11 -0
  340. package/src/monorepo/.opencode/rules/coding-standards.md +11 -0
  341. package/src/monorepo/.opencode/rules/component-structure.md +11 -0
  342. package/src/monorepo/.opencode/rules/core-libraries.md +11 -0
  343. package/src/monorepo/.opencode/rules/environment-tooling.md +11 -0
  344. package/src/monorepo/.opencode/rules/logging-comments.md +11 -0
  345. package/src/monorepo/.opencode/rules/logging.md +11 -0
  346. package/src/monorepo/.opencode/rules/ponytail.md +3 -0
  347. package/src/monorepo/.opencode/rules/prisma-migrations.md +11 -0
  348. package/src/monorepo/.opencode/rules/project-context.md +11 -0
  349. package/src/monorepo/.opencode/rules/server-client-separation.md +11 -0
  350. package/src/monorepo/.opencode/rules/subagent-workflow.md +11 -0
  351. package/src/monorepo/.opencode/rules/testing-quality.md +11 -0
  352. package/src/monorepo/.opencode/rules/ui-accessibility.md +11 -0
  353. package/src/monorepo/.opencode/rules/version-control.md +11 -0
  354. package/src/monorepo/.opencode/rules/what-to-avoid.md +11 -0
  355. package/src/monorepo/.vscode/mcp.json +13 -0
  356. package/src/monorepo/AGENTS.md +367 -0
  357. package/src/monorepo/CLAUDE.md +63 -0
  358. package/src/monorepo/README.md +182 -0
  359. package/src/monorepo/apps/app-template/AGENTS.md +169 -0
  360. package/src/monorepo/apps/app-template/README.md +77 -0
  361. package/src/monorepo/docs/api/README.md +82 -0
  362. package/src/monorepo/docs/architecture/README.md +56 -0
  363. package/src/monorepo/docs/features/README.md +82 -0
  364. package/src/monorepo/docs/fixes/README.md +117 -0
  365. package/src/monorepo/hooks/claude-codex-hooks.json +31 -0
  366. package/src/monorepo/hooks/copilot-hooks.json +21 -0
  367. package/src/monorepo/hooks/ponytail-activate.js +91 -0
  368. package/src/monorepo/hooks/ponytail-config.js +122 -0
  369. package/src/monorepo/hooks/ponytail-instructions.js +92 -0
  370. package/src/monorepo/hooks/ponytail-mode-tracker.js +55 -0
  371. package/src/monorepo/hooks/ponytail-runtime.js +51 -0
  372. package/src/monorepo/hooks/ponytail-statusline.ps1 +21 -0
  373. package/src/monorepo/hooks/ponytail-statusline.sh +12 -0
  374. package/src/monorepo/packages/package-template/README.md +63 -0
  375. package/src/monorepo/templates/README.md +106 -0
  376. package/src/monorepo/templates/adr.template.md +156 -0
  377. package/src/monorepo/templates/complex-fix-plan.template.md +154 -0
  378. package/src/monorepo/templates/complex-fix-spec.template.md +160 -0
  379. package/src/monorepo/templates/feature-plan.template.md +192 -0
  380. package/src/monorepo/templates/feature-spec.template.md +148 -0
  381. package/src/monorepo/templates/monthly-fix-log.template.md +92 -0
  382. package/src/repo/.agents/rules/ponytail.md +3 -0
  383. package/src/repo/.agents/skills/acli/SKILL.md +424 -0
  384. package/src/repo/.agents/skills/bkt-cli/SKILL.md +374 -0
  385. package/src/repo/.agents/skills/brainstorming/SKILL.md +54 -0
  386. package/src/repo/.agents/skills/code-simplifier/SKILL.md +109 -0
  387. package/src/repo/.agents/skills/debugger/SKILL.md +123 -0
  388. package/src/repo/.agents/skills/dispatching-parallel-agents/SKILL.md +206 -0
  389. package/src/repo/.agents/skills/executing-plans/SKILL.md +76 -0
  390. package/src/repo/.agents/skills/finishing-a-development-branch/SKILL.md +200 -0
  391. package/src/repo/.agents/skills/gh-cli/SKILL.md +461 -0
  392. package/src/repo/.agents/skills/glab-cli/SKILL.md +468 -0
  393. package/src/repo/.agents/skills/issue-tracker/SKILL.md +119 -0
  394. package/src/repo/.agents/skills/linear-cli/SKILL.md +276 -0
  395. package/src/repo/.agents/skills/logging/SKILL.md +559 -0
  396. package/src/repo/.agents/skills/orient-to-recent-work/SKILL.md +43 -0
  397. package/src/repo/.agents/skills/ponytail/SKILL.md +101 -0
  398. package/src/repo/.agents/skills/ponytail-audit/SKILL.md +41 -0
  399. package/src/repo/.agents/skills/ponytail-debt/SKILL.md +44 -0
  400. package/src/repo/.agents/skills/ponytail-gain/SKILL.md +51 -0
  401. package/src/repo/.agents/skills/ponytail-help/SKILL.md +74 -0
  402. package/src/repo/.agents/skills/ponytail-review/SKILL.md +57 -0
  403. package/src/repo/.agents/skills/project-documentation/SKILL.md +367 -0
  404. package/src/repo/.agents/skills/receiving-code-review/SKILL.md +213 -0
  405. package/src/repo/.agents/skills/requesting-code-review/SKILL.md +105 -0
  406. package/src/repo/.agents/skills/requesting-code-review/code-reviewer.md +146 -0
  407. package/src/repo/.agents/skills/security-reviewer/SKILL.md +144 -0
  408. package/src/repo/.agents/skills/subagent-driven-development/SKILL.md +279 -0
  409. package/src/repo/.agents/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  410. package/src/repo/.agents/skills/subagent-driven-development/implementer-prompt.md +78 -0
  411. package/src/repo/.agents/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  412. package/src/repo/.agents/skills/systematic-debugging/CREATION-LOG.md +119 -0
  413. package/src/repo/.agents/skills/systematic-debugging/SKILL.md +296 -0
  414. package/src/repo/.agents/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  415. package/src/repo/.agents/skills/systematic-debugging/condition-based-waiting.md +115 -0
  416. package/src/repo/.agents/skills/systematic-debugging/defense-in-depth.md +122 -0
  417. package/src/repo/.agents/skills/systematic-debugging/find-polluter.sh +63 -0
  418. package/src/repo/.agents/skills/systematic-debugging/root-cause-tracing.md +169 -0
  419. package/src/repo/.agents/skills/systematic-debugging/test-academic.md +14 -0
  420. package/src/repo/.agents/skills/systematic-debugging/test-pressure-1.md +58 -0
  421. package/src/repo/.agents/skills/systematic-debugging/test-pressure-2.md +68 -0
  422. package/src/repo/.agents/skills/systematic-debugging/test-pressure-3.md +69 -0
  423. package/src/repo/.agents/skills/test-driven-development/SKILL.md +371 -0
  424. package/src/repo/.agents/skills/test-driven-development/testing-anti-patterns.md +299 -0
  425. package/src/repo/.agents/skills/using-git-worktrees/SKILL.md +291 -0
  426. package/src/repo/.agents/skills/using-superpowers/SKILL.md +87 -0
  427. package/src/repo/.agents/skills/verification-before-completion/SKILL.md +148 -0
  428. package/src/repo/.agents/skills/writing-plans/SKILL.md +116 -0
  429. package/src/repo/.agents/skills/writing-skills/SKILL.md +655 -0
  430. package/src/repo/.agents/skills/writing-skills/anthropic-best-practices.md +1150 -0
  431. package/src/repo/.agents/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  432. package/src/repo/.agents/skills/writing-skills/graphviz-conventions.dot +172 -0
  433. package/src/repo/.agents/skills/writing-skills/persuasion-principles.md +187 -0
  434. package/src/repo/.agents/skills/writing-skills/render-graphs.js +168 -0
  435. package/src/repo/.agents/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  436. package/src/repo/.claude/agents/admin-portal.agent.md +12 -0
  437. package/src/repo/.claude/agents/api-specialist.agent.md +12 -0
  438. package/src/repo/.claude/agents/backend-architect.agent.md +12 -0
  439. package/src/repo/.claude/agents/documenter.agent.md +12 -0
  440. package/src/repo/.claude/agents/feature-builder.agent.md +12 -0
  441. package/src/repo/.claude/agents/frontend-developer.agent.md +12 -0
  442. package/src/repo/.claude/agents/green.agent.md +12 -0
  443. package/src/repo/.claude/agents/implementer.agent.md +12 -0
  444. package/src/repo/.claude/agents/planner.agent.md +12 -0
  445. package/src/repo/.claude/agents/red.agent.md +12 -0
  446. package/src/repo/.claude/agents/refactor.agent.md +12 -0
  447. package/src/repo/.claude/agents/researcher.agent.md +12 -0
  448. package/src/repo/.claude/agents/reviewer.agent.md +12 -0
  449. package/src/repo/.claude/agents/tdd.agent.md +12 -0
  450. package/src/repo/.claude/agents-snippets/admin-portal.md +90 -0
  451. package/src/repo/.claude/agents-snippets/api-specialist.md +57 -0
  452. package/src/repo/.claude/agents-snippets/backend-architect.md +49 -0
  453. package/src/repo/.claude/agents-snippets/documenter.md +58 -0
  454. package/src/repo/.claude/agents-snippets/feature-builder.md +49 -0
  455. package/src/repo/.claude/agents-snippets/frontend-developer.md +49 -0
  456. package/src/repo/.claude/agents-snippets/green.md +18 -0
  457. package/src/repo/.claude/agents-snippets/implementer.md +31 -0
  458. package/src/repo/.claude/agents-snippets/planner.md +40 -0
  459. package/src/repo/.claude/agents-snippets/red.md +14 -0
  460. package/src/repo/.claude/agents-snippets/refactor.md +22 -0
  461. package/src/repo/.claude/agents-snippets/researcher.md +43 -0
  462. package/src/repo/.claude/agents-snippets/reviewer.md +83 -0
  463. package/src/repo/.claude/agents-snippets/tdd.md +18 -0
  464. package/src/repo/.claude/commands/assign-tasks.md +13 -0
  465. package/src/repo/.claude/commands/bootstrap-patch.md +15 -0
  466. package/src/repo/.claude/commands/bootstrap-upgrade.md +15 -0
  467. package/src/repo/.claude/commands/bootstrap.md +15 -0
  468. package/src/repo/.claude/commands/commit-push.md +13 -0
  469. package/src/repo/.claude/commands/constitution.md +15 -0
  470. package/src/repo/.claude/commands/create-skill.md +13 -0
  471. package/src/repo/.claude/commands/implement-feature.md +15 -0
  472. package/src/repo/.claude/commands/implement-fixes.md +15 -0
  473. package/src/repo/.claude/commands/implement.md +15 -0
  474. package/src/repo/.claude/commands/plan.md +15 -0
  475. package/src/repo/.claude/commands/playwright-test.md +13 -0
  476. package/src/repo/.claude/commands/ponytail-audit.md +15 -0
  477. package/src/repo/.claude/commands/ponytail-debt.md +15 -0
  478. package/src/repo/.claude/commands/ponytail-gain.md +15 -0
  479. package/src/repo/.claude/commands/ponytail-help.md +15 -0
  480. package/src/repo/.claude/commands/ponytail-review.md +15 -0
  481. package/src/repo/.claude/commands/ponytail.md +15 -0
  482. package/src/repo/.claude/commands/release-notes.md +13 -0
  483. package/src/repo/.claude/commands/review-pr.md +15 -0
  484. package/src/repo/.claude/commands/review-staged.md +15 -0
  485. package/src/repo/.claude/commands/review.md +15 -0
  486. package/src/repo/.claude/commands/specify.md +15 -0
  487. package/src/repo/.claude/commands/tasks.md +13 -0
  488. package/src/repo/.claude/prompt-snippets/assign-tasks.md +170 -0
  489. package/src/repo/.claude/prompt-snippets/bootstrap-patch.md +200 -0
  490. package/src/repo/.claude/prompt-snippets/bootstrap-upgrade.md +357 -0
  491. package/src/repo/.claude/prompt-snippets/bootstrap.md +1026 -0
  492. package/src/repo/.claude/prompt-snippets/commit-push.md +70 -0
  493. package/src/repo/.claude/prompt-snippets/constitution.md +57 -0
  494. package/src/repo/.claude/prompt-snippets/create-skill.md +490 -0
  495. package/src/repo/.claude/prompt-snippets/implement-feature.md +124 -0
  496. package/src/repo/.claude/prompt-snippets/implement-fixes.md +116 -0
  497. package/src/repo/.claude/prompt-snippets/implement.md +56 -0
  498. package/src/repo/.claude/prompt-snippets/plan.md +94 -0
  499. package/src/repo/.claude/prompt-snippets/playwright-test.md +58 -0
  500. package/src/repo/.claude/prompt-snippets/ponytail-audit.md +5 -0
  501. package/src/repo/.claude/prompt-snippets/ponytail-debt.md +5 -0
  502. package/src/repo/.claude/prompt-snippets/ponytail-gain.md +5 -0
  503. package/src/repo/.claude/prompt-snippets/ponytail-help.md +5 -0
  504. package/src/repo/.claude/prompt-snippets/ponytail-review.md +5 -0
  505. package/src/repo/.claude/prompt-snippets/ponytail.md +5 -0
  506. package/src/repo/.claude/prompt-snippets/release-notes.md +204 -0
  507. package/src/repo/.claude/prompt-snippets/review-pr.md +156 -0
  508. package/src/repo/.claude/prompt-snippets/review-staged.md +35 -0
  509. package/src/repo/.claude/prompt-snippets/review.md +139 -0
  510. package/src/repo/.claude/prompt-snippets/specify.md +84 -0
  511. package/src/repo/.claude/prompt-snippets/tasks.md +146 -0
  512. package/src/repo/.claude/rules/agent-conduct.md +13 -0
  513. package/src/repo/.claude/rules/api-server.md +16 -0
  514. package/src/repo/.claude/rules/coding-standards.md +13 -0
  515. package/src/repo/.claude/rules/component-structure.md +15 -0
  516. package/src/repo/.claude/rules/core-libraries.md +13 -0
  517. package/src/repo/.claude/rules/environment-tooling.md +13 -0
  518. package/src/repo/.claude/rules/logging-comments.md +13 -0
  519. package/src/repo/.claude/rules/logging.md +13 -0
  520. package/src/repo/.claude/rules/orient-to-recent-work.md +13 -0
  521. package/src/repo/.claude/rules/prisma-migrations.md +16 -0
  522. package/src/repo/.claude/rules/project-context.md +13 -0
  523. package/src/repo/.claude/rules/server-client-separation.md +13 -0
  524. package/src/repo/.claude/rules/subagent-workflow.md +13 -0
  525. package/src/repo/.claude/rules/testing-quality.md +16 -0
  526. package/src/repo/.claude/rules/testing.md +16 -0
  527. package/src/repo/.claude/rules/ui-accessibility.md +15 -0
  528. package/src/repo/.claude/rules/version-control.md +13 -0
  529. package/src/repo/.claude/rules/what-to-avoid.md +13 -0
  530. package/src/repo/.claude/rules-snippets/agent-conduct.md +51 -0
  531. package/src/repo/.claude/rules-snippets/api-server.md +7 -0
  532. package/src/repo/.claude/rules-snippets/coding-standards.md +45 -0
  533. package/src/repo/.claude/rules-snippets/component-structure.md +8 -0
  534. package/src/repo/.claude/rules-snippets/core-libraries.md +6 -0
  535. package/src/repo/.claude/rules-snippets/deployment.md +38 -0
  536. package/src/repo/.claude/rules-snippets/documentation.md +621 -0
  537. package/src/repo/.claude/rules-snippets/environment-tooling.md +6 -0
  538. package/src/repo/.claude/rules-snippets/logging-comments.md +4 -0
  539. package/src/repo/.claude/rules-snippets/logging.md +352 -0
  540. package/src/repo/.claude/rules-snippets/patterns.md +29 -0
  541. package/src/repo/.claude/rules-snippets/ponytail.md +24 -0
  542. package/src/repo/.claude/rules-snippets/prisma-migrations.md +8 -0
  543. package/src/repo/.claude/rules-snippets/project-context.md +25 -0
  544. package/src/repo/.claude/rules-snippets/server-client-separation.md +7 -0
  545. package/src/repo/.claude/rules-snippets/subagent-workflow.md +134 -0
  546. package/src/repo/.claude/rules-snippets/testing-quality.md +5 -0
  547. package/src/repo/.claude/rules-snippets/testing.md +38 -0
  548. package/src/repo/.claude/rules-snippets/ui-accessibility.md +7 -0
  549. package/src/repo/.claude/rules-snippets/version-control.md +6 -0
  550. package/src/repo/.claude/rules-snippets/what-to-avoid.md +8 -0
  551. package/src/repo/.claude/rules-snippets/workflows.md +25 -0
  552. package/src/repo/.claude/settings.json +7 -0
  553. package/src/repo/.claude/skills/README.md +50 -0
  554. package/src/repo/.cursor/agents/admin-portal.agent.md +11 -0
  555. package/src/repo/.cursor/agents/api-specialist.agent.md +11 -0
  556. package/src/repo/.cursor/agents/backend-architect.agent.md +11 -0
  557. package/src/repo/.cursor/agents/documenter.agent.md +11 -0
  558. package/src/repo/.cursor/agents/feature-builder.agent.md +11 -0
  559. package/src/repo/.cursor/agents/frontend-developer.agent.md +11 -0
  560. package/src/repo/.cursor/agents/green.agent.md +11 -0
  561. package/src/repo/.cursor/agents/implementer.agent.md +11 -0
  562. package/src/repo/.cursor/agents/planner.agent.md +11 -0
  563. package/src/repo/.cursor/agents/red.agent.md +11 -0
  564. package/src/repo/.cursor/agents/refactor.agent.md +11 -0
  565. package/src/repo/.cursor/agents/researcher.agent.md +11 -0
  566. package/src/repo/.cursor/agents/reviewer.agent.md +11 -0
  567. package/src/repo/.cursor/agents/tdd.agent.md +11 -0
  568. package/src/repo/.cursor/commands/assign-tasks.md +13 -0
  569. package/src/repo/.cursor/commands/bootstrap-patch.md +17 -0
  570. package/src/repo/.cursor/commands/bootstrap-upgrade.md +15 -0
  571. package/src/repo/.cursor/commands/bootstrap.md +17 -0
  572. package/src/repo/.cursor/commands/commit-push.md +15 -0
  573. package/src/repo/.cursor/commands/constitution.md +17 -0
  574. package/src/repo/.cursor/commands/create-skill.md +15 -0
  575. package/src/repo/.cursor/commands/implement-feature.md +17 -0
  576. package/src/repo/.cursor/commands/implement-fixes.md +17 -0
  577. package/src/repo/.cursor/commands/implement.md +17 -0
  578. package/src/repo/.cursor/commands/plan.md +17 -0
  579. package/src/repo/.cursor/commands/playwright-test.md +15 -0
  580. package/src/repo/.cursor/commands/ponytail-audit.md +13 -0
  581. package/src/repo/.cursor/commands/ponytail-debt.md +13 -0
  582. package/src/repo/.cursor/commands/ponytail-gain.md +13 -0
  583. package/src/repo/.cursor/commands/ponytail-help.md +13 -0
  584. package/src/repo/.cursor/commands/ponytail-review.md +13 -0
  585. package/src/repo/.cursor/commands/ponytail.md +13 -0
  586. package/src/repo/.cursor/commands/release-notes.md +15 -0
  587. package/src/repo/.cursor/commands/review-pr.md +17 -0
  588. package/src/repo/.cursor/commands/review-staged.md +10 -0
  589. package/src/repo/.cursor/commands/review.md +17 -0
  590. package/src/repo/.cursor/commands/specify.md +17 -0
  591. package/src/repo/.cursor/commands/tasks.md +15 -0
  592. package/src/repo/.cursor/mcp.json +13 -0
  593. package/src/repo/.cursor/rules/agent-conduct.mdc +11 -0
  594. package/src/repo/.cursor/rules/api-server.mdc +11 -0
  595. package/src/repo/.cursor/rules/coding-standards.mdc +11 -0
  596. package/src/repo/.cursor/rules/component-structure.mdc +11 -0
  597. package/src/repo/.cursor/rules/core-libraries.mdc +11 -0
  598. package/src/repo/.cursor/rules/environment-tooling.mdc +11 -0
  599. package/src/repo/.cursor/rules/logging-comments.mdc +11 -0
  600. package/src/repo/.cursor/rules/logging.mdc +11 -0
  601. package/src/repo/.cursor/rules/orient-to-recent-work.mdc +9 -0
  602. package/src/repo/.cursor/rules/ponytail.mdc +9 -0
  603. package/src/repo/.cursor/rules/prisma-migrations.mdc +11 -0
  604. package/src/repo/.cursor/rules/project-context.mdc +11 -0
  605. package/src/repo/.cursor/rules/server-client-separation.mdc +11 -0
  606. package/src/repo/.cursor/rules/subagent-workflow.mdc +11 -0
  607. package/src/repo/.cursor/rules/testing-quality.mdc +11 -0
  608. package/src/repo/.cursor/rules/ui-accessibility.mdc +11 -0
  609. package/src/repo/.cursor/rules/version-control.mdc +11 -0
  610. package/src/repo/.cursor/rules/what-to-avoid.mdc +11 -0
  611. package/src/repo/.cursor/skills/README.md +50 -0
  612. package/src/repo/.github/agents/admin-portal.agent.md +11 -0
  613. package/src/repo/.github/agents/api-specialist.agent.md +11 -0
  614. package/src/repo/.github/agents/backend-architect.agent.md +11 -0
  615. package/src/repo/.github/agents/documenter.agent.md +11 -0
  616. package/src/repo/.github/agents/feature-builder.agent.md +24 -0
  617. package/src/repo/.github/agents/frontend-developer.agent.md +11 -0
  618. package/src/repo/.github/agents/green.agent.md +12 -0
  619. package/src/repo/.github/agents/implementer.agent.md +12 -0
  620. package/src/repo/.github/agents/planner.agent.md +12 -0
  621. package/src/repo/.github/agents/red.agent.md +12 -0
  622. package/src/repo/.github/agents/refactor.agent.md +12 -0
  623. package/src/repo/.github/agents/researcher.agent.md +12 -0
  624. package/src/repo/.github/agents/reviewer.agent.md +11 -0
  625. package/src/repo/.github/agents/tdd.agent.md +13 -0
  626. package/src/repo/.github/copilot-instructions.md +89 -0
  627. package/src/repo/.github/instructions/agent-conduct.instructions.md +13 -0
  628. package/src/repo/.github/instructions/api-server.instructions.md +13 -0
  629. package/src/repo/.github/instructions/coding-standards.instructions.md +13 -0
  630. package/src/repo/.github/instructions/component-structure.instructions.md +13 -0
  631. package/src/repo/.github/instructions/core-libraries.instructions.md +13 -0
  632. package/src/repo/.github/instructions/deployment.instructions.md +13 -0
  633. package/src/repo/.github/instructions/documentation.instructions.md +14 -0
  634. package/src/repo/.github/instructions/environment-tooling.instructions.md +13 -0
  635. package/src/repo/.github/instructions/logging-comments.instructions.md +13 -0
  636. package/src/repo/.github/instructions/logging.instructions.md +13 -0
  637. package/src/repo/.github/instructions/patterns.instructions.md +13 -0
  638. package/src/repo/.github/instructions/prisma-migrations.instructions.md +13 -0
  639. package/src/repo/.github/instructions/project-context.instructions.md +13 -0
  640. package/src/repo/.github/instructions/server-client-separation.instructions.md +13 -0
  641. package/src/repo/.github/instructions/subagent-workflow.instructions.md +13 -0
  642. package/src/repo/.github/instructions/testing-quality.instructions.md +13 -0
  643. package/src/repo/.github/instructions/testing.instructions.md +13 -0
  644. package/src/repo/.github/instructions/ui-accessibility.instructions.md +13 -0
  645. package/src/repo/.github/instructions/version-control.instructions.md +13 -0
  646. package/src/repo/.github/instructions/what-to-avoid.instructions.md +13 -0
  647. package/src/repo/.github/instructions/workflows.instructions.md +13 -0
  648. package/src/repo/.github/prompts/assign-tasks.prompt.md +14 -0
  649. package/src/repo/.github/prompts/bootstrap-patch.prompt.md +16 -0
  650. package/src/repo/.github/prompts/bootstrap-upgrade.prompt.md +15 -0
  651. package/src/repo/.github/prompts/bootstrap.prompt.md +16 -0
  652. package/src/repo/.github/prompts/commit-push.prompt.md +14 -0
  653. package/src/repo/.github/prompts/constitution.prompt.md +16 -0
  654. package/src/repo/.github/prompts/create-skill.prompt.md +16 -0
  655. package/src/repo/.github/prompts/implement-feature.prompt.md +16 -0
  656. package/src/repo/.github/prompts/implement-fixes.prompt.md +16 -0
  657. package/src/repo/.github/prompts/implement.prompt.md +16 -0
  658. package/src/repo/.github/prompts/plan.prompt.md +16 -0
  659. package/src/repo/.github/prompts/playwright-test.prompt.md +14 -0
  660. package/src/repo/.github/prompts/ponytail-audit.prompt.md +13 -0
  661. package/src/repo/.github/prompts/ponytail-debt.prompt.md +13 -0
  662. package/src/repo/.github/prompts/ponytail-gain.prompt.md +13 -0
  663. package/src/repo/.github/prompts/ponytail-help.prompt.md +13 -0
  664. package/src/repo/.github/prompts/ponytail-review.prompt.md +13 -0
  665. package/src/repo/.github/prompts/ponytail.prompt.md +13 -0
  666. package/src/repo/.github/prompts/release-notes.prompt.md +14 -0
  667. package/src/repo/.github/prompts/review-pr.prompt.md +16 -0
  668. package/src/repo/.github/prompts/review-staged.prompt.md +16 -0
  669. package/src/repo/.github/prompts/review.prompt.md +16 -0
  670. package/src/repo/.github/prompts/specify.prompt.md +16 -0
  671. package/src/repo/.github/prompts/tasks.prompt.md +14 -0
  672. package/src/repo/.github/skills/README.md +36 -0
  673. package/src/repo/.mcp.json +13 -0
  674. package/src/repo/.opencode/agents/admin-portal.md +14 -0
  675. package/src/repo/.opencode/agents/api-specialist.md +14 -0
  676. package/src/repo/.opencode/agents/backend-architect.md +14 -0
  677. package/src/repo/.opencode/agents/documenter.md +14 -0
  678. package/src/repo/.opencode/agents/feature-builder.md +15 -0
  679. package/src/repo/.opencode/agents/frontend-developer.md +14 -0
  680. package/src/repo/.opencode/agents/green.md +14 -0
  681. package/src/repo/.opencode/agents/implementer.md +14 -0
  682. package/src/repo/.opencode/agents/planner.md +14 -0
  683. package/src/repo/.opencode/agents/red.md +14 -0
  684. package/src/repo/.opencode/agents/refactor.md +14 -0
  685. package/src/repo/.opencode/agents/researcher.md +14 -0
  686. package/src/repo/.opencode/agents/reviewer.md +14 -0
  687. package/src/repo/.opencode/agents/tdd.md +15 -0
  688. package/src/repo/.opencode/commands/assign-tasks.md +16 -0
  689. package/src/repo/.opencode/commands/bootstrap-patch.md +18 -0
  690. package/src/repo/.opencode/commands/bootstrap-upgrade.md +18 -0
  691. package/src/repo/.opencode/commands/bootstrap.md +18 -0
  692. package/src/repo/.opencode/commands/commit-push.md +16 -0
  693. package/src/repo/.opencode/commands/constitution.md +18 -0
  694. package/src/repo/.opencode/commands/create-skill.md +16 -0
  695. package/src/repo/.opencode/commands/implement-feature.md +18 -0
  696. package/src/repo/.opencode/commands/implement-fixes.md +20 -0
  697. package/src/repo/.opencode/commands/implement.md +18 -0
  698. package/src/repo/.opencode/commands/plan.md +18 -0
  699. package/src/repo/.opencode/commands/playwright-test.md +16 -0
  700. package/src/repo/.opencode/commands/ponytail-audit.md +10 -0
  701. package/src/repo/.opencode/commands/ponytail-debt.md +10 -0
  702. package/src/repo/.opencode/commands/ponytail-gain.md +10 -0
  703. package/src/repo/.opencode/commands/ponytail-help.md +10 -0
  704. package/src/repo/.opencode/commands/ponytail-review.md +10 -0
  705. package/src/repo/.opencode/commands/ponytail.md +10 -0
  706. package/src/repo/.opencode/commands/release-notes.md +16 -0
  707. package/src/repo/.opencode/commands/review-pr.md +18 -0
  708. package/src/repo/.opencode/commands/review-staged.md +11 -0
  709. package/src/repo/.opencode/commands/review.md +18 -0
  710. package/src/repo/.opencode/commands/specify.md +18 -0
  711. package/src/repo/.opencode/commands/tasks.md +16 -0
  712. package/src/repo/.opencode/opencode.json +9 -0
  713. package/src/repo/.opencode/plugins/ponytail.mjs +79 -0
  714. package/src/repo/.opencode/rules/agent-conduct.md +11 -0
  715. package/src/repo/.opencode/rules/api-server.md +11 -0
  716. package/src/repo/.opencode/rules/coding-standards.md +11 -0
  717. package/src/repo/.opencode/rules/component-structure.md +11 -0
  718. package/src/repo/.opencode/rules/core-libraries.md +11 -0
  719. package/src/repo/.opencode/rules/environment-tooling.md +11 -0
  720. package/src/repo/.opencode/rules/logging-comments.md +11 -0
  721. package/src/repo/.opencode/rules/logging.md +11 -0
  722. package/src/repo/.opencode/rules/ponytail.md +3 -0
  723. package/src/repo/.opencode/rules/prisma-migrations.md +11 -0
  724. package/src/repo/.opencode/rules/project-context.md +11 -0
  725. package/src/repo/.opencode/rules/server-client-separation.md +11 -0
  726. package/src/repo/.opencode/rules/subagent-workflow.md +11 -0
  727. package/src/repo/.opencode/rules/testing-quality.md +11 -0
  728. package/src/repo/.opencode/rules/ui-accessibility.md +11 -0
  729. package/src/repo/.opencode/rules/version-control.md +11 -0
  730. package/src/repo/.opencode/rules/what-to-avoid.md +11 -0
  731. package/src/repo/.vscode/mcp.json +13 -0
  732. package/src/repo/AGENTS.md +387 -0
  733. package/src/repo/CLAUDE.md +51 -0
  734. package/src/repo/README.md +145 -0
  735. package/src/repo/docs/api/README.md +82 -0
  736. package/src/repo/docs/architecture/README.md +56 -0
  737. package/src/repo/docs/features/README.md +82 -0
  738. package/src/repo/docs/fixes/README.md +117 -0
  739. package/src/repo/hooks/claude-codex-hooks.json +31 -0
  740. package/src/repo/hooks/copilot-hooks.json +21 -0
  741. package/src/repo/hooks/ponytail-activate.js +91 -0
  742. package/src/repo/hooks/ponytail-config.js +122 -0
  743. package/src/repo/hooks/ponytail-instructions.js +92 -0
  744. package/src/repo/hooks/ponytail-mode-tracker.js +55 -0
  745. package/src/repo/hooks/ponytail-runtime.js +51 -0
  746. package/src/repo/hooks/ponytail-statusline.ps1 +21 -0
  747. package/src/repo/hooks/ponytail-statusline.sh +12 -0
  748. package/src/repo/templates/README.md +80 -0
  749. package/src/repo/templates/adr.template.md +162 -0
  750. package/src/repo/templates/complex-fix-plan.template.md +162 -0
  751. package/src/repo/templates/complex-fix-spec.template.md +163 -0
  752. package/src/repo/templates/feature-plan.template.md +202 -0
  753. package/src/repo/templates/feature-spec.template.md +148 -0
  754. package/src/repo/templates/monthly-fix-log.template.md +91 -0
package/bin/cli.js ADDED
@@ -0,0 +1,398 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ // nitm-ai-dev-toolkit CLI
5
+ // Scaffolds AI agent config into a target repo, then hands off to an AI agent
6
+ // to run the bootstrap flow (replace {{PLACEHOLDER}}s, calibrate agent tools).
7
+ // Use --env to tailor the scaffold + handoff to the user's harness.
8
+
9
+ const fs = require('fs');
10
+ const path = require('path');
11
+ const { execSync, spawnSync } = require('child_process');
12
+
13
+ const PKG_ROOT = path.join(__dirname, '..');
14
+ const SRC_DIR = path.join(PKG_ROOT, 'src');
15
+
16
+ // Platform config dirs per harness. `.agents` is Claude-only (universal skills).
17
+ const ENV_DIRS = {
18
+ claude: ['.claude', '.agents'],
19
+ copilot: ['.github', '.vscode'],
20
+ cursor: ['.cursor'],
21
+ opencode: ['.opencode'],
22
+ };
23
+ const ENV_INFO = {
24
+ claude: { name: 'Claude Code', command: '/bootstrap (Claude Code command in .claude/commands/)' },
25
+ copilot: { name: 'GitHub Copilot', command: '/bootstrap (Copilot prompt in .github/prompts/bootstrap.prompt.md)' },
26
+ cursor: { name: 'Cursor', command: '/bootstrap (Cursor command in .cursor/commands/)' },
27
+ opencode: { name: 'OpenCode', command: 'the bootstrap command in .opencode/commands/' },
28
+ };
29
+ // Files/dirs copied for every environment (shared across harnesses).
30
+ const SHARED_ROOT = ['AGENTS.md', 'README.md', 'CLAUDE.md', '.mcp.json'];
31
+ const SHARED_DIRS = ['docs', 'templates', 'hooks'];
32
+
33
+ const C = {
34
+ reset: '\x1b[0m',
35
+ cyan: '\x1b[36m',
36
+ green: '\x1b[32m',
37
+ yellow: '\x1b[33m',
38
+ red: '\x1b[31m',
39
+ };
40
+ function info(m) { console.log(`${C.cyan}•${C.reset} ${m}`); }
41
+ function ok(m) { console.log(`${C.green}✓${C.reset} ${m}`); }
42
+ function warn(m) { console.log(`${C.yellow}!${C.reset} ${m}`); }
43
+ function err(m) { console.log(`${C.red}✗${C.reset} ${m}`); }
44
+
45
+ function detectType(cwd, flags) {
46
+ if (flags.monorepo) return 'monorepo';
47
+ if (flags.repo) return 'repo';
48
+ const pkgPath = path.join(cwd, 'package.json');
49
+ if (fs.existsSync(pkgPath)) {
50
+ try {
51
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
52
+ if (pkg.workspaces) return 'monorepo';
53
+ } catch (_) { /* ignore */ }
54
+ }
55
+ if (fs.existsSync(path.join(cwd, 'apps')) && fs.existsSync(path.join(cwd, 'packages'))) {
56
+ return 'monorepo';
57
+ }
58
+ return 'repo';
59
+ }
60
+
61
+ function walk(dir, base, out) {
62
+ let entries;
63
+ try {
64
+ entries = fs.readdirSync(dir, { withFileTypes: true });
65
+ } catch (_) {
66
+ return;
67
+ }
68
+ for (const entry of entries) {
69
+ if (entry.name === '.git' || entry.name === 'node_modules') continue;
70
+ const full = path.join(dir, entry.name);
71
+ const rel = base ? path.join(base, entry.name) : entry.name;
72
+ if (entry.isDirectory()) walk(full, rel, out);
73
+ else out.push(rel);
74
+ }
75
+ }
76
+
77
+ function templateFiles(type) {
78
+ const files = [];
79
+ walk(path.join(SRC_DIR, type), '', files);
80
+ return files;
81
+ }
82
+
83
+ // Restrict the file set to the chosen environment (shared + that env's dirs).
84
+ function scopeFiles(files, env) {
85
+ if (!env || !ENV_DIRS[env]) return files;
86
+ const allowed = new Set([...SHARED_ROOT, ...SHARED_DIRS, ...ENV_DIRS[env]]);
87
+ return files.filter((rel) => {
88
+ const top = rel.split(path.sep)[0];
89
+ return allowed.has(top) || allowed.has(rel);
90
+ });
91
+ }
92
+
93
+ function copyMissing(type, cwd, force, env) {
94
+ const src = path.join(SRC_DIR, type);
95
+ const files = scopeFiles(templateFiles(type), env);
96
+ let copied = 0;
97
+ let skipped = 0;
98
+ for (const rel of files) {
99
+ const from = path.join(src, rel);
100
+ const to = path.join(cwd, rel);
101
+ if (fs.existsSync(to) && !force) {
102
+ skipped++;
103
+ continue;
104
+ }
105
+ try {
106
+ fs.mkdirSync(path.dirname(to), { recursive: true });
107
+ } catch (e) {
108
+ if (e.code !== 'EEXIST') throw new Error(`Failed to create directory for ${rel}: ${e.message}`);
109
+ }
110
+ try {
111
+ fs.copyFileSync(from, to);
112
+ } catch (e) {
113
+ throw new Error(`Failed to copy ${rel}: ${e.message}`);
114
+ }
115
+ copied++;
116
+ }
117
+ return { copied, skipped, total: files.length };
118
+ }
119
+
120
+ // Files the scaffold would write that already exist in the target repo.
121
+ function conflicts(type, cwd, env) {
122
+ const files = scopeFiles(templateFiles(type), env);
123
+ const out = [];
124
+ for (const rel of files) {
125
+ if (fs.existsSync(path.join(cwd, rel))) out.push(rel);
126
+ }
127
+ return out;
128
+ }
129
+
130
+ function envHeader(type, env) {
131
+ if (!env || !ENV_INFO[env]) {
132
+ return [
133
+ '# Bootstrap handoff',
134
+ '',
135
+ 'Your AI agent should run the full bootstrap flow (the complete procedure is below). Key steps:',
136
+ '1. Replace all `{{PLACEHOLDER}}` values in the AI instruction files.',
137
+ '2. Calibrate each agent\'s tools for your environment (see the Agent Tool & Permission Calibration section).',
138
+ '3. Verify with `npx nitm-ai-dev-toolkit doctor`.',
139
+ '',
140
+ 'The `/bootstrap` command auto-detects your harness (Claude Code, GitHub Copilot, Cursor, or OpenCode),',
141
+ 'so you do not need to specify it — just run `/bootstrap` from whatever environment you are in.',
142
+ '',
143
+ 'The full bootstrap procedure follows.',
144
+ ].join('\n');
145
+ }
146
+ const info = ENV_INFO[env];
147
+ return [
148
+ `# Bootstrap handoff — environment: ${info.name}`,
149
+ '',
150
+ `Run the bootstrap via: ${info.command}`,
151
+ '',
152
+ 'Then ask your AI agent to run the full bootstrap flow (procedure below). Key steps:',
153
+ '1. Replace all `{{PLACEHOLDER}}` values in the AI instruction files.',
154
+ `2. Calibrate each agent's tools for ${info.name} (see the Agent Tool & Permission Calibration section).`,
155
+ `3. Verify with \`npx nitm-ai-dev-toolkit doctor --env ${env}\`.`,
156
+ '',
157
+ 'The full bootstrap procedure follows.',
158
+ ].join('\n');
159
+ }
160
+
161
+ function handoff(type, cwd, env) {
162
+ const bootSrc = path.join(SRC_DIR, type, '.claude', 'prompt-snippets', 'bootstrap.md');
163
+ const nitmDir = path.join(cwd, '.nitm');
164
+ fs.mkdirSync(nitmDir, { recursive: true });
165
+ const header = envHeader(type, env);
166
+ let body = '';
167
+ if (fs.existsSync(bootSrc)) body = fs.readFileSync(bootSrc, 'utf8');
168
+ fs.writeFileSync(path.join(nitmDir, 'BOOTSTRAP.md'), header + '\n\n' + body);
169
+ if (env && ENV_INFO[env]) {
170
+ info(`Scaffold complete (tailored to ${ENV_INFO[env].name}). Hand off to your AI agent:`);
171
+ console.log(` Run ${ENV_INFO[env].command}`);
172
+ } else {
173
+ info('Scaffold complete. Hand off to your AI agent to finish setup:');
174
+ }
175
+ console.log(' 1. Run `/bootstrap` from your AI environment (it auto-detects your harness),');
176
+ console.log(' OR hand `.nitm/BOOTSTRAP.md` to your AI agent to run the full bootstrap flow.');
177
+ console.log(' 2. Run `npx nitm-ai-dev-toolkit doctor' + (env ? ` --env ${env}` : '') + '` to verify the install.');
178
+ }
179
+
180
+ function cmdInstall(cwd, flags) {
181
+ const type = detectType(cwd, flags);
182
+ if (flags.env && !ENV_DIRS[flags.env]) warn(`Unknown --env "${flags.env}"; scaffolding all environments.`);
183
+ info(`Detected project type: ${type}` + (flags.env ? `, environment: ${flags.env}` : ''));
184
+ const cf = conflicts(type, cwd, flags.env);
185
+ if (cf.length && !flags.force) {
186
+ err(`Install aborted: ${cf.length} file(s) already exist in this project.`);
187
+ cf.slice(0, 20).forEach((f) => console.log(' - ' + f));
188
+ if (cf.length > 20) console.log(` ...and ${cf.length - 20} more.`);
189
+ console.log('');
190
+ info('To overwrite them, re-run with --force.');
191
+ info('To keep your changes and only add missing files, run: npx nitm-ai-dev-toolkit patch');
192
+ throw new Error('install: conflicting files exist (use --force to overwrite)');
193
+ }
194
+ const { copied, skipped } = copyMissing(type, cwd, flags.force, flags.env);
195
+ ok(`Copied ${copied} file(s), skipped ${skipped} existing.`);
196
+ handoff(type, cwd, flags.env);
197
+ return { copied, skipped, conflicts: cf.length };
198
+ }
199
+
200
+ function cmdPatch(cwd, flags) {
201
+ const type = detectType(cwd, flags);
202
+ // patch never overwrites existing files, even with --force (data-loss guard)
203
+ const { copied, skipped } = copyMissing(type, cwd, false, flags.env);
204
+ ok(`Ensured files present: ${copied} added, ${skipped} already there.`);
205
+ handoff(type, cwd, flags.env);
206
+ return { copied, skipped };
207
+ }
208
+
209
+ function scanPlaceholders(cwd, relFiles) {
210
+ const found = [];
211
+ for (const rel of relFiles) {
212
+ const p = path.join(cwd, rel);
213
+ if (!fs.existsSync(p)) continue;
214
+ try {
215
+ const content = fs.readFileSync(p, 'utf8');
216
+ if (/\{\{[A-Z_]+\}\}/.test(content)) found.push(rel);
217
+ } catch (_) { /* ignore */ }
218
+ }
219
+ return found;
220
+ }
221
+
222
+ function cmdDoctor(cwd, flags) {
223
+ const type = detectType(cwd, flags);
224
+ const files = scopeFiles(templateFiles(type), flags.env);
225
+ const missingFiles = [];
226
+ let present = 0;
227
+ for (const rel of files) {
228
+ if (fs.existsSync(path.join(cwd, rel))) present++;
229
+ else missingFiles.push(rel);
230
+ }
231
+ const placeholders = scanPlaceholders(cwd, files);
232
+ const result = { type, present, missingFiles, placeholders };
233
+
234
+ console.log('');
235
+ if (missingFiles.length === 0) ok(`All ${present} template files present.`);
236
+ else {
237
+ warn(`${missingFiles.length} missing file(s):`);
238
+ missingFiles.forEach((f) => console.log(' - ' + f));
239
+ }
240
+ if (placeholders.length === 0) ok('No unresolved {{PLACEHOLDER}} values found.');
241
+ else {
242
+ warn(`${placeholders.length} file(s) still contain {{PLACEHOLDER}} values (AI handoff replaces these):`);
243
+ placeholders.slice(0, 20).forEach((f) => console.log(' - ' + f));
244
+ if (placeholders.length > 20) console.log(` ...and ${placeholders.length - 20} more.`);
245
+ }
246
+ console.log('');
247
+ info('Run your AI agent on .nitm/BOOTSTRAP.md to finish configuration, then re-run doctor.');
248
+ return result;
249
+ }
250
+
251
+ function cmdUpgrade(cwd, flags) {
252
+ let latest;
253
+ try {
254
+ latest = execSync('npm view nitm-ai-dev-toolkit version', { encoding: 'utf8', timeout: 60000, stdio: 'pipe' }).trim();
255
+ } catch (_) {
256
+ err('Could not reach npm to check for updates (are you online?).');
257
+ return;
258
+ }
259
+ let cur;
260
+ try {
261
+ cur = JSON.parse(fs.readFileSync(path.join(PKG_ROOT, 'package.json'), 'utf8')).version;
262
+ } catch (_) {
263
+ cur = 'unknown';
264
+ }
265
+ if (latest === cur) {
266
+ ok(`Already on latest version (${cur}).`);
267
+ return;
268
+ }
269
+ info(`New version available: ${latest} (current ${cur}).`);
270
+ info('Upgrading via latest package...');
271
+ const args = ['--yes', 'nitm-ai-dev-toolkit@latest', 'install', '--force'];
272
+ if (flags && flags.env) args.push('--env', flags.env);
273
+ const r = spawnSync('npx', args, { cwd, stdio: 'inherit', timeout: 120000 });
274
+ if (r.error) { err('Upgrade failed: ' + r.error.message); return; }
275
+ if (r.status === 0) ok('Upgrade complete.');
276
+ else err('Upgrade failed.');
277
+ }
278
+
279
+ function cmdOmoStarter(cwd, flags) {
280
+ const sub = flags._[1];
281
+ if (sub !== 'install') {
282
+ err('Usage: nitm-ai-dev-toolkit omo-slim-starter install');
283
+ return;
284
+ }
285
+ info('Delegating to the published starter: npx nitm-opencode-starter install');
286
+ const r = spawnSync('npx', ['--yes', 'nitm-opencode-starter', 'install'], { cwd, stdio: 'inherit', timeout: 120000 });
287
+ if (r.error) { err('Could not run starter: ' + r.error.message); return; }
288
+ if (r.status === 0) {
289
+ ok('Starter installed via nitm-opencode-starter.');
290
+ } else {
291
+ err('Could not run `npx nitm-opencode-starter install` (is it published / are you online?).');
292
+ info('Install it manually: npx nitm-opencode-starter install');
293
+ }
294
+ }
295
+
296
+ function parseFlags(argv) {
297
+ const flags = { _: [] };
298
+ for (let i = 0; i < argv.length; i++) {
299
+ const a = argv[i];
300
+ if (a === '--monorepo') flags.monorepo = true;
301
+ else if (a === '--repo') flags.repo = true;
302
+ else if (a === '--force' || a === '-f') flags.force = true;
303
+ else if (a === '--help' || a === '-h') flags.help = true;
304
+ else if (a === '--env') {
305
+ const v = argv[++i];
306
+ if (v === undefined || v.startsWith('--')) throw new Error('--env requires a value (e.g. --env claude)');
307
+ flags.env = v;
308
+ } else if (a.startsWith('--env=')) {
309
+ const v = a.slice(6);
310
+ if (!v) throw new Error('--env= requires a value');
311
+ flags.env = v;
312
+ }
313
+ else flags._.push(a);
314
+ }
315
+ return flags;
316
+ }
317
+
318
+ function usage() {
319
+ console.log(`nitm-ai-dev-toolkit — scaffold AI agent config into any repo, then hand off to your AI agent.
320
+
321
+ Usage:
322
+ npx nitm-ai-dev-toolkit install [--monorepo|--repo] [--env <claude|copilot|cursor|opencode>] [--force]
323
+ Scaffold AI config into the current repo (auto-detects repo vs monorepo),
324
+ tailored to your harness, then hand off to your AI agent to run the bootstrap flow.
325
+ If files already exist, install aborts (use --force to overwrite, or \`patch\` to add missing).
326
+
327
+ npx nitm-ai-dev-toolkit patch [--monorepo|--repo] [--env <env>]
328
+ Add only missing template files (never overwrites existing ones), then
329
+ re-emit the bootstrap handoff so your AI agent can finish configuration.
330
+
331
+ npx nitm-ai-dev-toolkit upgrade
332
+ Upgrade to the latest published version (re-scaffolds via @latest).
333
+
334
+ npx nitm-ai-dev-toolkit doctor [--monorepo|--repo] [--env <env>]
335
+ Inspect the current install: missing files, unresolved {{PLACEHOLDER}}
336
+ values.
337
+
338
+ npx nitm-ai-dev-toolkit omo-slim-starter install
339
+ Run \`npx nitm-opencode-starter install\` to scaffold the oh-my-opencode-slim
340
+ starter (published to npm). Falls back to printing the command if unavailable.
341
+
342
+ Options:
343
+ --env <env> Optional. Limit the scaffold to ONE harness:
344
+ claude | copilot | cursor | opencode
345
+ Omit to scaffold ALL environments (cross-compatible). The /bootstrap
346
+ command auto-detects your harness at runtime, so --env is rarely needed.
347
+ --monorepo Force monorepo template
348
+ --repo Force single-repo template
349
+ --force Overwrite existing files
350
+ -h, --help Show this help
351
+ `);
352
+ }
353
+
354
+ function main() {
355
+ const flags = parseFlags(process.argv.slice(2));
356
+ if (flags.help) {
357
+ usage();
358
+ return;
359
+ }
360
+ const cmd = flags._[0];
361
+ const cwd = process.cwd();
362
+ try {
363
+ switch (cmd) {
364
+ case 'install': return cmdInstall(cwd, flags);
365
+ case 'patch': return cmdPatch(cwd, flags);
366
+ case 'upgrade': return cmdUpgrade(cwd, flags);
367
+ case 'doctor': return cmdDoctor(cwd, flags);
368
+ case 'omo-slim-starter': return cmdOmoStarter(cwd, flags);
369
+ default:
370
+ if (cmd) err(`Unknown command: ${cmd}`);
371
+ usage();
372
+ }
373
+ } catch (e) {
374
+ err(e.message);
375
+ process.exit(1);
376
+ }
377
+ }
378
+
379
+ if (require.main === module) main();
380
+
381
+ module.exports = {
382
+ detectType,
383
+ scopeFiles,
384
+ templateFiles,
385
+ copyMissing,
386
+ scanPlaceholders,
387
+ envHeader,
388
+ conflicts,
389
+ parseFlags,
390
+ cmdInstall,
391
+ cmdPatch,
392
+ cmdDoctor,
393
+ cmdUpgrade,
394
+ cmdOmoStarter,
395
+ ENV_DIRS,
396
+ SHARED_ROOT,
397
+ SHARED_DIRS,
398
+ };
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "nitm-ai-dev-toolkit",
3
+ "version": "3.0.15",
4
+ "description": "Scaffold AI agent config (Cursor, GitHub Copilot, Claude Code, OpenCode) into any repo, then hand off to your AI agent to finish setup.",
5
+ "bin": {
6
+ "nitm-ai-dev-toolkit": "bin/cli.js"
7
+ },
8
+ "scripts": {
9
+ "test": "node --test"
10
+ },
11
+ "files": [
12
+ "bin",
13
+ "src",
14
+ "README.md",
15
+ "CHANGELOG.md",
16
+ "LICENSE"
17
+ ],
18
+ "keywords": [
19
+ "ai",
20
+ "agents",
21
+ "claude",
22
+ "cursor",
23
+ "copilot",
24
+ "opencode",
25
+ "bootstrap",
26
+ "subagents"
27
+ ],
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git+https://github.com/ninjasitm/ai-assisted-dev-toolkit.git"
31
+ },
32
+ "homepage": "https://github.com/ninjasitm/ai-assisted-dev-toolkit#readme",
33
+ "bugs": {
34
+ "url": "https://github.com/ninjasitm/ai-assisted-dev-toolkit/issues"
35
+ },
36
+ "author": "ninjasitm",
37
+ "license": "MIT",
38
+ "engines": {
39
+ "node": ">=18"
40
+ }
41
+ }
@@ -0,0 +1,3 @@
1
+ # Ponytail, lazy senior dev mode
2
+
3
+ Full content: [.claude/rules-snippets/ponytail.md](../../.claude/rules-snippets/ponytail.md)