@specforge/mcp 2.0.9 → 2.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 (433) hide show
  1. package/README.md +324 -0
  2. package/bin/specforge-mcp +19 -1
  3. package/dist/cli/commands/blocked.d.ts +16 -0
  4. package/dist/cli/commands/blocked.d.ts.map +1 -0
  5. package/dist/cli/commands/blocked.js +214 -0
  6. package/dist/cli/commands/blocked.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 +218 -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 +105 -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 +117 -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 +12 -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 +90 -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 +117 -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 +117 -0
  34. package/dist/cli/commands/debug/tools.js.map +1 -0
  35. package/dist/cli/commands/debug/types.d.ts +117 -0
  36. package/dist/cli/commands/debug/types.d.ts.map +1 -0
  37. package/dist/cli/commands/debug/types.js +43 -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 +161 -0
  42. package/dist/cli/commands/debug/whoami.js.map +1 -0
  43. package/dist/cli/commands/docs/content/api.d.ts +7 -0
  44. package/dist/cli/commands/docs/content/api.d.ts.map +1 -0
  45. package/dist/cli/commands/docs/content/api.js +64 -0
  46. package/dist/cli/commands/docs/content/api.js.map +1 -0
  47. package/dist/cli/commands/docs/content/concepts.d.ts +7 -0
  48. package/dist/cli/commands/docs/content/concepts.d.ts.map +1 -0
  49. package/dist/cli/commands/docs/content/concepts.js +68 -0
  50. package/dist/cli/commands/docs/content/concepts.js.map +1 -0
  51. package/dist/cli/commands/docs/content/examples.d.ts +7 -0
  52. package/dist/cli/commands/docs/content/examples.d.ts.map +1 -0
  53. package/dist/cli/commands/docs/content/examples.js +84 -0
  54. package/dist/cli/commands/docs/content/examples.js.map +1 -0
  55. package/dist/cli/commands/docs/content/index.d.ts +10 -0
  56. package/dist/cli/commands/docs/content/index.d.ts.map +1 -0
  57. package/dist/cli/commands/docs/content/index.js +10 -0
  58. package/dist/cli/commands/docs/content/index.js.map +1 -0
  59. package/dist/cli/commands/docs/content/workflow.d.ts +7 -0
  60. package/dist/cli/commands/docs/content/workflow.d.ts.map +1 -0
  61. package/dist/cli/commands/docs/content/workflow.js +44 -0
  62. package/dist/cli/commands/docs/content/workflow.js.map +1 -0
  63. package/dist/cli/commands/docs/content.d.ts +23 -0
  64. package/dist/cli/commands/docs/content.d.ts.map +1 -0
  65. package/dist/cli/commands/docs/content.js +38 -0
  66. package/dist/cli/commands/docs/content.js.map +1 -0
  67. package/dist/cli/commands/docs/display.d.ts +26 -0
  68. package/dist/cli/commands/docs/display.d.ts.map +1 -0
  69. package/dist/cli/commands/docs/display.js +53 -0
  70. package/dist/cli/commands/docs/display.js.map +1 -0
  71. package/dist/cli/commands/docs/docs.d.ts +19 -0
  72. package/dist/cli/commands/docs/docs.d.ts.map +1 -0
  73. package/dist/cli/commands/docs/docs.js +124 -0
  74. package/dist/cli/commands/docs/docs.js.map +1 -0
  75. package/dist/cli/commands/docs/index.d.ts +13 -0
  76. package/dist/cli/commands/docs/index.d.ts.map +1 -0
  77. package/dist/cli/commands/docs/index.js +13 -0
  78. package/dist/cli/commands/docs/index.js.map +1 -0
  79. package/dist/cli/commands/docs/register.d.ts +23 -0
  80. package/dist/cli/commands/docs/register.d.ts.map +1 -0
  81. package/dist/cli/commands/docs/register.js +64 -0
  82. package/dist/cli/commands/docs/register.js.map +1 -0
  83. package/dist/cli/commands/docs/tool-docs.d.ts +44 -0
  84. package/dist/cli/commands/docs/tool-docs.d.ts.map +1 -0
  85. package/dist/cli/commands/docs/tool-docs.js +182 -0
  86. package/dist/cli/commands/docs/tool-docs.js.map +1 -0
  87. package/dist/cli/commands/docs/tool-examples.d.ts +14 -0
  88. package/dist/cli/commands/docs/tool-examples.d.ts.map +1 -0
  89. package/dist/cli/commands/docs/tool-examples.js +127 -0
  90. package/dist/cli/commands/docs/tool-examples.js.map +1 -0
  91. package/dist/cli/commands/docs/types.d.ts +108 -0
  92. package/dist/cli/commands/docs/types.d.ts.map +1 -0
  93. package/dist/cli/commands/docs/types.js +33 -0
  94. package/dist/cli/commands/docs/types.js.map +1 -0
  95. package/dist/cli/commands/doctor.d.ts +16 -0
  96. package/dist/cli/commands/doctor.d.ts.map +1 -0
  97. package/dist/cli/commands/doctor.js +322 -0
  98. package/dist/cli/commands/doctor.js.map +1 -0
  99. package/dist/cli/commands/doctor.types.d.ts +177 -0
  100. package/dist/cli/commands/doctor.types.d.ts.map +1 -0
  101. package/dist/cli/commands/doctor.types.js +172 -0
  102. package/dist/cli/commands/doctor.types.js.map +1 -0
  103. package/dist/cli/commands/index.d.ts +18 -0
  104. package/dist/cli/commands/index.d.ts.map +1 -0
  105. package/dist/cli/commands/index.js +18 -0
  106. package/dist/cli/commands/index.js.map +1 -0
  107. package/dist/cli/commands/init.d.ts +17 -0
  108. package/dist/cli/commands/init.d.ts.map +1 -0
  109. package/dist/cli/commands/init.js +326 -0
  110. package/dist/cli/commands/init.js.map +1 -0
  111. package/dist/cli/commands/init.types.d.ts +141 -0
  112. package/dist/cli/commands/init.types.d.ts.map +1 -0
  113. package/dist/cli/commands/init.types.js +24 -0
  114. package/dist/cli/commands/init.types.js.map +1 -0
  115. package/dist/cli/commands/login.d.ts +40 -0
  116. package/dist/cli/commands/login.d.ts.map +1 -0
  117. package/dist/cli/commands/login.js +174 -0
  118. package/dist/cli/commands/login.js.map +1 -0
  119. package/dist/cli/commands/next.d.ts +16 -0
  120. package/dist/cli/commands/next.d.ts.map +1 -0
  121. package/dist/cli/commands/next.js +279 -0
  122. package/dist/cli/commands/next.js.map +1 -0
  123. package/dist/cli/commands/next.types.d.ts +191 -0
  124. package/dist/cli/commands/next.types.d.ts.map +1 -0
  125. package/dist/cli/commands/next.types.js +129 -0
  126. package/dist/cli/commands/next.types.js.map +1 -0
  127. package/dist/cli/commands/projects.d.ts +16 -0
  128. package/dist/cli/commands/projects.d.ts.map +1 -0
  129. package/dist/cli/commands/projects.js +149 -0
  130. package/dist/cli/commands/projects.js.map +1 -0
  131. package/dist/cli/commands/projects.types.d.ts +81 -0
  132. package/dist/cli/commands/projects.types.d.ts.map +1 -0
  133. package/dist/cli/commands/projects.types.js +35 -0
  134. package/dist/cli/commands/projects.types.js.map +1 -0
  135. package/dist/cli/commands/review/display.d.ts +33 -0
  136. package/dist/cli/commands/review/display.d.ts.map +1 -0
  137. package/dist/cli/commands/review/display.js +159 -0
  138. package/dist/cli/commands/review/display.js.map +1 -0
  139. package/dist/cli/commands/review/epic-review.d.ts +13 -0
  140. package/dist/cli/commands/review/epic-review.d.ts.map +1 -0
  141. package/dist/cli/commands/review/epic-review.js +69 -0
  142. package/dist/cli/commands/review/epic-review.js.map +1 -0
  143. package/dist/cli/commands/review/index.d.ts +13 -0
  144. package/dist/cli/commands/review/index.d.ts.map +1 -0
  145. package/dist/cli/commands/review/index.js +17 -0
  146. package/dist/cli/commands/review/index.js.map +1 -0
  147. package/dist/cli/commands/review/report.d.ts +31 -0
  148. package/dist/cli/commands/review/report.d.ts.map +1 -0
  149. package/dist/cli/commands/review/report.js +146 -0
  150. package/dist/cli/commands/review/report.js.map +1 -0
  151. package/dist/cli/commands/review/review.d.ts +17 -0
  152. package/dist/cli/commands/review/review.d.ts.map +1 -0
  153. package/dist/cli/commands/review/review.js +129 -0
  154. package/dist/cli/commands/review/review.js.map +1 -0
  155. package/dist/cli/commands/review/spec-review.d.ts +13 -0
  156. package/dist/cli/commands/review/spec-review.d.ts.map +1 -0
  157. package/dist/cli/commands/review/spec-review.js +65 -0
  158. package/dist/cli/commands/review/spec-review.js.map +1 -0
  159. package/dist/cli/commands/review/ticket-review.d.ts +37 -0
  160. package/dist/cli/commands/review/ticket-review.d.ts.map +1 -0
  161. package/dist/cli/commands/review/ticket-review.js +194 -0
  162. package/dist/cli/commands/review/ticket-review.js.map +1 -0
  163. package/dist/cli/commands/review/types.d.ts +232 -0
  164. package/dist/cli/commands/review/types.d.ts.map +1 -0
  165. package/dist/cli/commands/review/types.js +85 -0
  166. package/dist/cli/commands/review/types.js.map +1 -0
  167. package/dist/cli/commands/scaffold/display.d.ts +27 -0
  168. package/dist/cli/commands/scaffold/display.d.ts.map +1 -0
  169. package/dist/cli/commands/scaffold/display.js +90 -0
  170. package/dist/cli/commands/scaffold/display.js.map +1 -0
  171. package/dist/cli/commands/scaffold/index.d.ts +12 -0
  172. package/dist/cli/commands/scaffold/index.d.ts.map +1 -0
  173. package/dist/cli/commands/scaffold/index.js +12 -0
  174. package/dist/cli/commands/scaffold/index.js.map +1 -0
  175. package/dist/cli/commands/scaffold/register.d.ts +11 -0
  176. package/dist/cli/commands/scaffold/register.d.ts.map +1 -0
  177. package/dist/cli/commands/scaffold/register.js +25 -0
  178. package/dist/cli/commands/scaffold/register.js.map +1 -0
  179. package/dist/cli/commands/scaffold/scaffold.d.ts +11 -0
  180. package/dist/cli/commands/scaffold/scaffold.d.ts.map +1 -0
  181. package/dist/cli/commands/scaffold/scaffold.js +111 -0
  182. package/dist/cli/commands/scaffold/scaffold.js.map +1 -0
  183. package/dist/cli/commands/scaffold/targets.d.ts +31 -0
  184. package/dist/cli/commands/scaffold/targets.d.ts.map +1 -0
  185. package/dist/cli/commands/scaffold/targets.js +84 -0
  186. package/dist/cli/commands/scaffold/targets.js.map +1 -0
  187. package/dist/cli/commands/scaffold/types.d.ts +88 -0
  188. package/dist/cli/commands/scaffold/types.d.ts.map +1 -0
  189. package/dist/cli/commands/scaffold/types.js +21 -0
  190. package/dist/cli/commands/scaffold/types.js.map +1 -0
  191. package/dist/cli/commands/scaffold/utils.d.ts +31 -0
  192. package/dist/cli/commands/scaffold/utils.d.ts.map +1 -0
  193. package/dist/cli/commands/scaffold/utils.js +71 -0
  194. package/dist/cli/commands/scaffold/utils.js.map +1 -0
  195. package/dist/cli/commands/session/display.d.ts +40 -0
  196. package/dist/cli/commands/session/display.d.ts.map +1 -0
  197. package/dist/cli/commands/session/display.js +114 -0
  198. package/dist/cli/commands/session/display.js.map +1 -0
  199. package/dist/cli/commands/session/end.d.ts +12 -0
  200. package/dist/cli/commands/session/end.d.ts.map +1 -0
  201. package/dist/cli/commands/session/end.js +165 -0
  202. package/dist/cli/commands/session/end.js.map +1 -0
  203. package/dist/cli/commands/session/index.d.ts +13 -0
  204. package/dist/cli/commands/session/index.d.ts.map +1 -0
  205. package/dist/cli/commands/session/index.js +13 -0
  206. package/dist/cli/commands/session/index.js.map +1 -0
  207. package/dist/cli/commands/session/register.d.ts +12 -0
  208. package/dist/cli/commands/session/register.d.ts.map +1 -0
  209. package/dist/cli/commands/session/register.js +87 -0
  210. package/dist/cli/commands/session/register.js.map +1 -0
  211. package/dist/cli/commands/session/start.d.ts +12 -0
  212. package/dist/cli/commands/session/start.d.ts.map +1 -0
  213. package/dist/cli/commands/session/start.js +189 -0
  214. package/dist/cli/commands/session/start.js.map +1 -0
  215. package/dist/cli/commands/session/status.d.ts +12 -0
  216. package/dist/cli/commands/session/status.d.ts.map +1 -0
  217. package/dist/cli/commands/session/status.js +93 -0
  218. package/dist/cli/commands/session/status.js.map +1 -0
  219. package/dist/cli/commands/session/types.d.ts +179 -0
  220. package/dist/cli/commands/session/types.d.ts.map +1 -0
  221. package/dist/cli/commands/session/types.js +8 -0
  222. package/dist/cli/commands/session/types.js.map +1 -0
  223. package/dist/cli/commands/session/utils.d.ts +24 -0
  224. package/dist/cli/commands/session/utils.d.ts.map +1 -0
  225. package/dist/cli/commands/session/utils.js +72 -0
  226. package/dist/cli/commands/session/utils.js.map +1 -0
  227. package/dist/cli/commands/specs.d.ts +16 -0
  228. package/dist/cli/commands/specs.d.ts.map +1 -0
  229. package/dist/cli/commands/specs.js +212 -0
  230. package/dist/cli/commands/specs.js.map +1 -0
  231. package/dist/cli/commands/specs.types.d.ts +120 -0
  232. package/dist/cli/commands/specs.types.d.ts.map +1 -0
  233. package/dist/cli/commands/specs.types.js +75 -0
  234. package/dist/cli/commands/specs.types.js.map +1 -0
  235. package/dist/cli/commands/status.d.ts +17 -0
  236. package/dist/cli/commands/status.d.ts.map +1 -0
  237. package/dist/cli/commands/status.js +271 -0
  238. package/dist/cli/commands/status.js.map +1 -0
  239. package/dist/cli/commands/status.types.d.ts +382 -0
  240. package/dist/cli/commands/status.types.d.ts.map +1 -0
  241. package/dist/cli/commands/status.types.js +166 -0
  242. package/dist/cli/commands/status.types.js.map +1 -0
  243. package/dist/cli/commands/switch.d.ts +18 -0
  244. package/dist/cli/commands/switch.d.ts.map +1 -0
  245. package/dist/cli/commands/switch.js +181 -0
  246. package/dist/cli/commands/switch.js.map +1 -0
  247. package/dist/cli/commands/switch.types.d.ts +123 -0
  248. package/dist/cli/commands/switch.types.d.ts.map +1 -0
  249. package/dist/cli/commands/switch.types.js +65 -0
  250. package/dist/cli/commands/switch.types.js.map +1 -0
  251. package/dist/cli/commands/ticket/command.d.ts +14 -0
  252. package/dist/cli/commands/ticket/command.d.ts.map +1 -0
  253. package/dist/cli/commands/ticket/command.js +141 -0
  254. package/dist/cli/commands/ticket/command.js.map +1 -0
  255. package/dist/cli/commands/ticket/display.d.ts +56 -0
  256. package/dist/cli/commands/ticket/display.d.ts.map +1 -0
  257. package/dist/cli/commands/ticket/display.js +205 -0
  258. package/dist/cli/commands/ticket/display.js.map +1 -0
  259. package/dist/cli/commands/ticket/index.d.ts +11 -0
  260. package/dist/cli/commands/ticket/index.d.ts.map +1 -0
  261. package/dist/cli/commands/ticket/index.js +11 -0
  262. package/dist/cli/commands/ticket/index.js.map +1 -0
  263. package/dist/cli/commands/ticket/register.d.ts +11 -0
  264. package/dist/cli/commands/ticket/register.d.ts.map +1 -0
  265. package/dist/cli/commands/ticket/register.js +39 -0
  266. package/dist/cli/commands/ticket/register.js.map +1 -0
  267. package/dist/cli/commands/ticket/resolver.d.ts +16 -0
  268. package/dist/cli/commands/ticket/resolver.d.ts.map +1 -0
  269. package/dist/cli/commands/ticket/resolver.js +35 -0
  270. package/dist/cli/commands/ticket/resolver.js.map +1 -0
  271. package/dist/cli/commands/ticket/types.d.ts +157 -0
  272. package/dist/cli/commands/ticket/types.d.ts.map +1 -0
  273. package/dist/cli/commands/ticket/types.js +8 -0
  274. package/dist/cli/commands/ticket/types.js.map +1 -0
  275. package/dist/cli/commands/tickets.d.ts +16 -0
  276. package/dist/cli/commands/tickets.d.ts.map +1 -0
  277. package/dist/cli/commands/tickets.js +271 -0
  278. package/dist/cli/commands/tickets.js.map +1 -0
  279. package/dist/cli/commands/tickets.types.d.ts +202 -0
  280. package/dist/cli/commands/tickets.types.d.ts.map +1 -0
  281. package/dist/cli/commands/tickets.types.js +138 -0
  282. package/dist/cli/commands/tickets.types.js.map +1 -0
  283. package/dist/cli/config/index.d.ts +11 -0
  284. package/dist/cli/config/index.d.ts.map +1 -0
  285. package/dist/cli/config/index.js +11 -0
  286. package/dist/cli/config/index.js.map +1 -0
  287. package/dist/cli/config/loader.d.ts +98 -0
  288. package/dist/cli/config/loader.d.ts.map +1 -0
  289. package/dist/cli/config/loader.js +237 -0
  290. package/dist/cli/config/loader.js.map +1 -0
  291. package/dist/cli/config/paths.d.ts +96 -0
  292. package/dist/cli/config/paths.d.ts.map +1 -0
  293. package/dist/cli/config/paths.js +140 -0
  294. package/dist/cli/config/paths.js.map +1 -0
  295. package/dist/cli/config/types.d.ts +148 -0
  296. package/dist/cli/config/types.d.ts.map +1 -0
  297. package/dist/cli/config/types.js +34 -0
  298. package/dist/cli/config/types.js.map +1 -0
  299. package/dist/cli/config/writer.d.ts +171 -0
  300. package/dist/cli/config/writer.d.ts.map +1 -0
  301. package/dist/cli/config/writer.js +312 -0
  302. package/dist/cli/config/writer.js.map +1 -0
  303. package/dist/cli/index.d.ts +30 -0
  304. package/dist/cli/index.d.ts.map +1 -0
  305. package/dist/cli/index.js +183 -0
  306. package/dist/cli/index.js.map +1 -0
  307. package/dist/cli/middleware/auth-guard.d.ts +107 -0
  308. package/dist/cli/middleware/auth-guard.d.ts.map +1 -0
  309. package/dist/cli/middleware/auth-guard.js +190 -0
  310. package/dist/cli/middleware/auth-guard.js.map +1 -0
  311. package/dist/cli/middleware/error-handler.d.ts +133 -0
  312. package/dist/cli/middleware/error-handler.d.ts.map +1 -0
  313. package/dist/cli/middleware/error-handler.js +209 -0
  314. package/dist/cli/middleware/error-handler.js.map +1 -0
  315. package/dist/cli/middleware/index.d.ts +6 -0
  316. package/dist/cli/middleware/index.d.ts.map +1 -0
  317. package/dist/cli/middleware/index.js +6 -0
  318. package/dist/cli/middleware/index.js.map +1 -0
  319. package/dist/cli/templates/commands.d.ts +20 -0
  320. package/dist/cli/templates/commands.d.ts.map +1 -0
  321. package/dist/cli/templates/commands.js +174 -0
  322. package/dist/cli/templates/commands.js.map +1 -0
  323. package/dist/cli/templates/content/sf-autonomous.d.ts +7 -0
  324. package/dist/cli/templates/content/sf-autonomous.d.ts.map +1 -0
  325. package/dist/cli/templates/content/sf-autonomous.js +78 -0
  326. package/dist/cli/templates/content/sf-autonomous.js.map +1 -0
  327. package/dist/cli/templates/content/sf-blockers.d.ts +7 -0
  328. package/dist/cli/templates/content/sf-blockers.d.ts.map +1 -0
  329. package/dist/cli/templates/content/sf-blockers.js +68 -0
  330. package/dist/cli/templates/content/sf-blockers.js.map +1 -0
  331. package/dist/cli/templates/content/sf-commit.d.ts +7 -0
  332. package/dist/cli/templates/content/sf-commit.d.ts.map +1 -0
  333. package/dist/cli/templates/content/sf-commit.js +78 -0
  334. package/dist/cli/templates/content/sf-commit.js.map +1 -0
  335. package/dist/cli/templates/content/sf-context.d.ts +7 -0
  336. package/dist/cli/templates/content/sf-context.d.ts.map +1 -0
  337. package/dist/cli/templates/content/sf-context.js +64 -0
  338. package/dist/cli/templates/content/sf-context.js.map +1 -0
  339. package/dist/cli/templates/content/sf-create-epics.d.ts +7 -0
  340. package/dist/cli/templates/content/sf-create-epics.d.ts.map +1 -0
  341. package/dist/cli/templates/content/sf-create-epics.js +70 -0
  342. package/dist/cli/templates/content/sf-create-epics.js.map +1 -0
  343. package/dist/cli/templates/content/sf-create-spec.d.ts +7 -0
  344. package/dist/cli/templates/content/sf-create-spec.d.ts.map +1 -0
  345. package/dist/cli/templates/content/sf-create-spec.js +67 -0
  346. package/dist/cli/templates/content/sf-create-spec.js.map +1 -0
  347. package/dist/cli/templates/content/sf-create-tickets.d.ts +7 -0
  348. package/dist/cli/templates/content/sf-create-tickets.d.ts.map +1 -0
  349. package/dist/cli/templates/content/sf-create-tickets.js +76 -0
  350. package/dist/cli/templates/content/sf-create-tickets.js.map +1 -0
  351. package/dist/cli/templates/content/sf-epic.d.ts +7 -0
  352. package/dist/cli/templates/content/sf-epic.d.ts.map +1 -0
  353. package/dist/cli/templates/content/sf-epic.js +69 -0
  354. package/dist/cli/templates/content/sf-epic.js.map +1 -0
  355. package/dist/cli/templates/content/sf-help.d.ts +7 -0
  356. package/dist/cli/templates/content/sf-help.d.ts.map +1 -0
  357. package/dist/cli/templates/content/sf-help.js +61 -0
  358. package/dist/cli/templates/content/sf-help.js.map +1 -0
  359. package/dist/cli/templates/content/sf-import.d.ts +7 -0
  360. package/dist/cli/templates/content/sf-import.d.ts.map +1 -0
  361. package/dist/cli/templates/content/sf-import.js +88 -0
  362. package/dist/cli/templates/content/sf-import.js.map +1 -0
  363. package/dist/cli/templates/content/sf-init.d.ts +7 -0
  364. package/dist/cli/templates/content/sf-init.d.ts.map +1 -0
  365. package/dist/cli/templates/content/sf-init.js +61 -0
  366. package/dist/cli/templates/content/sf-init.js.map +1 -0
  367. package/dist/cli/templates/content/sf-next.d.ts +7 -0
  368. package/dist/cli/templates/content/sf-next.d.ts.map +1 -0
  369. package/dist/cli/templates/content/sf-next.js +67 -0
  370. package/dist/cli/templates/content/sf-next.js.map +1 -0
  371. package/dist/cli/templates/content/sf-reset.d.ts +7 -0
  372. package/dist/cli/templates/content/sf-reset.d.ts.map +1 -0
  373. package/dist/cli/templates/content/sf-reset.js +78 -0
  374. package/dist/cli/templates/content/sf-reset.js.map +1 -0
  375. package/dist/cli/templates/content/sf-review.d.ts +7 -0
  376. package/dist/cli/templates/content/sf-review.d.ts.map +1 -0
  377. package/dist/cli/templates/content/sf-review.js +67 -0
  378. package/dist/cli/templates/content/sf-review.js.map +1 -0
  379. package/dist/cli/templates/content/sf-search.d.ts +7 -0
  380. package/dist/cli/templates/content/sf-search.d.ts.map +1 -0
  381. package/dist/cli/templates/content/sf-search.js +64 -0
  382. package/dist/cli/templates/content/sf-search.js.map +1 -0
  383. package/dist/cli/templates/content/sf-status.d.ts +7 -0
  384. package/dist/cli/templates/content/sf-status.d.ts.map +1 -0
  385. package/dist/cli/templates/content/sf-status.js +67 -0
  386. package/dist/cli/templates/content/sf-status.js.map +1 -0
  387. package/dist/cli/templates/content/sf-ticket.d.ts +7 -0
  388. package/dist/cli/templates/content/sf-ticket.d.ts.map +1 -0
  389. package/dist/cli/templates/content/sf-ticket.js +76 -0
  390. package/dist/cli/templates/content/sf-ticket.js.map +1 -0
  391. package/dist/cli/templates/content/sf-validate.d.ts +7 -0
  392. package/dist/cli/templates/content/sf-validate.d.ts.map +1 -0
  393. package/dist/cli/templates/content/sf-validate.js +78 -0
  394. package/dist/cli/templates/content/sf-validate.js.map +1 -0
  395. package/dist/cli/templates/index.d.ts +7 -0
  396. package/dist/cli/templates/index.d.ts.map +1 -0
  397. package/dist/cli/templates/index.js +7 -0
  398. package/dist/cli/templates/index.js.map +1 -0
  399. package/dist/cli/ui/colors.d.ts +76 -0
  400. package/dist/cli/ui/colors.d.ts.map +1 -0
  401. package/dist/cli/ui/colors.js +81 -0
  402. package/dist/cli/ui/colors.js.map +1 -0
  403. package/dist/cli/ui/dashboard.d.ts +54 -0
  404. package/dist/cli/ui/dashboard.d.ts.map +1 -0
  405. package/dist/cli/ui/dashboard.js +339 -0
  406. package/dist/cli/ui/dashboard.js.map +1 -0
  407. package/dist/cli/ui/index.d.ts +7 -0
  408. package/dist/cli/ui/index.d.ts.map +1 -0
  409. package/dist/cli/ui/index.js +7 -0
  410. package/dist/cli/ui/index.js.map +1 -0
  411. package/dist/cli/ui/output.d.ts +117 -0
  412. package/dist/cli/ui/output.d.ts.map +1 -0
  413. package/dist/cli/ui/output.js +172 -0
  414. package/dist/cli/ui/output.js.map +1 -0
  415. package/dist/cli/ui/spinner.d.ts +105 -0
  416. package/dist/cli/ui/spinner.d.ts.map +1 -0
  417. package/dist/cli/ui/spinner.js +148 -0
  418. package/dist/cli/ui/spinner.js.map +1 -0
  419. package/dist/cli/ui/time.d.ts +54 -0
  420. package/dist/cli/ui/time.d.ts.map +1 -0
  421. package/dist/cli/ui/time.js +173 -0
  422. package/dist/cli/ui/time.js.map +1 -0
  423. package/dist/lib/format.d.ts +4 -4
  424. package/dist/lib/format.js +5 -5
  425. package/dist/server.js +8 -8
  426. package/dist/server.js.map +1 -1
  427. package/dist/tools/core/session.js +6 -6
  428. package/dist/tools/core/session.js.map +1 -1
  429. package/dist/tools/index.js +9 -9
  430. package/dist/tools/index.js.map +1 -1
  431. package/dist/validation/index.js +1 -1
  432. package/dist/validation/index.js.map +1 -1
  433. package/package.json +9 -2
