hungry-ghost-hive 0.3.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 (467) hide show
  1. package/LICENSE +111 -0
  2. package/README.md +352 -0
  3. package/dist/agents/base-agent.d.ts +63 -0
  4. package/dist/agents/base-agent.d.ts.map +1 -0
  5. package/dist/agents/base-agent.js +189 -0
  6. package/dist/agents/base-agent.js.map +1 -0
  7. package/dist/agents/index.d.ts +7 -0
  8. package/dist/agents/index.d.ts.map +1 -0
  9. package/dist/agents/index.js +7 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/agents/intermediate.d.ts +15 -0
  12. package/dist/agents/intermediate.d.ts.map +1 -0
  13. package/dist/agents/intermediate.js +142 -0
  14. package/dist/agents/intermediate.js.map +1 -0
  15. package/dist/agents/junior.d.ts +15 -0
  16. package/dist/agents/junior.d.ts.map +1 -0
  17. package/dist/agents/junior.js +147 -0
  18. package/dist/agents/junior.js.map +1 -0
  19. package/dist/agents/qa.d.ts +23 -0
  20. package/dist/agents/qa.d.ts.map +1 -0
  21. package/dist/agents/qa.js +238 -0
  22. package/dist/agents/qa.js.map +1 -0
  23. package/dist/agents/senior.d.ts +18 -0
  24. package/dist/agents/senior.d.ts.map +1 -0
  25. package/dist/agents/senior.js +267 -0
  26. package/dist/agents/senior.js.map +1 -0
  27. package/dist/agents/tech-lead.d.ts +17 -0
  28. package/dist/agents/tech-lead.d.ts.map +1 -0
  29. package/dist/agents/tech-lead.js +274 -0
  30. package/dist/agents/tech-lead.js.map +1 -0
  31. package/dist/cli/commands/add-repo.d.ts +3 -0
  32. package/dist/cli/commands/add-repo.d.ts.map +1 -0
  33. package/dist/cli/commands/add-repo.js +84 -0
  34. package/dist/cli/commands/add-repo.js.map +1 -0
  35. package/dist/cli/commands/agents.d.ts +3 -0
  36. package/dist/cli/commands/agents.d.ts.map +1 -0
  37. package/dist/cli/commands/agents.js +214 -0
  38. package/dist/cli/commands/agents.js.map +1 -0
  39. package/dist/cli/commands/assign.d.ts +3 -0
  40. package/dist/cli/commands/assign.d.ts.map +1 -0
  41. package/dist/cli/commands/assign.js +81 -0
  42. package/dist/cli/commands/assign.js.map +1 -0
  43. package/dist/cli/commands/config.d.ts +3 -0
  44. package/dist/cli/commands/config.d.ts.map +1 -0
  45. package/dist/cli/commands/config.js +118 -0
  46. package/dist/cli/commands/config.js.map +1 -0
  47. package/dist/cli/commands/escalations.d.ts +3 -0
  48. package/dist/cli/commands/escalations.d.ts.map +1 -0
  49. package/dist/cli/commands/escalations.js +157 -0
  50. package/dist/cli/commands/escalations.js.map +1 -0
  51. package/dist/cli/commands/index.d.ts +17 -0
  52. package/dist/cli/commands/index.d.ts.map +1 -0
  53. package/dist/cli/commands/index.js +17 -0
  54. package/dist/cli/commands/index.js.map +1 -0
  55. package/dist/cli/commands/init.d.ts +3 -0
  56. package/dist/cli/commands/init.d.ts.map +1 -0
  57. package/dist/cli/commands/init.js +59 -0
  58. package/dist/cli/commands/init.js.map +1 -0
  59. package/dist/cli/commands/manager.d.ts +3 -0
  60. package/dist/cli/commands/manager.d.ts.map +1 -0
  61. package/dist/cli/commands/manager.js +775 -0
  62. package/dist/cli/commands/manager.js.map +1 -0
  63. package/dist/cli/commands/manager.test.d.ts +2 -0
  64. package/dist/cli/commands/manager.test.d.ts.map +1 -0
  65. package/dist/cli/commands/manager.test.js +45 -0
  66. package/dist/cli/commands/manager.test.js.map +1 -0
  67. package/dist/cli/commands/msg.d.ts +3 -0
  68. package/dist/cli/commands/msg.d.ts.map +1 -0
  69. package/dist/cli/commands/msg.js +190 -0
  70. package/dist/cli/commands/msg.js.map +1 -0
  71. package/dist/cli/commands/my-stories.d.ts +3 -0
  72. package/dist/cli/commands/my-stories.d.ts.map +1 -0
  73. package/dist/cli/commands/my-stories.js +174 -0
  74. package/dist/cli/commands/my-stories.js.map +1 -0
  75. package/dist/cli/commands/nuke.d.ts +3 -0
  76. package/dist/cli/commands/nuke.d.ts.map +1 -0
  77. package/dist/cli/commands/nuke.js +189 -0
  78. package/dist/cli/commands/nuke.js.map +1 -0
  79. package/dist/cli/commands/pr.d.ts +3 -0
  80. package/dist/cli/commands/pr.d.ts.map +1 -0
  81. package/dist/cli/commands/pr.js +488 -0
  82. package/dist/cli/commands/pr.js.map +1 -0
  83. package/dist/cli/commands/req.d.ts +3 -0
  84. package/dist/cli/commands/req.d.ts.map +1 -0
  85. package/dist/cli/commands/req.js +212 -0
  86. package/dist/cli/commands/req.js.map +1 -0
  87. package/dist/cli/commands/resume.d.ts +3 -0
  88. package/dist/cli/commands/resume.d.ts.map +1 -0
  89. package/dist/cli/commands/resume.js +114 -0
  90. package/dist/cli/commands/resume.js.map +1 -0
  91. package/dist/cli/commands/status.d.ts +3 -0
  92. package/dist/cli/commands/status.d.ts.map +1 -0
  93. package/dist/cli/commands/status.js +259 -0
  94. package/dist/cli/commands/status.js.map +1 -0
  95. package/dist/cli/commands/stories.d.ts +3 -0
  96. package/dist/cli/commands/stories.d.ts.map +1 -0
  97. package/dist/cli/commands/stories.js +111 -0
  98. package/dist/cli/commands/stories.js.map +1 -0
  99. package/dist/cli/commands/teams.d.ts +3 -0
  100. package/dist/cli/commands/teams.d.ts.map +1 -0
  101. package/dist/cli/commands/teams.js +137 -0
  102. package/dist/cli/commands/teams.js.map +1 -0
  103. package/dist/cli/dashboard/index.d.ts +5 -0
  104. package/dist/cli/dashboard/index.d.ts.map +1 -0
  105. package/dist/cli/dashboard/index.js +128 -0
  106. package/dist/cli/dashboard/index.js.map +1 -0
  107. package/dist/cli/dashboard/panels/activity.d.ts +5 -0
  108. package/dist/cli/dashboard/panels/activity.d.ts.map +1 -0
  109. package/dist/cli/dashboard/panels/activity.js +64 -0
  110. package/dist/cli/dashboard/panels/activity.js.map +1 -0
  111. package/dist/cli/dashboard/panels/agents.d.ts +5 -0
  112. package/dist/cli/dashboard/panels/agents.d.ts.map +1 -0
  113. package/dist/cli/dashboard/panels/agents.js +196 -0
  114. package/dist/cli/dashboard/panels/agents.js.map +1 -0
  115. package/dist/cli/dashboard/panels/escalations.d.ts +5 -0
  116. package/dist/cli/dashboard/panels/escalations.d.ts.map +1 -0
  117. package/dist/cli/dashboard/panels/escalations.js +93 -0
  118. package/dist/cli/dashboard/panels/escalations.js.map +1 -0
  119. package/dist/cli/dashboard/panels/merge-queue.d.ts +5 -0
  120. package/dist/cli/dashboard/panels/merge-queue.d.ts.map +1 -0
  121. package/dist/cli/dashboard/panels/merge-queue.js +57 -0
  122. package/dist/cli/dashboard/panels/merge-queue.js.map +1 -0
  123. package/dist/cli/dashboard/panels/pipeline.d.ts +5 -0
  124. package/dist/cli/dashboard/panels/pipeline.d.ts.map +1 -0
  125. package/dist/cli/dashboard/panels/pipeline.js +54 -0
  126. package/dist/cli/dashboard/panels/pipeline.js.map +1 -0
  127. package/dist/cli/dashboard/panels/stories.d.ts +5 -0
  128. package/dist/cli/dashboard/panels/stories.d.ts.map +1 -0
  129. package/dist/cli/dashboard/panels/stories.js +79 -0
  130. package/dist/cli/dashboard/panels/stories.js.map +1 -0
  131. package/dist/cli-runtimes/claude.d.ts +8 -0
  132. package/dist/cli-runtimes/claude.d.ts.map +1 -0
  133. package/dist/cli-runtimes/claude.js +27 -0
  134. package/dist/cli-runtimes/claude.js.map +1 -0
  135. package/dist/cli-runtimes/codex.d.ts +8 -0
  136. package/dist/cli-runtimes/codex.d.ts.map +1 -0
  137. package/dist/cli-runtimes/codex.js +27 -0
  138. package/dist/cli-runtimes/codex.js.map +1 -0
  139. package/dist/cli-runtimes/gemini.d.ts +8 -0
  140. package/dist/cli-runtimes/gemini.d.ts.map +1 -0
  141. package/dist/cli-runtimes/gemini.js +29 -0
  142. package/dist/cli-runtimes/gemini.js.map +1 -0
  143. package/dist/cli-runtimes/index.d.ts +25 -0
  144. package/dist/cli-runtimes/index.d.ts.map +1 -0
  145. package/dist/cli-runtimes/index.js +48 -0
  146. package/dist/cli-runtimes/index.js.map +1 -0
  147. package/dist/cli-runtimes/index.test.d.ts +2 -0
  148. package/dist/cli-runtimes/index.test.d.ts.map +1 -0
  149. package/dist/cli-runtimes/index.test.js +216 -0
  150. package/dist/cli-runtimes/index.test.js.map +1 -0
  151. package/dist/cli-runtimes/types.d.ts +27 -0
  152. package/dist/cli-runtimes/types.d.ts.map +1 -0
  153. package/dist/cli-runtimes/types.js +2 -0
  154. package/dist/cli-runtimes/types.js.map +1 -0
  155. package/dist/config/index.d.ts +3 -0
  156. package/dist/config/index.d.ts.map +1 -0
  157. package/dist/config/index.js +3 -0
  158. package/dist/config/index.js.map +1 -0
  159. package/dist/config/loader.d.ts +11 -0
  160. package/dist/config/loader.d.ts.map +1 -0
  161. package/dist/config/loader.js +72 -0
  162. package/dist/config/loader.js.map +1 -0
  163. package/dist/config/schema.d.ts +660 -0
  164. package/dist/config/schema.d.ts.map +1 -0
  165. package/dist/config/schema.js +217 -0
  166. package/dist/config/schema.js.map +1 -0
  167. package/dist/config/schema.test.d.ts +2 -0
  168. package/dist/config/schema.test.d.ts.map +1 -0
  169. package/dist/config/schema.test.js +123 -0
  170. package/dist/config/schema.test.js.map +1 -0
  171. package/dist/context-files/generator.d.ts +32 -0
  172. package/dist/context-files/generator.d.ts.map +1 -0
  173. package/dist/context-files/generator.js +120 -0
  174. package/dist/context-files/generator.js.map +1 -0
  175. package/dist/context-files/index.d.ts +38 -0
  176. package/dist/context-files/index.d.ts.map +1 -0
  177. package/dist/context-files/index.js +76 -0
  178. package/dist/context-files/index.js.map +1 -0
  179. package/dist/context-files/index.test.d.ts +2 -0
  180. package/dist/context-files/index.test.d.ts.map +1 -0
  181. package/dist/context-files/index.test.js +265 -0
  182. package/dist/context-files/index.test.js.map +1 -0
  183. package/dist/context-files/templates.d.ts +19 -0
  184. package/dist/context-files/templates.d.ts.map +1 -0
  185. package/dist/context-files/templates.js +266 -0
  186. package/dist/context-files/templates.js.map +1 -0
  187. package/dist/db/client.d.ts +95 -0
  188. package/dist/db/client.d.ts.map +1 -0
  189. package/dist/db/client.js +343 -0
  190. package/dist/db/client.js.map +1 -0
  191. package/dist/db/lock.d.ts +25 -0
  192. package/dist/db/lock.d.ts.map +1 -0
  193. package/dist/db/lock.js +56 -0
  194. package/dist/db/lock.js.map +1 -0
  195. package/dist/db/lock.test.d.ts +2 -0
  196. package/dist/db/lock.test.d.ts.map +1 -0
  197. package/dist/db/lock.test.js +73 -0
  198. package/dist/db/lock.test.js.map +1 -0
  199. package/dist/db/queries/agents.d.ts +31 -0
  200. package/dist/db/queries/agents.d.ts.map +1 -0
  201. package/dist/db/queries/agents.js +76 -0
  202. package/dist/db/queries/agents.js.map +1 -0
  203. package/dist/db/queries/escalations.d.ts +29 -0
  204. package/dist/db/queries/escalations.d.ts.map +1 -0
  205. package/dist/db/queries/escalations.js +105 -0
  206. package/dist/db/queries/escalations.js.map +1 -0
  207. package/dist/db/queries/heartbeat.d.ts +20 -0
  208. package/dist/db/queries/heartbeat.d.ts.map +1 -0
  209. package/dist/db/queries/heartbeat.js +61 -0
  210. package/dist/db/queries/heartbeat.js.map +1 -0
  211. package/dist/db/queries/index.d.ts +8 -0
  212. package/dist/db/queries/index.d.ts.map +1 -0
  213. package/dist/db/queries/index.js +8 -0
  214. package/dist/db/queries/index.js.map +1 -0
  215. package/dist/db/queries/logs.d.ts +21 -0
  216. package/dist/db/queries/logs.d.ts.map +1 -0
  217. package/dist/db/queries/logs.js +72 -0
  218. package/dist/db/queries/logs.js.map +1 -0
  219. package/dist/db/queries/messages.d.ts +17 -0
  220. package/dist/db/queries/messages.d.ts.map +1 -0
  221. package/dist/db/queries/messages.js +22 -0
  222. package/dist/db/queries/messages.js.map +1 -0
  223. package/dist/db/queries/pull-requests.d.ts +33 -0
  224. package/dist/db/queries/pull-requests.d.ts.map +1 -0
  225. package/dist/db/queries/pull-requests.js +130 -0
  226. package/dist/db/queries/pull-requests.js.map +1 -0
  227. package/dist/db/queries/requirements.d.ts +22 -0
  228. package/dist/db/queries/requirements.d.ts.map +1 -0
  229. package/dist/db/queries/requirements.js +53 -0
  230. package/dist/db/queries/requirements.js.map +1 -0
  231. package/dist/db/queries/stories.d.ts +42 -0
  232. package/dist/db/queries/stories.d.ts.map +1 -0
  233. package/dist/db/queries/stories.js +163 -0
  234. package/dist/db/queries/stories.js.map +1 -0
  235. package/dist/db/queries/teams.d.ts +14 -0
  236. package/dist/db/queries/teams.d.ts.map +1 -0
  237. package/dist/db/queries/teams.js +24 -0
  238. package/dist/db/queries/teams.js.map +1 -0
  239. package/dist/git/branches.d.ts +52 -0
  240. package/dist/git/branches.d.ts.map +1 -0
  241. package/dist/git/branches.js +133 -0
  242. package/dist/git/branches.js.map +1 -0
  243. package/dist/git/github.d.ts +75 -0
  244. package/dist/git/github.d.ts.map +1 -0
  245. package/dist/git/github.js +162 -0
  246. package/dist/git/github.js.map +1 -0
  247. package/dist/git/index.d.ts +4 -0
  248. package/dist/git/index.d.ts.map +1 -0
  249. package/dist/git/index.js +4 -0
  250. package/dist/git/index.js.map +1 -0
  251. package/dist/git/submodules.d.ts +47 -0
  252. package/dist/git/submodules.d.ts.map +1 -0
  253. package/dist/git/submodules.js +115 -0
  254. package/dist/git/submodules.js.map +1 -0
  255. package/dist/index.d.ts +3 -0
  256. package/dist/index.d.ts.map +1 -0
  257. package/dist/index.js +62 -0
  258. package/dist/index.js.map +1 -0
  259. package/dist/llm/anthropic.d.ts +18 -0
  260. package/dist/llm/anthropic.d.ts.map +1 -0
  261. package/dist/llm/anthropic.js +111 -0
  262. package/dist/llm/anthropic.js.map +1 -0
  263. package/dist/llm/index.d.ts +6 -0
  264. package/dist/llm/index.d.ts.map +1 -0
  265. package/dist/llm/index.js +24 -0
  266. package/dist/llm/index.js.map +1 -0
  267. package/dist/llm/openai.d.ts +18 -0
  268. package/dist/llm/openai.d.ts.map +1 -0
  269. package/dist/llm/openai.js +103 -0
  270. package/dist/llm/openai.js.map +1 -0
  271. package/dist/llm/provider.d.ts +38 -0
  272. package/dist/llm/provider.d.ts.map +1 -0
  273. package/dist/llm/provider.js +17 -0
  274. package/dist/llm/provider.js.map +1 -0
  275. package/dist/orchestrator/index.d.ts +4 -0
  276. package/dist/orchestrator/index.d.ts.map +1 -0
  277. package/dist/orchestrator/index.js +4 -0
  278. package/dist/orchestrator/index.js.map +1 -0
  279. package/dist/orchestrator/scaler.d.ts +42 -0
  280. package/dist/orchestrator/scaler.d.ts.map +1 -0
  281. package/dist/orchestrator/scaler.js +154 -0
  282. package/dist/orchestrator/scaler.js.map +1 -0
  283. package/dist/orchestrator/scheduler.d.ts +90 -0
  284. package/dist/orchestrator/scheduler.d.ts.map +1 -0
  285. package/dist/orchestrator/scheduler.js +1003 -0
  286. package/dist/orchestrator/scheduler.js.map +1 -0
  287. package/dist/orchestrator/scheduler.test.d.ts +2 -0
  288. package/dist/orchestrator/scheduler.test.d.ts.map +1 -0
  289. package/dist/orchestrator/scheduler.test.js +242 -0
  290. package/dist/orchestrator/scheduler.test.js.map +1 -0
  291. package/dist/orchestrator/workflow.d.ts +18 -0
  292. package/dist/orchestrator/workflow.d.ts.map +1 -0
  293. package/dist/orchestrator/workflow.js +106 -0
  294. package/dist/orchestrator/workflow.js.map +1 -0
  295. package/dist/state-detectors/claude.d.ts +33 -0
  296. package/dist/state-detectors/claude.d.ts.map +1 -0
  297. package/dist/state-detectors/claude.js +237 -0
  298. package/dist/state-detectors/claude.js.map +1 -0
  299. package/dist/state-detectors/claude.test.d.ts +2 -0
  300. package/dist/state-detectors/claude.test.d.ts.map +1 -0
  301. package/dist/state-detectors/claude.test.js +127 -0
  302. package/dist/state-detectors/claude.test.js.map +1 -0
  303. package/dist/state-detectors/codex.d.ts +34 -0
  304. package/dist/state-detectors/codex.d.ts.map +1 -0
  305. package/dist/state-detectors/codex.js +233 -0
  306. package/dist/state-detectors/codex.js.map +1 -0
  307. package/dist/state-detectors/codex.test.d.ts +2 -0
  308. package/dist/state-detectors/codex.test.d.ts.map +1 -0
  309. package/dist/state-detectors/codex.test.js +85 -0
  310. package/dist/state-detectors/codex.test.js.map +1 -0
  311. package/dist/state-detectors/factory.d.ts +22 -0
  312. package/dist/state-detectors/factory.d.ts.map +1 -0
  313. package/dist/state-detectors/factory.js +37 -0
  314. package/dist/state-detectors/factory.js.map +1 -0
  315. package/dist/state-detectors/factory.test.d.ts +2 -0
  316. package/dist/state-detectors/factory.test.d.ts.map +1 -0
  317. package/dist/state-detectors/factory.test.js +44 -0
  318. package/dist/state-detectors/factory.test.js.map +1 -0
  319. package/dist/state-detectors/gemini.d.ts +34 -0
  320. package/dist/state-detectors/gemini.d.ts.map +1 -0
  321. package/dist/state-detectors/gemini.js +236 -0
  322. package/dist/state-detectors/gemini.js.map +1 -0
  323. package/dist/state-detectors/gemini.test.d.ts +2 -0
  324. package/dist/state-detectors/gemini.test.d.ts.map +1 -0
  325. package/dist/state-detectors/gemini.test.js +93 -0
  326. package/dist/state-detectors/gemini.test.js.map +1 -0
  327. package/dist/state-detectors/index.d.ts +20 -0
  328. package/dist/state-detectors/index.d.ts.map +1 -0
  329. package/dist/state-detectors/index.js +21 -0
  330. package/dist/state-detectors/index.js.map +1 -0
  331. package/dist/state-detectors/types.d.ts +67 -0
  332. package/dist/state-detectors/types.d.ts.map +1 -0
  333. package/dist/state-detectors/types.js +28 -0
  334. package/dist/state-detectors/types.js.map +1 -0
  335. package/dist/tmux/index.d.ts +2 -0
  336. package/dist/tmux/index.d.ts.map +1 -0
  337. package/dist/tmux/index.js +2 -0
  338. package/dist/tmux/index.js.map +1 -0
  339. package/dist/tmux/manager.d.ts +45 -0
  340. package/dist/tmux/manager.d.ts.map +1 -0
  341. package/dist/tmux/manager.js +252 -0
  342. package/dist/tmux/manager.js.map +1 -0
  343. package/dist/utils/claude-code-state.d.ts +46 -0
  344. package/dist/utils/claude-code-state.d.ts.map +1 -0
  345. package/dist/utils/claude-code-state.js +252 -0
  346. package/dist/utils/claude-code-state.js.map +1 -0
  347. package/dist/utils/cli-builder.d.ts +19 -0
  348. package/dist/utils/cli-builder.d.ts.map +1 -0
  349. package/dist/utils/cli-builder.js +58 -0
  350. package/dist/utils/cli-builder.js.map +1 -0
  351. package/dist/utils/cli-commands.d.ts +27 -0
  352. package/dist/utils/cli-commands.d.ts.map +1 -0
  353. package/dist/utils/cli-commands.js +69 -0
  354. package/dist/utils/cli-commands.js.map +1 -0
  355. package/dist/utils/index.d.ts +3 -0
  356. package/dist/utils/index.d.ts.map +1 -0
  357. package/dist/utils/index.js +3 -0
  358. package/dist/utils/index.js.map +1 -0
  359. package/dist/utils/logger.d.ts +13 -0
  360. package/dist/utils/logger.d.ts.map +1 -0
  361. package/dist/utils/logger.js +77 -0
  362. package/dist/utils/logger.js.map +1 -0
  363. package/dist/utils/paths.d.ts +17 -0
  364. package/dist/utils/paths.d.ts.map +1 -0
  365. package/dist/utils/paths.js +33 -0
  366. package/dist/utils/paths.js.map +1 -0
  367. package/dist/utils/timeout.d.ts +25 -0
  368. package/dist/utils/timeout.d.ts.map +1 -0
  369. package/dist/utils/timeout.js +57 -0
  370. package/dist/utils/timeout.js.map +1 -0
  371. package/package.json +78 -0
  372. package/src/agents/base-agent.ts +255 -0
  373. package/src/agents/index.ts +6 -0
  374. package/src/agents/intermediate.ts +161 -0
  375. package/src/agents/junior.ts +166 -0
  376. package/src/agents/qa.ts +272 -0
  377. package/src/agents/senior.ts +307 -0
  378. package/src/agents/tech-lead.ts +324 -0
  379. package/src/cli/commands/add-repo.ts +89 -0
  380. package/src/cli/commands/agents.ts +247 -0
  381. package/src/cli/commands/assign.ts +86 -0
  382. package/src/cli/commands/config.ts +121 -0
  383. package/src/cli/commands/escalations.ts +179 -0
  384. package/src/cli/commands/index.ts +16 -0
  385. package/src/cli/commands/init.ts +66 -0
  386. package/src/cli/commands/manager.test.ts +52 -0
  387. package/src/cli/commands/manager.ts +916 -0
  388. package/src/cli/commands/msg.ts +232 -0
  389. package/src/cli/commands/my-stories.ts +198 -0
  390. package/src/cli/commands/nuke.ts +223 -0
  391. package/src/cli/commands/pr.ts +559 -0
  392. package/src/cli/commands/req.ts +231 -0
  393. package/src/cli/commands/resume.ts +129 -0
  394. package/src/cli/commands/status.ts +284 -0
  395. package/src/cli/commands/stories.ts +131 -0
  396. package/src/cli/commands/teams.ts +158 -0
  397. package/src/cli/dashboard/index.ts +141 -0
  398. package/src/cli/dashboard/panels/activity.ts +77 -0
  399. package/src/cli/dashboard/panels/agents.ts +244 -0
  400. package/src/cli/dashboard/panels/escalations.ts +109 -0
  401. package/src/cli/dashboard/panels/merge-queue.ts +65 -0
  402. package/src/cli/dashboard/panels/pipeline.ts +65 -0
  403. package/src/cli/dashboard/panels/stories.ts +87 -0
  404. package/src/cli-runtimes/claude.ts +31 -0
  405. package/src/cli-runtimes/codex.ts +31 -0
  406. package/src/cli-runtimes/gemini.ts +33 -0
  407. package/src/cli-runtimes/index.test.ts +261 -0
  408. package/src/cli-runtimes/index.ts +52 -0
  409. package/src/cli-runtimes/types.ts +30 -0
  410. package/src/config/index.ts +2 -0
  411. package/src/config/loader.ts +89 -0
  412. package/src/config/schema.test.ts +135 -0
  413. package/src/config/schema.ts +238 -0
  414. package/src/context-files/generator.ts +132 -0
  415. package/src/context-files/index.test.ts +323 -0
  416. package/src/context-files/index.ts +102 -0
  417. package/src/context-files/templates.ts +279 -0
  418. package/src/db/client.ts +475 -0
  419. package/src/db/lock.test.ts +93 -0
  420. package/src/db/lock.ts +74 -0
  421. package/src/db/migrations/001-initial.sql +121 -0
  422. package/src/db/migrations/005-add-agent-heartbeat.sql +4 -0
  423. package/src/db/queries/agents.ts +113 -0
  424. package/src/db/queries/escalations.ts +140 -0
  425. package/src/db/queries/heartbeat.ts +92 -0
  426. package/src/db/queries/index.ts +7 -0
  427. package/src/db/queries/logs.ts +136 -0
  428. package/src/db/queries/messages.ts +38 -0
  429. package/src/db/queries/pull-requests.ts +170 -0
  430. package/src/db/queries/requirements.ts +81 -0
  431. package/src/db/queries/stories.ts +223 -0
  432. package/src/db/queries/teams.ts +39 -0
  433. package/src/git/branches.ts +186 -0
  434. package/src/git/github.ts +247 -0
  435. package/src/git/index.ts +3 -0
  436. package/src/git/submodules.ts +141 -0
  437. package/src/index.ts +93 -0
  438. package/src/llm/anthropic.ts +134 -0
  439. package/src/llm/index.ts +26 -0
  440. package/src/llm/openai.ts +125 -0
  441. package/src/llm/provider.ts +60 -0
  442. package/src/orchestrator/index.ts +3 -0
  443. package/src/orchestrator/scaler.ts +201 -0
  444. package/src/orchestrator/scheduler.test.ts +288 -0
  445. package/src/orchestrator/scheduler.ts +1130 -0
  446. package/src/orchestrator/workflow.ts +137 -0
  447. package/src/state-detectors/claude.test.ts +149 -0
  448. package/src/state-detectors/claude.ts +256 -0
  449. package/src/state-detectors/codex.test.ts +100 -0
  450. package/src/state-detectors/codex.ts +252 -0
  451. package/src/state-detectors/factory.test.ts +51 -0
  452. package/src/state-detectors/factory.ts +40 -0
  453. package/src/state-detectors/gemini.test.ts +110 -0
  454. package/src/state-detectors/gemini.ts +255 -0
  455. package/src/state-detectors/index.ts +25 -0
  456. package/src/state-detectors/types.ts +80 -0
  457. package/src/tmux/index.ts +1 -0
  458. package/src/tmux/manager.ts +310 -0
  459. package/src/types/sql.js.d.ts +34 -0
  460. package/src/utils/claude-code-state.ts +281 -0
  461. package/src/utils/cli-builder.ts +78 -0
  462. package/src/utils/cli-commands.ts +84 -0
  463. package/src/utils/index.ts +2 -0
  464. package/src/utils/logger.ts +93 -0
  465. package/src/utils/paths.ts +49 -0
  466. package/src/utils/timeout.ts +84 -0
  467. package/tsconfig.json +25 -0
