@agents-inc/cli 0.32.1

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 (497) hide show
  1. package/CHANGELOG.md +462 -0
  2. package/LICENSE +21 -0
  3. package/README.md +179 -0
  4. package/config/skills-matrix.yaml +926 -0
  5. package/config/stacks.yaml +2186 -0
  6. package/dist/chunk-3ZOIOVKT.js +365 -0
  7. package/dist/chunk-3ZOIOVKT.js.map +1 -0
  8. package/dist/chunk-4RAY5AOI.js +78 -0
  9. package/dist/chunk-4RAY5AOI.js.map +1 -0
  10. package/dist/chunk-5PIKNCZX.js +234 -0
  11. package/dist/chunk-5PIKNCZX.js.map +1 -0
  12. package/dist/chunk-66UDJBF6.js +96 -0
  13. package/dist/chunk-66UDJBF6.js.map +1 -0
  14. package/dist/chunk-7SOPVGDV.js +24 -0
  15. package/dist/chunk-7SOPVGDV.js.map +1 -0
  16. package/dist/chunk-A27LOC4Z.js +95 -0
  17. package/dist/chunk-A27LOC4Z.js.map +1 -0
  18. package/dist/chunk-B2UBHA66.js +301 -0
  19. package/dist/chunk-B2UBHA66.js.map +1 -0
  20. package/dist/chunk-BZN2Z5P7.js +882 -0
  21. package/dist/chunk-BZN2Z5P7.js.map +1 -0
  22. package/dist/chunk-BZQBJP34.js +186 -0
  23. package/dist/chunk-BZQBJP34.js.map +1 -0
  24. package/dist/chunk-DC5AK3LW.js +105 -0
  25. package/dist/chunk-DC5AK3LW.js.map +1 -0
  26. package/dist/chunk-DHET7RCE.js +50 -0
  27. package/dist/chunk-DHET7RCE.js.map +1 -0
  28. package/dist/chunk-EMJ2ZKS7.js +346 -0
  29. package/dist/chunk-EMJ2ZKS7.js.map +1 -0
  30. package/dist/chunk-FJQRVFMB.js +48 -0
  31. package/dist/chunk-FJQRVFMB.js.map +1 -0
  32. package/dist/chunk-FZGYSLJL.js +85 -0
  33. package/dist/chunk-FZGYSLJL.js.map +1 -0
  34. package/dist/chunk-H566H3MQ.js +87 -0
  35. package/dist/chunk-H566H3MQ.js.map +1 -0
  36. package/dist/chunk-IYG2LAIM.js +90 -0
  37. package/dist/chunk-IYG2LAIM.js.map +1 -0
  38. package/dist/chunk-IZZ4IIEG.js +29 -0
  39. package/dist/chunk-IZZ4IIEG.js.map +1 -0
  40. package/dist/chunk-JMVWYAHT.js +63 -0
  41. package/dist/chunk-JMVWYAHT.js.map +1 -0
  42. package/dist/chunk-LAPCUV4D.js +191 -0
  43. package/dist/chunk-LAPCUV4D.js.map +1 -0
  44. package/dist/chunk-LGUI3PMO.js +109 -0
  45. package/dist/chunk-LGUI3PMO.js.map +1 -0
  46. package/dist/chunk-MM7NK5N2.js +4542 -0
  47. package/dist/chunk-MM7NK5N2.js.map +1 -0
  48. package/dist/chunk-N6S7ZRIL.js +31 -0
  49. package/dist/chunk-N6S7ZRIL.js.map +1 -0
  50. package/dist/chunk-O4D67NN7.js +24 -0
  51. package/dist/chunk-O4D67NN7.js.map +1 -0
  52. package/dist/chunk-ODUOU55D.js +56 -0
  53. package/dist/chunk-ODUOU55D.js.map +1 -0
  54. package/dist/chunk-OGJIZ6QH.js +497 -0
  55. package/dist/chunk-OGJIZ6QH.js.map +1 -0
  56. package/dist/chunk-OMV7TLWD.js +340 -0
  57. package/dist/chunk-OMV7TLWD.js.map +1 -0
  58. package/dist/chunk-PBEHPQLK.js +146 -0
  59. package/dist/chunk-PBEHPQLK.js.map +1 -0
  60. package/dist/chunk-QPTOIZAT.js +32 -0
  61. package/dist/chunk-QPTOIZAT.js.map +1 -0
  62. package/dist/chunk-R3XFQKPG.js +111 -0
  63. package/dist/chunk-R3XFQKPG.js.map +1 -0
  64. package/dist/chunk-R74PZWQS.js +69 -0
  65. package/dist/chunk-R74PZWQS.js.map +1 -0
  66. package/dist/chunk-SO22IQPY.js +45 -0
  67. package/dist/chunk-SO22IQPY.js.map +1 -0
  68. package/dist/chunk-T4EXUIBY.js +19 -0
  69. package/dist/chunk-T4EXUIBY.js.map +1 -0
  70. package/dist/chunk-U3IGFMCY.js +31 -0
  71. package/dist/chunk-U3IGFMCY.js.map +1 -0
  72. package/dist/chunk-UICL22RT.js +318 -0
  73. package/dist/chunk-UICL22RT.js.map +1 -0
  74. package/dist/chunk-UX2H2K2G.js +183 -0
  75. package/dist/chunk-UX2H2K2G.js.map +1 -0
  76. package/dist/chunk-W2ZSCZ2U.js +93 -0
  77. package/dist/chunk-W2ZSCZ2U.js.map +1 -0
  78. package/dist/chunk-WEUVWHMA.js +189 -0
  79. package/dist/chunk-WEUVWHMA.js.map +1 -0
  80. package/dist/chunk-XY3XDVMI.js +15599 -0
  81. package/dist/chunk-XY3XDVMI.js.map +1 -0
  82. package/dist/chunk-YND42IXK.js +233 -0
  83. package/dist/chunk-YND42IXK.js.map +1 -0
  84. package/dist/chunk-YZTWZVGX.js +41 -0
  85. package/dist/chunk-YZTWZVGX.js.map +1 -0
  86. package/dist/chunk-Z4TWOP3H.js +81 -0
  87. package/dist/chunk-Z4TWOP3H.js.map +1 -0
  88. package/dist/cli/defaults/agent-mappings.yaml +271 -0
  89. package/dist/commands/build/marketplace.js +252 -0
  90. package/dist/commands/build/marketplace.js.map +1 -0
  91. package/dist/commands/build/plugins.js +114 -0
  92. package/dist/commands/build/plugins.js.map +1 -0
  93. package/dist/commands/build/stack.js +153 -0
  94. package/dist/commands/build/stack.js.map +1 -0
  95. package/dist/commands/compile.js +354 -0
  96. package/dist/commands/compile.js.map +1 -0
  97. package/dist/commands/config/get.js +61 -0
  98. package/dist/commands/config/get.js.map +1 -0
  99. package/dist/commands/config/index.js +23 -0
  100. package/dist/commands/config/index.js.map +1 -0
  101. package/dist/commands/config/path.js +34 -0
  102. package/dist/commands/config/path.js.map +1 -0
  103. package/dist/commands/config/set-project.js +61 -0
  104. package/dist/commands/config/set-project.js.map +1 -0
  105. package/dist/commands/config/show.js +14 -0
  106. package/dist/commands/config/show.js.map +1 -0
  107. package/dist/commands/config/unset-project.js +57 -0
  108. package/dist/commands/config/unset-project.js.map +1 -0
  109. package/dist/commands/diff.js +742 -0
  110. package/dist/commands/diff.js.map +1 -0
  111. package/dist/commands/doctor.js +370 -0
  112. package/dist/commands/doctor.js.map +1 -0
  113. package/dist/commands/edit.js +301 -0
  114. package/dist/commands/edit.js.map +1 -0
  115. package/dist/commands/eject.js +262 -0
  116. package/dist/commands/eject.js.map +1 -0
  117. package/dist/commands/import/skill.js +361 -0
  118. package/dist/commands/import/skill.js.map +1 -0
  119. package/dist/commands/info.js +217 -0
  120. package/dist/commands/info.js.map +1 -0
  121. package/dist/commands/init.js +443 -0
  122. package/dist/commands/init.js.map +1 -0
  123. package/dist/commands/list.js +49 -0
  124. package/dist/commands/list.js.map +1 -0
  125. package/dist/commands/new/agent.js +224 -0
  126. package/dist/commands/new/agent.js.map +1 -0
  127. package/dist/commands/new/skill.js +199 -0
  128. package/dist/commands/new/skill.js.map +1 -0
  129. package/dist/commands/outdated.js +176 -0
  130. package/dist/commands/outdated.js.map +1 -0
  131. package/dist/commands/search.js +288 -0
  132. package/dist/commands/search.js.map +1 -0
  133. package/dist/commands/uninstall.js +302 -0
  134. package/dist/commands/uninstall.js.map +1 -0
  135. package/dist/commands/update.js +304 -0
  136. package/dist/commands/update.js.map +1 -0
  137. package/dist/commands/validate.js +389 -0
  138. package/dist/commands/validate.js.map +1 -0
  139. package/dist/commands/version/bump.js +79 -0
  140. package/dist/commands/version/bump.js.map +1 -0
  141. package/dist/commands/version/index.js +54 -0
  142. package/dist/commands/version/index.js.map +1 -0
  143. package/dist/commands/version/set.js +86 -0
  144. package/dist/commands/version/set.js.map +1 -0
  145. package/dist/commands/version/show.js +54 -0
  146. package/dist/commands/version/show.js.map +1 -0
  147. package/dist/components/common/confirm.js +9 -0
  148. package/dist/components/common/confirm.js.map +1 -0
  149. package/dist/components/common/confirm.test.js +203 -0
  150. package/dist/components/common/confirm.test.js.map +1 -0
  151. package/dist/components/common/message.js +20 -0
  152. package/dist/components/common/message.js.map +1 -0
  153. package/dist/components/common/spinner.js +14 -0
  154. package/dist/components/common/spinner.js.map +1 -0
  155. package/dist/components/skill-search/skill-search.js +12 -0
  156. package/dist/components/skill-search/skill-search.js.map +1 -0
  157. package/dist/components/wizard/category-grid.js +11 -0
  158. package/dist/components/wizard/category-grid.js.map +1 -0
  159. package/dist/components/wizard/category-grid.test.js +997 -0
  160. package/dist/components/wizard/category-grid.test.js.map +1 -0
  161. package/dist/components/wizard/domain-selection.js +14 -0
  162. package/dist/components/wizard/domain-selection.js.map +1 -0
  163. package/dist/components/wizard/help-modal.js +10 -0
  164. package/dist/components/wizard/help-modal.js.map +1 -0
  165. package/dist/components/wizard/menu-item.js +10 -0
  166. package/dist/components/wizard/menu-item.js.map +1 -0
  167. package/dist/components/wizard/search-modal.js +11 -0
  168. package/dist/components/wizard/search-modal.js.map +1 -0
  169. package/dist/components/wizard/search-modal.test.js +218 -0
  170. package/dist/components/wizard/search-modal.test.js.map +1 -0
  171. package/dist/components/wizard/section-progress.js +10 -0
  172. package/dist/components/wizard/section-progress.js.map +1 -0
  173. package/dist/components/wizard/section-progress.test.js +192 -0
  174. package/dist/components/wizard/section-progress.test.js.map +1 -0
  175. package/dist/components/wizard/source-grid.js +14 -0
  176. package/dist/components/wizard/source-grid.js.map +1 -0
  177. package/dist/components/wizard/source-grid.test.js +504 -0
  178. package/dist/components/wizard/source-grid.test.js.map +1 -0
  179. package/dist/components/wizard/stack-selection.js +17 -0
  180. package/dist/components/wizard/stack-selection.js.map +1 -0
  181. package/dist/components/wizard/step-build.js +17 -0
  182. package/dist/components/wizard/step-build.js.map +1 -0
  183. package/dist/components/wizard/step-build.test.js +600 -0
  184. package/dist/components/wizard/step-build.test.js.map +1 -0
  185. package/dist/components/wizard/step-confirm.js +12 -0
  186. package/dist/components/wizard/step-confirm.js.map +1 -0
  187. package/dist/components/wizard/step-confirm.test.js +366 -0
  188. package/dist/components/wizard/step-confirm.test.js.map +1 -0
  189. package/dist/components/wizard/step-refine.js +10 -0
  190. package/dist/components/wizard/step-refine.js.map +1 -0
  191. package/dist/components/wizard/step-refine.test.js +237 -0
  192. package/dist/components/wizard/step-refine.test.js.map +1 -0
  193. package/dist/components/wizard/step-settings.js +17 -0
  194. package/dist/components/wizard/step-settings.js.map +1 -0
  195. package/dist/components/wizard/step-settings.test.js +243 -0
  196. package/dist/components/wizard/step-settings.test.js.map +1 -0
  197. package/dist/components/wizard/step-sources.js +20 -0
  198. package/dist/components/wizard/step-sources.js.map +1 -0
  199. package/dist/components/wizard/step-sources.test.js +294 -0
  200. package/dist/components/wizard/step-sources.test.js.map +1 -0
  201. package/dist/components/wizard/step-stack.js +19 -0
  202. package/dist/components/wizard/step-stack.js.map +1 -0
  203. package/dist/components/wizard/step-stack.test.js +357 -0
  204. package/dist/components/wizard/step-stack.test.js.map +1 -0
  205. package/dist/components/wizard/view-title.js +10 -0
  206. package/dist/components/wizard/view-title.js.map +1 -0
  207. package/dist/components/wizard/wizard-layout.js +16 -0
  208. package/dist/components/wizard/wizard-layout.js.map +1 -0
  209. package/dist/components/wizard/wizard-tabs.js +14 -0
  210. package/dist/components/wizard/wizard-tabs.js.map +1 -0
  211. package/dist/components/wizard/wizard-tabs.test.js +294 -0
  212. package/dist/components/wizard/wizard-tabs.test.js.map +1 -0
  213. package/dist/components/wizard/wizard.js +35 -0
  214. package/dist/components/wizard/wizard.js.map +1 -0
  215. package/dist/config/skills-matrix.yaml +926 -0
  216. package/dist/config/stacks.yaml +2186 -0
  217. package/dist/hooks/init.js +40 -0
  218. package/dist/hooks/init.js.map +1 -0
  219. package/dist/index.js +10 -0
  220. package/dist/index.js.map +1 -0
  221. package/dist/magic-string.es-RGXYGAW3.js +1316 -0
  222. package/dist/magic-string.es-RGXYGAW3.js.map +1 -0
  223. package/dist/source-manager-SBPPLOQQ.js +16 -0
  224. package/dist/source-manager-SBPPLOQQ.js.map +1 -0
  225. package/dist/src/agents/_templates/agent.liquid +140 -0
  226. package/dist/src/agents/developer/api-developer/agent.yaml +12 -0
  227. package/dist/src/agents/developer/api-developer/critical-reminders.md +23 -0
  228. package/dist/src/agents/developer/api-developer/critical-requirements.md +11 -0
  229. package/dist/src/agents/developer/api-developer/examples.md +72 -0
  230. package/dist/src/agents/developer/api-developer/intro.md +22 -0
  231. package/dist/src/agents/developer/api-developer/output-format.md +359 -0
  232. package/dist/src/agents/developer/api-developer/workflow.md +471 -0
  233. package/dist/src/agents/developer/cli-developer/agent.yaml +12 -0
  234. package/dist/src/agents/developer/cli-developer/critical-reminders.md +28 -0
  235. package/dist/src/agents/developer/cli-developer/critical-requirements.md +15 -0
  236. package/dist/src/agents/developer/cli-developer/examples.md +68 -0
  237. package/dist/src/agents/developer/cli-developer/intro.md +23 -0
  238. package/dist/src/agents/developer/cli-developer/output-format.md +216 -0
  239. package/dist/src/agents/developer/cli-developer/workflow.md +509 -0
  240. package/dist/src/agents/developer/web-architecture/agent.yaml +12 -0
  241. package/dist/src/agents/developer/web-architecture/critical-reminders.md +27 -0
  242. package/dist/src/agents/developer/web-architecture/critical-requirements.md +35 -0
  243. package/dist/src/agents/developer/web-architecture/examples.md +187 -0
  244. package/dist/src/agents/developer/web-architecture/intro.md +35 -0
  245. package/dist/src/agents/developer/web-architecture/output-format.md +261 -0
  246. package/dist/src/agents/developer/web-architecture/workflow.md +599 -0
  247. package/dist/src/agents/developer/web-developer/agent.yaml +12 -0
  248. package/dist/src/agents/developer/web-developer/critical-reminders.md +17 -0
  249. package/dist/src/agents/developer/web-developer/critical-requirements.md +15 -0
  250. package/dist/src/agents/developer/web-developer/examples.md +109 -0
  251. package/dist/src/agents/developer/web-developer/intro.md +5 -0
  252. package/dist/src/agents/developer/web-developer/output-format.md +213 -0
  253. package/dist/src/agents/developer/web-developer/workflow.md +459 -0
  254. package/dist/src/agents/meta/agent-summoner/agent.yaml +12 -0
  255. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
  256. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
  257. package/dist/src/agents/meta/agent-summoner/examples.md +176 -0
  258. package/dist/src/agents/meta/agent-summoner/intro.md +9 -0
  259. package/dist/src/agents/meta/agent-summoner/output-format.md +115 -0
  260. package/dist/src/agents/meta/agent-summoner/workflow.md +1540 -0
  261. package/dist/src/agents/meta/documentor/agent.yaml +11 -0
  262. package/dist/src/agents/meta/documentor/critical-reminders.md +23 -0
  263. package/dist/src/agents/meta/documentor/critical-requirements.md +13 -0
  264. package/dist/src/agents/meta/documentor/examples.md +147 -0
  265. package/dist/src/agents/meta/documentor/intro.md +11 -0
  266. package/dist/src/agents/meta/documentor/output-format.md +237 -0
  267. package/dist/src/agents/meta/documentor/workflow.md +1271 -0
  268. package/dist/src/agents/meta/skill-summoner/agent.yaml +13 -0
  269. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
  270. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  271. package/dist/src/agents/meta/skill-summoner/examples.md +116 -0
  272. package/dist/src/agents/meta/skill-summoner/intro.md +5 -0
  273. package/dist/src/agents/meta/skill-summoner/output-format.md +279 -0
  274. package/dist/src/agents/meta/skill-summoner/workflow.md +1485 -0
  275. package/dist/src/agents/migration/cli-migrator/agent.yaml +12 -0
  276. package/dist/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
  277. package/dist/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
  278. package/dist/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
  279. package/dist/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
  280. package/dist/src/agents/migration/cli-migrator/intro.md +15 -0
  281. package/dist/src/agents/migration/cli-migrator/output-format.md +164 -0
  282. package/dist/src/agents/migration/cli-migrator/workflow.md +230 -0
  283. package/dist/src/agents/pattern/pattern-scout/agent.yaml +10 -0
  284. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
  285. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
  286. package/dist/src/agents/pattern/pattern-scout/examples.md +93 -0
  287. package/dist/src/agents/pattern/pattern-scout/intro.md +3 -0
  288. package/dist/src/agents/pattern/pattern-scout/output-format.md +196 -0
  289. package/dist/src/agents/pattern/pattern-scout/workflow.md +1901 -0
  290. package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
  291. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
  292. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
  293. package/dist/src/agents/pattern/web-pattern-critique/examples.md +56 -0
  294. package/dist/src/agents/pattern/web-pattern-critique/intro.md +5 -0
  295. package/dist/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
  296. package/dist/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
  297. package/dist/src/agents/planning/web-pm/agent.yaml +12 -0
  298. package/dist/src/agents/planning/web-pm/critical-reminders.md +21 -0
  299. package/dist/src/agents/planning/web-pm/critical-requirements.md +17 -0
  300. package/dist/src/agents/planning/web-pm/examples.md +85 -0
  301. package/dist/src/agents/planning/web-pm/intro.md +3 -0
  302. package/dist/src/agents/planning/web-pm/output-format.md +228 -0
  303. package/dist/src/agents/planning/web-pm/workflow.md +393 -0
  304. package/dist/src/agents/researcher/api-researcher/agent.yaml +10 -0
  305. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  306. package/dist/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
  307. package/dist/src/agents/researcher/api-researcher/examples.md +116 -0
  308. package/dist/src/agents/researcher/api-researcher/intro.md +32 -0
  309. package/dist/src/agents/researcher/api-researcher/output-format.md +135 -0
  310. package/dist/src/agents/researcher/api-researcher/workflow.md +261 -0
  311. package/dist/src/agents/researcher/web-researcher/agent.yaml +10 -0
  312. package/dist/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
  313. package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
  314. package/dist/src/agents/researcher/web-researcher/examples.md +126 -0
  315. package/dist/src/agents/researcher/web-researcher/intro.md +31 -0
  316. package/dist/src/agents/researcher/web-researcher/output-format.md +112 -0
  317. package/dist/src/agents/researcher/web-researcher/workflow.md +322 -0
  318. package/dist/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
  319. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
  320. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
  321. package/dist/src/agents/reviewer/api-reviewer/examples.md +54 -0
  322. package/dist/src/agents/reviewer/api-reviewer/intro.md +22 -0
  323. package/dist/src/agents/reviewer/api-reviewer/output-format.md +288 -0
  324. package/dist/src/agents/reviewer/api-reviewer/workflow.md +369 -0
  325. package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
  326. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
  327. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
  328. package/dist/src/agents/reviewer/cli-reviewer/examples.md +83 -0
  329. package/dist/src/agents/reviewer/cli-reviewer/intro.md +21 -0
  330. package/dist/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
  331. package/dist/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
  332. package/dist/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
  333. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
  334. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
  335. package/dist/src/agents/reviewer/web-reviewer/examples.md +79 -0
  336. package/dist/src/agents/reviewer/web-reviewer/intro.md +20 -0
  337. package/dist/src/agents/reviewer/web-reviewer/output-format.md +253 -0
  338. package/dist/src/agents/reviewer/web-reviewer/workflow.md +228 -0
  339. package/dist/src/agents/tester/cli-tester/agent.yaml +12 -0
  340. package/dist/src/agents/tester/cli-tester/critical-reminders.md +19 -0
  341. package/dist/src/agents/tester/cli-tester/critical-requirements.md +17 -0
  342. package/dist/src/agents/tester/cli-tester/examples.md +80 -0
  343. package/dist/src/agents/tester/cli-tester/intro.md +19 -0
  344. package/dist/src/agents/tester/cli-tester/output-format.md +232 -0
  345. package/dist/src/agents/tester/cli-tester/workflow.md +304 -0
  346. package/dist/src/agents/tester/web-tester/agent.yaml +12 -0
  347. package/dist/src/agents/tester/web-tester/critical-reminders.md +15 -0
  348. package/dist/src/agents/tester/web-tester/critical-requirements.md +11 -0
  349. package/dist/src/agents/tester/web-tester/examples.md +68 -0
  350. package/dist/src/agents/tester/web-tester/intro.md +18 -0
  351. package/dist/src/agents/tester/web-tester/output-format.md +252 -0
  352. package/dist/src/agents/tester/web-tester/workflow.md +507 -0
  353. package/dist/stores/wizard-store.js +13 -0
  354. package/dist/stores/wizard-store.js.map +1 -0
  355. package/dist/stores/wizard-store.test.js +689 -0
  356. package/dist/stores/wizard-store.test.js.map +1 -0
  357. package/package.json +134 -0
  358. package/src/agents/_templates/agent.liquid +140 -0
  359. package/src/agents/developer/api-developer/agent.yaml +12 -0
  360. package/src/agents/developer/api-developer/critical-reminders.md +23 -0
  361. package/src/agents/developer/api-developer/critical-requirements.md +11 -0
  362. package/src/agents/developer/api-developer/examples.md +72 -0
  363. package/src/agents/developer/api-developer/intro.md +22 -0
  364. package/src/agents/developer/api-developer/output-format.md +359 -0
  365. package/src/agents/developer/api-developer/workflow.md +471 -0
  366. package/src/agents/developer/cli-developer/agent.yaml +12 -0
  367. package/src/agents/developer/cli-developer/critical-reminders.md +28 -0
  368. package/src/agents/developer/cli-developer/critical-requirements.md +15 -0
  369. package/src/agents/developer/cli-developer/examples.md +68 -0
  370. package/src/agents/developer/cli-developer/intro.md +23 -0
  371. package/src/agents/developer/cli-developer/output-format.md +216 -0
  372. package/src/agents/developer/cli-developer/workflow.md +509 -0
  373. package/src/agents/developer/web-architecture/agent.yaml +12 -0
  374. package/src/agents/developer/web-architecture/critical-reminders.md +27 -0
  375. package/src/agents/developer/web-architecture/critical-requirements.md +35 -0
  376. package/src/agents/developer/web-architecture/examples.md +187 -0
  377. package/src/agents/developer/web-architecture/intro.md +35 -0
  378. package/src/agents/developer/web-architecture/output-format.md +261 -0
  379. package/src/agents/developer/web-architecture/workflow.md +599 -0
  380. package/src/agents/developer/web-developer/agent.yaml +12 -0
  381. package/src/agents/developer/web-developer/critical-reminders.md +17 -0
  382. package/src/agents/developer/web-developer/critical-requirements.md +15 -0
  383. package/src/agents/developer/web-developer/examples.md +109 -0
  384. package/src/agents/developer/web-developer/intro.md +5 -0
  385. package/src/agents/developer/web-developer/output-format.md +213 -0
  386. package/src/agents/developer/web-developer/workflow.md +459 -0
  387. package/src/agents/meta/agent-summoner/agent.yaml +12 -0
  388. package/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
  389. package/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
  390. package/src/agents/meta/agent-summoner/examples.md +176 -0
  391. package/src/agents/meta/agent-summoner/intro.md +9 -0
  392. package/src/agents/meta/agent-summoner/output-format.md +115 -0
  393. package/src/agents/meta/agent-summoner/workflow.md +1540 -0
  394. package/src/agents/meta/documentor/agent.yaml +11 -0
  395. package/src/agents/meta/documentor/critical-reminders.md +23 -0
  396. package/src/agents/meta/documentor/critical-requirements.md +13 -0
  397. package/src/agents/meta/documentor/examples.md +147 -0
  398. package/src/agents/meta/documentor/intro.md +11 -0
  399. package/src/agents/meta/documentor/output-format.md +237 -0
  400. package/src/agents/meta/documentor/workflow.md +1271 -0
  401. package/src/agents/meta/skill-summoner/agent.yaml +13 -0
  402. package/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
  403. package/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  404. package/src/agents/meta/skill-summoner/examples.md +116 -0
  405. package/src/agents/meta/skill-summoner/intro.md +5 -0
  406. package/src/agents/meta/skill-summoner/output-format.md +279 -0
  407. package/src/agents/meta/skill-summoner/workflow.md +1485 -0
  408. package/src/agents/migration/cli-migrator/agent.yaml +12 -0
  409. package/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
  410. package/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
  411. package/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
  412. package/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
  413. package/src/agents/migration/cli-migrator/intro.md +15 -0
  414. package/src/agents/migration/cli-migrator/output-format.md +164 -0
  415. package/src/agents/migration/cli-migrator/workflow.md +230 -0
  416. package/src/agents/pattern/pattern-scout/agent.yaml +10 -0
  417. package/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
  418. package/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
  419. package/src/agents/pattern/pattern-scout/examples.md +93 -0
  420. package/src/agents/pattern/pattern-scout/intro.md +3 -0
  421. package/src/agents/pattern/pattern-scout/output-format.md +196 -0
  422. package/src/agents/pattern/pattern-scout/workflow.md +1901 -0
  423. package/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
  424. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
  425. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
  426. package/src/agents/pattern/web-pattern-critique/examples.md +56 -0
  427. package/src/agents/pattern/web-pattern-critique/intro.md +5 -0
  428. package/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
  429. package/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
  430. package/src/agents/planning/web-pm/agent.yaml +12 -0
  431. package/src/agents/planning/web-pm/critical-reminders.md +21 -0
  432. package/src/agents/planning/web-pm/critical-requirements.md +17 -0
  433. package/src/agents/planning/web-pm/examples.md +85 -0
  434. package/src/agents/planning/web-pm/intro.md +3 -0
  435. package/src/agents/planning/web-pm/output-format.md +228 -0
  436. package/src/agents/planning/web-pm/workflow.md +393 -0
  437. package/src/agents/researcher/api-researcher/agent.yaml +10 -0
  438. package/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  439. package/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
  440. package/src/agents/researcher/api-researcher/examples.md +116 -0
  441. package/src/agents/researcher/api-researcher/intro.md +32 -0
  442. package/src/agents/researcher/api-researcher/output-format.md +135 -0
  443. package/src/agents/researcher/api-researcher/workflow.md +261 -0
  444. package/src/agents/researcher/web-researcher/agent.yaml +10 -0
  445. package/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
  446. package/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
  447. package/src/agents/researcher/web-researcher/examples.md +126 -0
  448. package/src/agents/researcher/web-researcher/intro.md +31 -0
  449. package/src/agents/researcher/web-researcher/output-format.md +112 -0
  450. package/src/agents/researcher/web-researcher/workflow.md +322 -0
  451. package/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
  452. package/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
  453. package/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
  454. package/src/agents/reviewer/api-reviewer/examples.md +54 -0
  455. package/src/agents/reviewer/api-reviewer/intro.md +22 -0
  456. package/src/agents/reviewer/api-reviewer/output-format.md +288 -0
  457. package/src/agents/reviewer/api-reviewer/workflow.md +369 -0
  458. package/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
  459. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
  460. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
  461. package/src/agents/reviewer/cli-reviewer/examples.md +83 -0
  462. package/src/agents/reviewer/cli-reviewer/intro.md +21 -0
  463. package/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
  464. package/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
  465. package/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
  466. package/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
  467. package/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
  468. package/src/agents/reviewer/web-reviewer/examples.md +79 -0
  469. package/src/agents/reviewer/web-reviewer/intro.md +20 -0
  470. package/src/agents/reviewer/web-reviewer/output-format.md +253 -0
  471. package/src/agents/reviewer/web-reviewer/workflow.md +228 -0
  472. package/src/agents/tester/cli-tester/agent.yaml +12 -0
  473. package/src/agents/tester/cli-tester/critical-reminders.md +19 -0
  474. package/src/agents/tester/cli-tester/critical-requirements.md +17 -0
  475. package/src/agents/tester/cli-tester/examples.md +80 -0
  476. package/src/agents/tester/cli-tester/intro.md +19 -0
  477. package/src/agents/tester/cli-tester/output-format.md +232 -0
  478. package/src/agents/tester/cli-tester/workflow.md +304 -0
  479. package/src/agents/tester/web-tester/agent.yaml +12 -0
  480. package/src/agents/tester/web-tester/critical-reminders.md +15 -0
  481. package/src/agents/tester/web-tester/critical-requirements.md +11 -0
  482. package/src/agents/tester/web-tester/examples.md +68 -0
  483. package/src/agents/tester/web-tester/intro.md +18 -0
  484. package/src/agents/tester/web-tester/output-format.md +252 -0
  485. package/src/agents/tester/web-tester/workflow.md +507 -0
  486. package/src/schemas/agent-frontmatter.schema.json +84 -0
  487. package/src/schemas/agent.schema.json +93 -0
  488. package/src/schemas/hooks.schema.json +47 -0
  489. package/src/schemas/marketplace.schema.json +119 -0
  490. package/src/schemas/metadata.schema.json +113 -0
  491. package/src/schemas/plugin.schema.json +130 -0
  492. package/src/schemas/project-config.schema.json +125 -0
  493. package/src/schemas/project-source-config.schema.json +81 -0
  494. package/src/schemas/skill-frontmatter.schema.json +42 -0
  495. package/src/schemas/skills-matrix.schema.json +467 -0
  496. package/src/schemas/stack.schema.json +191 -0
  497. package/src/schemas/stacks.schema.json +111 -0
