@specforge/cli 0.1.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 (380) hide show
  1. package/README.md +781 -0
  2. package/bin/specforge +21 -0
  3. package/dist/channel.d.ts +27 -0
  4. package/dist/channel.d.ts.map +1 -0
  5. package/dist/channel.js +22 -0
  6. package/dist/channel.js.map +1 -0
  7. package/dist/cli/commands/configure.d.ts +16 -0
  8. package/dist/cli/commands/configure.d.ts.map +1 -0
  9. package/dist/cli/commands/configure.js +186 -0
  10. package/dist/cli/commands/configure.js.map +1 -0
  11. package/dist/cli/commands/configure.types.d.ts +110 -0
  12. package/dist/cli/commands/configure.types.d.ts.map +1 -0
  13. package/dist/cli/commands/configure.types.js +82 -0
  14. package/dist/cli/commands/configure.types.js.map +1 -0
  15. package/dist/cli/commands/debug/call.d.ts +14 -0
  16. package/dist/cli/commands/debug/call.d.ts.map +1 -0
  17. package/dist/cli/commands/debug/call.js +96 -0
  18. package/dist/cli/commands/debug/call.js.map +1 -0
  19. package/dist/cli/commands/debug/index.d.ts +12 -0
  20. package/dist/cli/commands/debug/index.d.ts.map +1 -0
  21. package/dist/cli/commands/debug/index.js +14 -0
  22. package/dist/cli/commands/debug/index.js.map +1 -0
  23. package/dist/cli/commands/debug/register.d.ts +11 -0
  24. package/dist/cli/commands/debug/register.d.ts.map +1 -0
  25. package/dist/cli/commands/debug/register.js +78 -0
  26. package/dist/cli/commands/debug/register.js.map +1 -0
  27. package/dist/cli/commands/debug/test.d.ts +13 -0
  28. package/dist/cli/commands/debug/test.d.ts.map +1 -0
  29. package/dist/cli/commands/debug/test.js +91 -0
  30. package/dist/cli/commands/debug/test.js.map +1 -0
  31. package/dist/cli/commands/debug/tools.d.ts +13 -0
  32. package/dist/cli/commands/debug/tools.d.ts.map +1 -0
  33. package/dist/cli/commands/debug/tools.js +86 -0
  34. package/dist/cli/commands/debug/tools.js.map +1 -0
  35. package/dist/cli/commands/debug/types.d.ts +119 -0
  36. package/dist/cli/commands/debug/types.d.ts.map +1 -0
  37. package/dist/cli/commands/debug/types.js +36 -0
  38. package/dist/cli/commands/debug/types.js.map +1 -0
  39. package/dist/cli/commands/debug/whoami.d.ts +13 -0
  40. package/dist/cli/commands/debug/whoami.d.ts.map +1 -0
  41. package/dist/cli/commands/debug/whoami.js +131 -0
  42. package/dist/cli/commands/debug/whoami.js.map +1 -0
  43. package/dist/cli/commands/doctor.d.ts +16 -0
  44. package/dist/cli/commands/doctor.d.ts.map +1 -0
  45. package/dist/cli/commands/doctor.js +413 -0
  46. package/dist/cli/commands/doctor.js.map +1 -0
  47. package/dist/cli/commands/doctor.types.d.ts +180 -0
  48. package/dist/cli/commands/doctor.types.d.ts.map +1 -0
  49. package/dist/cli/commands/doctor.types.js +140 -0
  50. package/dist/cli/commands/doctor.types.js.map +1 -0
  51. package/dist/cli/commands/feedback.d.ts +27 -0
  52. package/dist/cli/commands/feedback.d.ts.map +1 -0
  53. package/dist/cli/commands/feedback.js +262 -0
  54. package/dist/cli/commands/feedback.js.map +1 -0
  55. package/dist/cli/commands/feedback.types.d.ts +116 -0
  56. package/dist/cli/commands/feedback.types.d.ts.map +1 -0
  57. package/dist/cli/commands/feedback.types.js +65 -0
  58. package/dist/cli/commands/feedback.types.js.map +1 -0
  59. package/dist/cli/commands/index.d.ts +15 -0
  60. package/dist/cli/commands/index.d.ts.map +1 -0
  61. package/dist/cli/commands/index.js +21 -0
  62. package/dist/cli/commands/index.js.map +1 -0
  63. package/dist/cli/commands/init.d.ts +17 -0
  64. package/dist/cli/commands/init.d.ts.map +1 -0
  65. package/dist/cli/commands/init.js +773 -0
  66. package/dist/cli/commands/init.js.map +1 -0
  67. package/dist/cli/commands/init.types.d.ts +193 -0
  68. package/dist/cli/commands/init.types.d.ts.map +1 -0
  69. package/dist/cli/commands/init.types.js +29 -0
  70. package/dist/cli/commands/init.types.js.map +1 -0
  71. package/dist/cli/commands/invitations.d.ts +31 -0
  72. package/dist/cli/commands/invitations.d.ts.map +1 -0
  73. package/dist/cli/commands/invitations.js +250 -0
  74. package/dist/cli/commands/invitations.js.map +1 -0
  75. package/dist/cli/commands/login.d.ts +40 -0
  76. package/dist/cli/commands/login.d.ts.map +1 -0
  77. package/dist/cli/commands/login.js +139 -0
  78. package/dist/cli/commands/login.js.map +1 -0
  79. package/dist/cli/commands/members.d.ts +55 -0
  80. package/dist/cli/commands/members.d.ts.map +1 -0
  81. package/dist/cli/commands/members.js +296 -0
  82. package/dist/cli/commands/members.js.map +1 -0
  83. package/dist/cli/commands/scaffold/agent-types.d.ts +54 -0
  84. package/dist/cli/commands/scaffold/agent-types.d.ts.map +1 -0
  85. package/dist/cli/commands/scaffold/agent-types.js +22 -0
  86. package/dist/cli/commands/scaffold/agent-types.js.map +1 -0
  87. package/dist/cli/commands/scaffold/display.d.ts +56 -0
  88. package/dist/cli/commands/scaffold/display.d.ts.map +1 -0
  89. package/dist/cli/commands/scaffold/display.js +217 -0
  90. package/dist/cli/commands/scaffold/display.js.map +1 -0
  91. package/dist/cli/commands/scaffold/files.d.ts +99 -0
  92. package/dist/cli/commands/scaffold/files.d.ts.map +1 -0
  93. package/dist/cli/commands/scaffold/files.js +122 -0
  94. package/dist/cli/commands/scaffold/files.js.map +1 -0
  95. package/dist/cli/commands/scaffold/index.d.ts +13 -0
  96. package/dist/cli/commands/scaffold/index.d.ts.map +1 -0
  97. package/dist/cli/commands/scaffold/index.js +12 -0
  98. package/dist/cli/commands/scaffold/index.js.map +1 -0
  99. package/dist/cli/commands/scaffold/register.d.ts +11 -0
  100. package/dist/cli/commands/scaffold/register.d.ts.map +1 -0
  101. package/dist/cli/commands/scaffold/register.js +11 -0
  102. package/dist/cli/commands/scaffold/register.js.map +1 -0
  103. package/dist/cli/commands/scaffold/scaffold.d.ts +11 -0
  104. package/dist/cli/commands/scaffold/scaffold.d.ts.map +1 -0
  105. package/dist/cli/commands/scaffold/scaffold.js +728 -0
  106. package/dist/cli/commands/scaffold/scaffold.js.map +1 -0
  107. package/dist/cli/commands/scaffold/targets.d.ts +60 -0
  108. package/dist/cli/commands/scaffold/targets.d.ts.map +1 -0
  109. package/dist/cli/commands/scaffold/targets.js +251 -0
  110. package/dist/cli/commands/scaffold/targets.js.map +1 -0
  111. package/dist/cli/commands/scaffold/types.d.ts +170 -0
  112. package/dist/cli/commands/scaffold/types.d.ts.map +1 -0
  113. package/dist/cli/commands/scaffold/types.js +12 -0
  114. package/dist/cli/commands/scaffold/types.js.map +1 -0
  115. package/dist/cli/commands/scaffold/utils.d.ts +89 -0
  116. package/dist/cli/commands/scaffold/utils.d.ts.map +1 -0
  117. package/dist/cli/commands/scaffold/utils.js +401 -0
  118. package/dist/cli/commands/scaffold/utils.js.map +1 -0
  119. package/dist/cli/commands/status.d.ts +19 -0
  120. package/dist/cli/commands/status.d.ts.map +1 -0
  121. package/dist/cli/commands/status.js +124 -0
  122. package/dist/cli/commands/status.js.map +1 -0
  123. package/dist/cli/commands/status.types.d.ts +37 -0
  124. package/dist/cli/commands/status.types.d.ts.map +1 -0
  125. package/dist/cli/commands/status.types.js +7 -0
  126. package/dist/cli/commands/status.types.js.map +1 -0
  127. package/dist/cli/commands/switch.d.ts +18 -0
  128. package/dist/cli/commands/switch.d.ts.map +1 -0
  129. package/dist/cli/commands/switch.js +134 -0
  130. package/dist/cli/commands/switch.js.map +1 -0
  131. package/dist/cli/commands/switch.types.d.ts +123 -0
  132. package/dist/cli/commands/switch.types.d.ts.map +1 -0
  133. package/dist/cli/commands/switch.types.js +46 -0
  134. package/dist/cli/commands/switch.types.js.map +1 -0
  135. package/dist/cli/config/agent-teams.types.d.ts +120 -0
  136. package/dist/cli/config/agent-teams.types.d.ts.map +1 -0
  137. package/dist/cli/config/agent-teams.types.js +23 -0
  138. package/dist/cli/config/agent-teams.types.js.map +1 -0
  139. package/dist/cli/config/index.d.ts +13 -0
  140. package/dist/cli/config/index.d.ts.map +1 -0
  141. package/dist/cli/config/index.js +7 -0
  142. package/dist/cli/config/index.js.map +1 -0
  143. package/dist/cli/config/loader.d.ts +114 -0
  144. package/dist/cli/config/loader.d.ts.map +1 -0
  145. package/dist/cli/config/loader.js +198 -0
  146. package/dist/cli/config/loader.js.map +1 -0
  147. package/dist/cli/config/paths.d.ts +107 -0
  148. package/dist/cli/config/paths.d.ts.map +1 -0
  149. package/dist/cli/config/paths.js +79 -0
  150. package/dist/cli/config/paths.js.map +1 -0
  151. package/dist/cli/config/planning-sessions-registry.d.ts +52 -0
  152. package/dist/cli/config/planning-sessions-registry.d.ts.map +1 -0
  153. package/dist/cli/config/planning-sessions-registry.js +46 -0
  154. package/dist/cli/config/planning-sessions-registry.js.map +1 -0
  155. package/dist/cli/config/types.d.ts +186 -0
  156. package/dist/cli/config/types.d.ts.map +1 -0
  157. package/dist/cli/config/types.js +27 -0
  158. package/dist/cli/config/types.js.map +1 -0
  159. package/dist/cli/config/validation.d.ts +62 -0
  160. package/dist/cli/config/validation.d.ts.map +1 -0
  161. package/dist/cli/config/validation.js +133 -0
  162. package/dist/cli/config/validation.js.map +1 -0
  163. package/dist/cli/config/writer.d.ts +153 -0
  164. package/dist/cli/config/writer.d.ts.map +1 -0
  165. package/dist/cli/config/writer.js +168 -0
  166. package/dist/cli/config/writer.js.map +1 -0
  167. package/dist/cli/index.d.ts +30 -0
  168. package/dist/cli/index.d.ts.map +1 -0
  169. package/dist/cli/index.js +142 -0
  170. package/dist/cli/index.js.map +1 -0
  171. package/dist/cli/middleware/auth-guard.d.ts +107 -0
  172. package/dist/cli/middleware/auth-guard.d.ts.map +1 -0
  173. package/dist/cli/middleware/auth-guard.js +97 -0
  174. package/dist/cli/middleware/auth-guard.js.map +1 -0
  175. package/dist/cli/middleware/error-handler.d.ts +133 -0
  176. package/dist/cli/middleware/error-handler.d.ts.map +1 -0
  177. package/dist/cli/middleware/error-handler.js +139 -0
  178. package/dist/cli/middleware/error-handler.js.map +1 -0
  179. package/dist/cli/middleware/index.d.ts +6 -0
  180. package/dist/cli/middleware/index.d.ts.map +1 -0
  181. package/dist/cli/middleware/index.js +3 -0
  182. package/dist/cli/middleware/index.js.map +1 -0
  183. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts +9 -0
  184. package/dist/cli/templates/agents/content/core/sfag-orchestrator.d.ts.map +1 -0
  185. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js +160 -0
  186. package/dist/cli/templates/agents/content/core/sfag-orchestrator.js.map +1 -0
  187. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts +9 -0
  188. package/dist/cli/templates/agents/content/core/sfag-spec-creator.d.ts.map +1 -0
  189. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js +343 -0
  190. package/dist/cli/templates/agents/content/core/sfag-spec-creator.js.map +1 -0
  191. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts +9 -0
  192. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.d.ts.map +1 -0
  193. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js +254 -0
  194. package/dist/cli/templates/agents/content/core/sfag-ticket-implementer.js.map +1 -0
  195. package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts +8 -0
  196. package/dist/cli/templates/agents/content/research/sfag-package-researcher.d.ts.map +1 -0
  197. package/dist/cli/templates/agents/content/research/sfag-package-researcher.js +128 -0
  198. package/dist/cli/templates/agents/content/research/sfag-package-researcher.js.map +1 -0
  199. package/dist/cli/templates/agents/index.d.ts +23 -0
  200. package/dist/cli/templates/agents/index.d.ts.map +1 -0
  201. package/dist/cli/templates/agents/index.js +29 -0
  202. package/dist/cli/templates/agents/index.js.map +1 -0
  203. package/dist/cli/templates/commands.d.ts +17 -0
  204. package/dist/cli/templates/commands.d.ts.map +1 -0
  205. package/dist/cli/templates/commands.js +78 -0
  206. package/dist/cli/templates/commands.js.map +1 -0
  207. package/dist/cli/templates/content/sf-blockers.d.ts +7 -0
  208. package/dist/cli/templates/content/sf-blockers.d.ts.map +1 -0
  209. package/dist/cli/templates/content/sf-blockers.js +69 -0
  210. package/dist/cli/templates/content/sf-blockers.js.map +1 -0
  211. package/dist/cli/templates/content/sf-commit.d.ts +7 -0
  212. package/dist/cli/templates/content/sf-commit.d.ts.map +1 -0
  213. package/dist/cli/templates/content/sf-commit.js +79 -0
  214. package/dist/cli/templates/content/sf-commit.js.map +1 -0
  215. package/dist/cli/templates/content/sf-context.d.ts +7 -0
  216. package/dist/cli/templates/content/sf-context.d.ts.map +1 -0
  217. package/dist/cli/templates/content/sf-context.js +63 -0
  218. package/dist/cli/templates/content/sf-context.js.map +1 -0
  219. package/dist/cli/templates/content/sf-help.d.ts +7 -0
  220. package/dist/cli/templates/content/sf-help.d.ts.map +1 -0
  221. package/dist/cli/templates/content/sf-help.js +42 -0
  222. package/dist/cli/templates/content/sf-help.js.map +1 -0
  223. package/dist/cli/templates/content/sf-init.d.ts +7 -0
  224. package/dist/cli/templates/content/sf-init.d.ts.map +1 -0
  225. package/dist/cli/templates/content/sf-init.js +62 -0
  226. package/dist/cli/templates/content/sf-init.js.map +1 -0
  227. package/dist/cli/templates/content/sf-reset.d.ts +7 -0
  228. package/dist/cli/templates/content/sf-reset.d.ts.map +1 -0
  229. package/dist/cli/templates/content/sf-reset.js +67 -0
  230. package/dist/cli/templates/content/sf-reset.js.map +1 -0
  231. package/dist/cli/templates/content/sf-search.d.ts +7 -0
  232. package/dist/cli/templates/content/sf-search.d.ts.map +1 -0
  233. package/dist/cli/templates/content/sf-search.js +63 -0
  234. package/dist/cli/templates/content/sf-search.js.map +1 -0
  235. package/dist/cli/templates/content/sf-status.d.ts +7 -0
  236. package/dist/cli/templates/content/sf-status.d.ts.map +1 -0
  237. package/dist/cli/templates/content/sf-status.js +62 -0
  238. package/dist/cli/templates/content/sf-status.js.map +1 -0
  239. package/dist/cli/templates/index.d.ts +8 -0
  240. package/dist/cli/templates/index.d.ts.map +1 -0
  241. package/dist/cli/templates/index.js +17 -0
  242. package/dist/cli/templates/index.js.map +1 -0
  243. package/dist/cli/ui/banner.d.ts +38 -0
  244. package/dist/cli/ui/banner.d.ts.map +1 -0
  245. package/dist/cli/ui/banner.js +89 -0
  246. package/dist/cli/ui/banner.js.map +1 -0
  247. package/dist/cli/ui/colors.d.ts +76 -0
  248. package/dist/cli/ui/colors.d.ts.map +1 -0
  249. package/dist/cli/ui/colors.js +67 -0
  250. package/dist/cli/ui/colors.js.map +1 -0
  251. package/dist/cli/ui/index.d.ts +7 -0
  252. package/dist/cli/ui/index.d.ts.map +1 -0
  253. package/dist/cli/ui/index.js +4 -0
  254. package/dist/cli/ui/index.js.map +1 -0
  255. package/dist/cli/ui/output.d.ts +117 -0
  256. package/dist/cli/ui/output.d.ts.map +1 -0
  257. package/dist/cli/ui/output.js +83 -0
  258. package/dist/cli/ui/output.js.map +1 -0
  259. package/dist/cli/ui/spinner.d.ts +120 -0
  260. package/dist/cli/ui/spinner.d.ts.map +1 -0
  261. package/dist/cli/ui/spinner.js +158 -0
  262. package/dist/cli/ui/spinner.js.map +1 -0
  263. package/dist/cli/ui/time.d.ts +54 -0
  264. package/dist/cli/ui/time.d.ts.map +1 -0
  265. package/dist/cli/ui/time.js +119 -0
  266. package/dist/cli/ui/time.js.map +1 -0
  267. package/dist/client/api-client.d.ts +123 -0
  268. package/dist/client/api-client.d.ts.map +1 -0
  269. package/dist/client/api-client.js +105 -0
  270. package/dist/client/api-client.js.map +1 -0
  271. package/dist/client/cli-client.d.ts +26 -0
  272. package/dist/client/cli-client.d.ts.map +1 -0
  273. package/dist/client/cli-client.js +20 -0
  274. package/dist/client/cli-client.js.map +1 -0
  275. package/dist/config/index.d.ts +78 -0
  276. package/dist/config/index.d.ts.map +1 -0
  277. package/dist/config/index.js +79 -0
  278. package/dist/config/index.js.map +1 -0
  279. package/dist/index.d.ts +16 -0
  280. package/dist/index.d.ts.map +1 -0
  281. package/dist/index.js +73 -0
  282. package/dist/index.js.map +1 -0
  283. package/dist/lib/format.d.ts +126 -0
  284. package/dist/lib/format.d.ts.map +1 -0
  285. package/dist/lib/format.js +71 -0
  286. package/dist/lib/format.js.map +1 -0
  287. package/dist/lib/index.d.ts +11 -0
  288. package/dist/lib/index.d.ts.map +1 -0
  289. package/dist/lib/index.js +45 -0
  290. package/dist/lib/index.js.map +1 -0
  291. package/dist/lib/monorepo-detector.d.ts +31 -0
  292. package/dist/lib/monorepo-detector.d.ts.map +1 -0
  293. package/dist/lib/monorepo-detector.js +188 -0
  294. package/dist/lib/monorepo-detector.js.map +1 -0
  295. package/dist/lib/prompt-generator.d.ts +65 -0
  296. package/dist/lib/prompt-generator.d.ts.map +1 -0
  297. package/dist/lib/prompt-generator.js +162 -0
  298. package/dist/lib/prompt-generator.js.map +1 -0
  299. package/dist/lib/strategy-analyzer.d.ts +59 -0
  300. package/dist/lib/strategy-analyzer.d.ts.map +1 -0
  301. package/dist/lib/strategy-analyzer.js +91 -0
  302. package/dist/lib/strategy-analyzer.js.map +1 -0
  303. package/dist/lib/workflow-definitions.d.ts +41 -0
  304. package/dist/lib/workflow-definitions.d.ts.map +1 -0
  305. package/dist/lib/workflow-definitions.js +497 -0
  306. package/dist/lib/workflow-definitions.js.map +1 -0
  307. package/dist/patterns/index.d.ts +9 -0
  308. package/dist/patterns/index.d.ts.map +1 -0
  309. package/dist/patterns/index.js +21 -0
  310. package/dist/patterns/index.js.map +1 -0
  311. package/dist/patterns/inheritance.d.ts +193 -0
  312. package/dist/patterns/inheritance.d.ts.map +1 -0
  313. package/dist/patterns/inheritance.js +125 -0
  314. package/dist/patterns/inheritance.js.map +1 -0
  315. package/dist/server.d.ts +44 -0
  316. package/dist/server.d.ts.map +1 -0
  317. package/dist/server.js +91 -0
  318. package/dist/server.js.map +1 -0
  319. package/dist/tools/core/context-helper.d.ts +50 -0
  320. package/dist/tools/core/context-helper.d.ts.map +1 -0
  321. package/dist/tools/core/context-helper.js +49 -0
  322. package/dist/tools/core/context-helper.js.map +1 -0
  323. package/dist/tools/core/index.d.ts +2 -0
  324. package/dist/tools/core/index.d.ts.map +1 -0
  325. package/dist/tools/core/index.js +2 -0
  326. package/dist/tools/core/index.js.map +1 -0
  327. package/dist/tools/index.d.ts +58 -0
  328. package/dist/tools/index.d.ts.map +1 -0
  329. package/dist/tools/index.js +1499 -0
  330. package/dist/tools/index.js.map +1 -0
  331. package/dist/transport/__tests__/resolve-endpoint.test.d.ts +6 -0
  332. package/dist/transport/__tests__/resolve-endpoint.test.d.ts.map +1 -0
  333. package/dist/transport/index.d.ts +6 -0
  334. package/dist/transport/index.d.ts.map +1 -0
  335. package/dist/transport/index.js +5 -0
  336. package/dist/transport/index.js.map +1 -0
  337. package/dist/transport/interface.d.ts +25 -0
  338. package/dist/transport/interface.d.ts.map +1 -0
  339. package/dist/transport/interface.js +1 -0
  340. package/dist/transport/interface.js.map +1 -0
  341. package/dist/transport/remote.d.ts +38 -0
  342. package/dist/transport/remote.d.ts.map +1 -0
  343. package/dist/transport/remote.js +107 -0
  344. package/dist/transport/remote.js.map +1 -0
  345. package/dist/transport/resolve-endpoint.d.ts +58 -0
  346. package/dist/transport/resolve-endpoint.d.ts.map +1 -0
  347. package/dist/transport/resolve-endpoint.js +146 -0
  348. package/dist/transport/resolve-endpoint.js.map +1 -0
  349. package/dist/types/index.d.ts +212 -0
  350. package/dist/types/index.d.ts.map +1 -0
  351. package/dist/types/index.js +16 -0
  352. package/dist/types/index.js.map +1 -0
  353. package/dist/validation/index.d.ts +86 -0
  354. package/dist/validation/index.d.ts.map +1 -0
  355. package/dist/validation/index.js +392 -0
  356. package/dist/validation/index.js.map +1 -0
  357. package/dist/validation/ticket-validation.d.ts +162 -0
  358. package/dist/validation/ticket-validation.d.ts.map +1 -0
  359. package/dist/validation/ticket-validation.js +188 -0
  360. package/dist/validation/ticket-validation.js.map +1 -0
  361. package/package.json +69 -0
  362. package/src/cli/templates/agents/content/core/sfag-orchestrator.ts +165 -0
  363. package/src/cli/templates/agents/content/core/sfag-spec-creator.ts +348 -0
  364. package/src/cli/templates/agents/content/core/sfag-ticket-implementer.ts +259 -0
  365. package/src/cli/templates/agents/content/research/sfag-package-researcher.ts +132 -0
  366. package/src/cli/templates/agents/index.ts +47 -0
  367. package/src/cli/templates/commands.ts +90 -0
  368. package/src/cli/templates/content/sf-blockers.ts +71 -0
  369. package/src/cli/templates/content/sf-commit.ts +81 -0
  370. package/src/cli/templates/content/sf-context.ts +65 -0
  371. package/src/cli/templates/content/sf-help.ts +44 -0
  372. package/src/cli/templates/content/sf-init.ts +64 -0
  373. package/src/cli/templates/content/sf-reset.ts +69 -0
  374. package/src/cli/templates/content/sf-search.ts +65 -0
  375. package/src/cli/templates/content/sf-status.ts +64 -0
  376. package/src/cli/templates/index.ts +16 -0
  377. package/src/cli/templates/skills/specforge-conventions.md +114 -0
  378. package/src/cli/templates/skills/specforge-orchestrator.md +409 -0
  379. package/src/cli/templates/skills/specforge-validator.md +128 -0
  380. package/src/cli/templates/skills/specforge-worker.md +412 -0
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Feedback Command Types
3
+ *
4
+ * Type definitions for the feedback CLI command.
5
+ */
6
+ /**
7
+ * Feedback command options from Commander
8
+ */
9
+ export interface FeedbackOptions {
10
+ /** Output as JSON */
11
+ json?: boolean;
12
+ /** Output as TOON format */
13
+ toon?: boolean;
14
+ /** Filter by category */
15
+ category?: FeedbackCategory;
16
+ /** Limit number of results */
17
+ limit?: string;
18
+ }
19
+ /**
20
+ * Valid feedback categories
21
+ */
22
+ export type FeedbackCategory = 'bug' | 'feature_request' | 'usability' | 'documentation' | 'performance';
23
+ /**
24
+ * All valid feedback categories
25
+ */
26
+ export declare const VALID_CATEGORIES: FeedbackCategory[];
27
+ /**
28
+ * Valid feedback severity levels
29
+ */
30
+ export type FeedbackSeverity = 'critical' | 'high' | 'medium' | 'low';
31
+ /**
32
+ * All valid severity levels
33
+ */
34
+ export declare const VALID_SEVERITIES: FeedbackSeverity[];
35
+ /**
36
+ * Feedback index entry for display
37
+ */
38
+ export interface FeedbackListEntry {
39
+ /** Unique feedback ID */
40
+ id: string;
41
+ /** Feedback category */
42
+ category: FeedbackCategory;
43
+ /** Severity level */
44
+ severity: FeedbackSeverity;
45
+ /** Brief summary */
46
+ summary: string;
47
+ /** Related tool (optional) */
48
+ tool?: string;
49
+ /** Creation timestamp */
50
+ createdAt: string;
51
+ }
52
+ /**
53
+ * Feedback list response
54
+ */
55
+ export interface FeedbackListResponse {
56
+ /** Array of feedback entries */
57
+ entries: FeedbackListEntry[];
58
+ /** Total count */
59
+ total: number;
60
+ /** Filtered count */
61
+ filtered: number;
62
+ /** Applied filters */
63
+ filters?: {
64
+ category?: string;
65
+ };
66
+ }
67
+ /**
68
+ * Table column configuration
69
+ */
70
+ export interface FeedbackTableColumn {
71
+ /** Column header */
72
+ header: string;
73
+ /** Column width */
74
+ width?: number;
75
+ /** Alignment */
76
+ align?: 'left' | 'right' | 'center';
77
+ }
78
+ /**
79
+ * Default table columns for feedback
80
+ */
81
+ export declare const FEEDBACK_TABLE_COLUMNS: FeedbackTableColumn[];
82
+ /**
83
+ * Category display colors (chalk color names)
84
+ */
85
+ export declare const CATEGORY_COLORS: Record<FeedbackCategory, string>;
86
+ /**
87
+ * Severity display colors (chalk color names)
88
+ */
89
+ export declare const SEVERITY_COLORS: Record<FeedbackSeverity, string>;
90
+ /**
91
+ * Maximum summary length for table display
92
+ */
93
+ export declare const MAX_SUMMARY_LENGTH = 38;
94
+ /**
95
+ * Validate category filter
96
+ *
97
+ * @param category Category to validate
98
+ * @returns True if valid category
99
+ */
100
+ export declare function isValidCategory(category: string): category is FeedbackCategory;
101
+ /**
102
+ * Truncate summary if too long for display
103
+ *
104
+ * @param summary Feedback summary
105
+ * @param maxLength Maximum length (default: MAX_SUMMARY_LENGTH)
106
+ * @returns Truncated summary with ellipsis if needed
107
+ */
108
+ export declare function truncateSummary(summary: string, maxLength?: number): string;
109
+ /**
110
+ * Format feedback ID for display (shorter version)
111
+ *
112
+ * @param id Full feedback ID
113
+ * @returns Shortened ID for display
114
+ */
115
+ export declare function formatFeedbackId(id: string): string;
116
+ //# sourceMappingURL=feedback.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/feedback.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,iBAAiB,GACjB,WAAW,GACX,eAAe,GACf,aAAa,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAM9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,EAK9C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAMvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAM5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAK5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,gBAAgB,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA2B,GACrC,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUnD"}
@@ -0,0 +1,65 @@
1
+ const VALID_CATEGORIES = [
2
+ "bug",
3
+ "feature_request",
4
+ "usability",
5
+ "documentation",
6
+ "performance"
7
+ ];
8
+ const VALID_SEVERITIES = [
9
+ "critical",
10
+ "high",
11
+ "medium",
12
+ "low"
13
+ ];
14
+ const FEEDBACK_TABLE_COLUMNS = [
15
+ { header: "ID", width: 24 },
16
+ { header: "CATEGORY", width: 16 },
17
+ { header: "SEVERITY", width: 10 },
18
+ { header: "TOOL", width: 12 },
19
+ { header: "SUMMARY", width: 40 }
20
+ ];
21
+ const CATEGORY_COLORS = {
22
+ bug: "red",
23
+ feature_request: "blue",
24
+ usability: "yellow",
25
+ documentation: "cyan",
26
+ performance: "magenta"
27
+ };
28
+ const SEVERITY_COLORS = {
29
+ critical: "red",
30
+ high: "yellow",
31
+ medium: "blue",
32
+ low: "dim"
33
+ };
34
+ const MAX_SUMMARY_LENGTH = 38;
35
+ function isValidCategory(category) {
36
+ return VALID_CATEGORIES.includes(category);
37
+ }
38
+ function truncateSummary(summary, maxLength = MAX_SUMMARY_LENGTH) {
39
+ if (summary.length <= maxLength) {
40
+ return summary;
41
+ }
42
+ return summary.slice(0, maxLength - 3) + "...";
43
+ }
44
+ function formatFeedbackId(id) {
45
+ if (id.length <= 20) {
46
+ return id;
47
+ }
48
+ const parts = id.split("_");
49
+ if (parts.length >= 3) {
50
+ return `${parts[0]}_...${parts[parts.length - 1]}`;
51
+ }
52
+ return id;
53
+ }
54
+ export {
55
+ CATEGORY_COLORS,
56
+ FEEDBACK_TABLE_COLUMNS,
57
+ MAX_SUMMARY_LENGTH,
58
+ SEVERITY_COLORS,
59
+ VALID_CATEGORIES,
60
+ VALID_SEVERITIES,
61
+ formatFeedbackId,
62
+ isValidCategory,
63
+ truncateSummary
64
+ };
65
+ //# sourceMappingURL=feedback.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/commands/feedback.types.ts"],"sourcesContent":["/**\n * Feedback Command Types\n *\n * Type definitions for the feedback CLI command.\n */\n\n/**\n * Feedback command options from Commander\n */\nexport interface FeedbackOptions {\n /** Output as JSON */\n json?: boolean;\n /** Output as TOON format */\n toon?: boolean;\n /** Filter by category */\n category?: FeedbackCategory;\n /** Limit number of results */\n limit?: string;\n}\n\n/**\n * Valid feedback categories\n */\nexport type FeedbackCategory =\n | 'bug'\n | 'feature_request'\n | 'usability'\n | 'documentation'\n | 'performance';\n\n/**\n * All valid feedback categories\n */\nexport const VALID_CATEGORIES: FeedbackCategory[] = [\n 'bug',\n 'feature_request',\n 'usability',\n 'documentation',\n 'performance',\n];\n\n/**\n * Valid feedback severity levels\n */\nexport type FeedbackSeverity = 'critical' | 'high' | 'medium' | 'low';\n\n/**\n * All valid severity levels\n */\nexport const VALID_SEVERITIES: FeedbackSeverity[] = [\n 'critical',\n 'high',\n 'medium',\n 'low',\n];\n\n/**\n * Feedback index entry for display\n */\nexport interface FeedbackListEntry {\n /** Unique feedback ID */\n id: string;\n /** Feedback category */\n category: FeedbackCategory;\n /** Severity level */\n severity: FeedbackSeverity;\n /** Brief summary */\n summary: string;\n /** Related tool (optional) */\n tool?: string;\n /** Creation timestamp */\n createdAt: string;\n}\n\n/**\n * Feedback list response\n */\nexport interface FeedbackListResponse {\n /** Array of feedback entries */\n entries: FeedbackListEntry[];\n /** Total count */\n total: number;\n /** Filtered count */\n filtered: number;\n /** Applied filters */\n filters?: {\n category?: string;\n };\n}\n\n/**\n * Table column configuration\n */\nexport interface FeedbackTableColumn {\n /** Column header */\n header: string;\n /** Column width */\n width?: number;\n /** Alignment */\n align?: 'left' | 'right' | 'center';\n}\n\n/**\n * Default table columns for feedback\n */\nexport const FEEDBACK_TABLE_COLUMNS: FeedbackTableColumn[] = [\n { header: 'ID', width: 24 },\n { header: 'CATEGORY', width: 16 },\n { header: 'SEVERITY', width: 10 },\n { header: 'TOOL', width: 12 },\n { header: 'SUMMARY', width: 40 },\n];\n\n/**\n * Category display colors (chalk color names)\n */\nexport const CATEGORY_COLORS: Record<FeedbackCategory, string> = {\n bug: 'red',\n feature_request: 'blue',\n usability: 'yellow',\n documentation: 'cyan',\n performance: 'magenta',\n};\n\n/**\n * Severity display colors (chalk color names)\n */\nexport const SEVERITY_COLORS: Record<FeedbackSeverity, string> = {\n critical: 'red',\n high: 'yellow',\n medium: 'blue',\n low: 'dim',\n};\n\n/**\n * Maximum summary length for table display\n */\nexport const MAX_SUMMARY_LENGTH = 38;\n\n/**\n * Validate category filter\n *\n * @param category Category to validate\n * @returns True if valid category\n */\nexport function isValidCategory(category: string): category is FeedbackCategory {\n return VALID_CATEGORIES.includes(category as FeedbackCategory);\n}\n\n/**\n * Truncate summary if too long for display\n *\n * @param summary Feedback summary\n * @param maxLength Maximum length (default: MAX_SUMMARY_LENGTH)\n * @returns Truncated summary with ellipsis if needed\n */\nexport function truncateSummary(\n summary: string,\n maxLength: number = MAX_SUMMARY_LENGTH\n): string {\n if (summary.length <= maxLength) {\n return summary;\n }\n return summary.slice(0, maxLength - 3) + '...';\n}\n\n/**\n * Format feedback ID for display (shorter version)\n *\n * @param id Full feedback ID\n * @returns Shortened ID for display\n */\nexport function formatFeedbackId(id: string): string {\n // fb_2024-01-15_abc123 -> fb_..._abc123\n if (id.length <= 20) {\n return id;\n }\n const parts = id.split('_');\n if (parts.length >= 3) {\n return `${parts[0]}_...${parts[parts.length - 1]}`;\n }\n return id;\n}\n"],"mappings":"AAiCO,MAAM,mBAAuC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAUO,MAAM,mBAAuC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAmDO,MAAM,yBAAgD;AAAA,EAC3D,EAAE,QAAQ,MAAM,OAAO,GAAG;AAAA,EAC1B,EAAE,QAAQ,YAAY,OAAO,GAAG;AAAA,EAChC,EAAE,QAAQ,YAAY,OAAO,GAAG;AAAA,EAChC,EAAE,QAAQ,QAAQ,OAAO,GAAG;AAAA,EAC5B,EAAE,QAAQ,WAAW,OAAO,GAAG;AACjC;AAKO,MAAM,kBAAoD;AAAA,EAC/D,KAAK;AAAA,EACL,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,aAAa;AACf;AAKO,MAAM,kBAAoD;AAAA,EAC/D,UAAU;AAAA,EACV,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AACP;AAKO,MAAM,qBAAqB;AAQ3B,SAAS,gBAAgB,UAAgD;AAC9E,SAAO,iBAAiB,SAAS,QAA4B;AAC/D;AASO,SAAS,gBACd,SACA,YAAoB,oBACZ;AACR,MAAI,QAAQ,UAAU,WAAW;AAC/B,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,MAAM,GAAG,YAAY,CAAC,IAAI;AAC3C;AAQO,SAAS,iBAAiB,IAAoB;AAEnD,MAAI,GAAG,UAAU,IAAI;AACnB,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,GAAG,MAAM,GAAG;AAC1B,MAAI,MAAM,UAAU,GAAG;AACrB,WAAO,GAAG,MAAM,CAAC,CAAC,OAAO,MAAM,MAAM,SAAS,CAAC,CAAC;AAAA,EAClD;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CLI Commands Module
3
+ *
4
+ * Exports all CLI command registration functions.
5
+ */
6
+ export { registerLoginCommand } from './login.js';
7
+ export { registerInitCommand } from './init.js';
8
+ export { registerConfigureCommand } from './configure.js';
9
+ export { registerDoctorCommand } from './doctor.js';
10
+ export { registerStatusCommand } from './status.js';
11
+ export { registerSwitchCommand } from './switch.js';
12
+ export { registerFeedbackCommand } from './feedback.js';
13
+ export { registerMembersCommand } from './members.js';
14
+ export { registerInvitationsCommand } from './invitations.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { registerLoginCommand } from "./login.js";
2
+ import { registerInitCommand } from "./init.js";
3
+ import { registerConfigureCommand } from "./configure.js";
4
+ import { registerDoctorCommand } from "./doctor.js";
5
+ import { registerStatusCommand } from "./status.js";
6
+ import { registerSwitchCommand } from "./switch.js";
7
+ import { registerFeedbackCommand } from "./feedback.js";
8
+ import { registerMembersCommand } from "./members.js";
9
+ import { registerInvitationsCommand } from "./invitations.js";
10
+ export {
11
+ registerConfigureCommand,
12
+ registerDoctorCommand,
13
+ registerFeedbackCommand,
14
+ registerInitCommand,
15
+ registerInvitationsCommand,
16
+ registerLoginCommand,
17
+ registerMembersCommand,
18
+ registerStatusCommand,
19
+ registerSwitchCommand
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/commands/index.ts"],"sourcesContent":["/**\n * CLI Commands Module\n *\n * Exports all CLI command registration functions.\n */\n\nexport { registerLoginCommand } from './login.js';\nexport { registerInitCommand } from './init.js';\nexport { registerConfigureCommand } from './configure.js';\nexport { registerDoctorCommand } from './doctor.js';\nexport { registerStatusCommand } from './status.js';\nexport { registerSwitchCommand } from './switch.js';\nexport { registerFeedbackCommand } from './feedback.js';\nexport { registerMembersCommand } from './members.js';\nexport { registerInvitationsCommand } from './invitations.js';\n"],"mappings":"AAMA,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,6BAA6B;AACtC,SAAS,6BAA6B;AACtC,SAAS,+BAA+B;AACxC,SAAS,8BAA8B;AACvC,SAAS,kCAAkC;","names":[]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Init Command
3
+ *
4
+ * Initializes SpecForge for a project by creating config files
5
+ * and linking to a SpecForge project and specification.
6
+ */
7
+ import { Command } from 'commander';
8
+ import { InitOptions } from './init.types.js';
9
+ /**
10
+ * Init command implementation
11
+ */
12
+ export declare function initAction(options: InitOptions): Promise<void>;
13
+ /**
14
+ * Register init command with Commander
15
+ */
16
+ export declare function registerInitCommand(program: Command): void;
17
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,OAAO,EACL,WAAW,EAaZ,MAAM,iBAAiB,CAAC;AAqfzB;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0dpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiC1D"}