@@ -0,0 +1,78 @@
1
+ /**
2
+ * SF-Reset Command Template
3
+ *
4
+ * Template for resetting ticket statuses with dependency awareness.
5
+ */
6
+ export const SF_RESET_CONTENT = `# Reset Ticket Statuses (SpecForge)
7
+
8
+ Reset ticket statuses to ready state with dependency awareness.
9
+
10
+ ## Arguments
11
+ - \`$ARGUMENTS\` - Optional: Specification ID or ticket ID to reset
12
+
13
+ ## Task
14
+
15
+ ### 1. Get Reset Scope
16
+
17
+ **MCP Calls:**
18
+ \`\`\`typescript
19
+ get_working_context()
20
+
21
+ if ($ARGUMENTS.match(/E\d+-T\d+/)) {
22
+ // Single ticket reset
23
+ get_ticket($ARGUMENTS)
24
+ } else {
25
+ // Full specification reset
26
+ if ($ARGUMENTS) {
27
+ set_working_context({ specificationId: "$ARGUMENTS" })
28
+ }
29
+ list_tickets({ specificationId })
30
+ }
31
+ \`\`\`
32
+
33
+ ### 2. Reset Tickets
34
+
35
+ **MCP Calls:**
36
+ \`\`\`typescript
37
+ // For each ticket to reset
38
+ for (const ticket of tickets) {
39
+ // Check dependencies
40
+ const allDepsCompleted = ticket.dependencies.every(
41
+ dep => getTicketStatus(dep) === 'done'
42
+ );
43
+
44
+ // Update status
45
+ update_ticket({
46
+ ticketId: ticket.id,
47
+ status: allDepsCompleted ? 'ready' : 'blocked'
48
+ })
49
+ }
50
+ \`\`\`
51
+
52
+ ### 3. Display Reset Results
53
+
54
+ **Output:**
55
+ \`\`\`
56
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
57
+ TICKET RESET COMPLETE
58
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
59
+ Scope: {scope}
60
+
61
+ RESET SUMMARY
62
+ ─────────────────────────────────────────────────────────────────
63
+ Ready: {readyCount} tickets
64
+ Blocked: {blockedCount} tickets
65
+ Done: {doneCount} tickets (unchanged)
66
+
67
+ RESET TICKETS
68
+ ─────────────────────────────────────────────────────────────────
69
+ E{n}-T{m} │ {oldStatus} → {newStatus}
70
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
71
+ \`\`\`
72
+
73
+ ## Notes
74
+ - Respects dependency constraints
75
+ - Can reset single ticket or entire specification
76
+ - Completed tickets remain unchanged by default
77
+ `;
78
+ //# sourceMappingURL=sf-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-reset.js","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-reset.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE/B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SF-Review Command Template
3
+ *
4
+ * Template for reviewing accomplishments and progress analysis.
5
+ */
6
+ export declare const SF_REVIEW_CONTENT = "# Review Accomplishments (SpecForge)\n\nComprehensive review of implementation progress and accomplishments.\n\n## Arguments\n- `$ARGUMENTS` - Optional: Specification ID to review\n\n## Task\n\n### 1. Get Specification Context\n\n**MCP Calls:**\n```typescript\nget_working_context()\n\nif ($ARGUMENTS) {\n set_working_context({ specificationId: \"$ARGUMENTS\" })\n}\n\nget_specification(specificationId)\n```\n\n### 2. Load Implementation Data\n\n**MCP Calls:**\n```typescript\nlist_epics({ specificationId })\nlist_tickets({ specificationId })\n```\n\n### 3. Display Review Summary\n\n**Output:**\n```\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nIMPLEMENTATION REVIEW\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nSpecification: {title}\nOverall: {done}/{total} ({percentage}%)\n\nPROGRESS BY EPIC\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nE{n} \u2502 {title} \u2502 {ticketsDone}/{ticketsTotal} ({pct}%)\n\nRECENTLY COMPLETED\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u2713 E{n}-T{m} \u2502 {title} \u2502 {completedDate}\n\nVELOCITY\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nLast 7 days: {ticketsCompleted} tickets\nAverage: {avgPerDay} tickets/day\nRemaining: ~{estimatedDays} days\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n```\n\n## Notes\n- Shows completed tickets and velocity metrics\n- Provides estimated completion timeline\n- Use /sf-status for current state\n";
7
+ //# sourceMappingURL=sf-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-review.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,iBAAiB,upGA4D7B,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * SF-Review Command Template
3
+ *
4
+ * Template for reviewing accomplishments and progress analysis.
5
+ */
6
+ export const SF_REVIEW_CONTENT = `# Review Accomplishments (SpecForge)
7
+
8
+ Comprehensive review of implementation progress and accomplishments.
9
+
10
+ ## Arguments
11
+ - \`$ARGUMENTS\` - Optional: Specification ID to review
12
+
13
+ ## Task
14
+
15
+ ### 1. Get Specification Context
16
+
17
+ **MCP Calls:**
18
+ \`\`\`typescript
19
+ get_working_context()
20
+
21
+ if ($ARGUMENTS) {
22
+ set_working_context({ specificationId: "$ARGUMENTS" })
23
+ }
24
+
25
+ get_specification(specificationId)
26
+ \`\`\`
27
+
28
+ ### 2. Load Implementation Data
29
+
30
+ **MCP Calls:**
31
+ \`\`\`typescript
32
+ list_epics({ specificationId })
33
+ list_tickets({ specificationId })
34
+ \`\`\`
35
+
36
+ ### 3. Display Review Summary
37
+
38
+ **Output:**
39
+ \`\`\`
40
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
41
+ IMPLEMENTATION REVIEW
42
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
43
+ Specification: {title}
44
+ Overall: {done}/{total} ({percentage}%)
45
+
46
+ PROGRESS BY EPIC
47
+ ─────────────────────────────────────────────────────────────────
48
+ E{n} │ {title} │ {ticketsDone}/{ticketsTotal} ({pct}%)
49
+
50
+ RECENTLY COMPLETED
51
+ ─────────────────────────────────────────────────────────────────
52
+ ✓ E{n}-T{m} │ {title} │ {completedDate}
53
+
54
+ VELOCITY
55
+ ─────────────────────────────────────────────────────────────────
56
+ Last 7 days: {ticketsCompleted} tickets
57
+ Average: {avgPerDay} tickets/day
58
+ Remaining: ~{estimatedDays} days
59
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
60
+ \`\`\`
61
+
62
+ ## Notes
63
+ - Shows completed tickets and velocity metrics
64
+ - Provides estimated completion timeline
65
+ - Use /sf-status for current state
66
+ `;
67
+ //# sourceMappingURL=sf-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-review.js","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DhC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SF-Search Command Template
3
+ *
4
+ * Template for searching tickets by text, tags, or filters.
5
+ */
6
+ export declare const SF_SEARCH_CONTENT = "# Search Tickets (SpecForge)\n\nSearch tickets by text, tags, status, or other filters.\n\n## Arguments\n- `$ARGUMENTS` - Required: Search query\n\n## Task\n\n### 1. Parse Search Query\n\n**Logic:**\n- Extract search terms\n- Parse filters (status:, epic:, tag:)\n- Identify text search vs filter search\n\n### 2. Search Tickets\n\n**MCP Calls:**\n```typescript\nget_working_context()\n\nlist_tickets({\n specificationId,\n search: extractedTerms,\n status: extractedStatus,\n epicId: extractedEpicId,\n tags: extractedTags\n})\n```\n\n### 3. Display Search Results\n\n**Output:**\n```\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nSEARCH RESULTS\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nQuery: {query}\nFound: {resultCount} tickets\n\nRESULTS\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nE{n}-T{m} \u2502 {title} \u2502 {status}\n {matchedText}...\n\nE{n}-T{m} \u2502 {title} \u2502 {status}\n {matchedText}...\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nTip: Use filters like status:ready or epic:E1\n```\n\n## Notes\n- Supports text search and filters\n- Filters: status:, epic:, tag:, priority:\n- Can combine multiple filters\n";
7
+ //# sourceMappingURL=sf-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-search.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,iBAAiB,guEAyD7B,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * SF-Search Command Template
3
+ *
4
+ * Template for searching tickets by text, tags, or filters.
5
+ */
6
+ export const SF_SEARCH_CONTENT = `# Search Tickets (SpecForge)
7
+
8
+ Search tickets by text, tags, status, or other filters.
9
+
10
+ ## Arguments
11
+ - \`$ARGUMENTS\` - Required: Search query
12
+
13
+ ## Task
14
+
15
+ ### 1. Parse Search Query
16
+
17
+ **Logic:**
18
+ - Extract search terms
19
+ - Parse filters (status:, epic:, tag:)
20
+ - Identify text search vs filter search
21
+
22
+ ### 2. Search Tickets
23
+
24
+ **MCP Calls:**
25
+ \`\`\`typescript
26
+ get_working_context()
27
+
28
+ list_tickets({
29
+ specificationId,
30
+ search: extractedTerms,
31
+ status: extractedStatus,
32
+ epicId: extractedEpicId,
33
+ tags: extractedTags
34
+ })
35
+ \`\`\`
36
+
37
+ ### 3. Display Search Results
38
+
39
+ **Output:**
40
+ \`\`\`
41
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
42
+ SEARCH RESULTS
43
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
44
+ Query: {query}
45
+ Found: {resultCount} tickets
46
+
47
+ RESULTS
48
+ ─────────────────────────────────────────────────────────────────
49
+ E{n}-T{m} │ {title} │ {status}
50
+ {matchedText}...
51
+
52
+ E{n}-T{m} │ {title} │ {status}
53
+ {matchedText}...
54
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
+
56
+ Tip: Use filters like status:ready or epic:E1
57
+ \`\`\`
58
+
59
+ ## Notes
60
+ - Supports text search and filters
61
+ - Filters: status:, epic:, tag:, priority:
62
+ - Can combine multiple filters
63
+ `;
64
+ //# sourceMappingURL=sf-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-search.js","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SF-Status Command Template
3
+ *
4
+ * Template for displaying implementation status with consolidated tools.
5
+ */
6
+ export declare const SF_STATUS_CONTENT = "# Implementation Status (SpecForge)\n\nDisplay comprehensive implementation status with consolidated progress view.\n\n## Arguments\n- `$ARGUMENTS` - Optional: Specification ID to view status for\n\n## Task\n\n### 1. Get Working Context\n\n**MCP Calls:**\n```typescript\nget_working_context()\n\n// If $ARGUMENTS provided, switch context\nif ($ARGUMENTS) {\n set_working_context({ specificationId: \"$ARGUMENTS\" })\n}\n```\n\n### 2. Load Implementation Data\n\n**MCP Calls:**\n```typescript\nget_specification(specificationId)\nlist_epics({ specificationId })\nlist_tickets({ specificationId })\n```\n\n### 3. Display Status Overview\n\n**Output:**\n```\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nIMPLEMENTATION STATUS\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nSpecification: {title}\nProgress: {done}/{total} ({percentage}%)\n\nEPICS\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nE{n} \u2502 {title} \u2502 {progress}% \u2502 {status}\n\nREADY TICKETS\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nE{n}-T{m} \u2502 {title} \u2502 {priority}\n\nBLOCKED TICKETS\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nE{n}-T{m} \u2502 {title} \u2502 Blocked by: {dependencies}\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nNext: Run /sf-next to start implementation\n```\n\n## Notes\n- Shows overall progress and epic breakdown\n- Lists ready and blocked tickets\n- Use /sf-validate for system health check\n";
7
+ //# sourceMappingURL=sf-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-status.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,iBAAiB,8pGA4D7B,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * SF-Status Command Template
3
+ *
4
+ * Template for displaying implementation status with consolidated tools.
5
+ */
6
+ export const SF_STATUS_CONTENT = `# Implementation Status (SpecForge)
7
+
8
+ Display comprehensive implementation status with consolidated progress view.
9
+
10
+ ## Arguments
11
+ - \`$ARGUMENTS\` - Optional: Specification ID to view status for
12
+
13
+ ## Task
14
+
15
+ ### 1. Get Working Context
16
+
17
+ **MCP Calls:**
18
+ \`\`\`typescript
19
+ get_working_context()
20
+
21
+ // If $ARGUMENTS provided, switch context
22
+ if ($ARGUMENTS) {
23
+ set_working_context({ specificationId: "$ARGUMENTS" })
24
+ }
25
+ \`\`\`
26
+
27
+ ### 2. Load Implementation Data
28
+
29
+ **MCP Calls:**
30
+ \`\`\`typescript
31
+ get_specification(specificationId)
32
+ list_epics({ specificationId })
33
+ list_tickets({ specificationId })
34
+ \`\`\`
35
+
36
+ ### 3. Display Status Overview
37
+
38
+ **Output:**
39
+ \`\`\`
40
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
41
+ IMPLEMENTATION STATUS
42
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
43
+ Specification: {title}
44
+ Progress: {done}/{total} ({percentage}%)
45
+
46
+ EPICS
47
+ ─────────────────────────────────────────────────────────────────
48
+ E{n} │ {title} │ {progress}% │ {status}
49
+
50
+ READY TICKETS
51
+ ─────────────────────────────────────────────────────────────────
52
+ E{n}-T{m} │ {title} │ {priority}
53
+
54
+ BLOCKED TICKETS
55
+ ─────────────────────────────────────────────────────────────────
56
+ E{n}-T{m} │ {title} │ Blocked by: {dependencies}
57
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
58
+
59
+ Next: Run /sf-next to start implementation
60
+ \`\`\`
61
+
62
+ ## Notes
63
+ - Shows overall progress and epic breakdown
64
+ - Lists ready and blocked tickets
65
+ - Use /sf-validate for system health check
66
+ `;
67
+ //# sourceMappingURL=sf-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-status.js","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DhC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SF-Ticket-Implementation Command Template
3
+ *
4
+ * Template for implementing a specific ticket with streamlined workflow.
5
+ */
6
+ export declare const SF_TICKET_IMPLEMENTATION_CONTENT = "# Implement Ticket (SpecForge)\n\nImplement a specific ticket with full context and streamlined workflow.\n\n## Arguments\n- `$ARGUMENTS` - Optional: Ticket ID to implement (e.g., E1-T3)\n\n## Task\n\n### 1. Select Ticket\n\n**MCP Calls:**\n```typescript\n// If no arguments, prompt user\nif (!$ARGUMENTS) {\n list_tickets({\n specificationId,\n status: 'ready'\n })\n // Display selection menu\n}\n\n// Get ticket details\nget_ticket($ARGUMENTS || selectedId)\n```\n\n### 2. Verify Dependencies\n\n**MCP Calls:**\n```typescript\n// Check all dependencies are completed\nfor (const depId of ticket.dependencies) {\n get_ticket(depId)\n // Verify status is 'done'\n}\n```\n\n### 3. Set Context and Start\n\n**MCP Calls:**\n```typescript\nset_working_context({ ticketId: ticket.id })\nupdate_ticket({\n ticketId: ticket.id,\n status: 'in_progress'\n})\n```\n\n### 4. Display Implementation View\n\n**Output:**\n```\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nIMPLEMENTING: E{n}-T{m}\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n{title}\n\n{fullDescription}\n{implementationGuidance}\n{acceptanceCriteria}\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nBegin implementation\n```\n\n## Notes\n- Verifies all dependencies are completed\n- Provides full ticket context for implementation\n- Use /sf-commit when complete\n";
7
+ //# sourceMappingURL=sf-ticket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-ticket.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-ticket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,gCAAgC,4jEAqE5C,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * SF-Ticket-Implementation Command Template
3
+ *
4
+ * Template for implementing a specific ticket with streamlined workflow.
5
+ */
6
+ export const SF_TICKET_IMPLEMENTATION_CONTENT = `# Implement Ticket (SpecForge)
7
+
8
+ Implement a specific ticket with full context and streamlined workflow.
9
+
10
+ ## Arguments
11
+ - \`$ARGUMENTS\` - Optional: Ticket ID to implement (e.g., E1-T3)
12
+
13
+ ## Task
14
+
15
+ ### 1. Select Ticket
16
+
17
+ **MCP Calls:**
18
+ \`\`\`typescript
19
+ // If no arguments, prompt user
20
+ if (!$ARGUMENTS) {
21
+ list_tickets({
22
+ specificationId,
23
+ status: 'ready'
24
+ })
25
+ // Display selection menu
26
+ }
27
+
28
+ // Get ticket details
29
+ get_ticket($ARGUMENTS || selectedId)
30
+ \`\`\`
31
+
32
+ ### 2. Verify Dependencies
33
+
34
+ **MCP Calls:**
35
+ \`\`\`typescript
36
+ // Check all dependencies are completed
37
+ for (const depId of ticket.dependencies) {
38
+ get_ticket(depId)
39
+ // Verify status is 'done'
40
+ }
41
+ \`\`\`
42
+
43
+ ### 3. Set Context and Start
44
+
45
+ **MCP Calls:**
46
+ \`\`\`typescript
47
+ set_working_context({ ticketId: ticket.id })
48
+ update_ticket({
49
+ ticketId: ticket.id,
50
+ status: 'in_progress'
51
+ })
52
+ \`\`\`
53
+
54
+ ### 4. Display Implementation View
55
+
56
+ **Output:**
57
+ \`\`\`
58
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
59
+ IMPLEMENTING: E{n}-T{m}
60
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
61
+ {title}
62
+
63
+ {fullDescription}
64
+ {implementationGuidance}
65
+ {acceptanceCriteria}
66
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
67
+
68
+ Begin implementation
69
+ \`\`\`
70
+
71
+ ## Notes
72
+ - Verifies all dependencies are completed
73
+ - Provides full ticket context for implementation
74
+ - Use /sf-commit when complete
75
+ `;
76
+ //# sourceMappingURL=sf-ticket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-ticket.js","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-ticket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE/C,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SF-Validate Command Template
3
+ *
4
+ * Template for validating ticket system health.
5
+ */
6
+ export declare const SF_VALIDATE_CONTENT = "# Validate Ticket System (SpecForge)\n\nRun comprehensive health checks on the ticket system.\n\n## Arguments\n- `$ARGUMENTS` - Optional: Specification ID to validate\n\n## Task\n\n### 1. Get Specification Context\n\n**MCP Calls:**\n```typescript\nget_working_context()\n\nif ($ARGUMENTS) {\n set_working_context({ specificationId: \"$ARGUMENTS\" })\n}\n\nget_specification(specificationId)\n```\n\n### 2. Load and Validate Data\n\n**MCP Calls:**\n```typescript\nlist_epics({ specificationId })\nlist_tickets({ specificationId })\n\n// Validate each ticket\nfor (const ticket of tickets) {\n get_ticket(ticket.id)\n // Check dependencies, status, fields\n}\n```\n\n### 3. Display Validation Results\n\n**Output:**\n```\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nSYSTEM VALIDATION\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nSpecification: {title}\n\nCHECKS\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u2713 All epics have valid structure\n\u2713 All tickets have required fields\n\u2713 Dependency graph is acyclic\n\u2713 Status transitions are valid\n\u2713 No orphaned tickets\n\nWARNINGS\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u26A0 E{n}-T{m}: Missing acceptance criteria\n\u26A0 E{n}-T{m}: Long dependency chain (depth {n})\n\nERRORS\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u2717 E{n}-T{m}: Circular dependency detected\n\u2717 E{n}-T{m}: Invalid dependency reference\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nStatus: {errors ? 'FAILED' : 'PASSED'}\n```\n\n## Notes\n- Checks dependency graph integrity\n- Validates ticket structure and fields\n- Reports warnings and errors\n";
7
+ //# sourceMappingURL=sf-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-validate.d.ts","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,mBAAmB,s2GAuE/B,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * SF-Validate Command Template
3
+ *
4
+ * Template for validating ticket system health.
5
+ */
6
+ export const SF_VALIDATE_CONTENT = `# Validate Ticket System (SpecForge)
7
+
8
+ Run comprehensive health checks on the ticket system.
9
+
10
+ ## Arguments
11
+ - \`$ARGUMENTS\` - Optional: Specification ID to validate
12
+
13
+ ## Task
14
+
15
+ ### 1. Get Specification Context
16
+
17
+ **MCP Calls:**
18
+ \`\`\`typescript
19
+ get_working_context()
20
+
21
+ if ($ARGUMENTS) {
22
+ set_working_context({ specificationId: "$ARGUMENTS" })
23
+ }
24
+
25
+ get_specification(specificationId)
26
+ \`\`\`
27
+
28
+ ### 2. Load and Validate Data
29
+
30
+ **MCP Calls:**
31
+ \`\`\`typescript
32
+ list_epics({ specificationId })
33
+ list_tickets({ specificationId })
34
+
35
+ // Validate each ticket
36
+ for (const ticket of tickets) {
37
+ get_ticket(ticket.id)
38
+ // Check dependencies, status, fields
39
+ }
40
+ \`\`\`
41
+
42
+ ### 3. Display Validation Results
43
+
44
+ **Output:**
45
+ \`\`\`
46
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47
+ SYSTEM VALIDATION
48
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49
+ Specification: {title}
50
+
51
+ CHECKS
52
+ ─────────────────────────────────────────────────────────────────
53
+ ✓ All epics have valid structure
54
+ ✓ All tickets have required fields
55
+ ✓ Dependency graph is acyclic
56
+ ✓ Status transitions are valid
57
+ ✓ No orphaned tickets
58
+
59
+ WARNINGS
60
+ ─────────────────────────────────────────────────────────────────
61
+ ⚠ E{n}-T{m}: Missing acceptance criteria
62
+ ⚠ E{n}-T{m}: Long dependency chain (depth {n})
63
+
64
+ ERRORS
65
+ ─────────────────────────────────────────────────────────────────
66
+ ✗ E{n}-T{m}: Circular dependency detected
67
+ ✗ E{n}-T{m}: Invalid dependency reference
68
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
+
70
+ Status: {errors ? 'FAILED' : 'PASSED'}
71
+ \`\`\`
72
+
73
+ ## Notes
74
+ - Checks dependency graph integrity
75
+ - Validates ticket structure and fields
76
+ - Reports warnings and errors
77
+ `;
78
+ //# sourceMappingURL=sf-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sf-validate.js","sourceRoot":"","sources":["../../../../src/cli/templates/content/sf-validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuElC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Templates Module
3
+ *
4
+ * Exports all template functions for command scaffolding.
5
+ */
6
+ export { getCommandTemplates, getCommandTemplate, getCommandsByCategory } from './commands.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Templates Module
3
+ *
4
+ * Exports all template functions for command scaffolding.
5
+ */
6
+ export { getCommandTemplates, getCommandTemplate, getCommandsByCategory } from './commands.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/templates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Terminal Color Utilities
3
+ *
4
+ * Provides consistent color theming across the CLI.
5
+ * All colors are defined here to ensure visual consistency.
6
+ */
7
+ /**
8
+ * Brand colors for SpecForge CLI
9
+ */
10
+ export declare const colors: {
11
+ /** Primary brand color - used for emphasis */
12
+ readonly primary: import("chalk").ChalkInstance;
13
+ /** Secondary color - used for less emphasis */
14
+ readonly secondary: import("chalk").ChalkInstance;
15
+ /** Success messages and indicators */
16
+ readonly success: import("chalk").ChalkInstance;
17
+ /** Warning messages */
18
+ readonly warning: import("chalk").ChalkInstance;
19
+ /** Error messages */
20
+ readonly error: import("chalk").ChalkInstance;
21
+ /** Muted/secondary text */
22
+ readonly muted: import("chalk").ChalkInstance;
23
+ /** Bold text */
24
+ readonly bold: import("chalk").ChalkInstance;
25
+ /** Underlined text (for URLs) */
26
+ readonly link: import("chalk").ChalkInstance;
27
+ /** Code/command styling */
28
+ readonly code: import("chalk").ChalkInstance;
29
+ /** Dimmed text for less important info */
30
+ readonly dim: import("chalk").ChalkInstance;
31
+ };
32
+ /**
33
+ * Semantic color functions for common use cases
34
+ */
35
+ export declare const style: {
36
+ /** Style a command for display */
37
+ readonly command: (cmd: string) => string;
38
+ /** Style a URL for display */
39
+ readonly url: (url: string) => string;
40
+ /** Style a file path */
41
+ readonly path: (path: string) => string;
42
+ /** Style a key/label */
43
+ readonly label: (label: string) => string;
44
+ /** Style a value */
45
+ readonly value: (value: string) => string;
46
+ /** Style as success */
47
+ readonly ok: (text: string) => string;
48
+ /** Style as error */
49
+ readonly err: (text: string) => string;
50
+ /** Style as warning */
51
+ readonly warn: (text: string) => string;
52
+ /** Style as info */
53
+ readonly info: (text: string) => string;
54
+ };
55
+ /**
56
+ * Status icons with colors
57
+ */
58
+ export declare const icons: {
59
+ readonly success: string;
60
+ readonly error: string;
61
+ readonly warning: string;
62
+ readonly info: string;
63
+ readonly pending: string;
64
+ readonly running: string;
65
+ readonly arrow: string;
66
+ readonly bullet: string;
67
+ };
68
+ /**
69
+ * Check if terminal supports colors
70
+ */
71
+ export declare function supportsColor(): boolean;
72
+ /**
73
+ * Disable colors (for non-TTY or --no-color flag)
74
+ */
75
+ export declare function disableColors(): void;
76
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/colors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,8CAA8C;;IAG9C,+CAA+C;;IAG/C,sCAAsC;;IAGtC,uBAAuB;;IAGvB,qBAAqB;;IAGrB,2BAA2B;;IAG3B,gBAAgB;;IAGhB,iCAAiC;;IAGjC,2BAA2B;;IAG3B,0CAA0C;;CAElC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,KAAK;IAChB,kCAAkC;4BACnB,MAAM;IAErB,8BAA8B;wBACnB,MAAM;IAEjB,wBAAwB;0BACX,MAAM;IAEnB,wBAAwB;4BACT,MAAM;IAErB,oBAAoB;4BACL,MAAM;IAErB,uBAAuB;wBACZ,MAAM;IAEjB,qBAAqB;yBACT,MAAM;IAElB,uBAAuB;0BACV,MAAM;IAEnB,oBAAoB;0BACP,MAAM;CACX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;;;;;CASR,CAAC;AAEX;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}