@sentry/warden 0.0.0 → 0.1.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 (550) hide show
  1. package/.claude/skills/warden-skill/SKILL.md +0 -24
  2. package/.claude/skills/warden-skill/references/config-schema.md +0 -17
  3. package/.github/workflows/ci.yml +1 -1
  4. package/.github/workflows/release.yml +6 -1
  5. package/.github/workflows/warden.yml +1 -1
  6. package/dist/action/159.index.js +523 -0
  7. package/dist/action/159.index.js.map +1 -0
  8. package/dist/action/action/index.d.ts +2 -0
  9. package/dist/action/action/index.d.ts.map +1 -0
  10. package/dist/action/action/main.d.ts +2 -0
  11. package/dist/action/action/main.d.ts.map +1 -0
  12. package/dist/action/cli/args.d.ts +74 -0
  13. package/dist/action/cli/args.d.ts.map +1 -0
  14. package/dist/action/cli/args.test.d.ts +2 -0
  15. package/dist/action/cli/args.test.d.ts.map +1 -0
  16. package/dist/action/cli/commands/add.d.ts +7 -0
  17. package/dist/action/cli/commands/add.d.ts.map +1 -0
  18. package/dist/action/cli/commands/init.d.ts +10 -0
  19. package/dist/action/cli/commands/init.d.ts.map +1 -0
  20. package/dist/action/cli/commands/init.test.d.ts +2 -0
  21. package/dist/action/cli/commands/init.test.d.ts.map +1 -0
  22. package/dist/action/cli/commands/setup-app/browser.d.ts +9 -0
  23. package/dist/action/cli/commands/setup-app/browser.d.ts.map +1 -0
  24. package/dist/action/cli/commands/setup-app/credentials.d.ts +15 -0
  25. package/dist/action/cli/commands/setup-app/credentials.d.ts.map +1 -0
  26. package/dist/action/cli/commands/setup-app/manifest.d.ts +24 -0
  27. package/dist/action/cli/commands/setup-app/manifest.d.ts.map +1 -0
  28. package/dist/action/cli/commands/setup-app/server.d.ts +28 -0
  29. package/dist/action/cli/commands/setup-app/server.d.ts.map +1 -0
  30. package/dist/action/cli/commands/setup-app.d.ts +11 -0
  31. package/dist/action/cli/commands/setup-app.d.ts.map +1 -0
  32. package/dist/action/cli/commands/sync.d.ts +9 -0
  33. package/dist/action/cli/commands/sync.d.ts.map +1 -0
  34. package/dist/action/cli/context.d.ts +27 -0
  35. package/dist/action/cli/context.d.ts.map +1 -0
  36. package/dist/action/cli/files.d.ts +22 -0
  37. package/dist/action/cli/files.d.ts.map +1 -0
  38. package/dist/action/cli/files.test.d.ts +2 -0
  39. package/dist/action/cli/files.test.d.ts.map +1 -0
  40. package/dist/action/cli/fix.d.ts +41 -0
  41. package/dist/action/cli/fix.d.ts.map +1 -0
  42. package/dist/action/cli/fix.test.d.ts +2 -0
  43. package/dist/action/cli/fix.test.d.ts.map +1 -0
  44. package/dist/action/cli/git.d.ts +73 -0
  45. package/dist/action/cli/git.d.ts.map +1 -0
  46. package/dist/action/cli/git.test.d.ts +2 -0
  47. package/dist/action/cli/git.test.d.ts.map +1 -0
  48. package/dist/action/cli/index.d.ts +3 -0
  49. package/dist/action/cli/index.d.ts.map +1 -0
  50. package/dist/action/cli/main.d.ts +7 -0
  51. package/dist/action/cli/main.d.ts.map +1 -0
  52. package/dist/action/cli/output/box.d.ts +75 -0
  53. package/dist/action/cli/output/box.d.ts.map +1 -0
  54. package/dist/action/cli/output/formatters.d.ts +90 -0
  55. package/dist/action/cli/output/formatters.d.ts.map +1 -0
  56. package/dist/action/cli/output/formatters.test.d.ts +2 -0
  57. package/dist/action/cli/output/formatters.test.d.ts.map +1 -0
  58. package/dist/action/cli/output/icons.d.ts +15 -0
  59. package/dist/action/cli/output/icons.d.ts.map +1 -0
  60. package/dist/action/cli/output/index.d.ts +10 -0
  61. package/dist/action/cli/output/index.d.ts.map +1 -0
  62. package/dist/action/cli/output/ink-runner.d.ts +29 -0
  63. package/dist/action/cli/output/ink-runner.d.ts.map +1 -0
  64. package/dist/action/cli/output/jsonl.d.ts +43 -0
  65. package/dist/action/cli/output/jsonl.d.ts.map +1 -0
  66. package/dist/action/cli/output/jsonl.test.d.ts +2 -0
  67. package/dist/action/cli/output/jsonl.test.d.ts.map +1 -0
  68. package/dist/action/cli/output/reporter.d.ts +108 -0
  69. package/dist/action/cli/output/reporter.d.ts.map +1 -0
  70. package/dist/action/cli/output/tasks.d.ts +89 -0
  71. package/dist/action/cli/output/tasks.d.ts.map +1 -0
  72. package/dist/action/cli/output/tty.d.ts +21 -0
  73. package/dist/action/cli/output/tty.d.ts.map +1 -0
  74. package/dist/action/cli/output/tty.test.d.ts +2 -0
  75. package/dist/action/cli/output/tty.test.d.ts.map +1 -0
  76. package/dist/action/cli/output/verbosity.d.ts +20 -0
  77. package/dist/action/cli/output/verbosity.d.ts.map +1 -0
  78. package/dist/action/cli/output/verbosity.test.d.ts +2 -0
  79. package/dist/action/cli/output/verbosity.test.d.ts.map +1 -0
  80. package/dist/action/cli/terminal.d.ts +19 -0
  81. package/dist/action/cli/terminal.d.ts.map +1 -0
  82. package/dist/action/cli/terminal.test.d.ts +2 -0
  83. package/dist/action/cli/terminal.test.d.ts.map +1 -0
  84. package/dist/action/config/index.d.ts +4 -0
  85. package/dist/action/config/index.d.ts.map +1 -0
  86. package/dist/action/config/loader.d.ts +27 -0
  87. package/dist/action/config/loader.d.ts.map +1 -0
  88. package/dist/action/config/loader.test.d.ts +2 -0
  89. package/dist/action/config/loader.test.d.ts.map +1 -0
  90. package/dist/action/config/schema.d.ts +318 -0
  91. package/dist/action/config/schema.d.ts.map +1 -0
  92. package/dist/action/config/writer.d.ts +11 -0
  93. package/dist/action/config/writer.d.ts.map +1 -0
  94. package/dist/action/config/writer.test.d.ts +2 -0
  95. package/dist/action/config/writer.test.d.ts.map +1 -0
  96. package/dist/action/diff/classify.d.ts +29 -0
  97. package/dist/action/diff/classify.d.ts.map +1 -0
  98. package/dist/action/diff/classify.test.d.ts +2 -0
  99. package/dist/action/diff/classify.test.d.ts.map +1 -0
  100. package/dist/action/diff/coalesce.d.ts +42 -0
  101. package/dist/action/diff/coalesce.d.ts.map +1 -0
  102. package/dist/action/diff/coalesce.test.d.ts +2 -0
  103. package/dist/action/diff/coalesce.test.d.ts.map +1 -0
  104. package/dist/action/diff/context.d.ts +30 -0
  105. package/dist/action/diff/context.d.ts.map +1 -0
  106. package/dist/action/diff/context.test.d.ts +2 -0
  107. package/dist/action/diff/context.test.d.ts.map +1 -0
  108. package/dist/action/diff/index.d.ts +5 -0
  109. package/dist/action/diff/index.d.ts.map +1 -0
  110. package/dist/action/diff/parser.d.ts +52 -0
  111. package/dist/action/diff/parser.d.ts.map +1 -0
  112. package/dist/action/diff/parser.test.d.ts +2 -0
  113. package/dist/action/diff/parser.test.d.ts.map +1 -0
  114. package/dist/action/event/context.d.ts +9 -0
  115. package/dist/action/event/context.d.ts.map +1 -0
  116. package/dist/action/event/index.d.ts +3 -0
  117. package/dist/action/event/index.d.ts.map +1 -0
  118. package/dist/action/event/schedule-context.d.ts +30 -0
  119. package/dist/action/event/schedule-context.d.ts.map +1 -0
  120. package/dist/action/examples/examples.integration.test.d.ts +2 -0
  121. package/dist/action/examples/examples.integration.test.d.ts.map +1 -0
  122. package/dist/action/examples/index.d.ts +50 -0
  123. package/dist/action/examples/index.d.ts.map +1 -0
  124. package/dist/action/examples/index.test.d.ts +2 -0
  125. package/dist/action/examples/index.test.d.ts.map +1 -0
  126. package/dist/action/examples/setup.d.ts +2 -0
  127. package/dist/action/examples/setup.d.ts.map +1 -0
  128. package/dist/action/index.d.ts +11 -0
  129. package/dist/action/index.d.ts.map +1 -0
  130. package/dist/action/index.js +38231 -0
  131. package/dist/action/index.js.map +1 -0
  132. package/dist/action/licenses.txt +992 -0
  133. package/dist/action/main.d.ts +2 -0
  134. package/dist/action/main.d.ts.map +1 -0
  135. package/dist/action/main.js +707 -0
  136. package/dist/action/main.js.map +1 -0
  137. package/dist/action/output/dedup.d.ts +153 -0
  138. package/dist/action/output/dedup.d.ts.map +1 -0
  139. package/dist/action/output/dedup.test.d.ts +2 -0
  140. package/dist/action/output/dedup.test.d.ts.map +1 -0
  141. package/dist/action/output/github-checks.d.ts +106 -0
  142. package/dist/action/output/github-checks.d.ts.map +1 -0
  143. package/dist/action/output/github-checks.test.d.ts +2 -0
  144. package/dist/action/output/github-checks.test.d.ts.map +1 -0
  145. package/dist/action/output/github-issues.d.ts +35 -0
  146. package/dist/action/output/github-issues.d.ts.map +1 -0
  147. package/dist/action/output/index.d.ts +6 -0
  148. package/dist/action/output/index.d.ts.map +1 -0
  149. package/dist/action/output/issue-renderer.d.ts +20 -0
  150. package/dist/action/output/issue-renderer.d.ts.map +1 -0
  151. package/dist/action/output/renderer.d.ts +4 -0
  152. package/dist/action/output/renderer.d.ts.map +1 -0
  153. package/dist/action/output/renderer.test.d.ts +2 -0
  154. package/dist/action/output/renderer.test.d.ts.map +1 -0
  155. package/dist/action/output/stale.d.ts +31 -0
  156. package/dist/action/output/stale.d.ts.map +1 -0
  157. package/dist/action/output/stale.test.d.ts +2 -0
  158. package/dist/action/output/stale.test.d.ts.map +1 -0
  159. package/dist/action/output/types.d.ts +31 -0
  160. package/dist/action/output/types.d.ts.map +1 -0
  161. package/dist/action/package.json +3 -0
  162. package/dist/action/sdk/index.d.ts +2 -0
  163. package/dist/action/sdk/index.d.ts.map +1 -0
  164. package/dist/action/sdk/runner.d.ts +202 -0
  165. package/dist/action/sdk/runner.d.ts.map +1 -0
  166. package/dist/action/sdk/runner.test.d.ts +2 -0
  167. package/dist/action/sdk/runner.test.d.ts.map +1 -0
  168. package/dist/action/skills/index.d.ts +5 -0
  169. package/dist/action/skills/index.d.ts.map +1 -0
  170. package/dist/action/skills/loader.d.ts +111 -0
  171. package/dist/action/skills/loader.d.ts.map +1 -0
  172. package/dist/action/skills/loader.test.d.ts +2 -0
  173. package/dist/action/skills/loader.test.d.ts.map +1 -0
  174. package/dist/action/skills/remote.d.ts +117 -0
  175. package/dist/action/skills/remote.d.ts.map +1 -0
  176. package/dist/action/skills/remote.test.d.ts +2 -0
  177. package/dist/action/skills/remote.test.d.ts.map +1 -0
  178. package/dist/action/sourcemap-register.cjs +1 -0
  179. package/dist/action/triggers/matcher.d.ts +30 -0
  180. package/dist/action/triggers/matcher.d.ts.map +1 -0
  181. package/dist/action/triggers/matcher.test.d.ts +2 -0
  182. package/dist/action/triggers/matcher.test.d.ts.map +1 -0
  183. package/dist/action/types/index.d.ts +269 -0
  184. package/dist/action/types/index.d.ts.map +1 -0
  185. package/dist/action/utils/async.d.ts +5 -0
  186. package/dist/action/utils/async.d.ts.map +1 -0
  187. package/dist/action/utils/index.d.ts +16 -0
  188. package/dist/action/utils/index.d.ts.map +1 -0
  189. package/dist/action/utils/index.test.d.ts +2 -0
  190. package/dist/action/utils/index.test.d.ts.map +1 -0
  191. package/dist/action/utils/version.d.ts +3 -0
  192. package/dist/action/utils/version.d.ts.map +1 -0
  193. package/dist/cli/args.d.ts +74 -0
  194. package/dist/cli/args.d.ts.map +1 -0
  195. package/dist/cli/args.js +359 -0
  196. package/dist/cli/args.js.map +1 -0
  197. package/dist/cli/args.test.d.ts +2 -0
  198. package/dist/cli/args.test.d.ts.map +1 -0
  199. package/dist/cli/args.test.js +392 -0
  200. package/dist/cli/args.test.js.map +1 -0
  201. package/dist/cli/commands/add.d.ts +7 -0
  202. package/dist/cli/commands/add.d.ts.map +1 -0
  203. package/dist/cli/commands/add.js +380 -0
  204. package/dist/cli/commands/add.js.map +1 -0
  205. package/dist/cli/commands/init.d.ts +10 -0
  206. package/dist/cli/commands/init.d.ts.map +1 -0
  207. package/dist/cli/commands/init.js +113 -0
  208. package/dist/cli/commands/init.js.map +1 -0
  209. package/dist/cli/commands/init.test.d.ts +2 -0
  210. package/dist/cli/commands/init.test.d.ts.map +1 -0
  211. package/dist/cli/commands/init.test.js +117 -0
  212. package/dist/cli/commands/init.test.js.map +1 -0
  213. package/dist/cli/commands/setup-app/browser.d.ts +9 -0
  214. package/dist/cli/commands/setup-app/browser.d.ts.map +1 -0
  215. package/dist/cli/commands/setup-app/browser.js +36 -0
  216. package/dist/cli/commands/setup-app/browser.js.map +1 -0
  217. package/dist/cli/commands/setup-app/credentials.d.ts +15 -0
  218. package/dist/cli/commands/setup-app/credentials.d.ts.map +1 -0
  219. package/dist/cli/commands/setup-app/credentials.js +29 -0
  220. package/dist/cli/commands/setup-app/credentials.js.map +1 -0
  221. package/dist/cli/commands/setup-app/manifest.d.ts +24 -0
  222. package/dist/cli/commands/setup-app/manifest.d.ts.map +1 -0
  223. package/dist/cli/commands/setup-app/manifest.js +29 -0
  224. package/dist/cli/commands/setup-app/manifest.js.map +1 -0
  225. package/dist/cli/commands/setup-app/server.d.ts +28 -0
  226. package/dist/cli/commands/setup-app/server.d.ts.map +1 -0
  227. package/dist/cli/commands/setup-app/server.js +136 -0
  228. package/dist/cli/commands/setup-app/server.js.map +1 -0
  229. package/dist/cli/commands/setup-app.d.ts +11 -0
  230. package/dist/cli/commands/setup-app.d.ts.map +1 -0
  231. package/dist/cli/commands/setup-app.js +139 -0
  232. package/dist/cli/commands/setup-app.js.map +1 -0
  233. package/dist/cli/commands/sync.d.ts +9 -0
  234. package/dist/cli/commands/sync.d.ts.map +1 -0
  235. package/dist/cli/commands/sync.js +96 -0
  236. package/dist/cli/commands/sync.js.map +1 -0
  237. package/dist/cli/context.d.ts +27 -0
  238. package/dist/cli/context.d.ts.map +1 -0
  239. package/dist/cli/context.js +101 -0
  240. package/dist/cli/context.js.map +1 -0
  241. package/dist/cli/files.d.ts +22 -0
  242. package/dist/cli/files.d.ts.map +1 -0
  243. package/dist/cli/files.js +66 -0
  244. package/dist/cli/files.js.map +1 -0
  245. package/dist/cli/files.test.d.ts +2 -0
  246. package/dist/cli/files.test.d.ts.map +1 -0
  247. package/dist/cli/files.test.js +117 -0
  248. package/dist/cli/files.test.js.map +1 -0
  249. package/dist/cli/fix.d.ts +41 -0
  250. package/dist/cli/fix.d.ts.map +1 -0
  251. package/dist/cli/fix.js +320 -0
  252. package/dist/cli/fix.js.map +1 -0
  253. package/dist/cli/fix.test.d.ts +2 -0
  254. package/dist/cli/fix.test.d.ts.map +1 -0
  255. package/dist/cli/fix.test.js +251 -0
  256. package/dist/cli/fix.test.js.map +1 -0
  257. package/dist/cli/git.d.ts +73 -0
  258. package/dist/cli/git.d.ts.map +1 -0
  259. package/dist/cli/git.js +267 -0
  260. package/dist/cli/git.js.map +1 -0
  261. package/dist/cli/git.test.d.ts +2 -0
  262. package/dist/cli/git.test.d.ts.map +1 -0
  263. package/dist/cli/git.test.js +96 -0
  264. package/dist/cli/git.test.js.map +1 -0
  265. package/dist/cli/index.d.ts +3 -0
  266. package/dist/cli/index.d.ts.map +1 -0
  267. package/dist/cli/index.js +13 -0
  268. package/dist/cli/index.js.map +1 -0
  269. package/dist/cli/main.d.ts +7 -0
  270. package/dist/cli/main.d.ts.map +1 -0
  271. package/dist/cli/main.js +560 -0
  272. package/dist/cli/main.js.map +1 -0
  273. package/dist/cli/output/box.d.ts +75 -0
  274. package/dist/cli/output/box.d.ts.map +1 -0
  275. package/dist/cli/output/box.js +191 -0
  276. package/dist/cli/output/box.js.map +1 -0
  277. package/dist/cli/output/formatters.d.ts +90 -0
  278. package/dist/cli/output/formatters.d.ts.map +1 -0
  279. package/dist/cli/output/formatters.js +248 -0
  280. package/dist/cli/output/formatters.js.map +1 -0
  281. package/dist/cli/output/formatters.test.d.ts +2 -0
  282. package/dist/cli/output/formatters.test.d.ts.map +1 -0
  283. package/dist/cli/output/formatters.test.js +152 -0
  284. package/dist/cli/output/formatters.test.js.map +1 -0
  285. package/dist/cli/output/icons.d.ts +15 -0
  286. package/dist/cli/output/icons.d.ts.map +1 -0
  287. package/dist/cli/output/icons.js +15 -0
  288. package/dist/cli/output/icons.js.map +1 -0
  289. package/dist/cli/output/index.d.ts +10 -0
  290. package/dist/cli/output/index.d.ts.map +1 -0
  291. package/dist/cli/output/index.js +10 -0
  292. package/dist/cli/output/index.js.map +1 -0
  293. package/dist/cli/output/ink-runner.d.ts +29 -0
  294. package/dist/cli/output/ink-runner.d.ts.map +1 -0
  295. package/dist/cli/output/ink-runner.js +241 -0
  296. package/dist/cli/output/ink-runner.js.map +1 -0
  297. package/dist/cli/output/jsonl.d.ts +43 -0
  298. package/dist/cli/output/jsonl.d.ts.map +1 -0
  299. package/dist/cli/output/jsonl.js +89 -0
  300. package/dist/cli/output/jsonl.js.map +1 -0
  301. package/dist/cli/output/jsonl.test.d.ts +2 -0
  302. package/dist/cli/output/jsonl.test.d.ts.map +1 -0
  303. package/dist/cli/output/jsonl.test.js +284 -0
  304. package/dist/cli/output/jsonl.test.js.map +1 -0
  305. package/dist/cli/output/reporter.d.ts +108 -0
  306. package/dist/cli/output/reporter.d.ts.map +1 -0
  307. package/dist/cli/output/reporter.js +378 -0
  308. package/dist/cli/output/reporter.js.map +1 -0
  309. package/dist/cli/output/tasks.d.ts +89 -0
  310. package/dist/cli/output/tasks.d.ts.map +1 -0
  311. package/dist/cli/output/tasks.js +251 -0
  312. package/dist/cli/output/tasks.js.map +1 -0
  313. package/dist/cli/output/tty.d.ts +21 -0
  314. package/dist/cli/output/tty.d.ts.map +1 -0
  315. package/dist/cli/output/tty.js +44 -0
  316. package/dist/cli/output/tty.js.map +1 -0
  317. package/dist/cli/output/tty.test.d.ts +2 -0
  318. package/dist/cli/output/tty.test.d.ts.map +1 -0
  319. package/dist/cli/output/tty.test.js +105 -0
  320. package/dist/cli/output/tty.test.js.map +1 -0
  321. package/dist/cli/output/verbosity.d.ts +20 -0
  322. package/dist/cli/output/verbosity.d.ts.map +1 -0
  323. package/dist/cli/output/verbosity.js +32 -0
  324. package/dist/cli/output/verbosity.js.map +1 -0
  325. package/dist/cli/output/verbosity.test.d.ts +2 -0
  326. package/dist/cli/output/verbosity.test.d.ts.map +1 -0
  327. package/dist/cli/output/verbosity.test.js +35 -0
  328. package/dist/cli/output/verbosity.test.js.map +1 -0
  329. package/dist/cli/terminal.d.ts +19 -0
  330. package/dist/cli/terminal.d.ts.map +1 -0
  331. package/dist/cli/terminal.js +247 -0
  332. package/dist/cli/terminal.js.map +1 -0
  333. package/dist/cli/terminal.test.d.ts +2 -0
  334. package/dist/cli/terminal.test.d.ts.map +1 -0
  335. package/dist/cli/terminal.test.js +123 -0
  336. package/dist/cli/terminal.test.js.map +1 -0
  337. package/dist/config/index.d.ts +4 -0
  338. package/dist/config/index.d.ts.map +1 -0
  339. package/dist/config/index.js +4 -0
  340. package/dist/config/index.js.map +1 -0
  341. package/dist/config/loader.d.ts +27 -0
  342. package/dist/config/loader.d.ts.map +1 -0
  343. package/dist/config/loader.js +77 -0
  344. package/dist/config/loader.js.map +1 -0
  345. package/dist/config/loader.test.d.ts +2 -0
  346. package/dist/config/loader.test.d.ts.map +1 -0
  347. package/dist/config/loader.test.js +263 -0
  348. package/dist/config/loader.test.js.map +1 -0
  349. package/dist/config/schema.d.ts +318 -0
  350. package/dist/config/schema.d.ts.map +1 -0
  351. package/dist/config/schema.js +137 -0
  352. package/dist/config/schema.js.map +1 -0
  353. package/dist/config/writer.d.ts +11 -0
  354. package/dist/config/writer.d.ts.map +1 -0
  355. package/dist/config/writer.js +74 -0
  356. package/dist/config/writer.js.map +1 -0
  357. package/dist/config/writer.test.d.ts +2 -0
  358. package/dist/config/writer.test.d.ts.map +1 -0
  359. package/dist/config/writer.test.js +98 -0
  360. package/dist/config/writer.test.js.map +1 -0
  361. package/dist/diff/classify.d.ts +29 -0
  362. package/dist/diff/classify.d.ts.map +1 -0
  363. package/dist/diff/classify.js +74 -0
  364. package/dist/diff/classify.js.map +1 -0
  365. package/dist/diff/classify.test.d.ts +2 -0
  366. package/dist/diff/classify.test.d.ts.map +1 -0
  367. package/dist/diff/classify.test.js +140 -0
  368. package/dist/diff/classify.test.js.map +1 -0
  369. package/dist/diff/coalesce.d.ts +42 -0
  370. package/dist/diff/coalesce.d.ts.map +1 -0
  371. package/dist/diff/coalesce.js +104 -0
  372. package/dist/diff/coalesce.js.map +1 -0
  373. package/dist/diff/coalesce.test.d.ts +2 -0
  374. package/dist/diff/coalesce.test.d.ts.map +1 -0
  375. package/dist/diff/coalesce.test.js +159 -0
  376. package/dist/diff/coalesce.test.js.map +1 -0
  377. package/dist/diff/context.d.ts +30 -0
  378. package/dist/diff/context.d.ts.map +1 -0
  379. package/dist/diff/context.js +144 -0
  380. package/dist/diff/context.js.map +1 -0
  381. package/dist/diff/context.test.d.ts +2 -0
  382. package/dist/diff/context.test.d.ts.map +1 -0
  383. package/dist/diff/context.test.js +190 -0
  384. package/dist/diff/context.test.js.map +1 -0
  385. package/dist/diff/index.d.ts +5 -0
  386. package/dist/diff/index.d.ts.map +1 -0
  387. package/dist/diff/index.js +5 -0
  388. package/dist/diff/index.js.map +1 -0
  389. package/dist/diff/parser.d.ts +52 -0
  390. package/dist/diff/parser.d.ts.map +1 -0
  391. package/dist/diff/parser.js +95 -0
  392. package/dist/diff/parser.js.map +1 -0
  393. package/dist/diff/parser.test.d.ts +2 -0
  394. package/dist/diff/parser.test.d.ts.map +1 -0
  395. package/dist/diff/parser.test.js +178 -0
  396. package/dist/diff/parser.test.js.map +1 -0
  397. package/dist/event/context.d.ts +9 -0
  398. package/dist/event/context.d.ts.map +1 -0
  399. package/dist/event/context.js +94 -0
  400. package/dist/event/context.js.map +1 -0
  401. package/dist/event/index.d.ts +3 -0
  402. package/dist/event/index.d.ts.map +1 -0
  403. package/dist/event/index.js +3 -0
  404. package/dist/event/index.js.map +1 -0
  405. package/dist/event/schedule-context.d.ts +30 -0
  406. package/dist/event/schedule-context.d.ts.map +1 -0
  407. package/dist/event/schedule-context.js +57 -0
  408. package/dist/event/schedule-context.js.map +1 -0
  409. package/dist/examples/examples.integration.test.d.ts +2 -0
  410. package/dist/examples/examples.integration.test.d.ts.map +1 -0
  411. package/dist/examples/examples.integration.test.js +55 -0
  412. package/dist/examples/examples.integration.test.js.map +1 -0
  413. package/dist/examples/index.d.ts +50 -0
  414. package/dist/examples/index.d.ts.map +1 -0
  415. package/dist/examples/index.js +104 -0
  416. package/dist/examples/index.js.map +1 -0
  417. package/dist/examples/index.test.d.ts +2 -0
  418. package/dist/examples/index.test.d.ts.map +1 -0
  419. package/dist/examples/index.test.js +88 -0
  420. package/dist/examples/index.test.js.map +1 -0
  421. package/dist/examples/setup.d.ts +2 -0
  422. package/dist/examples/setup.d.ts.map +1 -0
  423. package/dist/examples/setup.js +22 -0
  424. package/dist/examples/setup.js.map +1 -0
  425. package/dist/index.d.ts +12 -0
  426. package/dist/index.d.ts.map +1 -0
  427. package/dist/index.js +57 -0
  428. package/dist/index.js.map +1 -0
  429. package/dist/output/dedup.d.ts +153 -0
  430. package/dist/output/dedup.d.ts.map +1 -0
  431. package/dist/output/dedup.js +416 -0
  432. package/dist/output/dedup.js.map +1 -0
  433. package/dist/output/dedup.test.d.ts +2 -0
  434. package/dist/output/dedup.test.d.ts.map +1 -0
  435. package/dist/output/dedup.test.js +357 -0
  436. package/dist/output/dedup.test.js.map +1 -0
  437. package/dist/output/github-checks.d.ts +106 -0
  438. package/dist/output/github-checks.d.ts.map +1 -0
  439. package/dist/output/github-checks.js +321 -0
  440. package/dist/output/github-checks.js.map +1 -0
  441. package/dist/output/github-checks.test.d.ts +2 -0
  442. package/dist/output/github-checks.test.d.ts.map +1 -0
  443. package/dist/output/github-checks.test.js +255 -0
  444. package/dist/output/github-checks.test.js.map +1 -0
  445. package/dist/output/github-issues.d.ts +35 -0
  446. package/dist/output/github-issues.d.ts.map +1 -0
  447. package/dist/output/github-issues.js +246 -0
  448. package/dist/output/github-issues.js.map +1 -0
  449. package/dist/output/index.d.ts +6 -0
  450. package/dist/output/index.d.ts.map +1 -0
  451. package/dist/output/index.js +6 -0
  452. package/dist/output/index.js.map +1 -0
  453. package/dist/output/issue-renderer.d.ts +20 -0
  454. package/dist/output/issue-renderer.d.ts.map +1 -0
  455. package/dist/output/issue-renderer.js +154 -0
  456. package/dist/output/issue-renderer.js.map +1 -0
  457. package/dist/output/renderer.d.ts +4 -0
  458. package/dist/output/renderer.d.ts.map +1 -0
  459. package/dist/output/renderer.js +168 -0
  460. package/dist/output/renderer.js.map +1 -0
  461. package/dist/output/renderer.test.d.ts +2 -0
  462. package/dist/output/renderer.test.d.ts.map +1 -0
  463. package/dist/output/renderer.test.js +645 -0
  464. package/dist/output/renderer.test.js.map +1 -0
  465. package/dist/output/stale.d.ts +31 -0
  466. package/dist/output/stale.d.ts.map +1 -0
  467. package/dist/output/stale.js +114 -0
  468. package/dist/output/stale.js.map +1 -0
  469. package/dist/output/stale.test.d.ts +2 -0
  470. package/dist/output/stale.test.d.ts.map +1 -0
  471. package/dist/output/stale.test.js +330 -0
  472. package/dist/output/stale.test.js.map +1 -0
  473. package/dist/output/types.d.ts +31 -0
  474. package/dist/output/types.d.ts.map +1 -0
  475. package/dist/output/types.js +2 -0
  476. package/dist/output/types.js.map +1 -0
  477. package/dist/sdk/index.d.ts +2 -0
  478. package/dist/sdk/index.d.ts.map +1 -0
  479. package/dist/sdk/index.js +2 -0
  480. package/dist/sdk/index.js.map +1 -0
  481. package/dist/sdk/runner.d.ts +202 -0
  482. package/dist/sdk/runner.d.ts.map +1 -0
  483. package/dist/sdk/runner.js +888 -0
  484. package/dist/sdk/runner.js.map +1 -0
  485. package/dist/sdk/runner.test.d.ts +2 -0
  486. package/dist/sdk/runner.test.d.ts.map +1 -0
  487. package/dist/sdk/runner.test.js +677 -0
  488. package/dist/sdk/runner.test.js.map +1 -0
  489. package/dist/skills/index.d.ts +5 -0
  490. package/dist/skills/index.d.ts.map +1 -0
  491. package/dist/skills/index.js +3 -0
  492. package/dist/skills/index.js.map +1 -0
  493. package/dist/skills/loader.d.ts +111 -0
  494. package/dist/skills/loader.d.ts.map +1 -0
  495. package/dist/skills/loader.js +319 -0
  496. package/dist/skills/loader.js.map +1 -0
  497. package/dist/skills/loader.test.d.ts +2 -0
  498. package/dist/skills/loader.test.d.ts.map +1 -0
  499. package/dist/skills/loader.test.js +241 -0
  500. package/dist/skills/loader.test.js.map +1 -0
  501. package/dist/skills/remote.d.ts +117 -0
  502. package/dist/skills/remote.d.ts.map +1 -0
  503. package/dist/skills/remote.js +496 -0
  504. package/dist/skills/remote.js.map +1 -0
  505. package/dist/skills/remote.test.d.ts +2 -0
  506. package/dist/skills/remote.test.d.ts.map +1 -0
  507. package/dist/skills/remote.test.js +582 -0
  508. package/dist/skills/remote.test.js.map +1 -0
  509. package/dist/triggers/matcher.d.ts +30 -0
  510. package/dist/triggers/matcher.d.ts.map +1 -0
  511. package/dist/triggers/matcher.js +122 -0
  512. package/dist/triggers/matcher.js.map +1 -0
  513. package/dist/triggers/matcher.test.d.ts +2 -0
  514. package/dist/triggers/matcher.test.d.ts.map +1 -0
  515. package/dist/triggers/matcher.test.js +234 -0
  516. package/dist/triggers/matcher.test.js.map +1 -0
  517. package/dist/types/index.d.ts +269 -0
  518. package/dist/types/index.d.ts.map +1 -0
  519. package/dist/types/index.js +162 -0
  520. package/dist/types/index.js.map +1 -0
  521. package/dist/utils/async.d.ts +5 -0
  522. package/dist/utils/async.d.ts.map +1 -0
  523. package/dist/utils/async.js +13 -0
  524. package/dist/utils/async.js.map +1 -0
  525. package/dist/utils/index.d.ts +16 -0
  526. package/dist/utils/index.d.ts.map +1 -0
  527. package/dist/utils/index.js +44 -0
  528. package/dist/utils/index.js.map +1 -0
  529. package/dist/utils/index.test.d.ts +2 -0
  530. package/dist/utils/index.test.d.ts.map +1 -0
  531. package/dist/utils/index.test.js +68 -0
  532. package/dist/utils/index.test.js.map +1 -0
  533. package/dist/utils/version.d.ts +3 -0
  534. package/dist/utils/version.d.ts.map +1 -0
  535. package/dist/utils/version.js +16 -0
  536. package/dist/utils/version.js.map +1 -0
  537. package/docs/src/pages/config.astro +2 -1
  538. package/docs/src/pages/guide.astro +2 -1
  539. package/docs/src/utils/version.ts +6 -0
  540. package/package.json +12 -2
  541. package/src/cli/args.ts +2 -3
  542. package/src/cli/commands/init.test.ts +2 -1
  543. package/src/cli/commands/init.ts +3 -1
  544. package/src/cli/output/icons.ts +6 -0
  545. package/src/cli/output/ink-runner.tsx +69 -40
  546. package/src/cli/output/reporter.ts +3 -4
  547. package/src/utils/index.ts +1 -0
  548. package/src/utils/version.ts +17 -0
  549. package/.claude/settings.local.json +0 -88
  550. package/docs/.claude/settings.local.json +0 -11
