gsd-trae 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (761) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/assets/screenshot.png +0 -0
  3. package/package.json +9 -2
  4. package/.claude/settings.local.json +0 -8
  5. package/.gitmodules +0 -6
  6. package/.trae/rules/project_rules.md +0 -56
  7. package/.vscode/code-counter/code-counter.db +0 -0
  8. package/.vscode/settings.json +0 -6
  9. package/refs/gsd/.github/CODEOWNERS +0 -2
  10. package/refs/gsd/.github/FUNDING.yml +0 -1
  11. package/refs/gsd/.github/ISSUE_TEMPLATE/bug_report.yml +0 -59
  12. package/refs/gsd/.github/ISSUE_TEMPLATE/feature_request.yml +0 -37
  13. package/refs/gsd/.github/pull_request_template.md +0 -24
  14. package/refs/gsd/.github/workflows/auto-label-issues.yml +0 -21
  15. package/refs/gsd/CHANGELOG.md +0 -1520
  16. package/refs/gsd/LICENSE +0 -21
  17. package/refs/gsd/README.md +0 -704
  18. package/refs/gsd/SECURITY.md +0 -33
  19. package/refs/gsd/agents/gsd-codebase-mapper.md +0 -764
  20. package/refs/gsd/agents/gsd-debugger.md +0 -1246
  21. package/refs/gsd/agents/gsd-executor.md +0 -469
  22. package/refs/gsd/agents/gsd-integration-checker.md +0 -443
  23. package/refs/gsd/agents/gsd-phase-researcher.md +0 -546
  24. package/refs/gsd/agents/gsd-plan-checker.md +0 -690
  25. package/refs/gsd/agents/gsd-planner.md +0 -1275
  26. package/refs/gsd/agents/gsd-project-researcher.md +0 -621
  27. package/refs/gsd/agents/gsd-research-synthesizer.md +0 -239
  28. package/refs/gsd/agents/gsd-roadmapper.md +0 -642
  29. package/refs/gsd/agents/gsd-verifier.md +0 -573
  30. package/refs/gsd/assets/gsd-logo-2000-transparent.png +0 -0
  31. package/refs/gsd/assets/gsd-logo-2000-transparent.svg +0 -17
  32. package/refs/gsd/assets/gsd-logo-2000.png +0 -0
  33. package/refs/gsd/assets/gsd-logo-2000.svg +0 -21
  34. package/refs/gsd/assets/terminal.svg +0 -68
  35. package/refs/gsd/bin/install.js +0 -2090
  36. package/refs/gsd/commands/gsd/add-phase.md +0 -43
  37. package/refs/gsd/commands/gsd/add-tests.md +0 -41
  38. package/refs/gsd/commands/gsd/add-todo.md +0 -47
  39. package/refs/gsd/commands/gsd/audit-milestone.md +0 -36
  40. package/refs/gsd/commands/gsd/check-todos.md +0 -45
  41. package/refs/gsd/commands/gsd/cleanup.md +0 -18
  42. package/refs/gsd/commands/gsd/complete-milestone.md +0 -136
  43. package/refs/gsd/commands/gsd/debug.md +0 -167
  44. package/refs/gsd/commands/gsd/discuss-phase.md +0 -83
  45. package/refs/gsd/commands/gsd/execute-phase.md +0 -41
  46. package/refs/gsd/commands/gsd/health.md +0 -22
  47. package/refs/gsd/commands/gsd/help.md +0 -22
  48. package/refs/gsd/commands/gsd/insert-phase.md +0 -32
  49. package/refs/gsd/commands/gsd/join-discord.md +0 -18
  50. package/refs/gsd/commands/gsd/list-phase-assumptions.md +0 -46
  51. package/refs/gsd/commands/gsd/map-codebase.md +0 -71
  52. package/refs/gsd/commands/gsd/new-milestone.md +0 -44
  53. package/refs/gsd/commands/gsd/new-project.md +0 -42
  54. package/refs/gsd/commands/gsd/new-project.md.bak +0 -1041
  55. package/refs/gsd/commands/gsd/pause-work.md +0 -38
  56. package/refs/gsd/commands/gsd/plan-milestone-gaps.md +0 -34
  57. package/refs/gsd/commands/gsd/plan-phase.md +0 -45
  58. package/refs/gsd/commands/gsd/progress.md +0 -24
  59. package/refs/gsd/commands/gsd/quick.md +0 -41
  60. package/refs/gsd/commands/gsd/reapply-patches.md +0 -110
  61. package/refs/gsd/commands/gsd/remove-phase.md +0 -31
  62. package/refs/gsd/commands/gsd/research-phase.md +0 -189
  63. package/refs/gsd/commands/gsd/resume-work.md +0 -40
  64. package/refs/gsd/commands/gsd/set-profile.md +0 -34
  65. package/refs/gsd/commands/gsd/settings.md +0 -36
  66. package/refs/gsd/commands/gsd/update.md +0 -37
  67. package/refs/gsd/commands/gsd/verify-work.md +0 -38
  68. package/refs/gsd/docs/USER-GUIDE.md +0 -471
  69. package/refs/gsd/docs/context-monitor.md +0 -96
  70. package/refs/gsd/get-shit-done/bin/gsd-tools.cjs +0 -585
  71. package/refs/gsd/get-shit-done/bin/lib/commands.cjs +0 -553
  72. package/refs/gsd/get-shit-done/bin/lib/config.cjs +0 -162
  73. package/refs/gsd/get-shit-done/bin/lib/core.cjs +0 -411
  74. package/refs/gsd/get-shit-done/bin/lib/frontmatter.cjs +0 -299
  75. package/refs/gsd/get-shit-done/bin/lib/init.cjs +0 -710
  76. package/refs/gsd/get-shit-done/bin/lib/milestone.cjs +0 -215
  77. package/refs/gsd/get-shit-done/bin/lib/phase.cjs +0 -870
  78. package/refs/gsd/get-shit-done/bin/lib/roadmap.cjs +0 -298
  79. package/refs/gsd/get-shit-done/bin/lib/state.cjs +0 -521
  80. package/refs/gsd/get-shit-done/bin/lib/template.cjs +0 -222
  81. package/refs/gsd/get-shit-done/bin/lib/verify.cjs +0 -772
  82. package/refs/gsd/get-shit-done/references/checkpoints.md +0 -776
  83. package/refs/gsd/get-shit-done/references/continuation-format.md +0 -249
  84. package/refs/gsd/get-shit-done/references/decimal-phase-calculation.md +0 -65
  85. package/refs/gsd/get-shit-done/references/git-integration.md +0 -248
  86. package/refs/gsd/get-shit-done/references/git-planning-commit.md +0 -38
  87. package/refs/gsd/get-shit-done/references/model-profile-resolution.md +0 -34
  88. package/refs/gsd/get-shit-done/references/model-profiles.md +0 -92
  89. package/refs/gsd/get-shit-done/references/phase-argument-parsing.md +0 -61
  90. package/refs/gsd/get-shit-done/references/planning-config.md +0 -196
  91. package/refs/gsd/get-shit-done/references/questioning.md +0 -145
  92. package/refs/gsd/get-shit-done/references/tdd.md +0 -263
  93. package/refs/gsd/get-shit-done/references/ui-brand.md +0 -160
  94. package/refs/gsd/get-shit-done/references/verification-patterns.md +0 -612
  95. package/refs/gsd/get-shit-done/templates/DEBUG.md +0 -164
  96. package/refs/gsd/get-shit-done/templates/UAT.md +0 -247
  97. package/refs/gsd/get-shit-done/templates/VALIDATION.md +0 -76
  98. package/refs/gsd/get-shit-done/templates/codebase/architecture.md +0 -255
  99. package/refs/gsd/get-shit-done/templates/codebase/concerns.md +0 -310
  100. package/refs/gsd/get-shit-done/templates/codebase/conventions.md +0 -307
  101. package/refs/gsd/get-shit-done/templates/codebase/integrations.md +0 -280
  102. package/refs/gsd/get-shit-done/templates/codebase/stack.md +0 -186
  103. package/refs/gsd/get-shit-done/templates/codebase/structure.md +0 -285
  104. package/refs/gsd/get-shit-done/templates/codebase/testing.md +0 -480
  105. package/refs/gsd/get-shit-done/templates/config.json +0 -37
  106. package/refs/gsd/get-shit-done/templates/context.md +0 -283
  107. package/refs/gsd/get-shit-done/templates/continue-here.md +0 -78
  108. package/refs/gsd/get-shit-done/templates/debug-subagent-prompt.md +0 -91
  109. package/refs/gsd/get-shit-done/templates/discovery.md +0 -146
  110. package/refs/gsd/get-shit-done/templates/milestone-archive.md +0 -123
  111. package/refs/gsd/get-shit-done/templates/milestone.md +0 -115
  112. package/refs/gsd/get-shit-done/templates/phase-prompt.md +0 -569
  113. package/refs/gsd/get-shit-done/templates/planner-subagent-prompt.md +0 -117
  114. package/refs/gsd/get-shit-done/templates/project.md +0 -184
  115. package/refs/gsd/get-shit-done/templates/requirements.md +0 -231
  116. package/refs/gsd/get-shit-done/templates/research-project/ARCHITECTURE.md +0 -204
  117. package/refs/gsd/get-shit-done/templates/research-project/FEATURES.md +0 -147
  118. package/refs/gsd/get-shit-done/templates/research-project/PITFALLS.md +0 -200
  119. package/refs/gsd/get-shit-done/templates/research-project/STACK.md +0 -120
  120. package/refs/gsd/get-shit-done/templates/research-project/SUMMARY.md +0 -170
  121. package/refs/gsd/get-shit-done/templates/research.md +0 -552
  122. package/refs/gsd/get-shit-done/templates/retrospective.md +0 -54
  123. package/refs/gsd/get-shit-done/templates/roadmap.md +0 -202
  124. package/refs/gsd/get-shit-done/templates/state.md +0 -176
  125. package/refs/gsd/get-shit-done/templates/summary-complex.md +0 -59
  126. package/refs/gsd/get-shit-done/templates/summary-minimal.md +0 -41
  127. package/refs/gsd/get-shit-done/templates/summary-standard.md +0 -48
  128. package/refs/gsd/get-shit-done/templates/summary.md +0 -248
  129. package/refs/gsd/get-shit-done/templates/user-setup.md +0 -311
  130. package/refs/gsd/get-shit-done/templates/verification-report.md +0 -322
  131. package/refs/gsd/get-shit-done/workflows/add-phase.md +0 -111
  132. package/refs/gsd/get-shit-done/workflows/add-tests.md +0 -350
  133. package/refs/gsd/get-shit-done/workflows/add-todo.md +0 -157
  134. package/refs/gsd/get-shit-done/workflows/audit-milestone.md +0 -297
  135. package/refs/gsd/get-shit-done/workflows/check-todos.md +0 -176
  136. package/refs/gsd/get-shit-done/workflows/cleanup.md +0 -152
  137. package/refs/gsd/get-shit-done/workflows/complete-milestone.md +0 -763
  138. package/refs/gsd/get-shit-done/workflows/diagnose-issues.md +0 -219
  139. package/refs/gsd/get-shit-done/workflows/discovery-phase.md +0 -289
  140. package/refs/gsd/get-shit-done/workflows/discuss-phase.md +0 -542
  141. package/refs/gsd/get-shit-done/workflows/execute-phase.md +0 -449
  142. package/refs/gsd/get-shit-done/workflows/execute-plan.md +0 -448
  143. package/refs/gsd/get-shit-done/workflows/health.md +0 -156
  144. package/refs/gsd/get-shit-done/workflows/help.md +0 -489
  145. package/refs/gsd/get-shit-done/workflows/insert-phase.md +0 -129
  146. package/refs/gsd/get-shit-done/workflows/list-phase-assumptions.md +0 -178
  147. package/refs/gsd/get-shit-done/workflows/map-codebase.md +0 -315
  148. package/refs/gsd/get-shit-done/workflows/new-milestone.md +0 -382
  149. package/refs/gsd/get-shit-done/workflows/new-project.md +0 -1116
  150. package/refs/gsd/get-shit-done/workflows/pause-work.md +0 -122
  151. package/refs/gsd/get-shit-done/workflows/plan-milestone-gaps.md +0 -274
  152. package/refs/gsd/get-shit-done/workflows/plan-phase.md +0 -569
  153. package/refs/gsd/get-shit-done/workflows/progress.md +0 -381
  154. package/refs/gsd/get-shit-done/workflows/quick.md +0 -453
  155. package/refs/gsd/get-shit-done/workflows/remove-phase.md +0 -154
  156. package/refs/gsd/get-shit-done/workflows/research-phase.md +0 -73
  157. package/refs/gsd/get-shit-done/workflows/resume-project.md +0 -306
  158. package/refs/gsd/get-shit-done/workflows/set-profile.md +0 -80
  159. package/refs/gsd/get-shit-done/workflows/settings.md +0 -213
  160. package/refs/gsd/get-shit-done/workflows/transition.md +0 -544
  161. package/refs/gsd/get-shit-done/workflows/update.md +0 -219
  162. package/refs/gsd/get-shit-done/workflows/verify-phase.md +0 -242
  163. package/refs/gsd/get-shit-done/workflows/verify-work.md +0 -569
  164. package/refs/gsd/hooks/gsd-check-update.js +0 -62
  165. package/refs/gsd/hooks/gsd-context-monitor.js +0 -122
  166. package/refs/gsd/hooks/gsd-statusline.js +0 -108
  167. package/refs/gsd/package.json +0 -50
  168. package/refs/gsd/scripts/build-hooks.js +0 -43
  169. package/refs/gsd/tests/commands.test.cjs +0 -661
  170. package/refs/gsd/tests/helpers.cjs +0 -40
  171. package/refs/gsd/tests/init.test.cjs +0 -205
  172. package/refs/gsd/tests/milestone.test.cjs +0 -98
  173. package/refs/gsd/tests/phase.test.cjs +0 -1241
  174. package/refs/gsd/tests/roadmap.test.cjs +0 -265
  175. package/refs/gsd/tests/state.test.cjs +0 -302
  176. package/refs/gsd/tests/verify.test.cjs +0 -80
  177. package/refs/vbenchmark/.agent/agents/codebase-explorer.md +0 -224
  178. package/refs/vbenchmark/.agent/agents/debugger.md +0 -180
  179. package/refs/vbenchmark/.agent/agents/documenter.md +0 -166
  180. package/refs/vbenchmark/.agent/agents/implementer.md +0 -70
  181. package/refs/vbenchmark/.agent/agents/orchestrator.md +0 -212
  182. package/refs/vbenchmark/.agent/agents/researcher.md +0 -80
  183. package/refs/vbenchmark/.agent/agents/reviewer.md +0 -184
  184. package/refs/vbenchmark/.agent/agents/tester.md +0 -170
  185. package/refs/vbenchmark/.agent/commands/commit.md +0 -29
  186. package/refs/vbenchmark/.agent/commands/debug.md +0 -59
  187. package/refs/vbenchmark/.agent/commands/document.md +0 -52
  188. package/refs/vbenchmark/.agent/commands/gather-context.md +0 -58
  189. package/refs/vbenchmark/.agent/commands/init.md +0 -56
  190. package/refs/vbenchmark/.agent/commands/preset-help.md +0 -50
  191. package/refs/vbenchmark/.agent/commands/refactor.md +0 -71
  192. package/refs/vbenchmark/.agent/commands/research.md +0 -37
  193. package/refs/vbenchmark/.agent/commands/review.md +0 -38
  194. package/refs/vbenchmark/.agent/commands/test.md +0 -61
  195. package/refs/vbenchmark/.agent/rules/01-code-quality.md +0 -33
  196. package/refs/vbenchmark/.agent/rules/02-typescript-go.md +0 -46
  197. package/refs/vbenchmark/.agent/rules/03-security-git.md +0 -34
  198. package/refs/vbenchmark/.agent/rules/04-architecture.md +0 -40
  199. package/refs/vbenchmark/.agent/sync.js +0 -536
  200. package/refs/vbenchmark/.agent/workflows/commit.md +0 -29
  201. package/refs/vbenchmark/.agent/workflows/debug.md +0 -59
  202. package/refs/vbenchmark/.agent/workflows/document.md +0 -52
  203. package/refs/vbenchmark/.agent/workflows/gather-context.md +0 -58
  204. package/refs/vbenchmark/.agent/workflows/init.md +0 -56
  205. package/refs/vbenchmark/.agent/workflows/preset-help.md +0 -50
  206. package/refs/vbenchmark/.agent/workflows/refactor.md +0 -71
  207. package/refs/vbenchmark/.agent/workflows/research.md +0 -37
  208. package/refs/vbenchmark/.agent/workflows/review.md +0 -38
  209. package/refs/vbenchmark/.agent/workflows/test.md +0 -61
  210. package/refs/vbenchmark/.claude/commands/agentic-dev/apply.md +0 -222
  211. package/refs/vbenchmark/.claude/commands/agentic-dev/done.md +0 -166
  212. package/refs/vbenchmark/.claude/commands/agentic-dev/proposal.md +0 -220
  213. package/refs/vbenchmark/.claude/commands/openspec/apply.md +0 -23
  214. package/refs/vbenchmark/.claude/commands/openspec/archive.md +0 -27
  215. package/refs/vbenchmark/.claude/commands/openspec/proposal.md +0 -28
  216. package/refs/vbenchmark/.clinerules/01-rules.md +0 -73
  217. package/refs/vbenchmark/.clinerules/02-agents.md +0 -34
  218. package/refs/vbenchmark/.cursor/commands/commit.md +0 -29
  219. package/refs/vbenchmark/.cursor/commands/debug.md +0 -59
  220. package/refs/vbenchmark/.cursor/commands/document.md +0 -52
  221. package/refs/vbenchmark/.cursor/commands/gather-context.md +0 -58
  222. package/refs/vbenchmark/.cursor/commands/init.md +0 -56
  223. package/refs/vbenchmark/.cursor/commands/preset-help.md +0 -50
  224. package/refs/vbenchmark/.cursor/commands/refactor.md +0 -71
  225. package/refs/vbenchmark/.cursor/commands/research.md +0 -37
  226. package/refs/vbenchmark/.cursor/commands/review.md +0 -38
  227. package/refs/vbenchmark/.cursor/commands/test.md +0 -61
  228. package/refs/vbenchmark/.cursor/rules/agents.mdc +0 -1357
  229. package/refs/vbenchmark/.factory/droids/codebase-explorer.md +0 -224
  230. package/refs/vbenchmark/.factory/droids/debugger.md +0 -180
  231. package/refs/vbenchmark/.factory/droids/documenter.md +0 -166
  232. package/refs/vbenchmark/.factory/droids/implementer.md +0 -70
  233. package/refs/vbenchmark/.factory/droids/orchestrator.md +0 -212
  234. package/refs/vbenchmark/.factory/droids/researcher.md +0 -80
  235. package/refs/vbenchmark/.factory/droids/reviewer.md +0 -184
  236. package/refs/vbenchmark/.factory/droids/tester.md +0 -170
  237. package/refs/vbenchmark/.gemini/workflows/commit.md +0 -29
  238. package/refs/vbenchmark/.gemini/workflows/debug.md +0 -59
  239. package/refs/vbenchmark/.gemini/workflows/document.md +0 -52
  240. package/refs/vbenchmark/.gemini/workflows/gather-context.md +0 -58
  241. package/refs/vbenchmark/.gemini/workflows/init.md +0 -56
  242. package/refs/vbenchmark/.gemini/workflows/preset-help.md +0 -50
  243. package/refs/vbenchmark/.gemini/workflows/refactor.md +0 -71
  244. package/refs/vbenchmark/.gemini/workflows/research.md +0 -37
  245. package/refs/vbenchmark/.gemini/workflows/review.md +0 -38
  246. package/refs/vbenchmark/.gemini/workflows/test.md +0 -61
  247. package/refs/vbenchmark/.github/CODEOWNERS +0 -20
  248. package/refs/vbenchmark/.github/FUNDING.yml +0 -4
  249. package/refs/vbenchmark/.github/ISSUE_TEMPLATE/bug-report.yml +0 -76
  250. package/refs/vbenchmark/.github/ISSUE_TEMPLATE/new-task.yml +0 -106
  251. package/refs/vbenchmark/.github/PULL_REQUEST_TEMPLATE.md +0 -38
  252. package/refs/vbenchmark/.github/copilot-instructions.md +0 -73
  253. package/refs/vbenchmark/.github/workflows/ci.yaml +0 -33
  254. package/refs/vbenchmark/.github/workflows/vercel-auto-pr.yml +0 -478
  255. package/refs/vbenchmark/.github/workflows/vercel-deploy.yaml +0 -487
  256. package/refs/vbenchmark/.github/workflows/vercel-pr-command.yaml +0 -337
  257. package/refs/vbenchmark/.github/workflows/vercel-project-init.yaml +0 -208
  258. package/refs/vbenchmark/.opencode/agent/codebase-explorer.md +0 -224
  259. package/refs/vbenchmark/.opencode/agent/debugger.md +0 -180
  260. package/refs/vbenchmark/.opencode/agent/documenter.md +0 -166
  261. package/refs/vbenchmark/.opencode/agent/implementer.md +0 -70
  262. package/refs/vbenchmark/.opencode/agent/orchestrator.md +0 -212
  263. package/refs/vbenchmark/.opencode/agent/researcher.md +0 -80
  264. package/refs/vbenchmark/.opencode/agent/reviewer.md +0 -184
  265. package/refs/vbenchmark/.opencode/agent/tester.md +0 -170
  266. package/refs/vbenchmark/.opencode/command/commit.md +0 -29
  267. package/refs/vbenchmark/.opencode/command/debug.md +0 -59
  268. package/refs/vbenchmark/.opencode/command/document.md +0 -52
  269. package/refs/vbenchmark/.opencode/command/gather-context.md +0 -58
  270. package/refs/vbenchmark/.opencode/command/init.md +0 -56
  271. package/refs/vbenchmark/.opencode/command/preset-help.md +0 -50
  272. package/refs/vbenchmark/.opencode/command/refactor.md +0 -71
  273. package/refs/vbenchmark/.opencode/command/research.md +0 -37
  274. package/refs/vbenchmark/.opencode/command/review.md +0 -38
  275. package/refs/vbenchmark/.opencode/command/test.md +0 -61
  276. package/refs/vbenchmark/.trae/project_rules.md +0 -73
  277. package/refs/vbenchmark/.windsurf/rules/rules.md +0 -85
  278. package/refs/vbenchmark/AGENTS.md +0 -73
  279. package/refs/vbenchmark/CONTRIBUTING.md +0 -332
  280. package/refs/vbenchmark/Caddyfile +0 -3
  281. package/refs/vbenchmark/LICENSE +0 -47
  282. package/refs/vbenchmark/README.md +0 -354
  283. package/refs/vbenchmark/docker-compose.prod.yaml +0 -35
  284. package/refs/vbenchmark/docker-compose.yaml +0 -53
  285. package/refs/vbenchmark/docs/TASK_EXPANSION_PLAN.md +0 -211
  286. package/refs/vbenchmark/docs/THESIS.md +0 -441
  287. package/refs/vbenchmark/docs/categories/code-evolution.md +0 -138
  288. package/refs/vbenchmark/openspec/changes/init-vibecodingbench/design.md +0 -111
  289. package/refs/vbenchmark/openspec/changes/init-vibecodingbench/proposal.md +0 -15
  290. package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/evaluation/spec.md +0 -105
  291. package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/leaderboard/spec.md +0 -68
  292. package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/task-definition/spec.md +0 -45
  293. package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/task-runner/spec.md +0 -49
  294. package/refs/vbenchmark/openspec/changes/init-vibecodingbench/tasks.md +0 -413
  295. package/refs/vbenchmark/package.json +0 -51
  296. package/refs/vbenchmark/packages/cli/eslint.config.js +0 -16
  297. package/refs/vbenchmark/packages/cli/package.json +0 -35
  298. package/refs/vbenchmark/packages/cli/src/agents/index.ts +0 -655
  299. package/refs/vbenchmark/packages/cli/src/commands/eval.ts +0 -197
  300. package/refs/vbenchmark/packages/cli/src/commands/list.ts +0 -63
  301. package/refs/vbenchmark/packages/cli/src/commands/run.ts +0 -147
  302. package/refs/vbenchmark/packages/cli/src/evaluator.ts +0 -125
  303. package/refs/vbenchmark/packages/cli/src/index.ts +0 -21
  304. package/refs/vbenchmark/packages/cli/src/lib/task-variation.ts +0 -153
  305. package/refs/vbenchmark/packages/cli/src/loader.ts +0 -258
  306. package/refs/vbenchmark/packages/cli/src/reporter.ts +0 -222
  307. package/refs/vbenchmark/packages/cli/src/runtime/docker.ts +0 -385
  308. package/refs/vbenchmark/packages/cli/tsconfig.json +0 -8
  309. package/refs/vbenchmark/packages/dashboard/Dockerfile +0 -42
  310. package/refs/vbenchmark/packages/dashboard/index.html +0 -21
  311. package/refs/vbenchmark/packages/dashboard/package.json +0 -29
  312. package/refs/vbenchmark/packages/dashboard/postcss.config.js +0 -6
  313. package/refs/vbenchmark/packages/dashboard/public/favicon.svg +0 -24
  314. package/refs/vbenchmark/packages/dashboard/public/logo.png +0 -0
  315. package/refs/vbenchmark/packages/dashboard/public/logo.svg +0 -39
  316. package/refs/vbenchmark/packages/dashboard/src/App.tsx +0 -1468
  317. package/refs/vbenchmark/packages/dashboard/src/data/category-performance.json +0 -1
  318. package/refs/vbenchmark/packages/dashboard/src/data/leaderboard.json +0 -1
  319. package/refs/vbenchmark/packages/dashboard/src/data/task-results.json +0 -1
  320. package/refs/vbenchmark/packages/dashboard/src/data/tasks.json +0 -1
  321. package/refs/vbenchmark/packages/dashboard/src/index.css +0 -3
  322. package/refs/vbenchmark/packages/dashboard/src/main.tsx +0 -13
  323. package/refs/vbenchmark/packages/dashboard/src/vite-env.d.ts +0 -9
  324. package/refs/vbenchmark/packages/dashboard/tailwind.config.js +0 -11
  325. package/refs/vbenchmark/packages/dashboard/tsconfig.json +0 -21
  326. package/refs/vbenchmark/packages/dashboard/tsconfig.node.json +0 -11
  327. package/refs/vbenchmark/packages/dashboard/vercel.json +0 -6
  328. package/refs/vbenchmark/packages/dashboard/vite.config.ts +0 -28
  329. package/refs/vbenchmark/packages/evaluator/eslint.config.js +0 -16
  330. package/refs/vbenchmark/packages/evaluator/package.json +0 -24
  331. package/refs/vbenchmark/packages/evaluator/src/index.ts +0 -15
  332. package/refs/vbenchmark/packages/evaluator/src/runners/functional.ts +0 -88
  333. package/refs/vbenchmark/packages/evaluator/src/runners/quality.ts +0 -140
  334. package/refs/vbenchmark/packages/evaluator/src/runners/security.ts +0 -94
  335. package/refs/vbenchmark/packages/evaluator/src/runners/visual.ts +0 -108
  336. package/refs/vbenchmark/packages/evaluator/src/types.d.ts +0 -19
  337. package/refs/vbenchmark/packages/evaluator/tsconfig.json +0 -8
  338. package/refs/vbenchmark/packages/leaderboard/Dockerfile +0 -38
  339. package/refs/vbenchmark/packages/leaderboard/drizzle.config.ts +0 -10
  340. package/refs/vbenchmark/packages/leaderboard/eslint.config.js +0 -16
  341. package/refs/vbenchmark/packages/leaderboard/fly.toml +0 -29
  342. package/refs/vbenchmark/packages/leaderboard/package.json +0 -36
  343. package/refs/vbenchmark/packages/leaderboard/src/app.ts +0 -29
  344. package/refs/vbenchmark/packages/leaderboard/src/components/BrowserPreview.tsx +0 -190
  345. package/refs/vbenchmark/packages/leaderboard/src/components/ComparisonView.tsx +0 -205
  346. package/refs/vbenchmark/packages/leaderboard/src/components/LeaderboardTable.tsx +0 -150
  347. package/refs/vbenchmark/packages/leaderboard/src/components/LiveRunCard.tsx +0 -133
  348. package/refs/vbenchmark/packages/leaderboard/src/components/SubmissionForm.tsx +0 -406
  349. package/refs/vbenchmark/packages/leaderboard/src/components/SubmitForm.tsx +0 -293
  350. package/refs/vbenchmark/packages/leaderboard/src/components/TerminalStream.tsx +0 -111
  351. package/refs/vbenchmark/packages/leaderboard/src/config/pricing.ts +0 -206
  352. package/refs/vbenchmark/packages/leaderboard/src/db/index.ts +0 -31
  353. package/refs/vbenchmark/packages/leaderboard/src/db/schema.ts +0 -125
  354. package/refs/vbenchmark/packages/leaderboard/src/index.ts +0 -13
  355. package/refs/vbenchmark/packages/leaderboard/src/lib/websocket.ts +0 -124
  356. package/refs/vbenchmark/packages/leaderboard/src/routes/leaderboard.ts +0 -698
  357. package/refs/vbenchmark/packages/leaderboard/src/routes/live.ts +0 -175
  358. package/refs/vbenchmark/packages/leaderboard/src/routes/submissions.ts +0 -183
  359. package/refs/vbenchmark/packages/leaderboard/src/routes/tasks.ts +0 -215
  360. package/refs/vbenchmark/packages/leaderboard/tests/api.test.ts +0 -228
  361. package/refs/vbenchmark/packages/leaderboard/tsconfig.json +0 -9
  362. package/refs/vbenchmark/scripts/deploy.sh +0 -70
  363. package/refs/vbenchmark/tasks/ai-integration/advanced/context-management/PROMPT.md +0 -15
  364. package/refs/vbenchmark/tasks/ai-integration/advanced/context-management/task.yaml +0 -16
  365. package/refs/vbenchmark/tasks/ai-integration/advanced/evaluation-framework/PROMPT.md +0 -15
  366. package/refs/vbenchmark/tasks/ai-integration/advanced/evaluation-framework/task.yaml +0 -16
  367. package/refs/vbenchmark/tasks/ai-integration/advanced/guardrails-safety/PROMPT.md +0 -15
  368. package/refs/vbenchmark/tasks/ai-integration/advanced/guardrails-safety/task.yaml +0 -16
  369. package/refs/vbenchmark/tasks/ai-integration/advanced/memory-system/PROMPT.md +0 -15
  370. package/refs/vbenchmark/tasks/ai-integration/advanced/memory-system/task.yaml +0 -16
  371. package/refs/vbenchmark/tasks/ai-integration/advanced/model-routing/PROMPT.md +0 -15
  372. package/refs/vbenchmark/tasks/ai-integration/advanced/model-routing/task.yaml +0 -16
  373. package/refs/vbenchmark/tasks/ai-integration/advanced/multi-agent-system/PROMPT.md +0 -15
  374. package/refs/vbenchmark/tasks/ai-integration/advanced/multi-agent-system/task.yaml +0 -16
  375. package/refs/vbenchmark/tasks/ai-integration/advanced/prompt-optimization/PROMPT.md +0 -15
  376. package/refs/vbenchmark/tasks/ai-integration/advanced/prompt-optimization/task.yaml +0 -16
  377. package/refs/vbenchmark/tasks/ai-integration/advanced/reasoning-chain/PROMPT.md +0 -15
  378. package/refs/vbenchmark/tasks/ai-integration/advanced/reasoning-chain/task.yaml +0 -16
  379. package/refs/vbenchmark/tasks/ai-integration/advanced/streaming-pipeline/PROMPT.md +0 -15
  380. package/refs/vbenchmark/tasks/ai-integration/advanced/streaming-pipeline/task.yaml +0 -16
  381. package/refs/vbenchmark/tasks/ai-integration/advanced/tool-use-orchestration/PROMPT.md +0 -15
  382. package/refs/vbenchmark/tasks/ai-integration/advanced/tool-use-orchestration/task.yaml +0 -16
  383. package/refs/vbenchmark/tasks/ai-integration/agents/code-review-agent/PROMPT.md +0 -64
  384. package/refs/vbenchmark/tasks/ai-integration/agents/code-review-agent/task.yaml +0 -24
  385. package/refs/vbenchmark/tasks/ai-integration/agents/research-agent/PROMPT.md +0 -61
  386. package/refs/vbenchmark/tasks/ai-integration/agents/research-agent/task.yaml +0 -24
  387. package/refs/vbenchmark/tasks/ai-integration/agents/web-scraper-agent/PROMPT.md +0 -57
  388. package/refs/vbenchmark/tasks/ai-integration/agents/web-scraper-agent/task.yaml +0 -24
  389. package/refs/vbenchmark/tasks/ai-integration/embeddings/duplicate-detection/PROMPT.md +0 -50
  390. package/refs/vbenchmark/tasks/ai-integration/embeddings/duplicate-detection/task.yaml +0 -24
  391. package/refs/vbenchmark/tasks/ai-integration/embeddings/recommendation-engine/PROMPT.md +0 -51
  392. package/refs/vbenchmark/tasks/ai-integration/embeddings/recommendation-engine/task.yaml +0 -24
  393. package/refs/vbenchmark/tasks/ai-integration/embeddings/semantic-search/PROMPT.md +0 -50
  394. package/refs/vbenchmark/tasks/ai-integration/embeddings/semantic-search/task.yaml +0 -24
  395. package/refs/vbenchmark/tasks/ai-integration/fine-tuning/classification-model/PROMPT.md +0 -50
  396. package/refs/vbenchmark/tasks/ai-integration/fine-tuning/classification-model/task.yaml +0 -24
  397. package/refs/vbenchmark/tasks/ai-integration/function-calling/api-orchestrator/PROMPT.md +0 -60
  398. package/refs/vbenchmark/tasks/ai-integration/function-calling/api-orchestrator/task.yaml +0 -24
  399. package/refs/vbenchmark/tasks/ai-integration/function-calling/calendar-assistant/PROMPT.md +0 -50
  400. package/refs/vbenchmark/tasks/ai-integration/function-calling/calendar-assistant/task.yaml +0 -24
  401. package/refs/vbenchmark/tasks/ai-integration/function-calling/database-query/PROMPT.md +0 -62
  402. package/refs/vbenchmark/tasks/ai-integration/function-calling/database-query/task.yaml +0 -24
  403. package/refs/vbenchmark/tasks/ai-integration/multimodal/chart-interpreter/PROMPT.md +0 -60
  404. package/refs/vbenchmark/tasks/ai-integration/multimodal/chart-interpreter/task.yaml +0 -24
  405. package/refs/vbenchmark/tasks/ai-integration/multimodal/image-captioning/PROMPT.md +0 -49
  406. package/refs/vbenchmark/tasks/ai-integration/multimodal/image-captioning/task.yaml +0 -24
  407. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/code-assistant/PROMPT.md +0 -51
  408. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/code-assistant/task.yaml +0 -24
  409. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/doc-search/PROMPT.md +0 -51
  410. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/doc-search/task.yaml +0 -24
  411. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/PROMPT.md +0 -76
  412. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/docker-compose.yaml +0 -30
  413. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/task.yaml +0 -30
  414. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/tests/functional/qa.test.py +0 -146
  415. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/support-bot/PROMPT.md +0 -51
  416. package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/support-bot/task.yaml +0 -24
  417. package/refs/vbenchmark/tasks/ai-integration/structured-output/contract-analyzer/PROMPT.md +0 -67
  418. package/refs/vbenchmark/tasks/ai-integration/structured-output/contract-analyzer/task.yaml +0 -24
  419. package/refs/vbenchmark/tasks/ai-integration/structured-output/invoice-parser/PROMPT.md +0 -61
  420. package/refs/vbenchmark/tasks/ai-integration/structured-output/invoice-parser/task.yaml +0 -27
  421. package/refs/vbenchmark/tasks/ai-integration/structured-output/receipt-scanner/PROMPT.md +0 -65
  422. package/refs/vbenchmark/tasks/ai-integration/structured-output/receipt-scanner/task.yaml +0 -24
  423. package/refs/vbenchmark/tasks/ai-integration/structured-output/resume-parser/PROMPT.md +0 -70
  424. package/refs/vbenchmark/tasks/ai-integration/structured-output/resume-parser/task.yaml +0 -24
  425. package/refs/vbenchmark/tasks/api-integrations/advanced/api-analytics/PROMPT.md +0 -15
  426. package/refs/vbenchmark/tasks/api-integrations/advanced/api-analytics/task.yaml +0 -16
  427. package/refs/vbenchmark/tasks/api-integrations/advanced/api-gateway/PROMPT.md +0 -15
  428. package/refs/vbenchmark/tasks/api-integrations/advanced/api-gateway/task.yaml +0 -16
  429. package/refs/vbenchmark/tasks/api-integrations/advanced/api-mocking/PROMPT.md +0 -15
  430. package/refs/vbenchmark/tasks/api-integrations/advanced/api-mocking/task.yaml +0 -16
  431. package/refs/vbenchmark/tasks/api-integrations/advanced/contract-testing/PROMPT.md +0 -15
  432. package/refs/vbenchmark/tasks/api-integrations/advanced/contract-testing/task.yaml +0 -16
  433. package/refs/vbenchmark/tasks/api-integrations/advanced/graphql-federation/PROMPT.md +0 -15
  434. package/refs/vbenchmark/tasks/api-integrations/advanced/graphql-federation/task.yaml +0 -16
  435. package/refs/vbenchmark/tasks/api-integrations/advanced/grpc-gateway/PROMPT.md +0 -15
  436. package/refs/vbenchmark/tasks/api-integrations/advanced/grpc-gateway/task.yaml +0 -16
  437. package/refs/vbenchmark/tasks/api-integrations/advanced/rate-limiter/PROMPT.md +0 -15
  438. package/refs/vbenchmark/tasks/api-integrations/advanced/rate-limiter/task.yaml +0 -16
  439. package/refs/vbenchmark/tasks/api-integrations/advanced/request-validator/PROMPT.md +0 -15
  440. package/refs/vbenchmark/tasks/api-integrations/advanced/request-validator/task.yaml +0 -16
  441. package/refs/vbenchmark/tasks/api-integrations/advanced/sdk-generator/PROMPT.md +0 -15
  442. package/refs/vbenchmark/tasks/api-integrations/advanced/sdk-generator/task.yaml +0 -16
  443. package/refs/vbenchmark/tasks/api-integrations/advanced/webhook-processor/PROMPT.md +0 -15
  444. package/refs/vbenchmark/tasks/api-integrations/advanced/webhook-processor/task.yaml +0 -16
  445. package/refs/vbenchmark/tasks/api-integrations/analytics/mixpanel-events/PROMPT.md +0 -42
  446. package/refs/vbenchmark/tasks/api-integrations/analytics/mixpanel-events/task.yaml +0 -24
  447. package/refs/vbenchmark/tasks/api-integrations/analytics/segment-tracking/PROMPT.md +0 -42
  448. package/refs/vbenchmark/tasks/api-integrations/analytics/segment-tracking/task.yaml +0 -24
  449. package/refs/vbenchmark/tasks/api-integrations/auth-provider/oauth2-github/PROMPT.md +0 -42
  450. package/refs/vbenchmark/tasks/api-integrations/auth-provider/oauth2-github/task.yaml +0 -24
  451. package/refs/vbenchmark/tasks/api-integrations/auth-provider/okta-integration/PROMPT.md +0 -44
  452. package/refs/vbenchmark/tasks/api-integrations/auth-provider/okta-integration/task.yaml +0 -24
  453. package/refs/vbenchmark/tasks/api-integrations/auth-provider/saml-sso/PROMPT.md +0 -42
  454. package/refs/vbenchmark/tasks/api-integrations/auth-provider/saml-sso/task.yaml +0 -24
  455. package/refs/vbenchmark/tasks/api-integrations/communication/discord-webhook/PROMPT.md +0 -44
  456. package/refs/vbenchmark/tasks/api-integrations/communication/discord-webhook/task.yaml +0 -24
  457. package/refs/vbenchmark/tasks/api-integrations/communication/slack-bot/PROMPT.md +0 -42
  458. package/refs/vbenchmark/tasks/api-integrations/communication/slack-bot/task.yaml +0 -24
  459. package/refs/vbenchmark/tasks/api-integrations/communication/twilio-sms/PROMPT.md +0 -42
  460. package/refs/vbenchmark/tasks/api-integrations/communication/twilio-sms/task.yaml +0 -24
  461. package/refs/vbenchmark/tasks/api-integrations/email/transactional/PROMPT.md +0 -82
  462. package/refs/vbenchmark/tasks/api-integrations/email/transactional/task.yaml +0 -27
  463. package/refs/vbenchmark/tasks/api-integrations/maps/google-maps-geocoding/PROMPT.md +0 -41
  464. package/refs/vbenchmark/tasks/api-integrations/maps/google-maps-geocoding/task.yaml +0 -24
  465. package/refs/vbenchmark/tasks/api-integrations/maps/mapbox-directions/PROMPT.md +0 -41
  466. package/refs/vbenchmark/tasks/api-integrations/maps/mapbox-directions/task.yaml +0 -24
  467. package/refs/vbenchmark/tasks/api-integrations/payment/crypto-payments/PROMPT.md +0 -43
  468. package/refs/vbenchmark/tasks/api-integrations/payment/crypto-payments/task.yaml +0 -24
  469. package/refs/vbenchmark/tasks/api-integrations/payment/paypal-integration/PROMPT.md +0 -41
  470. package/refs/vbenchmark/tasks/api-integrations/payment/paypal-integration/task.yaml +0 -24
  471. package/refs/vbenchmark/tasks/api-integrations/social/twitter-api/PROMPT.md +0 -41
  472. package/refs/vbenchmark/tasks/api-integrations/social/twitter-api/task.yaml +0 -24
  473. package/refs/vbenchmark/tasks/api-integrations/storage/cloudinary-upload/PROMPT.md +0 -43
  474. package/refs/vbenchmark/tasks/api-integrations/storage/cloudinary-upload/task.yaml +0 -24
  475. package/refs/vbenchmark/tasks/api-integrations/storage/gcs-streaming/PROMPT.md +0 -43
  476. package/refs/vbenchmark/tasks/api-integrations/storage/gcs-streaming/task.yaml +0 -24
  477. package/refs/vbenchmark/tasks/api-integrations/storage/s3-presigned-urls/PROMPT.md +0 -41
  478. package/refs/vbenchmark/tasks/api-integrations/storage/s3-presigned-urls/task.yaml +0 -24
  479. package/refs/vbenchmark/tasks/api-integrations/stripe/checkout-session/PROMPT.md +0 -41
  480. package/refs/vbenchmark/tasks/api-integrations/stripe/checkout-session/task.yaml +0 -24
  481. package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/PROMPT.md +0 -60
  482. package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/docker-compose.yaml +0 -38
  483. package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/task.yaml +0 -31
  484. package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/tests/webhook.test.ts +0 -193
  485. package/refs/vbenchmark/tasks/api-integrations/stripe/subscription-portal/PROMPT.md +0 -41
  486. package/refs/vbenchmark/tasks/api-integrations/stripe/subscription-portal/task.yaml +0 -24
  487. package/refs/vbenchmark/tasks/code-evolution/advanced/api-deprecation/PROMPT.md +0 -15
  488. package/refs/vbenchmark/tasks/code-evolution/advanced/api-deprecation/task.yaml +0 -16
  489. package/refs/vbenchmark/tasks/code-evolution/advanced/ast-refactoring/PROMPT.md +0 -15
  490. package/refs/vbenchmark/tasks/code-evolution/advanced/ast-refactoring/task.yaml +0 -16
  491. package/refs/vbenchmark/tasks/code-evolution/advanced/concurrency-fix/PROMPT.md +0 -15
  492. package/refs/vbenchmark/tasks/code-evolution/advanced/concurrency-fix/task.yaml +0 -16
  493. package/refs/vbenchmark/tasks/code-evolution/advanced/database-schema-migration/PROMPT.md +0 -15
  494. package/refs/vbenchmark/tasks/code-evolution/advanced/database-schema-migration/task.yaml +0 -16
  495. package/refs/vbenchmark/tasks/code-evolution/advanced/dead-code-elimination/PROMPT.md +0 -15
  496. package/refs/vbenchmark/tasks/code-evolution/advanced/dead-code-elimination/task.yaml +0 -16
  497. package/refs/vbenchmark/tasks/code-evolution/advanced/dependency-upgrade/PROMPT.md +0 -15
  498. package/refs/vbenchmark/tasks/code-evolution/advanced/dependency-upgrade/task.yaml +0 -16
  499. package/refs/vbenchmark/tasks/code-evolution/advanced/memory-optimization/PROMPT.md +0 -15
  500. package/refs/vbenchmark/tasks/code-evolution/advanced/memory-optimization/task.yaml +0 -16
  501. package/refs/vbenchmark/tasks/code-evolution/advanced/monorepo-extraction/PROMPT.md +0 -15
  502. package/refs/vbenchmark/tasks/code-evolution/advanced/monorepo-extraction/task.yaml +0 -16
  503. package/refs/vbenchmark/tasks/code-evolution/advanced/performance-profiling/PROMPT.md +0 -15
  504. package/refs/vbenchmark/tasks/code-evolution/advanced/performance-profiling/task.yaml +0 -16
  505. package/refs/vbenchmark/tasks/code-evolution/advanced/type-migration/PROMPT.md +0 -15
  506. package/refs/vbenchmark/tasks/code-evolution/advanced/type-migration/task.yaml +0 -16
  507. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/callback-to-async/PROMPT.md +0 -47
  508. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/callback-to-async/task.yaml +0 -24
  509. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/PROMPT.md +0 -49
  510. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/base-code/src/app.ts +0 -22
  511. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/task.yaml +0 -37
  512. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/tests/api.test.ts +0 -70
  513. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/flask-to-fastapi/PROMPT.md +0 -46
  514. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/flask-to-fastapi/task.yaml +0 -24
  515. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/java-to-kotlin/PROMPT.md +0 -45
  516. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/java-to-kotlin/task.yaml +0 -24
  517. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/jquery-to-react/PROMPT.md +0 -47
  518. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/jquery-to-react/task.yaml +0 -24
  519. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/rest-to-grpc/PROMPT.md +0 -47
  520. package/refs/vbenchmark/tasks/code-evolution/legacy-migration/rest-to-grpc/task.yaml +0 -24
  521. package/refs/vbenchmark/tasks/code-evolution/performance/async-refactor/PROMPT.md +0 -47
  522. package/refs/vbenchmark/tasks/code-evolution/performance/async-refactor/task.yaml +0 -24
  523. package/refs/vbenchmark/tasks/code-evolution/performance/memory-leak-fix/PROMPT.md +0 -47
  524. package/refs/vbenchmark/tasks/code-evolution/performance/memory-leak-fix/task.yaml +0 -24
  525. package/refs/vbenchmark/tasks/code-evolution/performance/query-optimization/PROMPT.md +0 -49
  526. package/refs/vbenchmark/tasks/code-evolution/performance/query-optimization/task.yaml +0 -24
  527. package/refs/vbenchmark/tasks/code-evolution/refactoring/class-to-hooks/PROMPT.md +0 -96
  528. package/refs/vbenchmark/tasks/code-evolution/refactoring/class-to-hooks/task.yaml +0 -27
  529. package/refs/vbenchmark/tasks/code-evolution/refactoring/dependency-injection/PROMPT.md +0 -47
  530. package/refs/vbenchmark/tasks/code-evolution/refactoring/dependency-injection/task.yaml +0 -24
  531. package/refs/vbenchmark/tasks/code-evolution/refactoring/error-handling/PROMPT.md +0 -48
  532. package/refs/vbenchmark/tasks/code-evolution/refactoring/error-handling/task.yaml +0 -24
  533. package/refs/vbenchmark/tasks/code-evolution/refactoring/monolith-to-modules/PROMPT.md +0 -50
  534. package/refs/vbenchmark/tasks/code-evolution/refactoring/monolith-to-modules/task.yaml +0 -24
  535. package/refs/vbenchmark/tasks/code-evolution/refactoring/orm-migration/PROMPT.md +0 -47
  536. package/refs/vbenchmark/tasks/code-evolution/refactoring/orm-migration/task.yaml +0 -24
  537. package/refs/vbenchmark/tasks/code-evolution/security/secrets-rotation/PROMPT.md +0 -49
  538. package/refs/vbenchmark/tasks/code-evolution/security/secrets-rotation/task.yaml +0 -24
  539. package/refs/vbenchmark/tasks/code-evolution/security/sql-injection-fix/PROMPT.md +0 -50
  540. package/refs/vbenchmark/tasks/code-evolution/security/sql-injection-fix/task.yaml +0 -24
  541. package/refs/vbenchmark/tasks/code-evolution/security/xss-prevention/PROMPT.md +0 -47
  542. package/refs/vbenchmark/tasks/code-evolution/security/xss-prevention/task.yaml +0 -24
  543. package/refs/vbenchmark/tasks/code-evolution/testing/add-unit-tests/PROMPT.md +0 -48
  544. package/refs/vbenchmark/tasks/code-evolution/testing/add-unit-tests/task.yaml +0 -24
  545. package/refs/vbenchmark/tasks/code-evolution/testing/e2e-playwright/PROMPT.md +0 -50
  546. package/refs/vbenchmark/tasks/code-evolution/testing/e2e-playwright/task.yaml +0 -24
  547. package/refs/vbenchmark/tasks/code-evolution/testing/pytest-fixtures/PROMPT.md +0 -47
  548. package/refs/vbenchmark/tasks/code-evolution/testing/pytest-fixtures/task.yaml +0 -24
  549. package/refs/vbenchmark/tasks/frontend/accessibility/keyboard-shortcuts/PROMPT.md +0 -44
  550. package/refs/vbenchmark/tasks/frontend/accessibility/keyboard-shortcuts/task.yaml +0 -24
  551. package/refs/vbenchmark/tasks/frontend/accessibility/screen-reader-nav/PROMPT.md +0 -44
  552. package/refs/vbenchmark/tasks/frontend/accessibility/screen-reader-nav/task.yaml +0 -24
  553. package/refs/vbenchmark/tasks/frontend/advanced/canvas-editor/PROMPT.md +0 -15
  554. package/refs/vbenchmark/tasks/frontend/advanced/canvas-editor/task.yaml +0 -16
  555. package/refs/vbenchmark/tasks/frontend/advanced/micro-frontend/PROMPT.md +0 -15
  556. package/refs/vbenchmark/tasks/frontend/advanced/micro-frontend/task.yaml +0 -16
  557. package/refs/vbenchmark/tasks/frontend/advanced/offline-first/PROMPT.md +0 -15
  558. package/refs/vbenchmark/tasks/frontend/advanced/offline-first/task.yaml +0 -16
  559. package/refs/vbenchmark/tasks/frontend/advanced/realtime-collab/PROMPT.md +0 -15
  560. package/refs/vbenchmark/tasks/frontend/advanced/realtime-collab/task.yaml +0 -16
  561. package/refs/vbenchmark/tasks/frontend/advanced/service-worker/PROMPT.md +0 -15
  562. package/refs/vbenchmark/tasks/frontend/advanced/service-worker/task.yaml +0 -16
  563. package/refs/vbenchmark/tasks/frontend/advanced/state-machine/PROMPT.md +0 -15
  564. package/refs/vbenchmark/tasks/frontend/advanced/state-machine/task.yaml +0 -16
  565. package/refs/vbenchmark/tasks/frontend/advanced/virtual-list/PROMPT.md +0 -15
  566. package/refs/vbenchmark/tasks/frontend/advanced/virtual-list/task.yaml +0 -16
  567. package/refs/vbenchmark/tasks/frontend/advanced/wasm-integration/PROMPT.md +0 -15
  568. package/refs/vbenchmark/tasks/frontend/advanced/wasm-integration/task.yaml +0 -16
  569. package/refs/vbenchmark/tasks/frontend/advanced/web-worker/PROMPT.md +0 -15
  570. package/refs/vbenchmark/tasks/frontend/advanced/web-worker/task.yaml +0 -16
  571. package/refs/vbenchmark/tasks/frontend/advanced/webgl-visualization/PROMPT.md +0 -15
  572. package/refs/vbenchmark/tasks/frontend/advanced/webgl-visualization/task.yaml +0 -16
  573. package/refs/vbenchmark/tasks/frontend/animation/page-transitions/PROMPT.md +0 -44
  574. package/refs/vbenchmark/tasks/frontend/animation/page-transitions/task.yaml +0 -24
  575. package/refs/vbenchmark/tasks/frontend/components/data-grid/PROMPT.md +0 -59
  576. package/refs/vbenchmark/tasks/frontend/components/data-grid/task.yaml +0 -24
  577. package/refs/vbenchmark/tasks/frontend/components/date-range-picker/PROMPT.md +0 -57
  578. package/refs/vbenchmark/tasks/frontend/components/date-range-picker/task.yaml +0 -24
  579. package/refs/vbenchmark/tasks/frontend/components/file-uploader/PROMPT.md +0 -55
  580. package/refs/vbenchmark/tasks/frontend/components/file-uploader/task.yaml +0 -24
  581. package/refs/vbenchmark/tasks/frontend/components/form-builder/PROMPT.md +0 -96
  582. package/refs/vbenchmark/tasks/frontend/components/form-builder/task.yaml +0 -28
  583. package/refs/vbenchmark/tasks/frontend/components/rich-text-editor/PROMPT.md +0 -45
  584. package/refs/vbenchmark/tasks/frontend/components/rich-text-editor/task.yaml +0 -24
  585. package/refs/vbenchmark/tasks/frontend/figma-to-code/dashboard-layout/PROMPT.md +0 -50
  586. package/refs/vbenchmark/tasks/frontend/figma-to-code/dashboard-layout/task.yaml +0 -25
  587. package/refs/vbenchmark/tasks/frontend/figma-to-code/landing-page/PROMPT.md +0 -49
  588. package/refs/vbenchmark/tasks/frontend/figma-to-code/landing-page/task.yaml +0 -25
  589. package/refs/vbenchmark/tasks/frontend/figma-to-code/mobile-app-screen/PROMPT.md +0 -51
  590. package/refs/vbenchmark/tasks/frontend/figma-to-code/mobile-app-screen/task.yaml +0 -24
  591. package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/PROMPT.md +0 -93
  592. package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/docker-compose.yaml +0 -23
  593. package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/task.yaml +0 -30
  594. package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/tests/visual/diff.test.ts +0 -107
  595. package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/tests/visual/interaction.test.ts +0 -88
  596. package/refs/vbenchmark/tasks/frontend/performance/image-lazy-load/PROMPT.md +0 -43
  597. package/refs/vbenchmark/tasks/frontend/performance/image-lazy-load/task.yaml +0 -24
  598. package/refs/vbenchmark/tasks/frontend/performance/infinite-scroll/PROMPT.md +0 -44
  599. package/refs/vbenchmark/tasks/frontend/performance/infinite-scroll/task.yaml +0 -24
  600. package/refs/vbenchmark/tasks/frontend/state-management/collaborative-editor/PROMPT.md +0 -44
  601. package/refs/vbenchmark/tasks/frontend/state-management/collaborative-editor/task.yaml +0 -24
  602. package/refs/vbenchmark/tasks/frontend/state-management/shopping-cart/PROMPT.md +0 -53
  603. package/refs/vbenchmark/tasks/frontend/state-management/shopping-cart/task.yaml +0 -24
  604. package/refs/vbenchmark/tasks/frontend/visualization/chart-dashboard/PROMPT.md +0 -83
  605. package/refs/vbenchmark/tasks/frontend/visualization/chart-dashboard/task.yaml +0 -28
  606. package/refs/vbenchmark/tasks/frontend/visualization/gantt-chart/PROMPT.md +0 -57
  607. package/refs/vbenchmark/tasks/frontend/visualization/gantt-chart/task.yaml +0 -24
  608. package/refs/vbenchmark/tasks/frontend/visualization/map-dashboard/PROMPT.md +0 -44
  609. package/refs/vbenchmark/tasks/frontend/visualization/map-dashboard/task.yaml +0 -24
  610. package/refs/vbenchmark/tasks/frontend/visualization/realtime-charts/PROMPT.md +0 -43
  611. package/refs/vbenchmark/tasks/frontend/visualization/realtime-charts/task.yaml +0 -24
  612. package/refs/vbenchmark/tasks/glue-code/advanced/blue-green-deploy/PROMPT.md +0 -15
  613. package/refs/vbenchmark/tasks/glue-code/advanced/blue-green-deploy/task.yaml +0 -16
  614. package/refs/vbenchmark/tasks/glue-code/advanced/canary-release/PROMPT.md +0 -15
  615. package/refs/vbenchmark/tasks/glue-code/advanced/canary-release/task.yaml +0 -16
  616. package/refs/vbenchmark/tasks/glue-code/advanced/change-data-capture/PROMPT.md +0 -15
  617. package/refs/vbenchmark/tasks/glue-code/advanced/change-data-capture/task.yaml +0 -16
  618. package/refs/vbenchmark/tasks/glue-code/advanced/config-management/PROMPT.md +0 -15
  619. package/refs/vbenchmark/tasks/glue-code/advanced/config-management/task.yaml +0 -16
  620. package/refs/vbenchmark/tasks/glue-code/advanced/data-pipeline/PROMPT.md +0 -15
  621. package/refs/vbenchmark/tasks/glue-code/advanced/data-pipeline/task.yaml +0 -16
  622. package/refs/vbenchmark/tasks/glue-code/advanced/distributed-tracing/PROMPT.md +0 -15
  623. package/refs/vbenchmark/tasks/glue-code/advanced/distributed-tracing/task.yaml +0 -16
  624. package/refs/vbenchmark/tasks/glue-code/advanced/log-aggregation/PROMPT.md +0 -15
  625. package/refs/vbenchmark/tasks/glue-code/advanced/log-aggregation/task.yaml +0 -16
  626. package/refs/vbenchmark/tasks/glue-code/advanced/schema-registry/PROMPT.md +0 -15
  627. package/refs/vbenchmark/tasks/glue-code/advanced/schema-registry/task.yaml +0 -16
  628. package/refs/vbenchmark/tasks/glue-code/advanced/secret-rotation/PROMPT.md +0 -15
  629. package/refs/vbenchmark/tasks/glue-code/advanced/secret-rotation/task.yaml +0 -16
  630. package/refs/vbenchmark/tasks/glue-code/advanced/stream-processing/PROMPT.md +0 -15
  631. package/refs/vbenchmark/tasks/glue-code/advanced/stream-processing/task.yaml +0 -16
  632. package/refs/vbenchmark/tasks/glue-code/api-sync/rest-to-graphql/PROMPT.md +0 -66
  633. package/refs/vbenchmark/tasks/glue-code/api-sync/rest-to-graphql/task.yaml +0 -27
  634. package/refs/vbenchmark/tasks/glue-code/caching/redis-cache/PROMPT.md +0 -82
  635. package/refs/vbenchmark/tasks/glue-code/caching/redis-cache/task.yaml +0 -27
  636. package/refs/vbenchmark/tasks/glue-code/data-transform/avro-schema-evolution/PROMPT.md +0 -51
  637. package/refs/vbenchmark/tasks/glue-code/data-transform/avro-schema-evolution/task.yaml +0 -24
  638. package/refs/vbenchmark/tasks/glue-code/data-transform/csv-normalizer/PROMPT.md +0 -49
  639. package/refs/vbenchmark/tasks/glue-code/data-transform/csv-normalizer/task.yaml +0 -24
  640. package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/PROMPT.md +0 -67
  641. package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/task.yaml +0 -28
  642. package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/tests/transform.test.py +0 -137
  643. package/refs/vbenchmark/tasks/glue-code/data-transform/json-to-xml/PROMPT.md +0 -45
  644. package/refs/vbenchmark/tasks/glue-code/data-transform/json-to-xml/task.yaml +0 -24
  645. package/refs/vbenchmark/tasks/glue-code/data-transform/protobuf-converter/PROMPT.md +0 -44
  646. package/refs/vbenchmark/tasks/glue-code/data-transform/protobuf-converter/task.yaml +0 -24
  647. package/refs/vbenchmark/tasks/glue-code/etl/cdc-pipeline/PROMPT.md +0 -52
  648. package/refs/vbenchmark/tasks/glue-code/etl/cdc-pipeline/task.yaml +0 -27
  649. package/refs/vbenchmark/tasks/glue-code/etl/database-sync/PROMPT.md +0 -51
  650. package/refs/vbenchmark/tasks/glue-code/etl/database-sync/task.yaml +0 -24
  651. package/refs/vbenchmark/tasks/glue-code/etl/s3-to-warehouse/PROMPT.md +0 -50
  652. package/refs/vbenchmark/tasks/glue-code/etl/s3-to-warehouse/task.yaml +0 -24
  653. package/refs/vbenchmark/tasks/glue-code/file-processing/image-resizer/PROMPT.md +0 -52
  654. package/refs/vbenchmark/tasks/glue-code/file-processing/image-resizer/task.yaml +0 -24
  655. package/refs/vbenchmark/tasks/glue-code/file-processing/pdf-merger/PROMPT.md +0 -50
  656. package/refs/vbenchmark/tasks/glue-code/file-processing/pdf-merger/task.yaml +0 -24
  657. package/refs/vbenchmark/tasks/glue-code/file-processing/video-transcoder/PROMPT.md +0 -50
  658. package/refs/vbenchmark/tasks/glue-code/file-processing/video-transcoder/task.yaml +0 -27
  659. package/refs/vbenchmark/tasks/glue-code/migration/data-backfill/PROMPT.md +0 -50
  660. package/refs/vbenchmark/tasks/glue-code/migration/data-backfill/task.yaml +0 -24
  661. package/refs/vbenchmark/tasks/glue-code/migration/database-versioning/PROMPT.md +0 -50
  662. package/refs/vbenchmark/tasks/glue-code/migration/database-versioning/task.yaml +0 -24
  663. package/refs/vbenchmark/tasks/glue-code/queue/kafka-producer/PROMPT.md +0 -49
  664. package/refs/vbenchmark/tasks/glue-code/queue/kafka-producer/task.yaml +0 -27
  665. package/refs/vbenchmark/tasks/glue-code/queue/rabbitmq-consumer/PROMPT.md +0 -50
  666. package/refs/vbenchmark/tasks/glue-code/queue/rabbitmq-consumer/task.yaml +0 -27
  667. package/refs/vbenchmark/tasks/glue-code/queue/sqs-batch-processor/PROMPT.md +0 -47
  668. package/refs/vbenchmark/tasks/glue-code/queue/sqs-batch-processor/task.yaml +0 -24
  669. package/refs/vbenchmark/tasks/glue-code/scheduler/cron-job-manager/PROMPT.md +0 -52
  670. package/refs/vbenchmark/tasks/glue-code/scheduler/cron-job-manager/task.yaml +0 -27
  671. package/refs/vbenchmark/tasks/glue-code/scheduler/delayed-tasks/PROMPT.md +0 -51
  672. package/refs/vbenchmark/tasks/glue-code/scheduler/delayed-tasks/task.yaml +0 -27
  673. package/refs/vbenchmark/tasks/saas-core/advanced/api-versioning/PROMPT.md +0 -15
  674. package/refs/vbenchmark/tasks/saas-core/advanced/api-versioning/task.yaml +0 -16
  675. package/refs/vbenchmark/tasks/saas-core/advanced/circuit-breaker/PROMPT.md +0 -13
  676. package/refs/vbenchmark/tasks/saas-core/advanced/circuit-breaker/task.yaml +0 -16
  677. package/refs/vbenchmark/tasks/saas-core/advanced/compliance-gdpr/PROMPT.md +0 -15
  678. package/refs/vbenchmark/tasks/saas-core/advanced/compliance-gdpr/task.yaml +0 -16
  679. package/refs/vbenchmark/tasks/saas-core/advanced/cqrs-pattern/PROMPT.md +0 -13
  680. package/refs/vbenchmark/tasks/saas-core/advanced/cqrs-pattern/task.yaml +0 -16
  681. package/refs/vbenchmark/tasks/saas-core/advanced/data-encryption/PROMPT.md +0 -15
  682. package/refs/vbenchmark/tasks/saas-core/advanced/data-encryption/task.yaml +0 -16
  683. package/refs/vbenchmark/tasks/saas-core/advanced/distributed-locking/PROMPT.md +0 -46
  684. package/refs/vbenchmark/tasks/saas-core/advanced/distributed-locking/task.yaml +0 -24
  685. package/refs/vbenchmark/tasks/saas-core/advanced/event-sourcing/PROMPT.md +0 -23
  686. package/refs/vbenchmark/tasks/saas-core/advanced/event-sourcing/task.yaml +0 -16
  687. package/refs/vbenchmark/tasks/saas-core/advanced/feature-flags-ab/PROMPT.md +0 -15
  688. package/refs/vbenchmark/tasks/saas-core/advanced/feature-flags-ab/task.yaml +0 -16
  689. package/refs/vbenchmark/tasks/saas-core/advanced/saga-orchestration/PROMPT.md +0 -13
  690. package/refs/vbenchmark/tasks/saas-core/advanced/saga-orchestration/task.yaml +0 -16
  691. package/refs/vbenchmark/tasks/saas-core/advanced/webhook-delivery/PROMPT.md +0 -15
  692. package/refs/vbenchmark/tasks/saas-core/advanced/webhook-delivery/task.yaml +0 -16
  693. package/refs/vbenchmark/tasks/saas-core/audit/activity-logging/PROMPT.md +0 -50
  694. package/refs/vbenchmark/tasks/saas-core/audit/activity-logging/task.yaml +0 -27
  695. package/refs/vbenchmark/tasks/saas-core/auth/jwt-refresh-tokens/PROMPT.md +0 -50
  696. package/refs/vbenchmark/tasks/saas-core/auth/jwt-refresh-tokens/task.yaml +0 -27
  697. package/refs/vbenchmark/tasks/saas-core/auth/magic-link-email/PROMPT.md +0 -53
  698. package/refs/vbenchmark/tasks/saas-core/auth/magic-link-email/task.yaml +0 -27
  699. package/refs/vbenchmark/tasks/saas-core/auth/mfa-totp/PROMPT.md +0 -79
  700. package/refs/vbenchmark/tasks/saas-core/auth/mfa-totp/task.yaml +0 -27
  701. package/refs/vbenchmark/tasks/saas-core/auth/rbac-permissions/PROMPT.md +0 -51
  702. package/refs/vbenchmark/tasks/saas-core/auth/rbac-permissions/task.yaml +0 -27
  703. package/refs/vbenchmark/tasks/saas-core/auth/session-management/PROMPT.md +0 -52
  704. package/refs/vbenchmark/tasks/saas-core/auth/session-management/task.yaml +0 -27
  705. package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/PROMPT.md +0 -45
  706. package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/docker-compose.yaml +0 -47
  707. package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/task.yaml +0 -32
  708. package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/tests/auth.test.ts +0 -59
  709. package/refs/vbenchmark/tasks/saas-core/billing/invoice-generation/PROMPT.md +0 -53
  710. package/refs/vbenchmark/tasks/saas-core/billing/invoice-generation/task.yaml +0 -27
  711. package/refs/vbenchmark/tasks/saas-core/billing/stripe-subscriptions/PROMPT.md +0 -51
  712. package/refs/vbenchmark/tasks/saas-core/billing/stripe-subscriptions/task.yaml +0 -27
  713. package/refs/vbenchmark/tasks/saas-core/billing/usage-metering/PROMPT.md +0 -52
  714. package/refs/vbenchmark/tasks/saas-core/billing/usage-metering/task.yaml +0 -27
  715. package/refs/vbenchmark/tasks/saas-core/crud/dashboard-table/PROMPT.md +0 -48
  716. package/refs/vbenchmark/tasks/saas-core/crud/dashboard-table/task.yaml +0 -28
  717. package/refs/vbenchmark/tasks/saas-core/multi-tenant/org-isolation/PROMPT.md +0 -50
  718. package/refs/vbenchmark/tasks/saas-core/multi-tenant/org-isolation/task.yaml +0 -27
  719. package/refs/vbenchmark/tasks/saas-core/multi-tenant/subdomain-routing/PROMPT.md +0 -50
  720. package/refs/vbenchmark/tasks/saas-core/multi-tenant/subdomain-routing/task.yaml +0 -27
  721. package/refs/vbenchmark/tasks/saas-core/notifications/email-queue/PROMPT.md +0 -53
  722. package/refs/vbenchmark/tasks/saas-core/notifications/email-queue/task.yaml +0 -27
  723. package/refs/vbenchmark/tasks/saas-core/notifications/in-app-alerts/PROMPT.md +0 -51
  724. package/refs/vbenchmark/tasks/saas-core/notifications/in-app-alerts/task.yaml +0 -27
  725. package/refs/vbenchmark/tasks/saas-core/notifications/push-notifications/PROMPT.md +0 -51
  726. package/refs/vbenchmark/tasks/saas-core/notifications/push-notifications/task.yaml +0 -27
  727. package/refs/vbenchmark/tasks/saas-core/realtime/websocket-chat/PROMPT.md +0 -80
  728. package/refs/vbenchmark/tasks/saas-core/realtime/websocket-chat/task.yaml +0 -27
  729. package/refs/vbenchmark/tasks/saas-core/search/full-text-search/PROMPT.md +0 -51
  730. package/refs/vbenchmark/tasks/saas-core/search/full-text-search/task.yaml +0 -27
  731. package/refs/vbenchmark/tasks/saas-core/security/rate-limiter/PROMPT.md +0 -99
  732. package/refs/vbenchmark/tasks/saas-core/security/rate-limiter/task.yaml +0 -27
  733. package/refs/vbenchmark/tasks/saas-core/settings/user-preferences/PROMPT.md +0 -78
  734. package/refs/vbenchmark/tasks/saas-core/settings/user-preferences/task.yaml +0 -27
  735. package/refs/vbenchmark/templates/fastapi-postgres/docker-compose.yaml +0 -36
  736. package/refs/vbenchmark/templates/fastapi-postgres/pyproject.toml +0 -34
  737. package/refs/vbenchmark/templates/fastapi-postgres/src/__init__.py +0 -0
  738. package/refs/vbenchmark/templates/fastapi-postgres/src/config.py +0 -12
  739. package/refs/vbenchmark/templates/fastapi-postgres/src/database.py +0 -15
  740. package/refs/vbenchmark/templates/fastapi-postgres/src/main.py +0 -51
  741. package/refs/vbenchmark/templates/fastapi-postgres/src/models.py +0 -12
  742. package/refs/vbenchmark/templates/fastapi-postgres/src/schemas.py +0 -20
  743. package/refs/vbenchmark/templates/go-fiber/docker-compose.yaml +0 -34
  744. package/refs/vbenchmark/templates/go-fiber/go.mod +0 -33
  745. package/refs/vbenchmark/templates/go-fiber/go.sum +0 -68
  746. package/refs/vbenchmark/templates/go-fiber/main.go +0 -98
  747. package/refs/vbenchmark/templates/nextjs-supabase/.env.example +0 -3
  748. package/refs/vbenchmark/templates/nextjs-supabase/docker-compose.yaml +0 -68
  749. package/refs/vbenchmark/templates/nextjs-supabase/src/app/globals.css +0 -13
  750. package/refs/vbenchmark/templates/nextjs-supabase/src/app/layout.tsx +0 -19
  751. package/refs/vbenchmark/templates/nextjs-supabase/src/app/page.tsx +0 -38
  752. package/refs/vbenchmark/templates/nextjs-supabase/src/lib/supabase/client.ts +0 -8
  753. package/refs/vbenchmark/templates/nextjs-supabase/src/lib/supabase/server.ts +0 -32
  754. package/refs/vbenchmark/templates/rust-axum/Cargo.lock +0 -2371
  755. package/refs/vbenchmark/templates/rust-axum/Cargo.toml +0 -16
  756. package/refs/vbenchmark/templates/rust-axum/docker-compose.yaml +0 -34
  757. package/refs/vbenchmark/templates/rust-axum/migrations/20240101000000_init.sql +0 -20
  758. package/refs/vbenchmark/templates/rust-axum/src/main.rs +0 -121
  759. package/refs/vbenchmark/tsconfig.base.json +0 -18
  760. package/refs/vbenchmark/turbo.json +0 -23
  761. package/refs/vbenchmark/vercel.json +0 -10
