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
@@ -0,0 +1,276 @@
1
+ ---
2
+ name: linear-cli
3
+ description: Manage Linear issues from the command line using the linear CLI. This skill allows automating Linear issue management including creating, updating, querying, and commenting on issues.
4
+ ---
5
+
6
+ # Linear CLI
7
+
8
+ A CLI to manage Linear issues from the command line, with git and jj integration.
9
+
10
+ ## When to Use
11
+
12
+ - User asks to create, view, edit, or search Linear issues
13
+ - User needs to manage teams, projects, or cycles
14
+ - User wants to transition issue states or add comments
15
+ - MCP tools (`mcp_linear_*`) are unavailable or failing
16
+ - User needs scripted/batch issue operations
17
+
18
+ ## Prerequisites
19
+
20
+ The `linear` command must be available on PATH. To check:
21
+
22
+ ```bash
23
+ linear --version
24
+ ```
25
+
26
+ If not installed globally, you can run it without installing via npx:
27
+
28
+ ```bash
29
+ npx @schpet/linear-cli --version
30
+ ```
31
+
32
+ All subsequent commands can be prefixed with `npx @schpet/linear-cli` in place of `linear`. Otherwise, follow the install instructions at:
33
+ https://github.com/schpet/linear-cli?tab=readme-ov-file#install
34
+
35
+ ## Best Practices for Markdown Content
36
+
37
+ When working with issue descriptions or comment bodies that contain markdown, **always prefer using file-based flags** instead of passing content as command-line arguments:
38
+
39
+ - Use `--description-file` for `issue create` and `issue update` commands
40
+ - Use `--body-file` for `comment add` and `comment update` commands
41
+
42
+ **Why use file-based flags:**
43
+
44
+ - Ensures proper formatting in the Linear web UI
45
+ - Avoids shell escaping issues with newlines and special characters
46
+ - Prevents literal `\n` sequences from appearing in markdown
47
+ - Makes it easier to work with multi-line content
48
+
49
+ **Example workflow:**
50
+
51
+ ```bash
52
+ # Write markdown to a temporary file
53
+ cat > /tmp/description.md <<'EOF'
54
+ ## Summary
55
+
56
+ - First item
57
+ - Second item
58
+
59
+ ## Details
60
+
61
+ This is a detailed description with proper formatting.
62
+ EOF
63
+
64
+ # Create issue using the file
65
+ linear issue create --title "My Issue" --description-file /tmp/description.md
66
+
67
+ # Or for comments
68
+ linear issue comment add ENG-123 --body-file /tmp/comment.md
69
+ ```
70
+
71
+ **Only use inline flags** (`--description`, `--body`) for simple, single-line content.
72
+
73
+ ## Available Commands
74
+
75
+ Compact command list, generated from `linear --help`:
76
+
77
+ ```bash
78
+ linear auth
79
+ linear auth login
80
+ linear auth logout
81
+ linear auth list
82
+ linear auth default
83
+ linear auth token
84
+ linear auth whoami
85
+ linear auth migrate
86
+
87
+ linear issue
88
+ linear issue id
89
+ linear issue mine
90
+ linear issue query
91
+ linear issue title
92
+ linear issue start
93
+ linear issue view
94
+ linear issue url
95
+ linear issue describe
96
+ linear issue commits
97
+ linear issue pull-request
98
+ linear issue delete
99
+ linear issue create
100
+ linear issue update
101
+ linear issue comment
102
+ linear issue comment add
103
+ linear issue comment delete
104
+ linear issue comment update
105
+ linear issue comment list
106
+ linear issue attach
107
+ linear issue link
108
+ linear issue relation
109
+ linear issue relation add
110
+ linear issue relation delete
111
+ linear issue relation list
112
+
113
+ linear team
114
+ linear team create
115
+ linear team delete
116
+ linear team list
117
+ linear team id
118
+ linear team autolinks
119
+ linear team members
120
+
121
+ linear project
122
+ linear project list
123
+ linear project view
124
+ linear project create
125
+ linear project update
126
+ linear project delete
127
+
128
+ linear project-update
129
+ linear project-update create
130
+ linear project-update list
131
+
132
+ linear cycle
133
+ linear cycle list
134
+ linear cycle view
135
+
136
+ linear milestone
137
+ linear milestone list
138
+ linear milestone view
139
+ linear milestone create
140
+ linear milestone update
141
+ linear milestone delete
142
+
143
+ linear initiative
144
+ linear initiative list
145
+ linear initiative view
146
+ linear initiative create
147
+ linear initiative archive
148
+ linear initiative update
149
+ linear initiative unarchive
150
+ linear initiative delete
151
+ linear initiative add-project
152
+ linear initiative remove-project
153
+
154
+ linear initiative-update
155
+ linear initiative-update create
156
+ linear initiative-update list
157
+
158
+ linear label
159
+ linear label list
160
+ linear label create
161
+ linear label delete
162
+
163
+ linear document
164
+ linear document list
165
+ linear document view
166
+ linear document create
167
+ linear document update
168
+ linear document delete
169
+
170
+ linear config
171
+ linear schema
172
+ linear api
173
+ ```
174
+
175
+ ## Discovering Options
176
+
177
+ To see available subcommands and flags, run `--help` on any command:
178
+
179
+ ```bash
180
+ linear --help
181
+ linear issue --help
182
+ linear issue list --help
183
+ linear issue create --help
184
+ ```
185
+
186
+ Each command has detailed help output describing all available flags and options.
187
+
188
+ Some commands have required flags that aren't obvious. Notable examples:
189
+
190
+ - `issue list` requires a sort order — provide it via `--sort` (valid values: `manual`, `priority`), the `issue_sort` config option, or the `LINEAR_ISSUE_SORT` env var. Also requires `--team <key>` unless the team can be inferred from the directory — if unknown, run `linear team list` first.
191
+ - `--no-pager` is only supported on `issue list` — passing it to other commands like `project list` will error.
192
+
193
+ ## Using the Linear GraphQL API Directly
194
+
195
+ **Prefer the CLI for all supported operations.** The `api` command should only be used as a fallback for queries not covered by the CLI.
196
+
197
+ ### Check the schema for available types and fields
198
+
199
+ Write the schema to a tempfile, then search it:
200
+
201
+ ```bash
202
+ linear schema -o "${TMPDIR:-/tmp}/linear-schema.graphql"
203
+ grep -i "cycle" "${TMPDIR:-/tmp}/linear-schema.graphql"
204
+ grep -A 30 "^type Issue " "${TMPDIR:-/tmp}/linear-schema.graphql"
205
+ ```
206
+
207
+ ### Make a GraphQL request
208
+
209
+ **Important:** GraphQL queries containing non-null type markers (e.g. `String` followed by an exclamation mark) must be passed via heredoc stdin to avoid escaping issues. Simple queries without those markers can be passed inline.
210
+
211
+ ```bash
212
+ # Simple query (no type markers, so inline is fine)
213
+ linear api '{ viewer { id name email } }'
214
+
215
+ # Query with variables — use heredoc to avoid escaping issues
216
+ linear api --variable teamId=abc123 <<'GRAPHQL'
217
+ query($teamId: String!) { team(id: $teamId) { name } }
218
+ GRAPHQL
219
+
220
+ # Search issues by text
221
+ linear api --variable term=onboarding <<'GRAPHQL'
222
+ query($term: String!) { searchIssues(term: $term, first: 20) { nodes { identifier title state { name } } } }
223
+ GRAPHQL
224
+
225
+ # Pipe to jq for filtering
226
+ linear api '{ issues(first: 5) { nodes { identifier title } } }' | jq '.data.issues.nodes[].title'
227
+ ```
228
+
229
+ ### Advanced: Using curl directly
230
+
231
+ For cases where you need full HTTP control, use `linear auth token`:
232
+
233
+ ```bash
234
+ curl -s -X POST https://api.linear.app/graphql \
235
+ -H "Content-Type: application/json" \
236
+ -H "Authorization: $(linear auth token)" \
237
+ -d '{"query": "{ viewer { id } }"}'
238
+ ```
239
+
240
+ ## Common Workflows
241
+
242
+ ### Create and Start an Issue
243
+
244
+ ```bash
245
+ linear issue create --title "Implement feature" --team ENG --description-file /tmp/desc.md
246
+ # Note the returned issue key
247
+ linear issue start ENG-123
248
+ ```
249
+
250
+ ### View My Current Issues
251
+
252
+ ```bash
253
+ linear issue mine
254
+ ```
255
+
256
+ ### Update Issue State
257
+
258
+ ```bash
259
+ linear issue update ENG-123 --state "In Progress"
260
+ linear issue update ENG-123 --state "Done"
261
+ ```
262
+
263
+ ### Comment on an Issue
264
+
265
+ ```bash
266
+ linear issue comment add ENG-123 --body "Working on this"
267
+ linear issue comment add ENG-123 --body-file /tmp/update.md
268
+ ```
269
+
270
+ ## Limitations
271
+
272
+ - Requires `linear auth login` before first use
273
+ - Some commands require `--team` flag unless inferred from directory config
274
+ - `issue list` requires explicit sort order
275
+ - `--no-pager` only works on `issue list`
276
+ - Rate limits apply based on Linear API limits
@@ -0,0 +1,393 @@
1
+ ---
2
+ name: logging
3
+ description: Comprehensive logging standards for applications including structured logging, log levels, message formatting, and observability guidelines
4
+ version: 1.0.0
5
+ author: {{PROJECT_NAME}} Team
6
+ created: 2026-01-26
7
+ updated: 2026-01-26
8
+ tags:
9
+ - logging
10
+ - structured-logging
11
+ - observability
12
+ - debugging
13
+ - monitoring
14
+ applies_to:
15
+ - "**/*.{{FILE_EXTENSION}}"
16
+ - "services/**/*"
17
+ - "api/**/*"
18
+ - "packages/**/*"
19
+ - "apps/**/*"
20
+ ---
21
+
22
+ # Logging Standards
23
+
24
+ Comprehensive logging guidelines for consistent, structured, and maintainable logging across the monorepo.
25
+
26
+ ## Core Principles
27
+
28
+ ### 1. Structured Logging
29
+
30
+ All logs MUST be structured (JSON-serializable) for efficient querying and analysis.
31
+
32
+ ### 2. Contextual Information
33
+
34
+ Include relevant context (request ID, user ID, session ID) in every log.
35
+
36
+ ### 3. Appropriate Levels
37
+
38
+ Use correct log levels to enable effective filtering.
39
+
40
+ ### 4. Performance Aware
41
+
42
+ Avoid expensive operations in log statements.
43
+
44
+ ## Log Levels
45
+
46
+ | Level | When to Use | Examples |
47
+ | --------- | -------------------------------------- | ------------------------------------------------ |
48
+ | **ERROR** | Application errors requiring attention | Unhandled exceptions, failed critical operations |
49
+ | **WARN** | Unexpected but recoverable situations | Retry attempts, deprecated usage, rate limiting |
50
+ | **INFO** | Significant application events | Request handling, job completion, config changes |
51
+ | **DEBUG** | Detailed diagnostic information | Variable values, execution paths, timing |
52
+ | **TRACE** | Very detailed debugging | Loop iterations, method entry/exit |
53
+
54
+ ## Message Format Pattern
55
+
56
+ **REQUIRED**: All log messages MUST follow this pattern:
57
+
58
+ ```
59
+ [SERVICE_OR_CLASS]: MESSAGE
60
+ ```
61
+
62
+ The prefix should be the **actual class name or service name** enclosed in square brackets.
63
+
64
+ ## Language-Specific Examples
65
+
66
+ ### TypeScript/JavaScript
67
+
68
+ ```typescript
69
+ import { logger } from "@{{PROJECT_NAME}}/logging";
70
+
71
+ // ✅ GOOD - Structured with context
72
+ logger.info("[UserService]: User created", {
73
+ userId: user.id,
74
+ email: user.email,
75
+ source: "registration",
76
+ });
77
+
78
+ // ✅ GOOD - Error with stack trace
79
+ logger.error("[PaymentService]: Payment processing failed", {
80
+ error: err.message,
81
+ stack: err.stack,
82
+ orderId: order.id,
83
+ amount: order.total,
84
+ });
85
+
86
+ // ❌ BAD - String interpolation loses structure
87
+ logger.info(`User ${userId} created with email ${email}`);
88
+
89
+ // ❌ BAD - Missing context
90
+ logger.error("Payment failed");
91
+ ```
92
+
93
+ ### Python
94
+
95
+ ```python
96
+ import structlog
97
+
98
+ logger = structlog.get_logger()
99
+
100
+ # ✅ GOOD - Structured with context
101
+ logger.info("[UserService]: User created",
102
+ user_id=user.id,
103
+ email=user.email,
104
+ source="registration"
105
+ )
106
+
107
+ # ✅ GOOD - Error with exception
108
+ logger.error("[PaymentService]: Payment processing failed",
109
+ error=str(e),
110
+ order_id=order.id,
111
+ amount=order.total,
112
+ exc_info=True
113
+ )
114
+
115
+ # ❌ BAD - f-string loses structure
116
+ logger.info(f"User {user_id} created with email {email}")
117
+ ```
118
+
119
+ ### C# / .NET
120
+
121
+ ```csharp
122
+ // ✅ GOOD - Structured logging with named parameters
123
+ _logger.LogInformation("[UserService]: User created - UserId: {UserId}, Email: {Email}",
124
+ user.Id, user.Email);
125
+
126
+ // ✅ GOOD - Error with exception
127
+ _logger.LogError(ex, "[PaymentService]: Payment failed - OrderId: {OrderId}, Amount: {Amount}",
128
+ order.Id, order.Total);
129
+
130
+ // ❌ BAD - String interpolation
131
+ _logger.LogInformation($"User {userId} created with email {email}");
132
+ ```
133
+
134
+ ### Go
135
+
136
+ ```go
137
+ // ✅ GOOD - Structured with context
138
+ logger.Info("[UserService]: User created",
139
+ zap.String("userId", user.ID),
140
+ zap.String("email", user.Email),
141
+ zap.String("source", "registration"),
142
+ )
143
+
144
+ // ✅ GOOD - Error with stack
145
+ logger.Error("[PaymentService]: Payment failed",
146
+ zap.Error(err),
147
+ zap.String("orderId", order.ID),
148
+ zap.Float64("amount", order.Total),
149
+ )
150
+
151
+ // ❌ BAD - Printf style
152
+ logger.Info(fmt.Sprintf("User %s created", userId))
153
+ ```
154
+
155
+ ## Contextual Logging
156
+
157
+ ### Request Context
158
+
159
+ Always include request-scoped identifiers:
160
+
161
+ ```typescript
162
+ // Middleware sets context
163
+ const requestContext = {
164
+ requestId: req.headers["x-request-id"] || uuid(),
165
+ userId: req.user?.id,
166
+ sessionId: req.session?.id,
167
+ traceId: req.headers["x-trace-id"],
168
+ };
169
+
170
+ // All logs in request include context
171
+ logger.info("[OrderController]: Order submitted", {
172
+ ...requestContext,
173
+ orderId: order.id,
174
+ itemCount: order.items.length,
175
+ });
176
+ ```
177
+
178
+ ### Correlation IDs
179
+
180
+ For async operations, propagate correlation:
181
+
182
+ ```typescript
183
+ async function processOrder(order: Order, correlationId: string) {
184
+ logger.info("[OrderProcessor]: Starting order processing", {
185
+ correlationId,
186
+ orderId: order.id,
187
+ });
188
+
189
+ // Pass to downstream services
190
+ await inventoryService.reserve(order.items, { correlationId });
191
+ await paymentService.charge(order.total, { correlationId });
192
+
193
+ logger.info("[OrderProcessor]: Order processing complete", {
194
+ correlationId,
195
+ orderId: order.id,
196
+ duration: Date.now() - startTime,
197
+ });
198
+ }
199
+ ```
200
+
201
+ ## Performance Logging
202
+
203
+ ### Timing Operations
204
+
205
+ ```typescript
206
+ const startTime = performance.now();
207
+
208
+ await expensiveOperation();
209
+
210
+ const duration = performance.now() - startTime;
211
+ logger.info("[DataProcessor]: Operation completed", {
212
+ operationType: "batch-import",
213
+ recordCount: records.length,
214
+ durationMs: Math.round(duration),
215
+ recordsPerSecond: Math.round(records.length / (duration / 1000)),
216
+ });
217
+ ```
218
+
219
+ ### Conditional Debug Logging
220
+
221
+ ```typescript
222
+ // Avoid expensive serialization unless needed
223
+ if (logger.isDebugEnabled()) {
224
+ logger.debug("[CacheService]: Cache contents", {
225
+ keys: cache.keys(),
226
+ size: cache.size,
227
+ hitRate: cache.stats.hitRate,
228
+ });
229
+ }
230
+ ```
231
+
232
+ ## Error Logging Best Practices
233
+
234
+ ### Include Full Context
235
+
236
+ ```typescript
237
+ try {
238
+ await processPayment(order);
239
+ } catch (error) {
240
+ logger.error("[PaymentService]: Payment processing failed", {
241
+ error: error.message,
242
+ stack: error.stack,
243
+ errorCode: error.code,
244
+ // Business context
245
+ orderId: order.id,
246
+ userId: order.userId,
247
+ amount: order.total,
248
+ paymentMethod: order.paymentMethod,
249
+ // Request context
250
+ requestId: context.requestId,
251
+ // Recovery info
252
+ retryable: isRetryableError(error),
253
+ attemptNumber: attempt,
254
+ });
255
+ throw error;
256
+ }
257
+ ```
258
+
259
+ ### Categorize Errors
260
+
261
+ ```typescript
262
+ // Tag errors for monitoring/alerting
263
+ logger.error("[AuthService]: Authentication failed", {
264
+ errorCategory: "SECURITY",
265
+ errorType: "INVALID_CREDENTIALS",
266
+ userId: attemptedUserId,
267
+ ipAddress: request.ip,
268
+ userAgent: request.headers["user-agent"],
269
+ });
270
+ ```
271
+
272
+ ## Sensitive Data
273
+
274
+ ### Never Log
275
+
276
+ - Passwords or secrets
277
+ - Full credit card numbers
278
+ - Social security numbers
279
+ - API keys or tokens
280
+ - Personal health information
281
+
282
+ ### Masking Patterns
283
+
284
+ ```typescript
285
+ const maskEmail = (email: string) => {
286
+ const [local, domain] = email.split("@");
287
+ return `${local.slice(0, 2)}***@${domain}`;
288
+ };
289
+
290
+ const maskCardNumber = (card: string) => {
291
+ return `****-****-****-${card.slice(-4)}`;
292
+ };
293
+
294
+ logger.info("[PaymentService]: Payment authorized", {
295
+ email: maskEmail(user.email), // "jo***@example.com"
296
+ cardNumber: maskCardNumber(card), // "****-****-****-1234"
297
+ amount: order.total,
298
+ });
299
+ ```
300
+
301
+ ## Monorepo Logger Package
302
+
303
+ Create a shared logging package for consistency:
304
+
305
+ ```
306
+ packages/
307
+ └── logging/
308
+ ├── src/
309
+ │ └── index.ts
310
+ ├── package.json
311
+ └── README.md
312
+ ```
313
+
314
+ ```typescript
315
+ // packages/logging/src/index.ts
316
+ import pino from "pino";
317
+
318
+ export const createLogger = (service: string) => {
319
+ return pino({
320
+ name: service,
321
+ level: process.env.LOG_LEVEL || "info",
322
+ formatters: {
323
+ level: (label) => ({ level: label }),
324
+ },
325
+ base: {
326
+ service,
327
+ environment: process.env.NODE_ENV,
328
+ version: process.env.APP_VERSION,
329
+ },
330
+ });
331
+ };
332
+
333
+ // Usage in apps
334
+ // apps/{{APP_NAME_1}}/src/index.ts
335
+ import { createLogger } from "@{{PROJECT_NAME}}/logging";
336
+ const logger = createLogger("{{APP_NAME_1}}");
337
+ ```
338
+
339
+ ## Environment Configuration
340
+
341
+ ```bash
342
+ # .env
343
+ LOG_LEVEL=info # Minimum log level
344
+ LOG_FORMAT=json # json | pretty
345
+ LOG_DESTINATION=stdout # stdout | file | service
346
+ LOG_SERVICE_URL= # External logging service URL
347
+ ```
348
+
349
+ ## Observability Integration
350
+
351
+ ### OpenTelemetry Context
352
+
353
+ ```typescript
354
+ import { trace, context } from "@opentelemetry/api";
355
+
356
+ function logWithTrace(level: string, message: string, data: object) {
357
+ const span = trace.getSpan(context.active());
358
+ const traceContext = span
359
+ ? {
360
+ traceId: span.spanContext().traceId,
361
+ spanId: span.spanContext().spanId,
362
+ }
363
+ : {};
364
+
365
+ logger[level](message, { ...data, ...traceContext });
366
+ }
367
+ ```
368
+
369
+ ## Quick Reference
370
+
371
+ ### Log Level Decision Tree
372
+
373
+ ```
374
+ Is it an error that needs attention? → ERROR
375
+ Is it unexpected but handled? → WARN
376
+ Is it a significant business event? → INFO
377
+ Is it helpful for debugging? → DEBUG
378
+ Is it very detailed/verbose? → TRACE
379
+ ```
380
+
381
+ ### Checklist Before Logging
382
+
383
+ - [ ] Using structured format (not string interpolation)
384
+ - [ ] Service/class prefix in brackets
385
+ - [ ] Relevant context included
386
+ - [ ] Sensitive data masked
387
+ - [ ] Appropriate log level
388
+ - [ ] No expensive operations in log statement
389
+
390
+ ## Related Skills
391
+
392
+ - See `.agents/skills/systematic-debugging/` for debugging workflows
393
+ - See `.agents/skills/verification-before-completion/` for testing logs
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: orient-to-recent-work
3
+ description: Build a compact mental model of recent project activity before any non-trivial task. Use proactively at the start of a session and before any investigation, planning, refactor, or multi-file change. Skip only for trivial fixes (typos, isolated docs, version bumps, mechanical refactors with a known target).
4
+ ---
5
+
6
+ # Orient to recent work
7
+
8
+ Before starting a non-trivial task, build a compact mental model of what has happened recently in this repository. This prevents re-litigating settled decisions and surfaces context that may not be in code or docs.
9
+
10
+ ## When to use
11
+
12
+ **Use proactively:**
13
+ - At the start of a session (before the first task)
14
+ - Before any investigation, planning, refactor, or multi-file change
15
+ - When picking up a thread after a break
16
+
17
+ **Skip for:**
18
+ - Single-line typo fixes
19
+ - Isolated documentation updates
20
+ - Dependency version bumps without logic changes
21
+ - Mechanical refactors with a known target
22
+
23
+ ## Protocol (do once per session, hold the result)
24
+
25
+ 1. **Read `CHANGELOG.md` [Unreleased]** — pending changes the team is preparing
26
+ 2. **Read the most recent released section of `CHANGELOG.md`** — what just shipped
27
+ 3. **Run `git log --oneline -20`** — recent commits at a glance
28
+ 4. **For commits that touch files you'll modify, run `git show <hash> --stat`** — scope only, not the full diff
29
+ 5. **Hold this mental model in working memory** for the session; re-run only if task scope changes dramatically
30
+
31
+ ## Output format
32
+
33
+ A 3–5 line summary capturing:
34
+ - What's in flight (Unreleased highlights)
35
+ - What just shipped (last release)
36
+ - Any recent decisions affecting your task (naming, refactor, schema)
37
+ - If your task touches recently-modified files, append: `Recent touch on <files>: <commit summary>`
38
+
39
+ ## Why
40
+
41
+ - Decisions have non-code context (commit messages, PR descriptions)
42
+ - Fresh sessions have no memory — this creates session-level orientation
43
+ - Prevents re-litigating recently-settled questions