@@ -1,5 +1,25 @@
1
1
  /**
2
2
  * Ink-based skill runner with real-time progress display.
3
+ *
4
+ * ## Ink Rendering Constraints
5
+ *
6
+ * This file uses Ink (React for CLIs) which has specific constraints that,
7
+ * if violated, cause duplicate output lines or corrupted display:
8
+ *
9
+ * 1. **Single Static component**: Ink's Static uses `position: 'absolute'`.
10
+ * Multiple Static components cause layout conflicts. We print the header
11
+ * before Ink starts to avoid needing a second Static.
12
+ *
13
+ * 2. **Stable item references**: Static tracks items by reference equality.
14
+ * Never wrap items in new objects (e.g., `{ type: 'skill', skill }`) on
15
+ * each render. Pass the original objects directly.
16
+ *
17
+ * 3. **Batched updates**: Rapid consecutive rerender() calls cause duplicate
18
+ * output. The updateUI() function batches updates using setImmediate().
19
+ *
20
+ * 4. **No direct writes to stderr**: Writing to process.stderr while Ink is
21
+ * running corrupts cursor tracking. The onLargePrompt/onPromptSize callbacks
22
+ * are exceptions that may cause minor display glitches in edge cases.
3
23
  */
4
24
 
5
25
  import React, { useState, useEffect } from 'react';
