beth-copilot 1.0.18 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/CHANGELOG.md +79 -28
  2. package/README.md +127 -298
  3. package/assets/beth-questioning.png +0 -0
  4. package/assets/yellowstone-beth.png +0 -0
  5. package/bin/cli.js +124 -715
  6. package/dist/__tests__/inject-skills.test.d.ts +9 -0
  7. package/dist/__tests__/inject-skills.test.d.ts.map +1 -0
  8. package/dist/__tests__/inject-skills.test.js +143 -0
  9. package/dist/__tests__/inject-skills.test.js.map +1 -0
  10. package/dist/__tests__/skills/disambiguation.test.d.ts +10 -0
  11. package/dist/__tests__/skills/disambiguation.test.d.ts.map +1 -0
  12. package/dist/__tests__/skills/disambiguation.test.js +192 -0
  13. package/dist/__tests__/skills/disambiguation.test.js.map +1 -0
  14. package/dist/__tests__/skills/hook-injection.test.d.ts +11 -0
  15. package/dist/__tests__/skills/hook-injection.test.d.ts.map +1 -0
  16. package/dist/__tests__/skills/hook-injection.test.js +173 -0
  17. package/dist/__tests__/skills/hook-injection.test.js.map +1 -0
  18. package/dist/__tests__/skills/mapping-completeness.test.d.ts +17 -0
  19. package/dist/__tests__/skills/mapping-completeness.test.d.ts.map +1 -0
  20. package/dist/__tests__/skills/mapping-completeness.test.js +281 -0
  21. package/dist/__tests__/skills/mapping-completeness.test.js.map +1 -0
  22. package/dist/__tests__/skills/pipeline-integration.test.d.ts +18 -0
  23. package/dist/__tests__/skills/pipeline-integration.test.d.ts.map +1 -0
  24. package/dist/__tests__/skills/pipeline-integration.test.js +234 -0
  25. package/dist/__tests__/skills/pipeline-integration.test.js.map +1 -0
  26. package/dist/__tests__/skills/skill-routing.test.d.ts +15 -0
  27. package/dist/__tests__/skills/skill-routing.test.d.ts.map +1 -0
  28. package/dist/__tests__/skills/skill-routing.test.js +723 -0
  29. package/dist/__tests__/skills/skill-routing.test.js.map +1 -0
  30. package/dist/__tests__/skills/trigger-coverage.test.d.ts +24 -0
  31. package/dist/__tests__/skills/trigger-coverage.test.d.ts.map +1 -0
  32. package/dist/__tests__/skills/trigger-coverage.test.js +746 -0
  33. package/dist/__tests__/skills/trigger-coverage.test.js.map +1 -0
  34. package/dist/__tests__/smoke.test.d.ts +8 -0
  35. package/dist/__tests__/smoke.test.d.ts.map +1 -0
  36. package/dist/__tests__/smoke.test.js +62 -0
  37. package/dist/__tests__/smoke.test.js.map +1 -0
  38. package/dist/__tests__/verify-skills.test.d.ts +9 -0
  39. package/dist/__tests__/verify-skills.test.d.ts.map +1 -0
  40. package/dist/__tests__/verify-skills.test.js +78 -0
  41. package/dist/__tests__/verify-skills.test.js.map +1 -0
  42. package/dist/cli/commands/beads.e2e.test.d.ts +15 -0
  43. package/dist/cli/commands/beads.e2e.test.d.ts.map +1 -0
  44. package/dist/cli/commands/beads.e2e.test.js +585 -0
  45. package/dist/cli/commands/beads.e2e.test.js.map +1 -0
  46. package/dist/cli/commands/cli-edge-cases.e2e.test.d.ts +32 -0
  47. package/dist/cli/commands/cli-edge-cases.e2e.test.d.ts.map +1 -0
  48. package/dist/cli/commands/cli-edge-cases.e2e.test.js +162 -0
  49. package/dist/cli/commands/cli-edge-cases.e2e.test.js.map +1 -0
  50. package/dist/cli/commands/close.d.ts +54 -0
  51. package/dist/cli/commands/close.d.ts.map +1 -0
  52. package/dist/cli/commands/close.e2e.test.d.ts +11 -0
  53. package/dist/cli/commands/close.e2e.test.d.ts.map +1 -0
  54. package/dist/cli/commands/close.e2e.test.js +71 -0
  55. package/dist/cli/commands/close.e2e.test.js.map +1 -0
  56. package/dist/cli/commands/close.js +95 -0
  57. package/dist/cli/commands/close.js.map +1 -0
  58. package/dist/cli/commands/close.test.d.ts +13 -0
  59. package/dist/cli/commands/close.test.d.ts.map +1 -0
  60. package/dist/cli/commands/close.test.js +254 -0
  61. package/dist/cli/commands/close.test.js.map +1 -0
  62. package/dist/cli/commands/doctor.d.ts +7 -1
  63. package/dist/cli/commands/doctor.d.ts.map +1 -1
  64. package/dist/cli/commands/doctor.e2e.test.js +3 -59
  65. package/dist/cli/commands/doctor.e2e.test.js.map +1 -1
  66. package/dist/cli/commands/doctor.js +38 -18
  67. package/dist/cli/commands/doctor.js.map +1 -1
  68. package/dist/cli/commands/doctor.test.js +32 -25
  69. package/dist/cli/commands/doctor.test.js.map +1 -1
  70. package/dist/cli/commands/framework-isolation.test.d.ts +30 -0
  71. package/dist/cli/commands/framework-isolation.test.d.ts.map +1 -0
  72. package/dist/cli/commands/framework-isolation.test.js +118 -0
  73. package/dist/cli/commands/framework-isolation.test.js.map +1 -0
  74. package/dist/cli/commands/help.e2e.test.js +5 -9
  75. package/dist/cli/commands/help.e2e.test.js.map +1 -1
  76. package/dist/cli/commands/init-logic.e2e.test.d.ts +37 -0
  77. package/dist/cli/commands/init-logic.e2e.test.d.ts.map +1 -0
  78. package/dist/cli/commands/init-logic.e2e.test.js +315 -0
  79. package/dist/cli/commands/init-logic.e2e.test.js.map +1 -0
  80. package/dist/cli/commands/init.test.js +4 -21
  81. package/dist/cli/commands/init.test.js.map +1 -1
  82. package/dist/cli/commands/land.d.ts +130 -0
  83. package/dist/cli/commands/land.d.ts.map +1 -0
  84. package/dist/cli/commands/land.js +592 -0
  85. package/dist/cli/commands/land.js.map +1 -0
  86. package/dist/cli/commands/land.test.d.ts +19 -0
  87. package/dist/cli/commands/land.test.d.ts.map +1 -0
  88. package/dist/cli/commands/land.test.js +567 -0
  89. package/dist/cli/commands/land.test.js.map +1 -0
  90. package/dist/cli/commands/mcp.e2e.test.js +24 -31
  91. package/dist/cli/commands/mcp.e2e.test.js.map +1 -1
  92. package/dist/cli/commands/pipeline.e2e.test.js +28 -31
  93. package/dist/cli/commands/pipeline.e2e.test.js.map +1 -1
  94. package/dist/cli/commands/pre-push-guard.d.ts +74 -0
  95. package/dist/cli/commands/pre-push-guard.d.ts.map +1 -0
  96. package/dist/cli/commands/pre-push-guard.e2e.test.d.ts +24 -0
  97. package/dist/cli/commands/pre-push-guard.e2e.test.d.ts.map +1 -0
  98. package/dist/cli/commands/pre-push-guard.e2e.test.js +171 -0
  99. package/dist/cli/commands/pre-push-guard.e2e.test.js.map +1 -0
  100. package/dist/cli/commands/pre-push-guard.js +212 -0
  101. package/dist/cli/commands/pre-push-guard.js.map +1 -0
  102. package/dist/cli/commands/pre-push-guard.test.d.ts +14 -0
  103. package/dist/cli/commands/pre-push-guard.test.d.ts.map +1 -0
  104. package/dist/cli/commands/pre-push-guard.test.js +314 -0
  105. package/dist/cli/commands/pre-push-guard.test.js.map +1 -0
  106. package/dist/cli/commands/quickstart-expanded.e2e.test.d.ts +23 -0
  107. package/dist/cli/commands/quickstart-expanded.e2e.test.d.ts.map +1 -0
  108. package/dist/cli/commands/quickstart-expanded.e2e.test.js +152 -0
  109. package/dist/cli/commands/quickstart-expanded.e2e.test.js.map +1 -0
  110. package/dist/cli/commands/quickstart.d.ts +0 -1
  111. package/dist/cli/commands/quickstart.d.ts.map +1 -1
  112. package/dist/cli/commands/quickstart.js +9 -83
  113. package/dist/cli/commands/quickstart.js.map +1 -1
  114. package/dist/cli/commands/quickstart.test.js +8 -129
  115. package/dist/cli/commands/quickstart.test.js.map +1 -1
  116. package/dist/cli/commands/update.d.ts +35 -0
  117. package/dist/cli/commands/update.d.ts.map +1 -0
  118. package/dist/cli/commands/update.e2e.test.d.ts +24 -0
  119. package/dist/cli/commands/update.e2e.test.d.ts.map +1 -0
  120. package/dist/cli/commands/update.e2e.test.js +240 -0
  121. package/dist/cli/commands/update.e2e.test.js.map +1 -0
  122. package/dist/cli/commands/update.js +255 -0
  123. package/dist/cli/commands/update.js.map +1 -0
  124. package/dist/core/agents/frontmatter.test.js +1 -1
  125. package/dist/core/agents/frontmatter.test.js.map +1 -1
  126. package/dist/core/agents/handoffs.test.js +1 -1
  127. package/dist/core/agents/handoffs.test.js.map +1 -1
  128. package/dist/core/agents/loader.d.ts +4 -2
  129. package/dist/core/agents/loader.d.ts.map +1 -1
  130. package/dist/core/agents/loader.js +5 -3
  131. package/dist/core/agents/loader.js.map +1 -1
  132. package/dist/core/agents/loader.test.js +42 -4
  133. package/dist/core/agents/loader.test.js.map +1 -1
  134. package/dist/core/agents/suite.test.js +12 -9
  135. package/dist/core/agents/suite.test.js.map +1 -1
  136. package/dist/core/agents/tools.test.js +15 -9
  137. package/dist/core/agents/tools.test.js.map +1 -1
  138. package/dist/core/agents/types.test.js +1 -1
  139. package/dist/core/agents/types.test.js.map +1 -1
  140. package/dist/core/skills/loader.test.js +1 -1
  141. package/dist/core/skills/loader.test.js.map +1 -1
  142. package/dist/index.d.ts +3 -11
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +5 -12
  145. package/dist/index.js.map +1 -1
  146. package/dist/lib/pathValidation.d.ts +0 -5
  147. package/dist/lib/pathValidation.d.ts.map +1 -1
  148. package/dist/lib/pathValidation.js +0 -11
  149. package/dist/lib/pathValidation.js.map +1 -1
  150. package/dist/lib/pathValidation.test.js +2 -14
  151. package/dist/lib/pathValidation.test.js.map +1 -1
  152. package/package.json +13 -10
  153. package/sbom.json +1927 -847
  154. package/templates/.github/agents/beth.agent.md +331 -105
  155. package/templates/.github/agents/developer.agent.md +73 -102
  156. package/templates/.github/agents/product-manager.agent.md +24 -68
  157. package/templates/.github/agents/researcher.agent.md +21 -69
  158. package/templates/.github/agents/security-reviewer.agent.md +39 -82
  159. package/templates/.github/agents/tester.agent.md +44 -65
  160. package/templates/.github/agents/ux-designer.agent.md +25 -76
  161. package/templates/.github/copilot-instructions.md +246 -225
  162. package/templates/.github/copilot-mcp-config.json +12 -0
  163. package/templates/.github/dependabot.yml +68 -0
  164. package/templates/.github/hooks/scripts/inject-skills.mjs +139 -0
  165. package/templates/.github/hooks/scripts/verify-skills.mjs +47 -0
  166. package/templates/.github/hooks/skill-enforcement.json +18 -0
  167. package/templates/.github/pull_request_template.md +48 -0
  168. package/templates/.github/skills/framer-components/SKILL.md +0 -0
  169. package/templates/.github/skills/prd/SKILL.md +0 -0
  170. package/templates/.github/skills/security-analysis/SKILL.md +798 -798
  171. package/templates/.github/skills/shadcn-ui/SKILL.md +561 -561
  172. package/templates/.github/skills/vercel-react-best-practices/AGENTS.md +0 -0
  173. package/templates/.github/skills/vercel-react-best-practices/SKILL.md +0 -0
  174. package/templates/.github/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -0
  175. package/templates/.github/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -0
  176. package/templates/.github/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -0
  177. package/templates/.github/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -0
  178. package/templates/.github/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -0
  179. package/templates/.github/skills/vercel-react-best-practices/rules/async-parallel.md +0 -0
  180. package/templates/.github/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -0
  181. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -0
  182. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -0
  183. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -0
  184. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -0
  185. package/templates/.github/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -0
  186. package/templates/.github/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -0
  187. package/templates/.github/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -0
  188. package/templates/.github/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -0
  189. package/templates/.github/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -0
  190. package/templates/.github/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -0
  191. package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -0
  192. package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -0
  193. package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -0
  194. package/templates/.github/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -0
  195. package/templates/.github/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -0
  196. package/templates/.github/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -0
  197. package/templates/.github/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -0
  198. package/templates/.github/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -0
  199. package/templates/.github/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -0
  200. package/templates/.github/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -0
  201. package/templates/.github/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -0
  202. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -0
  203. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
  204. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -0
  205. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -0
  206. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -0
  207. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
  208. package/templates/.github/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -0
  209. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -0
  210. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -0
  211. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -0
  212. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -0
  213. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -0
  214. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -0
  215. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -0
  216. package/templates/.github/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -0
  217. package/templates/.github/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -0
  218. package/templates/.github/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -0
  219. package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -0
  220. package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -0
  221. package/templates/.github/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -0
  222. package/templates/.github/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -0
  223. package/templates/.github/skills/vercel-react-best-practices/rules/server-serialization.md +0 -0
  224. package/templates/.github/skills/web-design-guidelines/SKILL.md +0 -0
  225. package/templates/.vscode/settings.json +16 -16
  226. package/templates/AGENTS.md +103 -54
  227. package/templates/Backlog.md +80 -80
  228. package/templates/mcp.json.example +0 -3
  229. package/assets/beth-portrait-small.txt +0 -13
  230. package/assets/beth-portrait.txt +0 -60
  231. package/bin/beth-animation.sh +0 -155
  232. package/bin/lib/animation.js +0 -189
  233. package/bin/lib/pathValidation.js +0 -233
  234. package/bin/lib/pathValidation.test.js +0 -280
  235. package/dist/cli/commands/client-config.d.ts +0 -31
  236. package/dist/cli/commands/client-config.d.ts.map +0 -1
  237. package/dist/cli/commands/client-config.e2e.test.d.ts +0 -15
  238. package/dist/cli/commands/client-config.e2e.test.d.ts.map +0 -1
  239. package/dist/cli/commands/client-config.e2e.test.js +0 -556
  240. package/dist/cli/commands/client-config.e2e.test.js.map +0 -1
  241. package/dist/cli/commands/client-config.js +0 -73
  242. package/dist/cli/commands/client-config.js.map +0 -1
  243. package/dist/cli/commands/client-config.test.d.ts +0 -6
  244. package/dist/cli/commands/client-config.test.d.ts.map +0 -1
  245. package/dist/cli/commands/client-config.test.js +0 -133
  246. package/dist/cli/commands/client-config.test.js.map +0 -1
  247. package/dist/cli/commands/init-quickstart.e2e.test.d.ts +0 -11
  248. package/dist/cli/commands/init-quickstart.e2e.test.d.ts.map +0 -1
  249. package/dist/cli/commands/init-quickstart.e2e.test.js +0 -221
  250. package/dist/cli/commands/init-quickstart.e2e.test.js.map +0 -1
  251. package/dist/core/context.d.ts +0 -171
  252. package/dist/core/context.d.ts.map +0 -1
  253. package/dist/core/context.js +0 -353
  254. package/dist/core/context.js.map +0 -1
  255. package/dist/core/context.test.d.ts +0 -8
  256. package/dist/core/context.test.d.ts.map +0 -1
  257. package/dist/core/context.test.js +0 -253
  258. package/dist/core/context.test.js.map +0 -1
  259. package/dist/core/handoffs.d.ts +0 -151
  260. package/dist/core/handoffs.d.ts.map +0 -1
  261. package/dist/core/handoffs.js +0 -220
  262. package/dist/core/handoffs.js.map +0 -1
  263. package/dist/core/handoffs.test.d.ts +0 -8
  264. package/dist/core/handoffs.test.d.ts.map +0 -1
  265. package/dist/core/handoffs.test.js +0 -231
  266. package/dist/core/handoffs.test.js.map +0 -1
  267. package/dist/core/orchestrator.d.ts +0 -246
  268. package/dist/core/orchestrator.d.ts.map +0 -1
  269. package/dist/core/orchestrator.js +0 -514
  270. package/dist/core/orchestrator.js.map +0 -1
  271. package/dist/core/orchestrator.test.d.ts +0 -8
  272. package/dist/core/orchestrator.test.d.ts.map +0 -1
  273. package/dist/core/orchestrator.test.js +0 -517
  274. package/dist/core/orchestrator.test.js.map +0 -1
  275. package/dist/core/router.d.ts +0 -102
  276. package/dist/core/router.d.ts.map +0 -1
  277. package/dist/core/router.js +0 -178
  278. package/dist/core/router.js.map +0 -1
  279. package/dist/core/router.test.d.ts +0 -8
  280. package/dist/core/router.test.d.ts.map +0 -1
  281. package/dist/core/router.test.js +0 -215
  282. package/dist/core/router.test.js.map +0 -1
  283. package/dist/init.test.js +0 -288
  284. package/dist/providers/azure.d.ts +0 -147
  285. package/dist/providers/azure.d.ts.map +0 -1
  286. package/dist/providers/azure.js +0 -491
  287. package/dist/providers/azure.js.map +0 -1
  288. package/dist/providers/azure.test.d.ts +0 -11
  289. package/dist/providers/azure.test.d.ts.map +0 -1
  290. package/dist/providers/azure.test.js +0 -330
  291. package/dist/providers/azure.test.js.map +0 -1
  292. package/dist/providers/config.d.ts +0 -87
  293. package/dist/providers/config.d.ts.map +0 -1
  294. package/dist/providers/config.js +0 -193
  295. package/dist/providers/config.js.map +0 -1
  296. package/dist/providers/config.test.d.ts +0 -7
  297. package/dist/providers/config.test.d.ts.map +0 -1
  298. package/dist/providers/config.test.js +0 -370
  299. package/dist/providers/config.test.js.map +0 -1
  300. package/dist/providers/index.d.ts +0 -18
  301. package/dist/providers/index.d.ts.map +0 -1
  302. package/dist/providers/index.js +0 -14
  303. package/dist/providers/index.js.map +0 -1
  304. package/dist/providers/interface.d.ts +0 -191
  305. package/dist/providers/interface.d.ts.map +0 -1
  306. package/dist/providers/interface.js +0 -94
  307. package/dist/providers/interface.js.map +0 -1
  308. package/dist/providers/retry.d.ts +0 -128
  309. package/dist/providers/retry.d.ts.map +0 -1
  310. package/dist/providers/retry.js +0 -205
  311. package/dist/providers/retry.js.map +0 -1
  312. package/dist/providers/retry.test.d.ts +0 -7
  313. package/dist/providers/retry.test.d.ts.map +0 -1
  314. package/dist/providers/retry.test.js +0 -439
  315. package/dist/providers/retry.test.js.map +0 -1
  316. package/dist/providers/streaming.d.ts +0 -157
  317. package/dist/providers/streaming.d.ts.map +0 -1
  318. package/dist/providers/streaming.js +0 -233
  319. package/dist/providers/streaming.js.map +0 -1
  320. package/dist/providers/streaming.test.d.ts +0 -7
  321. package/dist/providers/streaming.test.d.ts.map +0 -1
  322. package/dist/providers/streaming.test.js +0 -372
  323. package/dist/providers/streaming.test.js.map +0 -1
  324. package/dist/providers/types.d.ts +0 -209
  325. package/dist/providers/types.d.ts.map +0 -1
  326. package/dist/providers/types.js +0 -53
  327. package/dist/providers/types.js.map +0 -1
  328. package/dist/providers/types.test.d.ts +0 -7
  329. package/dist/providers/types.test.d.ts.map +0 -1
  330. package/dist/providers/types.test.js +0 -141
  331. package/dist/providers/types.test.js.map +0 -1
  332. package/dist/tools/cli/beads.d.ts +0 -27
  333. package/dist/tools/cli/beads.d.ts.map +0 -1
  334. package/dist/tools/cli/beads.js +0 -172
  335. package/dist/tools/cli/beads.js.map +0 -1
  336. package/dist/tools/cli/beads.test.d.ts +0 -8
  337. package/dist/tools/cli/beads.test.d.ts.map +0 -1
  338. package/dist/tools/cli/beads.test.js +0 -264
  339. package/dist/tools/cli/beads.test.js.map +0 -1
  340. package/dist/tools/cli/editFile.d.ts +0 -17
  341. package/dist/tools/cli/editFile.d.ts.map +0 -1
  342. package/dist/tools/cli/editFile.js +0 -125
  343. package/dist/tools/cli/editFile.js.map +0 -1
  344. package/dist/tools/cli/editFile.test.d.ts +0 -8
  345. package/dist/tools/cli/editFile.test.d.ts.map +0 -1
  346. package/dist/tools/cli/editFile.test.js +0 -177
  347. package/dist/tools/cli/editFile.test.js.map +0 -1
  348. package/dist/tools/cli/readFile.d.ts +0 -25
  349. package/dist/tools/cli/readFile.d.ts.map +0 -1
  350. package/dist/tools/cli/readFile.js +0 -118
  351. package/dist/tools/cli/readFile.js.map +0 -1
  352. package/dist/tools/cli/readFile.test.d.ts +0 -8
  353. package/dist/tools/cli/readFile.test.d.ts.map +0 -1
  354. package/dist/tools/cli/readFile.test.js +0 -194
  355. package/dist/tools/cli/readFile.test.js.map +0 -1
  356. package/dist/tools/cli/search.d.ts +0 -16
  357. package/dist/tools/cli/search.d.ts.map +0 -1
  358. package/dist/tools/cli/search.js +0 -261
  359. package/dist/tools/cli/search.js.map +0 -1
  360. package/dist/tools/cli/search.test.d.ts +0 -8
  361. package/dist/tools/cli/search.test.d.ts.map +0 -1
  362. package/dist/tools/cli/search.test.js +0 -172
  363. package/dist/tools/cli/search.test.js.map +0 -1
  364. package/dist/tools/cli/subagent.d.ts +0 -43
  365. package/dist/tools/cli/subagent.d.ts.map +0 -1
  366. package/dist/tools/cli/subagent.js +0 -99
  367. package/dist/tools/cli/subagent.js.map +0 -1
  368. package/dist/tools/cli/subagent.test.d.ts +0 -8
  369. package/dist/tools/cli/subagent.test.d.ts.map +0 -1
  370. package/dist/tools/cli/subagent.test.js +0 -190
  371. package/dist/tools/cli/subagent.test.js.map +0 -1
  372. package/dist/tools/cli/terminal.d.ts +0 -19
  373. package/dist/tools/cli/terminal.d.ts.map +0 -1
  374. package/dist/tools/cli/terminal.js +0 -164
  375. package/dist/tools/cli/terminal.js.map +0 -1
  376. package/dist/tools/cli/terminal.test.d.ts +0 -8
  377. package/dist/tools/cli/terminal.test.d.ts.map +0 -1
  378. package/dist/tools/cli/terminal.test.js +0 -161
  379. package/dist/tools/cli/terminal.test.js.map +0 -1
  380. package/dist/tools/index.d.ts +0 -25
  381. package/dist/tools/index.d.ts.map +0 -1
  382. package/dist/tools/index.js +0 -41
  383. package/dist/tools/index.js.map +0 -1
  384. package/dist/tools/interface.d.ts +0 -64
  385. package/dist/tools/interface.d.ts.map +0 -1
  386. package/dist/tools/interface.js +0 -37
  387. package/dist/tools/interface.js.map +0 -1
  388. package/dist/tools/interface.test.d.ts +0 -7
  389. package/dist/tools/interface.test.d.ts.map +0 -1
  390. package/dist/tools/interface.test.js +0 -179
  391. package/dist/tools/interface.test.js.map +0 -1
  392. package/dist/tools/mcp/bridge.d.ts +0 -48
  393. package/dist/tools/mcp/bridge.d.ts.map +0 -1
  394. package/dist/tools/mcp/bridge.js +0 -128
  395. package/dist/tools/mcp/bridge.js.map +0 -1
  396. package/dist/tools/mcp/bridge.test.d.ts +0 -8
  397. package/dist/tools/mcp/bridge.test.d.ts.map +0 -1
  398. package/dist/tools/mcp/bridge.test.js +0 -300
  399. package/dist/tools/mcp/bridge.test.js.map +0 -1
  400. package/dist/tools/mcp/client.d.ts +0 -135
  401. package/dist/tools/mcp/client.d.ts.map +0 -1
  402. package/dist/tools/mcp/client.js +0 -263
  403. package/dist/tools/mcp/client.js.map +0 -1
  404. package/dist/tools/mcp/client.test.d.ts +0 -8
  405. package/dist/tools/mcp/client.test.d.ts.map +0 -1
  406. package/dist/tools/mcp/client.test.js +0 -390
  407. package/dist/tools/mcp/client.test.js.map +0 -1
  408. package/dist/tools/registry.d.ts +0 -82
  409. package/dist/tools/registry.d.ts.map +0 -1
  410. package/dist/tools/registry.js +0 -99
  411. package/dist/tools/registry.js.map +0 -1
  412. package/dist/tools/registry.test.d.ts +0 -7
  413. package/dist/tools/registry.test.d.ts.map +0 -1
  414. package/dist/tools/registry.test.js +0 -199
  415. package/dist/tools/registry.test.js.map +0 -1
  416. package/dist/tools/suite.test.d.ts +0 -11
  417. package/dist/tools/suite.test.d.ts.map +0 -1
  418. package/dist/tools/suite.test.js +0 -119
  419. package/dist/tools/suite.test.js.map +0 -1
  420. package/dist/tools/types.d.ts +0 -75
  421. package/dist/tools/types.d.ts.map +0 -1
  422. package/dist/tools/types.js +0 -30
  423. package/dist/tools/types.js.map +0 -1
  424. package/dist/tools/types.test.d.ts +0 -7
  425. package/dist/tools/types.test.d.ts.map +0 -1
  426. package/dist/tools/types.test.js +0 -178
  427. package/dist/tools/types.test.js.map +0 -1
  428. package/templates/.vscode/mcp.json +0 -20
  429. package/templates/CLAUDE.md +0 -129