@@ -0,0 +1,265 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { tmpdir } from 'os';
3
+ import { join } from 'path';
4
+ import { mkdirSync, readFileSync, rmSync, existsSync } from 'fs';
5
+ import { getContextFileName, getContextFilePath, contextFileExists, generateContextFile, } from './index.js';
6
+ describe('context-files module', () => {
7
+ let testDir;
8
+ beforeEach(() => {
9
+ testDir = join(tmpdir(), `hive-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
10
+ mkdirSync(testDir, { recursive: true });
11
+ });
12
+ afterEach(() => {
13
+ if (existsSync(testDir)) {
14
+ rmSync(testDir, { recursive: true, force: true });
15
+ }
16
+ });
17
+ describe('getContextFileName', () => {
18
+ it('should return CLAUDE.md for claude-code', () => {
19
+ expect(getContextFileName('claude-code')).toBe('CLAUDE.md');
20
+ });
21
+ it('should return AGENTS.md for codex', () => {
22
+ expect(getContextFileName('codex')).toBe('AGENTS.md');
23
+ });
24
+ it('should return GEMINI.md for gemini', () => {
25
+ expect(getContextFileName('gemini')).toBe('GEMINI.md');
26
+ });
27
+ });
28
+ describe('getContextFilePath', () => {
29
+ it('should construct correct file path', () => {
30
+ const path = getContextFilePath('/repos/service-a', 'claude-code');
31
+ expect(path).toBe('/repos/service-a/CLAUDE.md');
32
+ });
33
+ it('should work for different CLI tools', () => {
34
+ const claudePath = getContextFilePath('/repo', 'claude-code');
35
+ const codexPath = getContextFilePath('/repo', 'codex');
36
+ const geminiPath = getContextFilePath('/repo', 'gemini');
37
+ expect(claudePath).toContain('CLAUDE.md');
38
+ expect(codexPath).toContain('AGENTS.md');
39
+ expect(geminiPath).toContain('GEMINI.md');
40
+ });
41
+ });
42
+ describe('contextFileExists', () => {
43
+ it('should return false when file does not exist', () => {
44
+ expect(contextFileExists(testDir, 'claude-code')).toBe(false);
45
+ });
46
+ it('should return true when file exists', () => {
47
+ const filePath = getContextFilePath(testDir, 'claude-code');
48
+ mkdirSync(testDir, { recursive: true });
49
+ require('fs').writeFileSync(filePath, 'test content');
50
+ expect(contextFileExists(testDir, 'claude-code')).toBe(true);
51
+ });
52
+ });
53
+ describe('generateContextFile', () => {
54
+ const mockTeam = {
55
+ id: 'team-test',
56
+ name: 'test-team',
57
+ repo_path: '',
58
+ repo_url: 'https://github.com/test/repo.git',
59
+ created_at: new Date().toISOString(),
60
+ };
61
+ const mockStory = {
62
+ id: 'STORY-001',
63
+ requirement_id: 'REQ-001',
64
+ team_id: 'team-test',
65
+ title: 'Implement authentication',
66
+ description: 'Add OAuth2 support',
67
+ acceptance_criteria: JSON.stringify(['User can login', 'Token is valid']),
68
+ complexity_score: 5,
69
+ story_points: 5,
70
+ status: 'in_progress',
71
+ assigned_agent_id: 'agent-001',
72
+ branch_name: 'feature/STORY-001-auth',
73
+ pr_url: 'https://github.com/test/repo/pull/1',
74
+ created_at: new Date().toISOString(),
75
+ updated_at: new Date().toISOString(),
76
+ };
77
+ const mockConfig = {
78
+ version: '1.0',
79
+ models: {
80
+ tech_lead: { provider: 'anthropic', model: 'claude-opus', max_tokens: 16000, temperature: 0.7, cli_tool: 'claude' },
81
+ senior: { provider: 'anthropic', model: 'claude-sonnet', max_tokens: 8000, temperature: 0.5, cli_tool: 'claude' },
82
+ intermediate: { provider: 'anthropic', model: 'claude-haiku', max_tokens: 4000, temperature: 0.3, cli_tool: 'claude' },
83
+ junior: { provider: 'openai', model: 'gpt-4o-mini', max_tokens: 4000, temperature: 0.2, cli_tool: 'claude' },
84
+ qa: { provider: 'anthropic', model: 'claude-sonnet', max_tokens: 8000, temperature: 0.2, cli_tool: 'claude' },
85
+ },
86
+ scaling: { senior_capacity: 20, junior_max_complexity: 3, intermediate_max_complexity: 5 },
87
+ github: { base_branch: 'main', pr_template: '' },
88
+ qa: {
89
+ quality_checks: ['npm run lint', 'npm run type-check'],
90
+ build_command: 'npm run build',
91
+ },
92
+ agents: {
93
+ poll_interval: 5000,
94
+ max_retries: 2,
95
+ checkpoint_threshold: 14000,
96
+ llm_timeout_ms: 1800000,
97
+ llm_max_retries: 2,
98
+ },
99
+ manager: { fast_poll_interval: 15000, slow_poll_interval: 60000 },
100
+ logging: { level: 'info', retention_days: 30 },
101
+ };
102
+ it('should create a new context file if it does not exist', () => {
103
+ const team = { ...mockTeam, repo_path: testDir };
104
+ const options = {
105
+ cliTool: 'claude-code',
106
+ team,
107
+ stories: [mockStory],
108
+ agentType: 'intermediate',
109
+ config: mockConfig,
110
+ agentId: 'agent-001',
111
+ };
112
+ generateContextFile(options);
113
+ expect(contextFileExists(testDir, 'claude-code')).toBe(true);
114
+ const content = readFileSync(getContextFilePath(testDir, 'claude-code'), 'utf-8');
115
+ expect(content).toContain('<!-- HIVE:START -->');
116
+ expect(content).toContain('<!-- HIVE:END -->');
117
+ expect(content).toContain('STORY-001');
118
+ });
119
+ it('should include story information in generated file', () => {
120
+ const team = { ...mockTeam, repo_path: testDir };
121
+ const options = {
122
+ cliTool: 'claude-code',
123
+ team,
124
+ stories: [mockStory],
125
+ agentType: 'senior',
126
+ config: mockConfig,
127
+ };
128
+ generateContextFile(options);
129
+ const content = readFileSync(getContextFilePath(testDir, 'claude-code'), 'utf-8');
130
+ expect(content).toContain('STORY-001');
131
+ expect(content).toContain('Implement authentication');
132
+ expect(content).toContain('OAuth2');
133
+ });
134
+ it('should generate different content for different CLI tools', () => {
135
+ const team = { ...mockTeam, repo_path: testDir };
136
+ const baseOptions = {
137
+ cliTool: 'claude-code',
138
+ team,
139
+ stories: [mockStory],
140
+ agentType: 'intermediate',
141
+ config: mockConfig,
142
+ };
143
+ // Generate for Claude Code
144
+ generateContextFile({ ...baseOptions, cliTool: 'claude-code' });
145
+ const claudeContent = readFileSync(getContextFilePath(testDir, 'claude-code'), 'utf-8');
146
+ // Clean up and generate for Codex
147
+ rmSync(testDir, { recursive: true, force: true });
148
+ mkdirSync(testDir, { recursive: true });
149
+ generateContextFile({ ...baseOptions, cliTool: 'codex' });
150
+ const codexContent = readFileSync(getContextFilePath(testDir, 'codex'), 'utf-8');
151
+ // Both should have markers and story info, but different headers
152
+ expect(claudeContent).toContain('Claude Code');
153
+ expect(codexContent).toContain('Codex');
154
+ expect(claudeContent).toContain('STORY-001');
155
+ expect(codexContent).toContain('STORY-001');
156
+ });
157
+ it('should update existing file preserving content outside markers', () => {
158
+ const team = { ...mockTeam, repo_path: testDir };
159
+ const filePath = getContextFilePath(testDir, 'claude-code');
160
+ // Write initial file with custom content
161
+ mkdirSync(testDir, { recursive: true });
162
+ const initialContent = `# My Custom Header
163
+
164
+ This is my custom content that should be preserved.
165
+
166
+ <!-- HIVE:START -->
167
+ Old Hive content
168
+ <!-- HIVE:END -->
169
+
170
+ ## Footer
171
+
172
+ More custom content here.`;
173
+ require('fs').writeFileSync(filePath, initialContent);
174
+ // Generate new context
175
+ const options = {
176
+ cliTool: 'claude-code',
177
+ team,
178
+ stories: [mockStory],
179
+ agentType: 'junior',
180
+ config: mockConfig,
181
+ };
182
+ generateContextFile(options);
183
+ const updatedContent = readFileSync(filePath, 'utf-8');
184
+ // Original content should be preserved
185
+ expect(updatedContent).toContain('# My Custom Header');
186
+ expect(updatedContent).toContain('This is my custom content');
187
+ expect(updatedContent).toContain('## Footer');
188
+ expect(updatedContent).toContain('More custom content here');
189
+ // Hive content should be updated
190
+ expect(updatedContent).toContain('STORY-001');
191
+ expect(updatedContent).not.toContain('Old Hive content');
192
+ expect(updatedContent).toContain('<!-- HIVE:START -->');
193
+ expect(updatedContent).toContain('<!-- HIVE:END -->');
194
+ });
195
+ it('should append Hive section if markers do not exist', () => {
196
+ const team = { ...mockTeam, repo_path: testDir };
197
+ const filePath = getContextFilePath(testDir, 'claude-code');
198
+ // Write initial file without markers
199
+ mkdirSync(testDir, { recursive: true });
200
+ const initialContent = '# Existing README\n\nSome content here.';
201
+ require('fs').writeFileSync(filePath, initialContent);
202
+ // Generate context
203
+ const options = {
204
+ cliTool: 'claude-code',
205
+ team,
206
+ stories: [mockStory],
207
+ agentType: 'qa',
208
+ config: mockConfig,
209
+ };
210
+ generateContextFile(options);
211
+ const updatedContent = readFileSync(filePath, 'utf-8');
212
+ // Original content should be preserved
213
+ expect(updatedContent).toContain('# Existing README');
214
+ expect(updatedContent).toContain('Some content here');
215
+ // Hive content should be appended
216
+ expect(updatedContent).toContain('<!-- HIVE:START -->');
217
+ expect(updatedContent).toContain('STORY-001');
218
+ });
219
+ it('should work with empty stories list', () => {
220
+ const team = { ...mockTeam, repo_path: testDir };
221
+ const options = {
222
+ cliTool: 'claude-code',
223
+ team,
224
+ stories: [],
225
+ agentType: 'senior',
226
+ config: mockConfig,
227
+ };
228
+ generateContextFile(options);
229
+ const content = readFileSync(getContextFilePath(testDir, 'claude-code'), 'utf-8');
230
+ expect(content).toContain('<!-- HIVE:START -->');
231
+ expect(content).toContain('No active stories');
232
+ });
233
+ it('should include quality check commands from config', () => {
234
+ const team = { ...mockTeam, repo_path: testDir };
235
+ const options = {
236
+ cliTool: 'claude-code',
237
+ team,
238
+ stories: [mockStory],
239
+ agentType: 'intermediate',
240
+ config: mockConfig,
241
+ };
242
+ generateContextFile(options);
243
+ const content = readFileSync(getContextFilePath(testDir, 'claude-code'), 'utf-8');
244
+ expect(content).toContain('npm run lint');
245
+ expect(content).toContain('npm run type-check');
246
+ expect(content).toContain('npm run build');
247
+ });
248
+ it('should include agent ID when provided', () => {
249
+ const team = { ...mockTeam, repo_path: testDir };
250
+ const agentId = 'intermediate-abc123def456';
251
+ const options = {
252
+ cliTool: 'claude-code',
253
+ team,
254
+ stories: [mockStory],
255
+ agentType: 'intermediate',
256
+ config: mockConfig,
257
+ agentId,
258
+ };
259
+ generateContextFile(options);
260
+ const content = readFileSync(getContextFilePath(testDir, 'claude-code'), 'utf-8');
261
+ expect(content).toContain(agentId);
262
+ });
263
+ });
264
+ });
265
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/context-files/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,YAAY,CAAC;AAKpB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,OAAe,CAAC;IAEpB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3F,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC5D,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEtD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,MAAM,QAAQ,GAAY;YACxB,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,kCAAkC;YAC5C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QAEF,MAAM,SAAS,GAAa;YAC1B,EAAE,EAAE,WAAW;YACf,cAAc,EAAE,SAAS;YACzB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,oBAAoB;YACjC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YACzE,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,aAAa;YACrB,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,wBAAwB;YACrC,MAAM,EAAE,qCAAqC;YAC7C,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QAEF,MAAM,UAAU,GAAe;YAC7B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBACnH,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBACjH,YAAY,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBACtH,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBAC5G,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;aAC9G;YACD,OAAO,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC,EAAE;YAC1F,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;YAChD,EAAE,EAAE;gBACF,cAAc,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC;gBACtD,aAAa,EAAE,eAAe;aAC/B;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,CAAC;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,cAAc,EAAE,OAAO;gBACvB,eAAe,EAAE,CAAC;aACnB;YACD,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE;YACjE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE;SAC/C,CAAC;QAEF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,WAAW;aACrB,CAAC;YAEF,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,UAAU;aACnB,CAAC;YAEF,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,WAAW,GAAuB;gBACtC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,UAAU;aACnB,CAAC;YAEF,2BAA2B;YAC3B,mBAAmB,CAAC,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YAExF,kCAAkC;YAClC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAExC,mBAAmB,CAAC,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAEjF,iEAAiE;YACjE,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE5D,yCAAyC;YACzC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,cAAc,GAAG;;;;;;;;;;0BAUH,CAAC;YAErB,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEtD,uBAAuB;YACvB,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,UAAU;aACnB,CAAC;YAEF,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEvD,uCAAuC;YACvC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACvD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;YAC9D,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YAE7D,iCAAiC;YACjC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACzD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACxD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE5D,qCAAqC;YACrC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,cAAc,GAAG,yCAAyC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEtD,mBAAmB;YACnB,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,UAAU;aACnB,CAAC;YAEF,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEvD,uCAAuC;YACvC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YACtD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAEtD,kCAAkC;YAClC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACxD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,UAAU;aACnB,CAAC;YAEF,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,UAAU;aACnB,CAAC;YAEF,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,2BAA2B,CAAC;YAC5C,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,UAAU;gBAClB,OAAO;aACR,CAAC;YAEF,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YAClF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Context File Templates
3
+ *
4
+ * CLI-specific templates for generating context files
5
+ */
6
+ import type { ContextFileOptions } from './index.js';
7
+ /**
8
+ * Template for Claude Code context file (CLAUDE.md)
9
+ */
10
+ export declare function claudeCodeTemplate(options: ContextFileOptions): string;
11
+ /**
12
+ * Template for Codex context file (AGENTS.md)
13
+ */
14
+ export declare function codexTemplate(options: ContextFileOptions): string;
15
+ /**
16
+ * Template for Gemini context file (GEMINI.md)
17
+ */
18
+ export declare function geminiTemplate(options: ContextFileOptions): string;
19
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/context-files/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAkFtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAoFjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAoFlE"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Context File Templates
3
+ *
4
+ * CLI-specific templates for generating context files
5
+ */
6
+ import { formatStoriesForContext, formatQualityChecks, getAgentRoleDescription, formatHiveMsgCommands, formatGitWorkflow, } from './generator.js';
7
+ /**
8
+ * Template for Claude Code context file (CLAUDE.md)
9
+ */
10
+ export function claudeCodeTemplate(options) {
11
+ const { team, stories, agentType, config, agentId } = options;
12
+ const formattedStories = formatStoriesForContext(stories);
13
+ const agentRole = getAgentRoleDescription(agentType);
14
+ const hiveMsgCommands = formatHiveMsgCommands(agentId);
15
+ const gitWorkflow = formatGitWorkflow();
16
+ const qualityChecks = formatQualityChecks(config.qa?.quality_checks || []);
17
+ const buildCommand = config.qa?.build_command || 'npm run build';
18
+ return `<!-- HIVE:START -->
19
+ # Hive Workflow Context - Claude Code
20
+
21
+ **Team**: ${team.name}
22
+ **Repository**: ${team.repo_path}
23
+ **Role**: ${agentRole}
24
+
25
+ ## Your Assignment
26
+
27
+ You are part of the Hive orchestration system. This document contains the context you need to work effectively within the team.
28
+
29
+ ${agentId ? `**Your Agent ID**: \`${agentId}\`` : ''}
30
+
31
+ ## Active Stories
32
+
33
+ ${formattedStories}
34
+
35
+ ## Quality Standards
36
+
37
+ Before submitting work for review, ensure your code passes all quality checks:
38
+
39
+ ### Quality Checks
40
+
41
+ ${qualityChecks}
42
+
43
+ ### Build Command
44
+
45
+ \`\`\`bash
46
+ ${buildCommand}
47
+ \`\`\`
48
+
49
+ ${config.qa?.test_command
50
+ ? `### Test Command
51
+
52
+ \`\`\`bash
53
+ ${config.qa.test_command}
54
+ \`\`\``
55
+ : ''}
56
+
57
+ ## Development Workflow
58
+
59
+ ${gitWorkflow}
60
+
61
+ ${hiveMsgCommands}
62
+
63
+ ## Story Implementation Process
64
+
65
+ 1. **Select a story** - Your senior will assign stories to you
66
+ 2. **Create feature branch** - Name it \`feature/<story-id>-<short-description>\`
67
+ 3. **Implement changes** - Write clean, tested code following existing patterns
68
+ 4. **Run quality checks** - Execute all quality checks before committing
69
+ 5. **Commit regularly** - Keep commits small and focused
70
+ 6. **Push and create PR** - Push your branch and create a pull request on GitHub
71
+ 7. **Review feedback** - Address code review comments promptly
72
+ 8. **Merge** - Once approved and all checks pass, the story will be merged
73
+
74
+ ## Important Notes
75
+
76
+ - Always ask for help if you're stuck (use \`hive msg\`)
77
+ - Run tests locally before pushing
78
+ - Keep your branch up to date with main
79
+ - Link stories to PRs using the story ID in the PR description
80
+ - Follow the existing code patterns and conventions in the repository
81
+
82
+ ## Escalation
83
+
84
+ If you encounter blockers that you cannot resolve:
85
+ 1. Document what you've tried
86
+ 2. Message your Senior using \`hive msg\`
87
+ 3. Wait for guidance before proceeding further
88
+
89
+ ---
90
+ <!-- HIVE:END -->`;
91
+ }
92
+ /**
93
+ * Template for Codex context file (AGENTS.md)
94
+ */
95
+ export function codexTemplate(options) {
96
+ const { team, stories, agentType, config, agentId } = options;
97
+ const formattedStories = formatStoriesForContext(stories);
98
+ const agentRole = getAgentRoleDescription(agentType);
99
+ const hiveMsgCommands = formatHiveMsgCommands(agentId);
100
+ const gitWorkflow = formatGitWorkflow();
101
+ const qualityChecks = formatQualityChecks(config.qa?.quality_checks || []);
102
+ const buildCommand = config.qa?.build_command || 'npm run build';
103
+ return `<!-- HIVE:START -->
104
+ # Hive Team Context - Codex Agent
105
+
106
+ **Team**: ${team.name}
107
+ **Repository Path**: ${team.repo_path}
108
+ **Agent Role**: ${agentRole}
109
+
110
+ ## Team Assignment Overview
111
+
112
+ This file contains essential information for working within the Hive orchestration system using Codex CLI.
113
+
114
+ ${agentId ? `**Agent Identifier**: \`${agentId}\`` : ''}
115
+
116
+ ## Current Work Items
117
+
118
+ ${formattedStories}
119
+
120
+ ## Code Quality Requirements
121
+
122
+ All code must pass the following quality checks before submission:
123
+
124
+ ### Quality Assurance Checks
125
+
126
+ ${qualityChecks}
127
+
128
+ ### Build Process
129
+
130
+ \`\`\`bash
131
+ ${buildCommand}
132
+ \`\`\`
133
+
134
+ ${config.qa?.test_command
135
+ ? `### Test Suite
136
+
137
+ \`\`\`bash
138
+ ${config.qa.test_command}
139
+ \`\`\``
140
+ : ''}
141
+
142
+ ## Implementation Standards
143
+
144
+ ${gitWorkflow}
145
+
146
+ ${hiveMsgCommands}
147
+
148
+ ## Story Delivery Pipeline
149
+
150
+ 1. **Story Assignment** - Your team lead assigns stories based on complexity
151
+ 2. **Branch Creation** - Create branches named \`feature/<story-id>-<feature-name>\`
152
+ 3. **Code Development** - Implement features following team conventions
153
+ 4. **Quality Assurance** - Run all quality checks and verify the build succeeds
154
+ 5. **Commit Management** - Make focused commits with clear messages
155
+ 6. **Push and PR** - Push your branch and open a GitHub pull request
156
+ 7. **Code Review** - Respond to review comments and refine as needed
157
+ 8. **Merge Process** - Once approved, code is merged to main branch
158
+
159
+ ## Best Practices
160
+
161
+ - Always verify quality checks pass before pushing
162
+ - Test all changes locally
163
+ - Maintain branch freshness - rebase on main regularly
164
+ - Link PRs to stories using story identifiers
165
+ - Follow established code patterns and conventions
166
+ - Document non-obvious implementation decisions
167
+
168
+ ## Getting Help
169
+
170
+ If you need assistance:
171
+ 1. Clearly document any blockers
172
+ 2. Use \`hive msg send\` to contact your team lead or senior
173
+ 3. Provide context about what you've already tried
174
+ 4. Wait for guidance before making workarounds
175
+
176
+ ---
177
+ <!-- HIVE:END -->`;
178
+ }
179
+ /**
180
+ * Template for Gemini context file (GEMINI.md)
181
+ */
182
+ export function geminiTemplate(options) {
183
+ const { team, stories, agentType, config, agentId } = options;
184
+ const formattedStories = formatStoriesForContext(stories);
185
+ const agentRole = getAgentRoleDescription(agentType);
186
+ const hiveMsgCommands = formatHiveMsgCommands(agentId);
187
+ const gitWorkflow = formatGitWorkflow();
188
+ const qualityChecks = formatQualityChecks(config.qa?.quality_checks || []);
189
+ const buildCommand = config.qa?.build_command || 'npm run build';
190
+ return `<!-- HIVE:START -->
191
+ # Hive Development Context - Gemini
192
+
193
+ **Team Assignment**: ${team.name}
194
+ **Repository**: ${team.repo_path}
195
+ **Position**: ${agentRole}
196
+
197
+ ## Hive Context Document
198
+
199
+ This document provides all necessary context for your work as a Hive agent.
200
+
201
+ ${agentId ? `**Agent ID**: \`${agentId}\`` : ''}
202
+
203
+ ## Assigned Stories
204
+
205
+ ${formattedStories}
206
+
207
+ ## Code Quality Standards
208
+
209
+ Your code must meet these quality standards before final submission:
210
+
211
+ ### Validation Checks
212
+
213
+ ${qualityChecks}
214
+
215
+ ### Build Verification
216
+
217
+ \`\`\`bash
218
+ ${buildCommand}
219
+ \`\`\`
220
+
221
+ ${config.qa?.test_command
222
+ ? `### Testing
223
+
224
+ \`\`\`bash
225
+ ${config.qa.test_command}
226
+ \`\`\``
227
+ : ''}
228
+
229
+ ## Development Process
230
+
231
+ ${gitWorkflow}
232
+
233
+ ${hiveMsgCommands}
234
+
235
+ ## Workflow for Story Completion
236
+
237
+ 1. **Receive Assignment** - Your manager assigns stories matched to your skills
238
+ 2. **Setup Branch** - Initialize feature branch: \`feature/<story-id>-<brief-title>\`
239
+ 3. **Implementation** - Develop the feature with attention to quality
240
+ 4. **Validation** - Confirm all quality checks and builds pass
241
+ 5. **Save Changes** - Commit your work with meaningful messages
242
+ 6. **Upload Work** - Push branch and create pull request on GitHub
243
+ 7. **Handle Feedback** - Address review comments and iterate
244
+ 8. **Complete** - Story is merged once all approvals obtained
245
+
246
+ ## Quality Standards
247
+
248
+ - Always run quality checks locally before pushing
249
+ - Verify the build completes successfully
250
+ - Run tests to catch regressions
251
+ - Use story IDs in PR references for tracking
252
+ - Maintain consistency with existing codebase
253
+ - Comment complex logic
254
+
255
+ ## Support and Escalation
256
+
257
+ When you encounter issues:
258
+ 1. Document what you've investigated
259
+ 2. Send a message to your team lead: \`hive msg send hive-senior-${team.name} "your question"\`
260
+ 3. Include details of what you've tried
261
+ 4. Await direction before implementing workarounds
262
+
263
+ ---
264
+ <!-- HIVE:END -->`;
265
+ }
266
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/context-files/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA2B;IAC5D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,aAAa,IAAI,eAAe,CAAC;IAEjE,OAAO;;;YAGG,IAAI,CAAC,IAAI;kBACH,IAAI,CAAC,SAAS;YACpB,SAAS;;;;;;EAMnB,OAAO,CAAC,CAAC,CAAC,wBAAwB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;;;EAIlD,gBAAgB;;;;;;;;EAQhB,aAAa;;;;;EAKb,YAAY;;;EAGZ,MAAM,CAAC,EAAE,EAAE,YAAY;QACrB,CAAC,CAAC;;;EAGJ,MAAM,CAAC,EAAE,CAAC,YAAY;OACjB;QACH,CAAC,CAAC,EAAE;;;;EAIN,WAAW;;EAEX,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6BC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAA2B;IACvD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,aAAa,IAAI,eAAe,CAAC;IAEjE,OAAO;;;YAGG,IAAI,CAAC,IAAI;uBACE,IAAI,CAAC,SAAS;kBACnB,SAAS;;;;;;EAMzB,OAAO,CAAC,CAAC,CAAC,2BAA2B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;;;EAIrD,gBAAgB;;;;;;;;EAQhB,aAAa;;;;;EAKb,YAAY;;;EAGZ,MAAM,CAAC,EAAE,EAAE,YAAY;QACrB,CAAC,CAAC;;;EAGJ,MAAM,CAAC,EAAE,CAAC,YAAY;OACjB;QACH,CAAC,CAAC,EAAE;;;;EAIN,WAAW;;EAEX,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+BC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAA2B;IACxD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,aAAa,IAAI,eAAe,CAAC;IAEjE,OAAO;;;uBAGc,IAAI,CAAC,IAAI;kBACd,IAAI,CAAC,SAAS;gBAChB,SAAS;;;;;;EAMvB,OAAO,CAAC,CAAC,CAAC,mBAAmB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;;;EAI7C,gBAAgB;;;;;;;;EAQhB,aAAa;;;;;EAKb,YAAY;;;EAGZ,MAAM,CAAC,EAAE,EAAE,YAAY;QACrB,CAAC,CAAC;;;EAGJ,MAAM,CAAC,EAAE,CAAC,YAAY;OACjB;QACH,CAAC,CAAC,EAAE;;;;EAIN,WAAW;;EAEX,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;mEA0BkD,IAAI,CAAC,IAAI;;;;;kBAK1D,CAAC;AACnB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { Database as SqlJsDatabase } from 'sql.js';
2
+ export interface DatabaseClient {
3
+ db: SqlJsDatabase;
4
+ close: () => void;
5
+ save: () => void;
6
+ runMigrations: () => void;
7
+ }
8
+ export declare function createDatabase(dbPath: string): Promise<DatabaseClient>;
9
+ export declare function getDatabase(hiveDir: string): Promise<DatabaseClient>;
10
+ export declare function queryAll<T>(db: SqlJsDatabase, sql: string, params?: unknown[]): T[];
11
+ export declare function queryOne<T>(db: SqlJsDatabase, sql: string, params?: unknown[]): T | undefined;
12
+ export declare function run(db: SqlJsDatabase, sql: string, params?: unknown[]): void;
13
+ export interface TeamRow {
14
+ id: string;
15
+ repo_url: string;
16
+ repo_path: string;
17
+ name: string;
18
+ created_at: string;
19
+ }
20
+ export interface AgentRow {
21
+ id: string;
22
+ type: 'tech_lead' | 'senior' | 'intermediate' | 'junior' | 'qa';
23
+ team_id: string | null;
24
+ tmux_session: string | null;
25
+ model: string | null;
26
+ status: 'idle' | 'working' | 'blocked' | 'terminated';
27
+ current_story_id: string | null;
28
+ memory_state: string | null;
29
+ last_seen: string | null;
30
+ cli_tool: string;
31
+ worktree_path: string | null;
32
+ created_at: string;
33
+ updated_at: string;
34
+ }
35
+ export interface RequirementRow {
36
+ id: string;
37
+ title: string;
38
+ description: string;
39
+ submitted_by: string;
40
+ status: 'pending' | 'planning' | 'planned' | 'in_progress' | 'completed';
41
+ created_at: string;
42
+ }
43
+ export interface StoryRow {
44
+ id: string;
45
+ requirement_id: string | null;
46
+ team_id: string | null;
47
+ title: string;
48
+ description: string;
49
+ acceptance_criteria: string | null;
50
+ complexity_score: number | null;
51
+ story_points: number | null;
52
+ status: 'draft' | 'estimated' | 'planned' | 'in_progress' | 'review' | 'qa' | 'qa_failed' | 'pr_submitted' | 'merged';
53
+ assigned_agent_id: string | null;
54
+ branch_name: string | null;
55
+ pr_url: string | null;
56
+ created_at: string;
57
+ updated_at: string;
58
+ }
59
+ export interface AgentLogRow {
60
+ id: number;
61
+ agent_id: string;
62
+ story_id: string | null;
63
+ event_type: string;
64
+ status: string | null;
65
+ message: string | null;
66
+ metadata: string | null;
67
+ timestamp: string;
68
+ }
69
+ export interface EscalationRow {
70
+ id: string;
71
+ story_id: string | null;
72
+ from_agent_id: string | null;
73
+ to_agent_id: string | null;
74
+ reason: string;
75
+ status: 'pending' | 'acknowledged' | 'resolved';
76
+ resolution: string | null;
77
+ created_at: string;
78
+ resolved_at: string | null;
79
+ }
80
+ export interface PullRequestRow {
81
+ id: string;
82
+ story_id: string | null;
83
+ team_id: string | null;
84
+ branch_name: string;
85
+ github_pr_number: number | null;
86
+ github_pr_url: string | null;
87
+ submitted_by: string | null;
88
+ reviewed_by: string | null;
89
+ status: 'queued' | 'reviewing' | 'approved' | 'merged' | 'rejected' | 'closed';
90
+ review_notes: string | null;
91
+ created_at: string;
92
+ updated_at: string;
93
+ reviewed_at: string | null;
94
+ }
95
+ //# sourceMappingURL=client.d.ts.map