@@ -15,11 +35,9 @@ import {
15
35
  } from './tasks.js';
16
36
  import { formatDuration, truncate, countBySeverity, formatSeverityDot } from './formatters.js';
17
37
  import { Verbosity } from './verbosity.js';
18
- import { ICON_CHECK, ICON_SKIPPED, SPINNER_FRAMES } from './icons.js';
38
+ import { ICON_CHECK, ICON_SKIPPED, ICON_PENDING, ICON_ERROR, SPINNER_FRAMES } from './icons.js';
19
39
  import figures from 'figures';
20
40
 
21
- type StaticItem = { type: 'header' } | { type: 'skill'; skill: SkillState };
22
-
23
41
  interface SkillRunnerProps {
24
42
  skills: SkillState[];
25
43
  completedItems: SkillState[];
@@ -91,7 +109,7 @@ function CompletedSkill({ skill }: { skill: SkillState }): React.ReactElement {
91
109
  return (
92
110
  <Box flexDirection="column">
93
111
  <Box>
94
- <Text color="red">{'\u2717'}</Text>
112
+ <Text color="red">{ICON_ERROR}</Text>
95
113
  <Text> {skill.displayName}</Text>
96
114
  {duration && <Text dimColor> [{duration}]</Text>}
97
115
  </Box>
@@ -127,46 +145,42 @@ function RunningSkill({ skill }: { skill: SkillState }): React.ReactElement {
127
145
  );
128
146
  }
129
147
 
148
+ /**
149
+ * Renders the skill execution UI.
150
+ *
151
+ * IMPORTANT: Ink's Static component tracks items by reference equality.
152
+ * Items passed to Static must have stable references across renders.
153
+ * Creating new wrapper objects causes Static to mishandle its internal
154
+ * state, resulting in duplicate output lines.
155
+ *
156
+ * We use a SINGLE Static component to avoid layout conflicts from multiple
157
+ * absolutely-positioned Static containers.
158
+ */
130
159
  function SkillRunner({ skills, completedItems }: SkillRunnerProps): React.ReactElement {
131
160
  const running = skills.filter((s) => s.status === 'running');
132
161
  const pending = skills.filter((s) => s.status === 'pending');
133
162
 
134
- // Build static items: header first, then completed skills
135
- const staticItems: StaticItem[] = [
136
- { type: 'header' },
137
- ...completedItems.map((skill) => ({ type: 'skill' as const, skill })),
138
- ];
139
-
140
163
  return (
141
- <>
142
- {/* Static content: header + completed skills */}
143
- <Static items={staticItems}>
144
- {(item) => {
145
- switch (item.type) {
146
- case 'header':
147
- return (
148
- <Text key="header" bold>
149
- SKILLS
150
- </Text>
151
- );
152
- case 'skill':
153
- return <CompletedSkill key={item.skill.name} skill={item.skill} />;
154
- }
155
- }}
164
+ <Box flexDirection="column">
165
+ {/*
166
+ * Completed skills - passed directly to Static WITHOUT wrapper objects.
167
+ * completedItems elements have stable references (same objects from parent),
168
+ * so Ink can correctly track which items are new vs already rendered.
169
+ */}
170
+ <Static items={completedItems}>
171
+ {(skill) => <CompletedSkill key={skill.name} skill={skill} />}
156
172
  </Static>
157
173
 
158
- {/* Dynamic content: running + pending */}
159
- <Box flexDirection="column">
160
- {running.map((skill) => (
161
- <RunningSkill key={skill.name} skill={skill} />
162
- ))}
163
- {pending.map((skill) => (
164
- <Text key={skill.name} dimColor>
165
- {'\u25CB'} {skill.displayName}
166
- </Text>
167
- ))}
168
- </Box>
169
- </>
174
+ {/* Dynamic content - updates in place */}
175
+ {running.map((skill) => (
176
+ <RunningSkill key={skill.name} skill={skill} />
177
+ ))}
178
+ {pending.map((skill) => (
179
+ <Text key={skill.name} dimColor>
180
+ {ICON_PENDING} {skill.displayName}
181
+ </Text>
182
+ ))}
183
+ </Box>
170
184
  );
171
185
  }
172
186
 
@@ -206,14 +220,28 @@ export async function runSkillTasksWithInk(
206
220
  const completedItems: SkillState[] = [];
207
221
  const completedNames = new Set<string>();
208
222
 
223
+ // Print header before Ink starts - this avoids multiple Static components
224
+ // which can cause layout conflicts due to absolute positioning
225
+ process.stderr.write('\x1b[1mSKILLS\x1b[0m\n');
226
+
209
227
  // Create Ink instance
210
228
  const { rerender, unmount } = render(
211
229
  <SkillRunner skills={skillStates} completedItems={completedItems} />,
212
230
  { stdout: process.stderr }
213
231
  );
214
232
 
233
+ // Batch UI updates to prevent rapid consecutive rerenders that cause duplicate lines.
234
+ // Without batching, multiple callbacks firing in quick succession (e.g., 5 files
235
+ // starting simultaneously) trigger 5 immediate rerenders, which Ink cannot
236
+ // process correctly, resulting in the same line appearing multiple times.
237
+ let updatePending = false;
215
238
  const updateUI = () => {
216
- rerender(<SkillRunner skills={[...skillStates]} completedItems={[...completedItems]} />);
239
+ if (updatePending) return;
240
+ updatePending = true;
241
+ setImmediate(() => {
242
+ updatePending = false;
243
+ rerender(<SkillRunner skills={[...skillStates]} completedItems={[...completedItems]} />);
244
+ });
217
245
  };
218
246
 
219
247
  // Callbacks to update state
@@ -297,13 +325,14 @@ export async function runSkillTasksWithInk(
297
325
 
298
326
  updateUI();
299
327
  },
300
- // Warn about large prompts - write directly to stderr to avoid Ink interference
328
+ // CAUTION: Direct stderr writes while Ink is running can cause display glitches.
329
+ // These callbacks are rare (large prompts, debug mode) so the tradeoff is acceptable.
330
+ // If these cause issues, consider queueing messages and printing after unmount().
301
331
  onLargePrompt: (_skillName, filename, lineRange, chars, estimatedTokens) => {
302
332
  const location = `${filename}:${lineRange}`;
303
333
  const size = `${Math.round(chars / 1000)}k chars (~${Math.round(estimatedTokens / 1000)}k tokens)`;
304
334
  process.stderr.write(`\x1b[33m${figures.warning}\x1b[0m Large prompt for ${location}: ${size}\n`);
305
335
  },
306
- // Debug mode: show prompt sizes
307
336
  onPromptSize: verbosity >= Verbosity.Debug
308
337
  ? (_skillName, filename, lineRange, systemChars, userChars, totalChars, estimatedTokens) => {
309
338
  const location = `${filename}:${lineRange}`;
@@ -13,8 +13,7 @@ import {
13
13
  } from './formatters.js';
14
14
  import { BoxRenderer } from './box.js';
15
15
  import { ICON_CHECK } from './icons.js';
16
-
17
- const VERSION = '0.1.0';
16
+ import { getVersion } from '../../utils/index.js';
18
17
 
19
18
  /**
20
19
  * ASCII art logo for TTY header.
@@ -82,10 +81,10 @@ export class Reporter {
82
81
  for (const line of LOGO.split('\n')) {
83
82
  this.log(chalk.dim(line));
84
83
  }
85
- this.log(chalk.dim(`v${VERSION}`));
84
+ this.log(chalk.dim(`v${getVersion()}`));
86
85
  this.log('');
87
86
  } else {
88
- this.logCI(`Warden v${VERSION}`);
87
+ this.logCI(`Warden v${getVersion()}`);
89
88
  }
90
89
  }
91
90
 
@@ -1,4 +1,5 @@
1
1
  export { processInBatches } from './async.js';
2
+ export { getVersion, getMajorVersion } from './version.js';
2
3
 
3
4
  /** Default concurrency for parallel trigger/skill execution */
4
5
  export const DEFAULT_CONCURRENCY = 4;
@@ -0,0 +1,17 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+
5
+ let cachedVersion: string | undefined;
6
+
7
+ export function getVersion(): string {
8
+ if (cachedVersion) return cachedVersion;
9
+ const __dirname = dirname(fileURLToPath(import.meta.url));
10
+ const pkg = JSON.parse(readFileSync(join(__dirname, '..', '..', 'package.json'), 'utf-8')) as { version: string };
11
+ cachedVersion = pkg.version;
12
+ return cachedVersion;
13
+ }
14
+
15
+ export function getMajorVersion(): string {
16
+ return getVersion().split('.')[0] ?? '0';
17
+ }
@@ -1,88 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(pnpm build)",
5
- "Bash(pnpm install:*)",
6
- "Bash(pnpm test:run:*)",
7
- "Bash(node dist/cli/index.js:*)",
8
- "Bash(pnpm lint:*)",
9
- "Bash(echo:*)",
10
- "Bash(pnpm add:*)",
11
- "Bash(pnpm remove:*)",
12
- "Bash(pnpm cli run:*)",
13
- "WebSearch",
14
- "Bash(pnpm lint:fix:*)",
15
- "WebFetch(domain:github.com)",
16
- "WebFetch(domain:raw.githubusercontent.com)",
17
- "Bash(claude skill:*)",
18
- "Bash(curl:*)",
19
- "Bash(xxd:*)",
20
- "Bash(ANTHROPIC_API_KEY=\"\" node dist/cli/index.js:*)",
21
- "Bash(git add:*)",
22
- "Bash(git commit:*)",
23
- "Bash(grep:*)",
24
- "Bash(dex --help:*)",
25
- "Bash(npx @zeeg/dex:*)",
26
- "Bash(dex config --help:*)",
27
- "Bash(dex sync --help:*)",
28
- "Bash(dex init:*)",
29
- "Bash(dex config:*)",
30
- "Bash(dex create:*)",
31
- "Bash(dex list:*)",
32
- "Bash(pnpm test:*)",
33
- "Bash(git rebase:*)",
34
- "Bash(pnpm warden:*)",
35
- "Bash(node /home/dcramer/src/warden/dist/cli/main.js:*)",
36
- "Bash(git stash:*)",
37
- "WebFetch(domain:warden.sentry.dev)",
38
- "Bash(pnpm cli:*)",
39
- "Bash(xargs cat:*)",
40
- "Bash(/home/dcramer/src/warden/node_modules/.bin/tsx:*)",
41
- "Bash(printf:*)",
42
- "Bash(pnpm info:*)",
43
- "Bash(npm view:*)",
44
- "Bash(npm search:*)",
45
- "Bash(pnpm search:*)",
46
- "Bash(warden:*)",
47
- "Bash(dex show:*)",
48
- "Bash(dex complete:*)",
49
- "Bash(defined\".\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
50
- "Bash(git push)",
51
- "Bash(Warden\"\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
52
- "Bash(xargs:*)",
53
- "Bash(./dist/cli/index.js add:*)",
54
- "Bash(./dist/cli/index.js:*)",
55
- "Bash(pnpm astro check --help:*)",
56
- "Bash(npx astro check:*)",
57
- "Bash(pnpm:*)",
58
- "Bash(git checkout:*)",
59
- "Bash(dex plan:*)",
60
- "Bash(git push:*)",
61
- "Bash(git -C /home/dcramer/src/warden log --oneline --all -- dist/)",
62
- "Bash(git -C /home/dcramer/src/warden status:*)",
63
- "WebFetch(domain:www.anthropic.com)",
64
- "WebFetch(domain:www.datadoghq.com)",
65
- "WebFetch(domain:www.endorlabs.com)",
66
- "WebFetch(domain:arize.com)",
67
- "WebFetch(domain:platform.openai.com)",
68
- "WebFetch(domain:www.promptingguide.ai)",
69
- "WebFetch(domain:vercel.com)",
70
- "WebFetch(domain:www.npmjs.com)",
71
- "Bash(done)",
72
- "Bash(failed\" when reviewing Warden output.\n\nRefs #54\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
73
- "Bash(git config:*)",
74
- "Bash(dex start:*)",
75
- "Bash(node:*)",
76
- "WebFetch(domain:kudelskisecurity.com)",
77
- "Bash(dex edit:*)",
78
- "Bash(gh pr create:*)",
79
- "Bash(convert:*)",
80
- "Bash(git -C /home/dcramer/src/warden log --oneline -5)",
81
- "Bash(git -C /home/dcramer/src/warden add:*)",
82
- "Bash(git -C /home/dcramer/src/warden commit -m \"$\\(cat <<''EOF''\nchore: Update branding with new warden icons\n\nReplace old icon with new purple and black/white variants. Update\nREADME and docs header to use purple icon, set bw icon as favicon.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
83
- "WebFetch(domain:dex.sentry.dev)",
84
- "WebFetch(domain:dex.rip)",
85
- "Bash(npm version --help:*)"
86
- ]
87
- }
88
- }
@@ -1,11 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(pnpm build:*)",
5
- "Bash(git add:*)",
6
- "Bash(git commit -m \"$\\(cat <<''EOF''\ndocs: Add remote skills docs, convert tables to definition lists\n\n- Document warden sync command and --repo flag for remote skills\n- Add skill references section explaining resolution order\n- Add --offline flag and WARDEN_SKILL_CACHE_TTL env var\n- Convert all field reference tables to definition lists\n- Update dl/dt/dd styling for monospace keys with purple color\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
7
- "Bash(git commit -m \"$\\(cat <<''EOF''\ndocs\\(config\\): Remove absolute path example from skill references\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")",
8
- "Bash(git commit -m \"$\\(cat <<''EOF''\ndocs: Use purple Warden icon for GitHub bot avatar\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\nEOF\n\\)\")"
9
- ]
10
- }
11
- }