@@ -1,16 +1,16 @@
1
- {
2
- // Beth Agent System - Recommended Settings
3
- // These settings enable full agent orchestration capabilities
4
-
5
- // Required: Allow Beth to delegate work to specialist agents
6
- "chat.customAgentInSubagent.enabled": true,
7
-
8
- // Enable agent mode in Copilot Chat
9
- "chat.agent.enabled": true,
10
-
11
- // Enable thinking/reasoning for complex tasks
12
- "github.copilot.chat.agent.thinkingTool": true,
13
-
14
- // Consistent locale for agent responses
15
- "github.copilot.chat.localeOverride": "en"
16
- }
1
+ {
2
+ // Beth Agent System - Recommended Settings
3
+ // These settings enable full agent orchestration capabilities
4
+
5
+ // Required: Allow Beth to delegate work to specialist agents
6
+ "chat.customAgentInSubagent.enabled": true,
7
+
8
+ // Enable agent mode in Copilot Chat
9
+ "chat.agent.enabled": true,
10
+
11
+ // Enable thinking/reasoning for complex tasks
12
+ "github.copilot.chat.agent.thinkingTool": true,
13
+
14
+ // Consistent locale for agent responses
15
+ "github.copilot.chat.localeOverride": "en"
16
+ }
@@ -1,95 +1,144 @@
1
1
  # Agent Instructions