@@ -1,661 +0,0 @@
1
- /**
2
- * GSD Tools Tests - Commands
3
- */
4
-
5
- const { test, describe, beforeEach, afterEach } = require('node:test');
6
- const assert = require('node:assert');
7
- const fs = require('fs');
8
- const path = require('path');
9
- const { runGsdTools, createTempProject, cleanup } = require('./helpers.cjs');
10
-
11
- describe('history-digest command', () => {
12
- let tmpDir;
13
-
14
- beforeEach(() => {
15
- tmpDir = createTempProject();
16
- });
17
-
18
- afterEach(() => {
19
- cleanup(tmpDir);
20
- });
21
-
22
- test('empty phases directory returns valid schema', () => {
23
- const result = runGsdTools('history-digest', tmpDir);
24
- assert.ok(result.success, `Command failed: ${result.error}`);
25
-
26
- const digest = JSON.parse(result.output);
27
-
28
- assert.deepStrictEqual(digest.phases, {}, 'phases should be empty object');
29
- assert.deepStrictEqual(digest.decisions, [], 'decisions should be empty array');
30
- assert.deepStrictEqual(digest.tech_stack, [], 'tech_stack should be empty array');
31
- });
32
-
33
- test('nested frontmatter fields extracted correctly', () => {
34
- // Create phase directory with SUMMARY containing nested frontmatter
35
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-foundation');
36
- fs.mkdirSync(phaseDir, { recursive: true });
37
-
38
- const summaryContent = `---
39
- phase: "01"
40
- name: "Foundation Setup"
41
- dependency-graph:
42
- provides:
43
- - "Database schema"
44
- - "Auth system"
45
- affects:
46
- - "API layer"
47
- tech-stack:
48
- added:
49
- - "prisma"
50
- - "jose"
51
- patterns-established:
52
- - "Repository pattern"
53
- - "JWT auth flow"
54
- key-decisions:
55
- - "Use Prisma over Drizzle"
56
- - "JWT in httpOnly cookies"
57
- ---
58
-
59
- # Summary content here
60
- `;
61
-
62
- fs.writeFileSync(path.join(phaseDir, '01-01-SUMMARY.md'), summaryContent);
63
-
64
- const result = runGsdTools('history-digest', tmpDir);
65
- assert.ok(result.success, `Command failed: ${result.error}`);
66
-
67
- const digest = JSON.parse(result.output);
68
-
69
- // Check nested dependency-graph.provides
70
- assert.ok(digest.phases['01'], 'Phase 01 should exist');
71
- assert.deepStrictEqual(
72
- digest.phases['01'].provides.sort(),
73
- ['Auth system', 'Database schema'],
74
- 'provides should contain nested values'
75
- );
76
-
77
- // Check nested dependency-graph.affects
78
- assert.deepStrictEqual(
79
- digest.phases['01'].affects,
80
- ['API layer'],
81
- 'affects should contain nested values'
82
- );
83
-
84
- // Check nested tech-stack.added
85
- assert.deepStrictEqual(
86
- digest.tech_stack.sort(),
87
- ['jose', 'prisma'],
88
- 'tech_stack should contain nested values'
89
- );
90
-
91
- // Check patterns-established (flat array)
92
- assert.deepStrictEqual(
93
- digest.phases['01'].patterns.sort(),
94
- ['JWT auth flow', 'Repository pattern'],
95
- 'patterns should be extracted'
96
- );
97
-
98
- // Check key-decisions
99
- assert.strictEqual(digest.decisions.length, 2, 'Should have 2 decisions');
100
- assert.ok(
101
- digest.decisions.some(d => d.decision === 'Use Prisma over Drizzle'),
102
- 'Should contain first decision'
103
- );
104
- });
105
-
106
- test('multiple phases merged into single digest', () => {
107
- // Create phase 01
108
- const phase01Dir = path.join(tmpDir, '.planning', 'phases', '01-foundation');
109
- fs.mkdirSync(phase01Dir, { recursive: true });
110
- fs.writeFileSync(
111
- path.join(phase01Dir, '01-01-SUMMARY.md'),
112
- `---
113
- phase: "01"
114
- name: "Foundation"
115
- provides:
116
- - "Database"
117
- patterns-established:
118
- - "Pattern A"
119
- key-decisions:
120
- - "Decision 1"
121
- ---
122
- `
123
- );
124
-
125
- // Create phase 02
126
- const phase02Dir = path.join(tmpDir, '.planning', 'phases', '02-api');
127
- fs.mkdirSync(phase02Dir, { recursive: true });
128
- fs.writeFileSync(
129
- path.join(phase02Dir, '02-01-SUMMARY.md'),
130
- `---
131
- phase: "02"
132
- name: "API"
133
- provides:
134
- - "REST endpoints"
135
- patterns-established:
136
- - "Pattern B"
137
- key-decisions:
138
- - "Decision 2"
139
- tech-stack:
140
- added:
141
- - "zod"
142
- ---
143
- `
144
- );
145
-
146
- const result = runGsdTools('history-digest', tmpDir);
147
- assert.ok(result.success, `Command failed: ${result.error}`);
148
-
149
- const digest = JSON.parse(result.output);
150
-
151
- // Both phases present
152
- assert.ok(digest.phases['01'], 'Phase 01 should exist');
153
- assert.ok(digest.phases['02'], 'Phase 02 should exist');
154
-
155
- // Decisions merged
156
- assert.strictEqual(digest.decisions.length, 2, 'Should have 2 decisions total');
157
-
158
- // Tech stack merged
159
- assert.deepStrictEqual(digest.tech_stack, ['zod'], 'tech_stack should have zod');
160
- });
161
-
162
- test('malformed SUMMARY.md skipped gracefully', () => {
163
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-test');
164
- fs.mkdirSync(phaseDir, { recursive: true });
165
-
166
- // Valid summary
167
- fs.writeFileSync(
168
- path.join(phaseDir, '01-01-SUMMARY.md'),
169
- `---
170
- phase: "01"
171
- provides:
172
- - "Valid feature"
173
- ---
174
- `
175
- );
176
-
177
- // Malformed summary (no frontmatter)
178
- fs.writeFileSync(
179
- path.join(phaseDir, '01-02-SUMMARY.md'),
180
- `# Just a heading
181
- No frontmatter here
182
- `
183
- );
184
-
185
- // Another malformed summary (broken YAML)
186
- fs.writeFileSync(
187
- path.join(phaseDir, '01-03-SUMMARY.md'),
188
- `---
189
- broken: [unclosed
190
- ---
191
- `
192
- );
193
-
194
- const result = runGsdTools('history-digest', tmpDir);
195
- assert.ok(result.success, `Command should succeed despite malformed files: ${result.error}`);
196
-
197
- const digest = JSON.parse(result.output);
198
- assert.ok(digest.phases['01'], 'Phase 01 should exist');
199
- assert.ok(
200
- digest.phases['01'].provides.includes('Valid feature'),
201
- 'Valid feature should be extracted'
202
- );
203
- });
204
-
205
- test('flat provides field still works (backward compatibility)', () => {
206
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-test');
207
- fs.mkdirSync(phaseDir, { recursive: true });
208
-
209
- fs.writeFileSync(
210
- path.join(phaseDir, '01-01-SUMMARY.md'),
211
- `---
212
- phase: "01"
213
- provides:
214
- - "Direct provides"
215
- ---
216
- `
217
- );
218
-
219
- const result = runGsdTools('history-digest', tmpDir);
220
- assert.ok(result.success, `Command failed: ${result.error}`);
221
-
222
- const digest = JSON.parse(result.output);
223
- assert.deepStrictEqual(
224
- digest.phases['01'].provides,
225
- ['Direct provides'],
226
- 'Direct provides should work'
227
- );
228
- });
229
-
230
- test('inline array syntax supported', () => {
231
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-test');
232
- fs.mkdirSync(phaseDir, { recursive: true });
233
-
234
- fs.writeFileSync(
235
- path.join(phaseDir, '01-01-SUMMARY.md'),
236
- `---
237
- phase: "01"
238
- provides: [Feature A, Feature B]
239
- patterns-established: ["Pattern X", "Pattern Y"]
240
- ---
241
- `
242
- );
243
-
244
- const result = runGsdTools('history-digest', tmpDir);
245
- assert.ok(result.success, `Command failed: ${result.error}`);
246
-
247
- const digest = JSON.parse(result.output);
248
- assert.deepStrictEqual(
249
- digest.phases['01'].provides.sort(),
250
- ['Feature A', 'Feature B'],
251
- 'Inline array should work'
252
- );
253
- assert.deepStrictEqual(
254
- digest.phases['01'].patterns.sort(),
255
- ['Pattern X', 'Pattern Y'],
256
- 'Inline quoted array should work'
257
- );
258
- });
259
- });
260
-
261
- // ─────────────────────────────────────────────────────────────────────────────
262
- // phases list command
263
- // ─────────────────────────────────────────────────────────────────────────────
264
-
265
-
266
- describe('summary-extract command', () => {
267
- let tmpDir;
268
-
269
- beforeEach(() => {
270
- tmpDir = createTempProject();
271
- });
272
-
273
- afterEach(() => {
274
- cleanup(tmpDir);
275
- });
276
-
277
- test('missing file returns error', () => {
278
- const result = runGsdTools('summary-extract .planning/phases/01-test/01-01-SUMMARY.md', tmpDir);
279
- assert.ok(result.success, `Command should succeed: ${result.error}`);
280
-
281
- const output = JSON.parse(result.output);
282
- assert.strictEqual(output.error, 'File not found', 'should report missing file');
283
- });
284
-
285
- test('extracts all fields from SUMMARY.md', () => {
286
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-foundation');
287
- fs.mkdirSync(phaseDir, { recursive: true });
288
-
289
- fs.writeFileSync(
290
- path.join(phaseDir, '01-01-SUMMARY.md'),
291
- `---
292
- one-liner: Set up Prisma with User and Project models
293
- key-files:
294
- - prisma/schema.prisma
295
- - src/lib/db.ts
296
- tech-stack:
297
- added:
298
- - prisma
299
- - zod
300
- patterns-established:
301
- - Repository pattern
302
- - Dependency injection
303
- key-decisions:
304
- - Use Prisma over Drizzle: Better DX and ecosystem
305
- - Single database: Start simple, shard later
306
- requirements-completed:
307
- - AUTH-01
308
- - AUTH-02
309
- ---
310
-
311
- # Summary
312
-
313
- Full summary content here.
314
- `
315
- );
316
-
317
- const result = runGsdTools('summary-extract .planning/phases/01-foundation/01-01-SUMMARY.md', tmpDir);
318
- assert.ok(result.success, `Command failed: ${result.error}`);
319
-
320
- const output = JSON.parse(result.output);
321
- assert.strictEqual(output.path, '.planning/phases/01-foundation/01-01-SUMMARY.md', 'path correct');
322
- assert.strictEqual(output.one_liner, 'Set up Prisma with User and Project models', 'one-liner extracted');
323
- assert.deepStrictEqual(output.key_files, ['prisma/schema.prisma', 'src/lib/db.ts'], 'key files extracted');
324
- assert.deepStrictEqual(output.tech_added, ['prisma', 'zod'], 'tech added extracted');
325
- assert.deepStrictEqual(output.patterns, ['Repository pattern', 'Dependency injection'], 'patterns extracted');
326
- assert.strictEqual(output.decisions.length, 2, 'decisions extracted');
327
- assert.deepStrictEqual(output.requirements_completed, ['AUTH-01', 'AUTH-02'], 'requirements completed extracted');
328
- });
329
-
330
- test('selective extraction with --fields', () => {
331
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-foundation');
332
- fs.mkdirSync(phaseDir, { recursive: true });
333
-
334
- fs.writeFileSync(
335
- path.join(phaseDir, '01-01-SUMMARY.md'),
336
- `---
337
- one-liner: Set up database
338
- key-files:
339
- - prisma/schema.prisma
340
- tech-stack:
341
- added:
342
- - prisma
343
- patterns-established:
344
- - Repository pattern
345
- key-decisions:
346
- - Use Prisma: Better DX
347
- requirements-completed:
348
- - AUTH-01
349
- ---
350
- `
351
- );
352
-
353
- const result = runGsdTools('summary-extract .planning/phases/01-foundation/01-01-SUMMARY.md --fields one_liner,key_files,requirements_completed', tmpDir);
354
- assert.ok(result.success, `Command failed: ${result.error}`);
355
-
356
- const output = JSON.parse(result.output);
357
- assert.strictEqual(output.one_liner, 'Set up database', 'one_liner included');
358
- assert.deepStrictEqual(output.key_files, ['prisma/schema.prisma'], 'key_files included');
359
- assert.deepStrictEqual(output.requirements_completed, ['AUTH-01'], 'requirements_completed included');
360
- assert.strictEqual(output.tech_added, undefined, 'tech_added excluded');
361
- assert.strictEqual(output.patterns, undefined, 'patterns excluded');
362
- assert.strictEqual(output.decisions, undefined, 'decisions excluded');
363
- });
364
-
365
- test('handles missing frontmatter fields gracefully', () => {
366
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-foundation');
367
- fs.mkdirSync(phaseDir, { recursive: true });
368
-
369
- fs.writeFileSync(
370
- path.join(phaseDir, '01-01-SUMMARY.md'),
371
- `---
372
- one-liner: Minimal summary
373
- ---
374
-
375
- # Summary
376
- `
377
- );
378
-
379
- const result = runGsdTools('summary-extract .planning/phases/01-foundation/01-01-SUMMARY.md', tmpDir);
380
- assert.ok(result.success, `Command failed: ${result.error}`);
381
-
382
- const output = JSON.parse(result.output);
383
- assert.strictEqual(output.one_liner, 'Minimal summary', 'one-liner extracted');
384
- assert.deepStrictEqual(output.key_files, [], 'key_files defaults to empty');
385
- assert.deepStrictEqual(output.tech_added, [], 'tech_added defaults to empty');
386
- assert.deepStrictEqual(output.patterns, [], 'patterns defaults to empty');
387
- assert.deepStrictEqual(output.decisions, [], 'decisions defaults to empty');
388
- assert.deepStrictEqual(output.requirements_completed, [], 'requirements_completed defaults to empty');
389
- });
390
-
391
- test('parses key-decisions with rationale', () => {
392
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '01-foundation');
393
- fs.mkdirSync(phaseDir, { recursive: true });
394
-
395
- fs.writeFileSync(
396
- path.join(phaseDir, '01-01-SUMMARY.md'),
397
- `---
398
- key-decisions:
399
- - Use Prisma: Better DX than alternatives
400
- - JWT tokens: Stateless auth for scalability
401
- ---
402
- `
403
- );
404
-
405
- const result = runGsdTools('summary-extract .planning/phases/01-foundation/01-01-SUMMARY.md', tmpDir);
406
- assert.ok(result.success, `Command failed: ${result.error}`);
407
-
408
- const output = JSON.parse(result.output);
409
- assert.strictEqual(output.decisions[0].summary, 'Use Prisma', 'decision summary parsed');
410
- assert.strictEqual(output.decisions[0].rationale, 'Better DX than alternatives', 'decision rationale parsed');
411
- assert.strictEqual(output.decisions[1].summary, 'JWT tokens', 'second decision summary');
412
- assert.strictEqual(output.decisions[1].rationale, 'Stateless auth for scalability', 'second decision rationale');
413
- });
414
- });
415
-
416
- // ─────────────────────────────────────────────────────────────────────────────
417
- // init commands tests
418
- // ─────────────────────────────────────────────────────────────────────────────
419
-
420
-
421
- describe('progress command', () => {
422
- let tmpDir;
423
-
424
- beforeEach(() => {
425
- tmpDir = createTempProject();
426
- });
427
-
428
- afterEach(() => {
429
- cleanup(tmpDir);
430
- });
431
-
432
- test('renders JSON progress', () => {
433
- fs.writeFileSync(
434
- path.join(tmpDir, '.planning', 'ROADMAP.md'),
435
- `# Roadmap v1.0 MVP\n`
436
- );
437
- const p1 = path.join(tmpDir, '.planning', 'phases', '01-foundation');
438
- fs.mkdirSync(p1, { recursive: true });
439
- fs.writeFileSync(path.join(p1, '01-01-PLAN.md'), '# Plan');
440
- fs.writeFileSync(path.join(p1, '01-01-SUMMARY.md'), '# Done');
441
- fs.writeFileSync(path.join(p1, '01-02-PLAN.md'), '# Plan 2');
442
-
443
- const result = runGsdTools('progress json', tmpDir);
444
- assert.ok(result.success, `Command failed: ${result.error}`);
445
-
446
- const output = JSON.parse(result.output);
447
- assert.strictEqual(output.total_plans, 2, '2 total plans');
448
- assert.strictEqual(output.total_summaries, 1, '1 summary');
449
- assert.strictEqual(output.percent, 50, '50%');
450
- assert.strictEqual(output.phases.length, 1, '1 phase');
451
- assert.strictEqual(output.phases[0].status, 'In Progress', 'phase in progress');
452
- });
453
-
454
- test('renders bar format', () => {
455
- fs.writeFileSync(
456
- path.join(tmpDir, '.planning', 'ROADMAP.md'),
457
- `# Roadmap v1.0\n`
458
- );
459
- const p1 = path.join(tmpDir, '.planning', 'phases', '01-test');
460
- fs.mkdirSync(p1, { recursive: true });
461
- fs.writeFileSync(path.join(p1, '01-01-PLAN.md'), '# Plan');
462
- fs.writeFileSync(path.join(p1, '01-01-SUMMARY.md'), '# Done');
463
-
464
- const result = runGsdTools('progress bar --raw', tmpDir);
465
- assert.ok(result.success, `Command failed: ${result.error}`);
466
- assert.ok(result.output.includes('1/1'), 'should include count');
467
- assert.ok(result.output.includes('100%'), 'should include 100%');
468
- });
469
-
470
- test('renders table format', () => {
471
- fs.writeFileSync(
472
- path.join(tmpDir, '.planning', 'ROADMAP.md'),
473
- `# Roadmap v1.0 MVP\n`
474
- );
475
- const p1 = path.join(tmpDir, '.planning', 'phases', '01-foundation');
476
- fs.mkdirSync(p1, { recursive: true });
477
- fs.writeFileSync(path.join(p1, '01-01-PLAN.md'), '# Plan');
478
-
479
- const result = runGsdTools('progress table --raw', tmpDir);
480
- assert.ok(result.success, `Command failed: ${result.error}`);
481
- assert.ok(result.output.includes('Phase'), 'should have table header');
482
- assert.ok(result.output.includes('foundation'), 'should include phase name');
483
- });
484
-
485
- test('does not crash when summaries exceed plans (orphaned SUMMARY.md)', () => {
486
- fs.writeFileSync(
487
- path.join(tmpDir, '.planning', 'ROADMAP.md'),
488
- `# Roadmap v1.0 MVP\n`
489
- );
490
- const p1 = path.join(tmpDir, '.planning', 'phases', '01-foundation');
491
- fs.mkdirSync(p1, { recursive: true });
492
- // 1 plan but 2 summaries (orphaned SUMMARY.md after PLAN.md deletion)
493
- fs.writeFileSync(path.join(p1, '01-01-PLAN.md'), '# Plan');
494
- fs.writeFileSync(path.join(p1, '01-01-SUMMARY.md'), '# Done');
495
- fs.writeFileSync(path.join(p1, '01-02-SUMMARY.md'), '# Orphaned summary');
496
-
497
- // bar format - should not crash with RangeError
498
- const barResult = runGsdTools('progress bar --raw', tmpDir);
499
- assert.ok(barResult.success, `Bar format crashed: ${barResult.error}`);
500
- assert.ok(barResult.output.includes('100%'), 'percent should be clamped to 100%');
501
-
502
- // table format - should not crash with RangeError
503
- const tableResult = runGsdTools('progress table --raw', tmpDir);
504
- assert.ok(tableResult.success, `Table format crashed: ${tableResult.error}`);
505
-
506
- // json format - percent should be clamped
507
- const jsonResult = runGsdTools('progress json', tmpDir);
508
- assert.ok(jsonResult.success, `JSON format crashed: ${jsonResult.error}`);
509
- const output = JSON.parse(jsonResult.output);
510
- assert.ok(output.percent <= 100, `percent should be <= 100 but got ${output.percent}`);
511
- });
512
- });
513
-
514
- // ─────────────────────────────────────────────────────────────────────────────
515
- // todo complete command
516
- // ─────────────────────────────────────────────────────────────────────────────
517
-
518
-
519
- describe('todo complete command', () => {
520
- let tmpDir;
521
-
522
- beforeEach(() => {
523
- tmpDir = createTempProject();
524
- });
525
-
526
- afterEach(() => {
527
- cleanup(tmpDir);
528
- });
529
-
530
- test('moves todo from pending to completed', () => {
531
- const pendingDir = path.join(tmpDir, '.planning', 'todos', 'pending');
532
- fs.mkdirSync(pendingDir, { recursive: true });
533
- fs.writeFileSync(
534
- path.join(pendingDir, 'add-dark-mode.md'),
535
- `title: Add dark mode\narea: ui\ncreated: 2025-01-01\n`
536
- );
537
-
538
- const result = runGsdTools('todo complete add-dark-mode.md', tmpDir);
539
- assert.ok(result.success, `Command failed: ${result.error}`);
540
-
541
- const output = JSON.parse(result.output);
542
- assert.strictEqual(output.completed, true);
543
-
544
- // Verify moved
545
- assert.ok(
546
- !fs.existsSync(path.join(tmpDir, '.planning', 'todos', 'pending', 'add-dark-mode.md')),
547
- 'should be removed from pending'
548
- );
549
- assert.ok(
550
- fs.existsSync(path.join(tmpDir, '.planning', 'todos', 'completed', 'add-dark-mode.md')),
551
- 'should be in completed'
552
- );
553
-
554
- // Verify completion timestamp added
555
- const content = fs.readFileSync(
556
- path.join(tmpDir, '.planning', 'todos', 'completed', 'add-dark-mode.md'),
557
- 'utf-8'
558
- );
559
- assert.ok(content.startsWith('completed:'), 'should have completed timestamp');
560
- });
561
-
562
- test('fails for nonexistent todo', () => {
563
- const result = runGsdTools('todo complete nonexistent.md', tmpDir);
564
- assert.ok(!result.success, 'should fail');
565
- assert.ok(result.error.includes('not found'), 'error mentions not found');
566
- });
567
- });
568
-
569
- // ─────────────────────────────────────────────────────────────────────────────
570
- // scaffold command
571
- // ─────────────────────────────────────────────────────────────────────────────
572
-
573
-
574
- describe('scaffold command', () => {
575
- let tmpDir;
576
-
577
- beforeEach(() => {
578
- tmpDir = createTempProject();
579
- });
580
-
581
- afterEach(() => {
582
- cleanup(tmpDir);
583
- });
584
-
585
- test('scaffolds context file', () => {
586
- fs.mkdirSync(path.join(tmpDir, '.planning', 'phases', '03-api'), { recursive: true });
587
-
588
- const result = runGsdTools('scaffold context --phase 3', tmpDir);
589
- assert.ok(result.success, `Command failed: ${result.error}`);
590
-
591
- const output = JSON.parse(result.output);
592
- assert.strictEqual(output.created, true);
593
-
594
- // Verify file content
595
- const content = fs.readFileSync(
596
- path.join(tmpDir, '.planning', 'phases', '03-api', '03-CONTEXT.md'),
597
- 'utf-8'
598
- );
599
- assert.ok(content.includes('Phase 3'), 'should reference phase number');
600
- assert.ok(content.includes('Decisions'), 'should have decisions section');
601
- assert.ok(content.includes('Discretion Areas'), 'should have discretion section');
602
- });
603
-
604
- test('scaffolds UAT file', () => {
605
- fs.mkdirSync(path.join(tmpDir, '.planning', 'phases', '03-api'), { recursive: true });
606
-
607
- const result = runGsdTools('scaffold uat --phase 3', tmpDir);
608
- assert.ok(result.success, `Command failed: ${result.error}`);
609
-
610
- const output = JSON.parse(result.output);
611
- assert.strictEqual(output.created, true);
612
-
613
- const content = fs.readFileSync(
614
- path.join(tmpDir, '.planning', 'phases', '03-api', '03-UAT.md'),
615
- 'utf-8'
616
- );
617
- assert.ok(content.includes('User Acceptance Testing'), 'should have UAT heading');
618
- assert.ok(content.includes('Test Results'), 'should have test results section');
619
- });
620
-
621
- test('scaffolds verification file', () => {
622
- fs.mkdirSync(path.join(tmpDir, '.planning', 'phases', '03-api'), { recursive: true });
623
-
624
- const result = runGsdTools('scaffold verification --phase 3', tmpDir);
625
- assert.ok(result.success, `Command failed: ${result.error}`);
626
-
627
- const output = JSON.parse(result.output);
628
- assert.strictEqual(output.created, true);
629
-
630
- const content = fs.readFileSync(
631
- path.join(tmpDir, '.planning', 'phases', '03-api', '03-VERIFICATION.md'),
632
- 'utf-8'
633
- );
634
- assert.ok(content.includes('Goal-Backward Verification'), 'should have verification heading');
635
- });
636
-
637
- test('scaffolds phase directory', () => {
638
- const result = runGsdTools('scaffold phase-dir --phase 5 --name User Dashboard', tmpDir);
639
- assert.ok(result.success, `Command failed: ${result.error}`);
640
-
641
- const output = JSON.parse(result.output);
642
- assert.strictEqual(output.created, true);
643
- assert.ok(
644
- fs.existsSync(path.join(tmpDir, '.planning', 'phases', '05-user-dashboard')),
645
- 'directory should be created'
646
- );
647
- });
648
-
649
- test('does not overwrite existing files', () => {
650
- const phaseDir = path.join(tmpDir, '.planning', 'phases', '03-api');
651
- fs.mkdirSync(phaseDir, { recursive: true });
652
- fs.writeFileSync(path.join(phaseDir, '03-CONTEXT.md'), '# Existing content');
653
-
654
- const result = runGsdTools('scaffold context --phase 3', tmpDir);
655
- assert.ok(result.success, `Command failed: ${result.error}`);
656
-
657
- const output = JSON.parse(result.output);
658
- assert.strictEqual(output.created, false, 'should not overwrite');
659
- assert.strictEqual(output.reason, 'already_exists');
660
- });
661
- });
@@ -1,40 +0,0 @@
1
- /**
2
- * GSD Tools Test Helpers
3
- */
4
-
5
- const { execSync } = require('child_process');
6
- const fs = require('fs');
7
- const path = require('path');
8
-
9
- const TOOLS_PATH = path.join(__dirname, '..', 'get-shit-done', 'bin', 'gsd-tools.cjs');
10
-
11
- // Helper to run gsd-tools command
12
- function runGsdTools(args, cwd = process.cwd()) {
13
- try {
14
- const result = execSync(`node "${TOOLS_PATH}" ${args}`, {
15
- cwd,
16
- encoding: 'utf-8',
17
- stdio: ['pipe', 'pipe', 'pipe'],
18
- });
19
- return { success: true, output: result.trim() };
20
- } catch (err) {
21
- return {
22
- success: false,
23
- output: err.stdout?.toString().trim() || '',
24
- error: err.stderr?.toString().trim() || err.message,
25
- };
26
- }
27
- }
28
-
29
- // Create temp directory structure
30
- function createTempProject() {
31
- const tmpDir = fs.mkdtempSync(path.join(require('os').tmpdir(), 'gsd-test-'));
32
- fs.mkdirSync(path.join(tmpDir, '.planning', 'phases'), { recursive: true });
33
- return tmpDir;
34
- }
35
-
36
- function cleanup(tmpDir) {
37
- fs.rmSync(tmpDir, { recursive: true, force: true });
38
- }
39
-
40
- module.exports = { runGsdTools, createTempProject, cleanup, TOOLS_PATH };