@@ -0,0 +1,742 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ BaseCommand,
4
+ EXIT_CODES
5
+ } from "../chunk-ODUOU55D.js";
6
+ import {
7
+ loadSkillsMatrixFromSource,
8
+ readForkedFromMetadata
9
+ } from "../chunk-MM7NK5N2.js";
10
+ import "../chunk-T4EXUIBY.js";
11
+ import {
12
+ fileExists,
13
+ getErrorMessage,
14
+ listDirectories,
15
+ readFile
16
+ } from "../chunk-BZN2Z5P7.js";
17
+ import {
18
+ LOCAL_SKILLS_PATH,
19
+ STANDARD_FILES
20
+ } from "../chunk-LAPCUV4D.js";
21
+ import {
22
+ init_esm_shims
23
+ } from "../chunk-DHET7RCE.js";
24
+
25
+ // src/cli/commands/diff.ts
26
+ init_esm_shims();
27
+ import { Args, Flags } from "@oclif/core";
28
+
29
+ // node_modules/chalk/source/index.js
30
+ init_esm_shims();
31
+
32
+ // node_modules/chalk/source/vendor/ansi-styles/index.js
33
+ init_esm_shims();
34
+ var ANSI_BACKGROUND_OFFSET = 10;
35
+ var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
36
+ var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
37
+ var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
38
+ var styles = {
39
+ modifier: {
40
+ reset: [0, 0],
41
+ // 21 isn't widely supported and 22 does the same thing
42
+ bold: [1, 22],
43
+ dim: [2, 22],
44
+ italic: [3, 23],
45
+ underline: [4, 24],
46
+ overline: [53, 55],
47
+ inverse: [7, 27],
48
+ hidden: [8, 28],
49
+ strikethrough: [9, 29]
50
+ },
51
+ color: {
52
+ black: [30, 39],
53
+ red: [31, 39],
54
+ green: [32, 39],
55
+ yellow: [33, 39],
56
+ blue: [34, 39],
57
+ magenta: [35, 39],
58
+ cyan: [36, 39],
59
+ white: [37, 39],
60
+ // Bright color
61
+ blackBright: [90, 39],
62
+ gray: [90, 39],
63
+ // Alias of `blackBright`
64
+ grey: [90, 39],
65
+ // Alias of `blackBright`
66
+ redBright: [91, 39],
67
+ greenBright: [92, 39],
68
+ yellowBright: [93, 39],
69
+ blueBright: [94, 39],
70
+ magentaBright: [95, 39],
71
+ cyanBright: [96, 39],
72
+ whiteBright: [97, 39]
73
+ },
74
+ bgColor: {
75
+ bgBlack: [40, 49],
76
+ bgRed: [41, 49],
77
+ bgGreen: [42, 49],
78
+ bgYellow: [43, 49],
79
+ bgBlue: [44, 49],
80
+ bgMagenta: [45, 49],
81
+ bgCyan: [46, 49],
82
+ bgWhite: [47, 49],
83
+ // Bright color
84
+ bgBlackBright: [100, 49],
85
+ bgGray: [100, 49],
86
+ // Alias of `bgBlackBright`
87
+ bgGrey: [100, 49],
88
+ // Alias of `bgBlackBright`
89
+ bgRedBright: [101, 49],
90
+ bgGreenBright: [102, 49],
91
+ bgYellowBright: [103, 49],
92
+ bgBlueBright: [104, 49],
93
+ bgMagentaBright: [105, 49],
94
+ bgCyanBright: [106, 49],
95
+ bgWhiteBright: [107, 49]
96
+ }
97
+ };
98
+ var modifierNames = Object.keys(styles.modifier);
99
+ var foregroundColorNames = Object.keys(styles.color);
100
+ var backgroundColorNames = Object.keys(styles.bgColor);
101
+ var colorNames = [...foregroundColorNames, ...backgroundColorNames];
102
+ function assembleStyles() {
103
+ const codes = /* @__PURE__ */ new Map();
104
+ for (const [groupName, group] of Object.entries(styles)) {
105
+ for (const [styleName, style] of Object.entries(group)) {
106
+ styles[styleName] = {
107
+ open: `\x1B[${style[0]}m`,
108
+ close: `\x1B[${style[1]}m`
109
+ };
110
+ group[styleName] = styles[styleName];
111
+ codes.set(style[0], style[1]);
112
+ }
113
+ Object.defineProperty(styles, groupName, {
114
+ value: group,
115
+ enumerable: false
116
+ });
117
+ }
118
+ Object.defineProperty(styles, "codes", {
119
+ value: codes,
120
+ enumerable: false
121
+ });
122
+ styles.color.close = "\x1B[39m";
123
+ styles.bgColor.close = "\x1B[49m";
124
+ styles.color.ansi = wrapAnsi16();
125
+ styles.color.ansi256 = wrapAnsi256();
126
+ styles.color.ansi16m = wrapAnsi16m();
127
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
128
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
129
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
130
+ Object.defineProperties(styles, {
131
+ rgbToAnsi256: {
132
+ value(red, green, blue) {
133
+ if (red === green && green === blue) {
134
+ if (red < 8) {
135
+ return 16;
136
+ }
137
+ if (red > 248) {
138
+ return 231;
139
+ }
140
+ return Math.round((red - 8) / 247 * 24) + 232;
141
+ }
142
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
143
+ },
144
+ enumerable: false
145
+ },
146
+ hexToRgb: {
147
+ value(hex) {
148
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
149
+ if (!matches) {
150
+ return [0, 0, 0];
151
+ }
152
+ let [colorString] = matches;
153
+ if (colorString.length === 3) {
154
+ colorString = [...colorString].map((character) => character + character).join("");
155
+ }
156
+ const integer = Number.parseInt(colorString, 16);
157
+ return [
158
+ /* eslint-disable no-bitwise */
159
+ integer >> 16 & 255,
160
+ integer >> 8 & 255,
161
+ integer & 255
162
+ /* eslint-enable no-bitwise */
163
+ ];
164
+ },
165
+ enumerable: false
166
+ },
167
+ hexToAnsi256: {
168
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
169
+ enumerable: false
170
+ },
171
+ ansi256ToAnsi: {
172
+ value(code) {
173
+ if (code < 8) {
174
+ return 30 + code;
175
+ }
176
+ if (code < 16) {
177
+ return 90 + (code - 8);
178
+ }
179
+ let red;
180
+ let green;
181
+ let blue;
182
+ if (code >= 232) {
183
+ red = ((code - 232) * 10 + 8) / 255;
184
+ green = red;
185
+ blue = red;
186
+ } else {
187
+ code -= 16;
188
+ const remainder = code % 36;
189
+ red = Math.floor(code / 36) / 5;
190
+ green = Math.floor(remainder / 6) / 5;
191
+ blue = remainder % 6 / 5;
192
+ }
193
+ const value = Math.max(red, green, blue) * 2;
194
+ if (value === 0) {
195
+ return 30;
196
+ }
197
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
198
+ if (value === 2) {
199
+ result += 60;
200
+ }
201
+ return result;
202
+ },
203
+ enumerable: false
204
+ },
205
+ rgbToAnsi: {
206
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
207
+ enumerable: false
208
+ },
209
+ hexToAnsi: {
210
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
211
+ enumerable: false
212
+ }
213
+ });
214
+ return styles;
215
+ }
216
+ var ansiStyles = assembleStyles();
217
+ var ansi_styles_default = ansiStyles;
218
+
219
+ // node_modules/chalk/source/vendor/supports-color/index.js
220
+ init_esm_shims();
221
+ import process2 from "process";
222
+ import os from "os";
223
+ import tty from "tty";
224
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
225
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
226
+ const position = argv.indexOf(prefix + flag);
227
+ const terminatorPosition = argv.indexOf("--");
228
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
229
+ }
230
+ var { env } = process2;
231
+ var flagForceColor;
232
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
233
+ flagForceColor = 0;
234
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
235
+ flagForceColor = 1;
236
+ }
237
+ function envForceColor() {
238
+ if ("FORCE_COLOR" in env) {
239
+ if (env.FORCE_COLOR === "true") {
240
+ return 1;
241
+ }
242
+ if (env.FORCE_COLOR === "false") {
243
+ return 0;
244
+ }
245
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
246
+ }
247
+ }
248
+ function translateLevel(level) {
249
+ if (level === 0) {
250
+ return false;
251
+ }
252
+ return {
253
+ level,
254
+ hasBasic: true,
255
+ has256: level >= 2,
256
+ has16m: level >= 3
257
+ };
258
+ }
259
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
260
+ const noFlagForceColor = envForceColor();
261
+ if (noFlagForceColor !== void 0) {
262
+ flagForceColor = noFlagForceColor;
263
+ }
264
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
265
+ if (forceColor === 0) {
266
+ return 0;
267
+ }
268
+ if (sniffFlags) {
269
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
270
+ return 3;
271
+ }
272
+ if (hasFlag("color=256")) {
273
+ return 2;
274
+ }
275
+ }
276
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
277
+ return 1;
278
+ }
279
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
280
+ return 0;
281
+ }
282
+ const min = forceColor || 0;
283
+ if (env.TERM === "dumb") {
284
+ return min;
285
+ }
286
+ if (process2.platform === "win32") {
287
+ const osRelease = os.release().split(".");
288
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
289
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
290
+ }
291
+ return 1;
292
+ }
293
+ if ("CI" in env) {
294
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
295
+ return 3;
296
+ }
297
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
298
+ return 1;
299
+ }
300
+ return min;
301
+ }
302
+ if ("TEAMCITY_VERSION" in env) {
303
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
304
+ }
305
+ if (env.COLORTERM === "truecolor") {
306
+ return 3;
307
+ }
308
+ if (env.TERM === "xterm-kitty") {
309
+ return 3;
310
+ }
311
+ if (env.TERM === "xterm-ghostty") {
312
+ return 3;
313
+ }
314
+ if (env.TERM === "wezterm") {
315
+ return 3;
316
+ }
317
+ if ("TERM_PROGRAM" in env) {
318
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
319
+ switch (env.TERM_PROGRAM) {
320
+ case "iTerm.app": {
321
+ return version >= 3 ? 3 : 2;
322
+ }
323
+ case "Apple_Terminal": {
324
+ return 2;
325
+ }
326
+ }
327
+ }
328
+ if (/-256(color)?$/i.test(env.TERM)) {
329
+ return 2;
330
+ }
331
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
332
+ return 1;
333
+ }
334
+ if ("COLORTERM" in env) {
335
+ return 1;
336
+ }
337
+ return min;
338
+ }
339
+ function createSupportsColor(stream, options = {}) {
340
+ const level = _supportsColor(stream, {
341
+ streamIsTTY: stream && stream.isTTY,
342
+ ...options
343
+ });
344
+ return translateLevel(level);
345
+ }
346
+ var supportsColor = {
347
+ stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
348
+ stderr: createSupportsColor({ isTTY: tty.isatty(2) })
349
+ };
350
+ var supports_color_default = supportsColor;
351
+
352
+ // node_modules/chalk/source/utilities.js
353
+ init_esm_shims();
354
+ function stringReplaceAll(string, substring, replacer) {
355
+ let index = string.indexOf(substring);
356
+ if (index === -1) {
357
+ return string;
358
+ }
359
+ const substringLength = substring.length;
360
+ let endIndex = 0;
361
+ let returnValue = "";
362
+ do {
363
+ returnValue += string.slice(endIndex, index) + substring + replacer;
364
+ endIndex = index + substringLength;
365
+ index = string.indexOf(substring, endIndex);
366
+ } while (index !== -1);
367
+ returnValue += string.slice(endIndex);
368
+ return returnValue;
369
+ }
370
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
371
+ let endIndex = 0;
372
+ let returnValue = "";
373
+ do {
374
+ const gotCR = string[index - 1] === "\r";
375
+ returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
376
+ endIndex = index + 1;
377
+ index = string.indexOf("\n", endIndex);
378
+ } while (index !== -1);
379
+ returnValue += string.slice(endIndex);
380
+ return returnValue;
381
+ }
382
+
383
+ // node_modules/chalk/source/index.js
384
+ var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
385
+ var GENERATOR = /* @__PURE__ */ Symbol("GENERATOR");
386
+ var STYLER = /* @__PURE__ */ Symbol("STYLER");
387
+ var IS_EMPTY = /* @__PURE__ */ Symbol("IS_EMPTY");
388
+ var levelMapping = [
389
+ "ansi",
390
+ "ansi",
391
+ "ansi256",
392
+ "ansi16m"
393
+ ];
394
+ var styles2 = /* @__PURE__ */ Object.create(null);
395
+ var applyOptions = (object, options = {}) => {
396
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
397
+ throw new Error("The `level` option should be an integer from 0 to 3");
398
+ }
399
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
400
+ object.level = options.level === void 0 ? colorLevel : options.level;
401
+ };
402
+ var chalkFactory = (options) => {
403
+ const chalk2 = (...strings) => strings.join(" ");
404
+ applyOptions(chalk2, options);
405
+ Object.setPrototypeOf(chalk2, createChalk.prototype);
406
+ return chalk2;
407
+ };
408
+ function createChalk(options) {
409
+ return chalkFactory(options);
410
+ }
411
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
412
+ for (const [styleName, style] of Object.entries(ansi_styles_default)) {
413
+ styles2[styleName] = {
414
+ get() {
415
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
416
+ Object.defineProperty(this, styleName, { value: builder });
417
+ return builder;
418
+ }
419
+ };
420
+ }
421
+ styles2.visible = {
422
+ get() {
423
+ const builder = createBuilder(this, this[STYLER], true);
424
+ Object.defineProperty(this, "visible", { value: builder });
425
+ return builder;
426
+ }
427
+ };
428
+ var getModelAnsi = (model, level, type, ...arguments_) => {
429
+ if (model === "rgb") {
430
+ if (level === "ansi16m") {
431
+ return ansi_styles_default[type].ansi16m(...arguments_);
432
+ }
433
+ if (level === "ansi256") {
434
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
435
+ }
436
+ return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
437
+ }
438
+ if (model === "hex") {
439
+ return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
440
+ }
441
+ return ansi_styles_default[type][model](...arguments_);
442
+ };
443
+ var usedModels = ["rgb", "hex", "ansi256"];
444
+ for (const model of usedModels) {
445
+ styles2[model] = {
446
+ get() {
447
+ const { level } = this;
448
+ return function(...arguments_) {
449
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
450
+ return createBuilder(this, styler, this[IS_EMPTY]);
451
+ };
452
+ }
453
+ };
454
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
455
+ styles2[bgModel] = {
456
+ get() {
457
+ const { level } = this;
458
+ return function(...arguments_) {
459
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
460
+ return createBuilder(this, styler, this[IS_EMPTY]);
461
+ };
462
+ }
463
+ };
464
+ }
465
+ var proto = Object.defineProperties(() => {
466
+ }, {
467
+ ...styles2,
468
+ level: {
469
+ enumerable: true,
470
+ get() {
471
+ return this[GENERATOR].level;
472
+ },
473
+ set(level) {
474
+ this[GENERATOR].level = level;
475
+ }
476
+ }
477
+ });
478
+ var createStyler = (open, close, parent) => {
479
+ let openAll;
480
+ let closeAll;
481
+ if (parent === void 0) {
482
+ openAll = open;
483
+ closeAll = close;
484
+ } else {
485
+ openAll = parent.openAll + open;
486
+ closeAll = close + parent.closeAll;
487
+ }
488
+ return {
489
+ open,
490
+ close,
491
+ openAll,
492
+ closeAll,
493
+ parent
494
+ };
495
+ };
496
+ var createBuilder = (self, _styler, _isEmpty) => {
497
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
498
+ Object.setPrototypeOf(builder, proto);
499
+ builder[GENERATOR] = self;
500
+ builder[STYLER] = _styler;
501
+ builder[IS_EMPTY] = _isEmpty;
502
+ return builder;
503
+ };
504
+ var applyStyle = (self, string) => {
505
+ if (self.level <= 0 || !string) {
506
+ return self[IS_EMPTY] ? "" : string;
507
+ }
508
+ let styler = self[STYLER];
509
+ if (styler === void 0) {
510
+ return string;
511
+ }
512
+ const { openAll, closeAll } = styler;
513
+ if (string.includes("\x1B")) {
514
+ while (styler !== void 0) {
515
+ string = stringReplaceAll(string, styler.close, styler.open);
516
+ styler = styler.parent;
517
+ }
518
+ }
519
+ const lfIndex = string.indexOf("\n");
520
+ if (lfIndex !== -1) {
521
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
522
+ }
523
+ return openAll + string + closeAll;
524
+ };
525
+ Object.defineProperties(createChalk.prototype, styles2);
526
+ var chalk = createChalk();
527
+ var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
528
+ var source_default = chalk;
529
+
530
+ // src/cli/commands/diff.ts
531
+ import path from "path";
532
+ import { createTwoFilesPatch } from "diff";
533
+ function colorDiff(diffText) {
534
+ return diffText.split("\n").map((line) => {
535
+ if (line.startsWith("+++") || line.startsWith("---")) {
536
+ return source_default.bold(line);
537
+ }
538
+ if (line.startsWith("+")) {
539
+ return source_default.green(line);
540
+ }
541
+ if (line.startsWith("-")) {
542
+ return source_default.red(line);
543
+ }
544
+ if (line.startsWith("@@")) {
545
+ return source_default.cyan(line);
546
+ }
547
+ return line;
548
+ }).join("\n");
549
+ }
550
+ async function diffSkill(localSkillsPath, skillDirName, sourcePath, sourceSkills) {
551
+ const skillDir = path.join(localSkillsPath, skillDirName);
552
+ const forkedFrom = await readForkedFromMetadata(skillDir);
553
+ if (!forkedFrom) {
554
+ return {
555
+ skillDirName,
556
+ forkedFrom: null,
557
+ hasDiff: false,
558
+ diffOutput: ""
559
+ };
560
+ }
561
+ const sourceSkill = sourceSkills[forkedFrom.skill_id];
562
+ if (!sourceSkill) {
563
+ return {
564
+ skillDirName,
565
+ forkedFrom,
566
+ hasDiff: false,
567
+ diffOutput: `Source skill '${forkedFrom.skill_id}' no longer exists`
568
+ };
569
+ }
570
+ const sourceSkillMdPath = path.join(sourcePath, "src", sourceSkill.path, STANDARD_FILES.SKILL_MD);
571
+ if (!await fileExists(sourceSkillMdPath)) {
572
+ return {
573
+ skillDirName,
574
+ forkedFrom,
575
+ hasDiff: false,
576
+ diffOutput: `Source ${STANDARD_FILES.SKILL_MD} not found at ${sourceSkillMdPath}`
577
+ };
578
+ }
579
+ const sourceContent = await readFile(sourceSkillMdPath);
580
+ const localSkillMdPath = path.join(skillDir, STANDARD_FILES.SKILL_MD);
581
+ if (!await fileExists(localSkillMdPath)) {
582
+ return {
583
+ skillDirName,
584
+ forkedFrom,
585
+ hasDiff: false,
586
+ diffOutput: `Local ${STANDARD_FILES.SKILL_MD} not found at ${localSkillMdPath}`
587
+ };
588
+ }
589
+ const localContent = await readFile(localSkillMdPath);
590
+ const sourceLabel = `source/${sourceSkill.path}/SKILL.md`;
591
+ const localLabel = `local/${LOCAL_SKILLS_PATH}/${skillDirName}/SKILL.md`;
592
+ const diff = createTwoFilesPatch(
593
+ sourceLabel,
594
+ localLabel,
595
+ sourceContent,
596
+ localContent,
597
+ "",
598
+ // No source header
599
+ ""
600
+ // No local header
601
+ );
602
+ const hasDiff = diff.split("\n").some((line) => {
603
+ return (line.startsWith("+") || line.startsWith("-")) && !line.startsWith("+++") && !line.startsWith("---");
604
+ });
605
+ return {
606
+ skillDirName,
607
+ forkedFrom,
608
+ hasDiff,
609
+ diffOutput: diff
610
+ };
611
+ }
612
+ var Diff = class _Diff extends BaseCommand {
613
+ static summary = "Show differences between local forked skills and their source versions";
614
+ static description = "Compare local forked skills with their source versions and display differences using unified diff format with colored output";
615
+ static examples = [
616
+ {
617
+ description: "Show diffs for all forked skills",
618
+ command: "<%= config.bin %> <%= command.id %>"
619
+ },
620
+ {
621
+ description: "Show diff for a specific skill",
622
+ command: "<%= config.bin %> <%= command.id %> my-skill"
623
+ },
624
+ {
625
+ description: "Check for diffs without output (exit code only)",
626
+ command: "<%= config.bin %> <%= command.id %> --quiet"
627
+ }
628
+ ];
629
+ static args = {
630
+ skill: Args.string({
631
+ description: "Show diff for specific skill only",
632
+ required: false
633
+ })
634
+ };
635
+ static flags = {
636
+ ...BaseCommand.baseFlags,
637
+ quiet: Flags.boolean({
638
+ char: "q",
639
+ description: "Suppress output, only return exit code",
640
+ default: false
641
+ })
642
+ };
643
+ async run() {
644
+ const { args, flags } = await this.parse(_Diff);
645
+ const projectDir = process.cwd();
646
+ const localSkillsPath = path.join(projectDir, LOCAL_SKILLS_PATH);
647
+ if (!await fileExists(localSkillsPath)) {
648
+ if (!flags.quiet) {
649
+ this.warn("No local skills found. Run 'cc init' or 'cc edit' first.");
650
+ }
651
+ return;
652
+ }
653
+ try {
654
+ if (!flags.quiet) {
655
+ this.log("Loading skills...");
656
+ }
657
+ const { matrix, sourcePath, isLocal } = await loadSkillsMatrixFromSource({
658
+ sourceFlag: flags.source,
659
+ projectDir
660
+ });
661
+ if (!flags.quiet) {
662
+ this.log(source_default.dim(`Loaded from ${isLocal ? "local" : "remote"}: ${sourcePath}`));
663
+ }
664
+ const sourceSkills = {};
665
+ for (const [skillId, skill] of Object.entries(matrix.skills)) {
666
+ if (!skill) continue;
667
+ if (!skill.local) {
668
+ sourceSkills[skillId] = { path: skill.path };
669
+ }
670
+ }
671
+ let skillDirs = await listDirectories(localSkillsPath);
672
+ if (args.skill) {
673
+ skillDirs = skillDirs.filter((dir) => dir === args.skill);
674
+ if (skillDirs.length === 0) {
675
+ if (!flags.quiet) {
676
+ this.error(`Skill '${args.skill}' not found in local skills`, {
677
+ exit: EXIT_CODES.ERROR
678
+ });
679
+ }
680
+ }
681
+ }
682
+ const results = [];
683
+ const skillsWithoutForkedFrom = [];
684
+ for (const skillDirName of skillDirs) {
685
+ const result = await diffSkill(localSkillsPath, skillDirName, sourcePath, sourceSkills);
686
+ results.push(result);
687
+ if (!result.forkedFrom) {
688
+ skillsWithoutForkedFrom.push(skillDirName);
689
+ }
690
+ }
691
+ const skillsWithDiffs = results.filter((r) => r.hasDiff);
692
+ if (!flags.quiet) {
693
+ this.log("");
694
+ if (skillsWithoutForkedFrom.length > 0) {
695
+ for (const skillName of skillsWithoutForkedFrom) {
696
+ this.warn(`Skill '${skillName}' has no forked_from metadata - cannot compare`);
697
+ }
698
+ this.log("");
699
+ }
700
+ const forkedSkills = results.filter((r) => r.forkedFrom);
701
+ if (forkedSkills.length === 0) {
702
+ this.logInfo("No forked skills to compare.");
703
+ } else if (skillsWithDiffs.length === 0) {
704
+ this.logSuccess(`All ${forkedSkills.length} forked skill(s) are up to date with source.`);
705
+ } else {
706
+ for (const result of skillsWithDiffs) {
707
+ this.log(
708
+ source_default.bold(
709
+ `
710
+ === ${result.skillDirName} (forked from ${result.forkedFrom?.skill_id}) ===
711
+ `
712
+ )
713
+ );
714
+ this.log(colorDiff(result.diffOutput));
715
+ }
716
+ this.log("");
717
+ this.logInfo(
718
+ `Found differences in ${source_default.yellow(String(skillsWithDiffs.length))} skill(s).`
719
+ );
720
+ }
721
+ this.log("");
722
+ }
723
+ if (skillsWithDiffs.length > 0) {
724
+ this.exit(EXIT_CODES.ERROR);
725
+ }
726
+ this.exit(EXIT_CODES.SUCCESS);
727
+ } catch (error) {
728
+ if (!flags.quiet) {
729
+ const message = getErrorMessage(error);
730
+ this.error(`Failed to compare skills: ${message}`, {
731
+ exit: EXIT_CODES.ERROR
732
+ });
733
+ } else {
734
+ this.exit(EXIT_CODES.ERROR);
735
+ }
736
+ }
737
+ }
738
+ };
739
+ export {
740
+ Diff as default
741
+ };
742
+ //# sourceMappingURL=diff.js.map