2
2
 
3
- This project uses a **dual tracking system**:
3
+ This project uses [Backlog.md](Backlog.md) for task tracking — the single source of truth for both agents and humans.
4
4
 
5
- | Tool | Audience | Purpose |
6
- |------|----------|---------|
7
- | [beads](https://github.com/steveyegge/beads) (`bd`) | Agents | Active work, dependencies, blockers, structured memory |
8
- | [Backlog.md](Backlog.md) | Humans | Completed work archive, decisions, readable changelog |
5
+ ## Backlog.md CLI Quick Reference
9
6
 
10
- **The rule:** beads is always current. Backlog.md gets updated when work completes.
7
+ ```bash
8
+ # See everything at once (use --plain where supported to avoid TUI)
9
+ backlog task list --plain # All tasks grouped by status
10
+ backlog task list -s "In Progress" --plain # Filter by status
11
+ backlog board # Kanban board (always plain-text)
12
+ backlog overview # Project health stats (always plain-text)
13
+
14
+ # Task lifecycle (--plain prevents TUI after mutation)
15
+ backlog task create "Title" -d "Description" --plain # Create
16
+ backlog task edit BETH-X -s "In Progress" --plain # Start
17
+ backlog task edit BETH-X -s "Done" --plain # Close
18
+ backlog task edit BETH-X --append-notes "text" --plain # Add notes
19
+
20
+ # Search
21
+ backlog search "query" --plain # Fuzzy search across tasks
22
+ ```
23
+
24
+ **CRITICAL:** Always use `--plain` flag on commands that support it (`task list`, `task create`, `task edit`, `search`) — without it, these commands open a TUI that agents cannot interact with. Commands like `board` and `overview` are already plain-text.
11
25
 
12
26
  ## Quick Setup
13
27
 
14
28
  ```bash
15
- # Install beads
16
- curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
17
-
18
- # Initialize in your project
19
- bd init
29
+ # Initialize Beth in your project
30
+ npx beth-copilot init
20
31
 
21
- # Run doctor to verify setup
22
- bd doctor
32
+ # Check system health
33
+ npx beth-copilot doctor
23
34
  ```
24
35
 
25
- ## Quick Reference
36
+ ## Session Startup (MANDATORY)
26
37
 
38
+ **Every new session starts by verifying ground truth.** Trackers lie. Code doesn't.
39
+
40
+ Before picking up new work — even continuing previous work — complete these checks:
41
+
42
+ ### 1. Check for uncommitted changes (formatter reverts)
27
43
  ```bash
28
- # Simple task
29
- bd create "Issue title" --description="What needs to be done" -l in_progress
44
+ git status
45
+ git diff --stat
46
+ ```
47
+ Formatters, editors, and VS Code extensions can silently revert agent changes between sessions. If you see unexpected diffs, investigate before proceeding.
30
48
 
31
- # Epic for complex work
32
- bd create "Feature name" --type epic -p 1
49
+ ### 2. Check for unpushed commits
50
+ ```bash
51
+ git log --oneline origin/$(git branch --show-current)..HEAD
52
+ ```
53
+ If there are unpushed commits from a previous session, push them or understand why they weren't pushed.
33
54
 
34
- # Subtask with parent
35
- bd create "Subtask" --parent <epic-id>
55
+ ### 3. Review task status
56
+ ```bash
57
+ backlog task list --plain # See all tasks — what's open, done, in progress
58
+ backlog task list -s "In Progress" --plain # What's supposed to be active?
59
+ ```
60
+ If a task says "In Progress" but the work is done, close it: `backlog task edit BETH-X -s "Done"`
61
+ If a task says "Done" but the code disagrees, reopen it: `backlog task edit BETH-X -s "In Progress"`
36
62
 
37
- # Task with dependency
38
- bd create "Blocked task" --deps "<blocker-id>"
63
+ ### 4. Spot-check closed work is intact
64
+ Pick 1-2 tasks closed in the last session and verify the changes are actually in the code:
65
+ ```bash
66
+ # Example: verify an import was actually added
67
+ grep -r "import.*ComponentName" src/
68
+ ```
69
+ If the tracker says "done" but the code disagrees, re-apply the fix.
39
70
 
40
- # List issues / see what's ready
41
- bd list
42
- bd ready
71
+ ### The principle: Trust the code, not the tracker
43
72
 
44
- # View dependencies
45
- bd dep tree <id>
73
+ > **War story (March 7, 2026):** A formatter reverted `app/workspace/agents/page.tsx` back to importing the old `WorkspaceAgents` component. The tracker said "routing wired up" but the code was back to the old state. Caught and fixed — but only because we checked.
46
74
 
47
- # Close an issue
48
- bd close <id>
49
- ```
75
+ This can happen to ANY file touched by agents. The most vulnerable are files touched by formatters on save. When in doubt, check the code.
50
76
 
51
77
  ## Workflow
52
78
 
53
79
  ### Simple Tasks
54
- 1. `bd create "Task" -l in_progress`
55
- 2. Do the work
56
- 3. `bd close <id>`
57
- 4. Update Backlog.md if significant
80
+ 1. Create a task: `backlog task create "Title" -d "Description" --plain`
81
+ 2. Mark it in progress: `backlog task edit BETH-X -s "In Progress" --plain`
82
+ 3. Do the work
83
+ 4. Mark it done: `backlog task edit BETH-X -s "Done" --plain`
58
84
  5. Commit and push
59
85
 
60
86
  ### Complex Work (Multi-Agent)
61
- 1. `bd create "Feature" --type epic -p 1`
62
- 2. Break into subtasks with `--parent` and `--deps`
63
- 3. `bd ready` to find unblocked work
64
- 4. Route to specialists with issue IDs
65
- 5. Close subtasks as they complete
66
- 6. `bd epic close-eligible` when all children done
67
- 7. Update Backlog.md with summary
68
- 8. Commit and push
87
+ 1. **Create/checkout** an epic branch from main:
88
+
89
+ ```bash
90
+ git fetch origin main
91
+ git checkout -b epic/<epic-id> origin/main
92
+ ```
93
+
94
+ 2. Create a parent task: `backlog task create "Epic title" -d "Description" --plain`
95
+ 3. Break into subtasks, route to specialists
96
+ 4. Each subtask: create → assign → work → mark done via `backlog task edit`
97
+ 5. Push the epic branch
98
+ 6. **Create a PR to `main`**
69
99
 
70
100
  ## Landing the Plane (Session Completion)
71
101
 
72
- **When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
102
+ **When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds AND the PR is created.
73
103
 
74
104
  **MANDATORY WORKFLOW:**
75
105
 
76
- 1. **Close beads issues** - `bd close <id>` for completed work
77
- 2. **Create follow-up issues** - `bd create` for any remaining work
78
- 3. **Update Backlog.md** - Add summary to Completed section for significant work
79
- 4. **Run quality gates** (if code changed) - Tests, linters, builds
80
- 5. **PUSH TO REMOTE** - This is MANDATORY:
106
+ 1. **Close tasks** - Mark all completed tasks as done:
107
+ ```bash
108
+ backlog task list -s "In Progress" --plain # What's still open?
109
+ backlog task edit BETH-X -s "Done" --plain # Close each completed task
110
+ ```
111
+ 2. **Run quality gates** (if code changed) - ALL tests must pass:
112
+ ```bash
113
+ npm test # Unit + integration tests
114
+ ```
115
+ 3. **Generate test report** (if code changed):
116
+ ```bash
117
+ npm run test:gate # Runs tests + generates docs/test-reports/ report
118
+ ```
119
+ 4. **PUSH TO EPIC BRANCH** - This is MANDATORY:
120
+
81
121
  ```bash
82
122
  git add -A
83
- git commit -m "description of work"
84
- git pull --rebase
85
- git push
123
+ git commit -m "<epic-id>: description of work"
124
+ git pull origin "epic/<epic-id>" --rebase
125
+ git push origin "epic/<epic-id>"
86
126
  git status # MUST show "up to date with origin"
87
127
  ```
88
- 6. **Verify** - All changes committed AND pushed
89
- 7. **Hand off** - Provide context for next session
128
+
129
+ 5. **CREATE A PR TO `main`** - Use `gh` CLI to create a pull request:
130
+
131
+ ```bash
132
+ gh pr create --base main --head "epic/<epic-id>" --title "<epic-id>: <summary>" --body "## Summary\n<what was done>"
133
+ ```
134
+
135
+ 6. **Share the PR link** with the user
136
+ 7. **Hand off** - Provide context for next session including the epic ID, branch, and PR URL
90
137
 
91
138
  **CRITICAL RULES:**
92
- - Work is NOT complete until `git push` succeeds
139
+
140
+ - Work is NOT complete until `git push` succeeds AND the PR is created
93
141
  - NEVER stop before pushing - that leaves work stranded locally
94
142
  - NEVER say "ready to push when you are" - YOU must push
95
143
  - If push fails, resolve and retry until it succeeds
144
+ - The PR is how humans review your work. No PR = no review = no trust.
@@ -1,80 +1,80 @@
1
- # Backlog
2
-
3
- > *"I don't have time to explain things twice. Read this."*
4
-
5
- Last updated: <!-- Update this date when making changes -->
6
-
7
- ---
8
-
9
- ## Completed
10
-
11
- | Task | Notes |
12
- |------|-------|
13
- | Initial setup | Beth agent system installed |
14
-
15
- ---
16
-
17
- ## In Progress
18
-
19
- *Nothing currently in progress.*
20
-
21
- ---
22
-
23
- ## Backlog (Prioritized)
24
-
25
- ### High Priority (P1)
26
-
27
- - [ ] **Your first task** — Describe what needs to be done
28
-
29
- ### Medium Priority (P2)
30
-
31
- - [ ] **Future work** — Things to do later
32
-
33
- ### Low Priority (P3)
34
-
35
- - [ ] **Nice to have** — When you have time
36
-
37
- ---
38
-
39
- ## Decisions
40
-
41
- | Decision | Rationale | Date |
42
- |----------|-----------|------|
43
- | Use Beth orchestrator | Coordinated multi-agent workflows | Today |
44
-
45
- ---
46
-
47
- ## Status Summary
48
-
49
- **For Leadership:**
50
-
51
- Project initialized with Beth agent system.
52
-
53
- **What's Working:**
54
-
55
- - Beth agent (orchestrator) — Ready
56
- - Full agent roster — Ready
57
- - All skills — Loaded
58
-
59
- **What's Coming:**
60
-
61
- - Your roadmap here
62
-
63
- **Blockers:** None.
64
-
65
- ---
66
-
67
- ## How We Track Work
68
-
69
- This file is the single source of truth. When you start work:
70
-
71
- 1. Move the task to **In Progress**
72
- 2. Do the work
73
- 3. Move to **Completed** when done
74
- 4. Commit changes
75
-
76
- No external tools. No databases. Just this markdown file.
77
-
78
- ---
79
-
80
- *"Now you know what's happening. Questions? I'll answer them. Complaints? Keep them to yourself."*
1
+ # Backlog
2
+
3
+ > *"I don't have time to explain things twice. Read this."*
4
+
5
+ Last updated: <!-- Update this date when making changes -->
6
+
7
+ ---
8
+
9
+ ## Completed
10
+
11
+ | Task | Notes |
12
+ |------|-------|
13
+ | Initial setup | Beth agent system installed |
14
+
15
+ ---
16
+
17
+ ## In Progress
18
+
19
+ *Nothing currently in progress.*
20
+
21
+ ---
22
+
23
+ ## Backlog (Prioritized)
24
+
25
+ ### High Priority (P1)
26
+
27
+ - [ ] **Your first task** — Describe what needs to be done
28
+
29
+ ### Medium Priority (P2)
30
+
31
+ - [ ] **Future work** — Things to do later
32
+
33
+ ### Low Priority (P3)
34
+
35
+ - [ ] **Nice to have** — When you have time
36
+
37
+ ---
38
+
39
+ ## Decisions
40
+
41
+ | Decision | Rationale | Date |
42
+ |----------|-----------|------|
43
+ | Use Beth orchestrator | Coordinated multi-agent workflows | Today |
44
+
45
+ ---
46
+
47
+ ## Status Summary
48
+
49
+ **For Leadership:**
50
+
51
+ Project initialized with Beth agent system.
52
+
53
+ **What's Working:**
54
+
55
+ - Beth agent (orchestrator) — Ready
56
+ - Full agent roster — Ready
57
+ - All skills — Loaded
58
+
59
+ **What's Coming:**
60
+
61
+ - Your roadmap here
62
+
63
+ **Blockers:** None.
64
+
65
+ ---
66
+
67
+ ## How We Track Work
68
+
69
+ This file is the single source of truth. When you start work:
70
+
71
+ 1. Move the task to **In Progress**
72
+ 2. Do the work
73
+ 3. Move to **Completed** when done
74
+ 4. Commit changes
75
+
76
+ No external tools. No databases. Just this markdown file.
77
+
78
+ ---
79
+
80
+ *"Now you know what's happening. Questions? I'll answer them. Complaints? Keep them to yourself."*
@@ -1,9 +1,6 @@
1
1
  {
2
2
  "$schema": "https://code.visualstudio.com/docs/copilot/chat/mcp-servers",
3
3
  "servers": {
4
- "beads": {
5
- "command": "beads-mcp"
6
- },
7
4
  "shadcn": {
8
5
  "command": "npx",
9
6
  "args": ["shadcn@3.7.0", "mcp"]
@@ -1,13 +0,0 @@
1
- [38;2;218;165;32m .╭━━━━━━━╮.[0m
2
- [38;2;218;165;32m ╭──╯[0m[38;2;235;210;160m ▒▓▓▓▓▒ [0m[38;2;218;165;32m╰──╮[0m
3
- [38;2;218;165;32m ╱[0m[38;2;240;220;180m ▓██████████▓ [0m[38;2;218;165;32m╲[0m
4
- [38;2;218;165;32m ╱[0m[38;2;235;215;170m ████[0m[38;2;139;90;43m▓▓[0m[38;2;235;215;170m██[0m[38;2;139;90;43m▓▓[0m[38;2;235;215;170m████ [0m[38;2;218;165;32m╲[0m
5
- [38;2;218;165;32m │[0m[38;2;240;225;190m ███ [0m[38;2;70;110;150m◉[0m[38;2;240;225;190m ██ [0m[38;2;70;110;150m◉[0m[38;2;240;225;190m ███ [0m[38;2;218;165;32m│[0m
6
- [38;2;218;165;32m │[0m[38;2;235;210;165m ███▄▄▄▄▄▄███ [0m[38;2;218;165;32m│[0m
7
- [38;2;218;165;32m │[0m[38;2;230;200;150m ▀██[0m[38;2;180;80;80m▄══▄[0m[38;2;230;200;150m██▀ [0m[38;2;218;165;32m│[0m
8
- [38;2;218;165;32m │[0m[38;2;220;190;140m ╰────╯ [0m[38;2;218;165;32m│[0m
9
- [38;2;218;165;32m │[0m[38;2;200;175;130m ▓██████████▓ [0m[38;2;218;165;32m│[0m
10
- [38;2;218;165;32m ╲[0m[38;2;180;155;110m ████████████ [0m[38;2;218;165;32m╱[0m
11
- [38;2;218;165;32m ╲[0m[38;2;160;135;90m ▀██████████▀ [0m[38;2;218;165;32m╱[0m
12
- [38;2;218;165;32m ╰───╮ ╭───╯[0m
13
- [38;2;218;165;32m ╰──────╯[0m