quiver-cli 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/README.md +197 -239
  2. package/dist/cli.js +3163 -2040
  3. package/package.json +10 -11
  4. package/template/.agents/AGENTS.md +0 -26
  5. package/template/.agents/commands/cp.md +0 -108
  6. package/template/.agents/commands/next-setup.md +0 -1064
  7. package/template/.agents/commands/review.md +0 -68
  8. package/template/.agents/commands/terraform-readme.md +0 -38
  9. package/template/.agents/config.json +0 -80
  10. package/template/.agents/plugins/opencode/rtk.ts +0 -34
  11. package/template/.agents/skills/agent-browser/SKILL.md +0 -51
  12. package/template/.agents/skills/apps/skybridge/SKILL.md +0 -50
  13. package/template/.agents/skills/code/cleanup/SKILL.md +0 -26
  14. package/template/.agents/skills/code/improve/SKILL.md +0 -122
  15. package/template/.agents/skills/code/improve/references/audit-playbook.md +0 -130
  16. package/template/.agents/skills/code/improve/references/closing-the-loop.md +0 -96
  17. package/template/.agents/skills/code/improve/references/plan-template.md +0 -197
  18. package/template/.agents/skills/code/vercel-react-best-practices/AGENTS.md +0 -3810
  19. package/template/.agents/skills/code/vercel-react-best-practices/README.md +0 -123
  20. package/template/.agents/skills/code/vercel-react-best-practices/SKILL.md +0 -149
  21. package/template/.agents/skills/code/vercel-react-best-practices/metadata.json +0 -15
  22. package/template/.agents/skills/code/vercel-react-best-practices/rules/_sections.md +0 -46
  23. package/template/.agents/skills/code/vercel-react-best-practices/rules/_template.md +0 -28
  24. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-effect-event-deps.md +0 -56
  25. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  26. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  27. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  28. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  29. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +0 -37
  30. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-defer-await.md +0 -82
  31. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  32. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-parallel.md +0 -28
  33. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  34. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-analyzable-paths.md +0 -63
  35. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -60
  36. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  37. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  38. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  39. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  40. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  41. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  42. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  43. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  44. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  45. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  46. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  47. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  48. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  49. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  50. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
  51. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  52. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  53. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  54. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  55. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-request-idle-callback.md +0 -105
  56. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  57. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  58. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  59. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  60. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  61. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  62. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  63. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  64. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  65. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
  66. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
  67. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  68. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  69. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  70. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  71. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  72. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  73. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  74. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  75. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  76. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  77. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  78. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
  79. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  80. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
  81. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  82. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
  83. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  84. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  85. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  86. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  87. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  88. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  89. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -149
  90. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-no-shared-module-state.md +0 -50
  91. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  92. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +0 -34
  93. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-serialization.md +0 -38
  94. package/template/.agents/skills/data/prisma-cli/SKILL.md +0 -247
  95. package/template/.agents/skills/data/prisma-cli/references/db-execute.md +0 -78
  96. package/template/.agents/skills/data/prisma-cli/references/db-pull.md +0 -185
  97. package/template/.agents/skills/data/prisma-cli/references/db-push.md +0 -148
  98. package/template/.agents/skills/data/prisma-cli/references/db-seed.md +0 -188
  99. package/template/.agents/skills/data/prisma-cli/references/debug.md +0 -46
  100. package/template/.agents/skills/data/prisma-cli/references/dev.md +0 -157
  101. package/template/.agents/skills/data/prisma-cli/references/format.md +0 -48
  102. package/template/.agents/skills/data/prisma-cli/references/generate.md +0 -173
  103. package/template/.agents/skills/data/prisma-cli/references/init.md +0 -136
  104. package/template/.agents/skills/data/prisma-cli/references/mcp.md +0 -38
  105. package/template/.agents/skills/data/prisma-cli/references/migrate-deploy.md +0 -127
  106. package/template/.agents/skills/data/prisma-cli/references/migrate-dev.md +0 -145
  107. package/template/.agents/skills/data/prisma-cli/references/migrate-diff.md +0 -89
  108. package/template/.agents/skills/data/prisma-cli/references/migrate-reset.md +0 -78
  109. package/template/.agents/skills/data/prisma-cli/references/migrate-resolve.md +0 -57
  110. package/template/.agents/skills/data/prisma-cli/references/migrate-status.md +0 -65
  111. package/template/.agents/skills/data/prisma-cli/references/studio.md +0 -137
  112. package/template/.agents/skills/data/prisma-cli/references/validate.md +0 -53
  113. package/template/.agents/skills/data/prisma-client-api/SKILL.md +0 -216
  114. package/template/.agents/skills/data/prisma-client-api/references/client-methods.md +0 -223
  115. package/template/.agents/skills/data/prisma-client-api/references/constructor.md +0 -208
  116. package/template/.agents/skills/data/prisma-client-api/references/filters.md +0 -256
  117. package/template/.agents/skills/data/prisma-client-api/references/model-queries.md +0 -281
  118. package/template/.agents/skills/data/prisma-client-api/references/query-options.md +0 -276
  119. package/template/.agents/skills/data/prisma-client-api/references/raw-queries.md +0 -194
  120. package/template/.agents/skills/data/prisma-client-api/references/relations.md +0 -308
  121. package/template/.agents/skills/data/prisma-client-api/references/transactions.md +0 -184
  122. package/template/.agents/skills/design/impeccable/SKILL.md +0 -84
  123. package/template/.agents/skills/design/impeccable/reference/adapt.md +0 -312
  124. package/template/.agents/skills/design/impeccable/reference/adapt.native.md +0 -58
  125. package/template/.agents/skills/design/impeccable/reference/android.md +0 -40
  126. package/template/.agents/skills/design/impeccable/reference/animate.md +0 -86
  127. package/template/.agents/skills/design/impeccable/reference/audit.md +0 -136
  128. package/template/.agents/skills/design/impeccable/reference/audit.native.md +0 -139
  129. package/template/.agents/skills/design/impeccable/reference/bolder.md +0 -31
  130. package/template/.agents/skills/design/impeccable/reference/clarify.md +0 -94
  131. package/template/.agents/skills/design/impeccable/reference/colorize.md +0 -86
  132. package/template/.agents/skills/design/impeccable/reference/craft-floor.md +0 -42
  133. package/template/.agents/skills/design/impeccable/reference/craft.md +0 -5
  134. package/template/.agents/skills/design/impeccable/reference/critique.md +0 -788
  135. package/template/.agents/skills/design/impeccable/reference/degraded/asset-producer.md +0 -90
  136. package/template/.agents/skills/design/impeccable/reference/degraded/documenter.md +0 -24
  137. package/template/.agents/skills/design/impeccable/reference/degraded/finish-reviewer.md +0 -37
  138. package/template/.agents/skills/design/impeccable/reference/degraded/manual-edit-applier.md +0 -92
  139. package/template/.agents/skills/design/impeccable/reference/delight.md +0 -70
  140. package/template/.agents/skills/design/impeccable/reference/distill.md +0 -111
  141. package/template/.agents/skills/design/impeccable/reference/doctor.md +0 -53
  142. package/template/.agents/skills/design/impeccable/reference/document.md +0 -416
  143. package/template/.agents/skills/design/impeccable/reference/extract.md +0 -69
  144. package/template/.agents/skills/design/impeccable/reference/harden.md +0 -336
  145. package/template/.agents/skills/design/impeccable/reference/hooks.md +0 -105
  146. package/template/.agents/skills/design/impeccable/reference/init.md +0 -125
  147. package/template/.agents/skills/design/impeccable/reference/ios.md +0 -45
  148. package/template/.agents/skills/design/impeccable/reference/layout.md +0 -84
  149. package/template/.agents/skills/design/impeccable/reference/live-setup.md +0 -102
  150. package/template/.agents/skills/design/impeccable/reference/live.md +0 -323
  151. package/template/.agents/skills/design/impeccable/reference/new-work.md +0 -105
  152. package/template/.agents/skills/design/impeccable/reference/onboard.md +0 -234
  153. package/template/.agents/skills/design/impeccable/reference/operate.md +0 -61
  154. package/template/.agents/skills/design/impeccable/reference/optimize.md +0 -258
  155. package/template/.agents/skills/design/impeccable/reference/overdrive.md +0 -127
  156. package/template/.agents/skills/design/impeccable/reference/polish.md +0 -97
  157. package/template/.agents/skills/design/impeccable/reference/quieter.md +0 -99
  158. package/template/.agents/skills/design/impeccable/reference/routing.md +0 -18
  159. package/template/.agents/skills/design/impeccable/reference/shape.md +0 -59
  160. package/template/.agents/skills/design/impeccable/reference/typeset.md +0 -80
  161. package/template/.agents/skills/design/impeccable/reference/visualize.md +0 -47
  162. package/template/.agents/skills/design/impeccable/scripts/command-metadata.json +0 -94
  163. package/template/.agents/skills/design/impeccable/scripts/concept-seed.mjs +0 -558
  164. package/template/.agents/skills/design/impeccable/scripts/context-signals.mjs +0 -334
  165. package/template/.agents/skills/design/impeccable/scripts/context.mjs +0 -1450
  166. package/template/.agents/skills/design/impeccable/scripts/critique-storage.mjs +0 -213
  167. package/template/.agents/skills/design/impeccable/scripts/detect-csp.mjs +0 -198
  168. package/template/.agents/skills/design/impeccable/scripts/detect.mjs +0 -21
  169. package/template/.agents/skills/design/impeccable/scripts/detector/browser/injected/index.mjs +0 -2023
  170. package/template/.agents/skills/design/impeccable/scripts/detector/cli/main.mjs +0 -438
  171. package/template/.agents/skills/design/impeccable/scripts/detector/design-system.mjs +0 -983
  172. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns-browser.js +0 -8283
  173. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns.mjs +0 -50
  174. package/template/.agents/skills/design/impeccable/scripts/detector/engines/browser/detect-url.mjs +0 -372
  175. package/template/.agents/skills/design/impeccable/scripts/detector/engines/regex/detect-text.mjs +0 -768
  176. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +0 -1186
  177. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/detect-html.mjs +0 -264
  178. package/template/.agents/skills/design/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +0 -189
  179. package/template/.agents/skills/design/impeccable/scripts/detector/findings.mjs +0 -18
  180. package/template/.agents/skills/design/impeccable/scripts/detector/node/file-system.mjs +0 -212
  181. package/template/.agents/skills/design/impeccable/scripts/detector/profile/profiler.mjs +0 -166
  182. package/template/.agents/skills/design/impeccable/scripts/detector/registry/antipatterns.mjs +0 -617
  183. package/template/.agents/skills/design/impeccable/scripts/detector/rules/checks.mjs +0 -5580
  184. package/template/.agents/skills/design/impeccable/scripts/detector/shared/color.mjs +0 -124
  185. package/template/.agents/skills/design/impeccable/scripts/detector/shared/constants.mjs +0 -112
  186. package/template/.agents/skills/design/impeccable/scripts/detector/shared/fonts.mjs +0 -30
  187. package/template/.agents/skills/design/impeccable/scripts/detector/shared/inline-ignores.mjs +0 -148
  188. package/template/.agents/skills/design/impeccable/scripts/detector/shared/page.mjs +0 -7
  189. package/template/.agents/skills/design/impeccable/scripts/doctor.mjs +0 -336
  190. package/template/.agents/skills/design/impeccable/scripts/embed-prompt.mjs +0 -133
  191. package/template/.agents/skills/design/impeccable/scripts/generate-image.mjs +0 -240
  192. package/template/.agents/skills/design/impeccable/scripts/hook-admin.mjs +0 -741
  193. package/template/.agents/skills/design/impeccable/scripts/hook-before-edit.mjs +0 -516
  194. package/template/.agents/skills/design/impeccable/scripts/hook-lib.mjs +0 -2100
  195. package/template/.agents/skills/design/impeccable/scripts/hook.mjs +0 -78
  196. package/template/.agents/skills/design/impeccable/scripts/lib/artifact-schema.mjs +0 -93
  197. package/template/.agents/skills/design/impeccable/scripts/lib/composition-catalog.mjs +0 -200
  198. package/template/.agents/skills/design/impeccable/scripts/lib/concept-catalog.mjs +0 -357
  199. package/template/.agents/skills/design/impeccable/scripts/lib/design-parser.mjs +0 -842
  200. package/template/.agents/skills/design/impeccable/scripts/lib/impeccable-config.mjs +0 -658
  201. package/template/.agents/skills/design/impeccable/scripts/lib/impeccable-paths.mjs +0 -137
  202. package/template/.agents/skills/design/impeccable/scripts/lib/is-generated.mjs +0 -69
  203. package/template/.agents/skills/design/impeccable/scripts/lib/provider.mjs +0 -5
  204. package/template/.agents/skills/design/impeccable/scripts/lib/roll-selection.mjs +0 -362
  205. package/template/.agents/skills/design/impeccable/scripts/lib/staleness-deep.mjs +0 -457
  206. package/template/.agents/skills/design/impeccable/scripts/lib/staleness-notice.mjs +0 -169
  207. package/template/.agents/skills/design/impeccable/scripts/lib/staleness.mjs +0 -457
  208. package/template/.agents/skills/design/impeccable/scripts/lib/surface-briefs.mjs +0 -151
  209. package/template/.agents/skills/design/impeccable/scripts/lib/target-args.mjs +0 -42
  210. package/template/.agents/skills/design/impeccable/scripts/lib/target-slug.mjs +0 -33
  211. package/template/.agents/skills/design/impeccable/scripts/lib/template-extensions.mjs +0 -146
  212. package/template/.agents/skills/design/impeccable/scripts/live/accept-css.mjs +0 -617
  213. package/template/.agents/skills/design/impeccable/scripts/live/accept-verify.mjs +0 -60
  214. package/template/.agents/skills/design/impeccable/scripts/live/browser-script-parts.mjs +0 -55
  215. package/template/.agents/skills/design/impeccable/scripts/live/completion.mjs +0 -28
  216. package/template/.agents/skills/design/impeccable/scripts/live/event-validation.mjs +0 -199
  217. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/astro.mjs +0 -47
  218. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/detect-utils.mjs +0 -73
  219. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/index.mjs +0 -143
  220. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/journal.mjs +0 -197
  221. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/nextjs.mjs +0 -49
  222. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/nuxt.mjs +0 -161
  223. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/script-src.mjs +0 -17
  224. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/static-html.mjs +0 -26
  225. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/sveltekit.mjs +0 -71
  226. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/tag-strategy.mjs +0 -247
  227. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/tanstack-start.mjs +0 -70
  228. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/vite-generic.mjs +0 -42
  229. package/template/.agents/skills/design/impeccable/scripts/live/generation-preflight.mjs +0 -149
  230. package/template/.agents/skills/design/impeccable/scripts/live/insert-ui.mjs +0 -458
  231. package/template/.agents/skills/design/impeccable/scripts/live/instructions.mjs +0 -142
  232. package/template/.agents/skills/design/impeccable/scripts/live/manual-apply.mjs +0 -939
  233. package/template/.agents/skills/design/impeccable/scripts/live/manual-edit-routes.mjs +0 -357
  234. package/template/.agents/skills/design/impeccable/scripts/live/manual-edits-buffer.mjs +0 -152
  235. package/template/.agents/skills/design/impeccable/scripts/live/poll-lanes.mjs +0 -14
  236. package/template/.agents/skills/design/impeccable/scripts/live/roots.mjs +0 -508
  237. package/template/.agents/skills/design/impeccable/scripts/live/session-store.mjs +0 -563
  238. package/template/.agents/skills/design/impeccable/scripts/live/source-lock.mjs +0 -105
  239. package/template/.agents/skills/design/impeccable/scripts/live/source-search.mjs +0 -105
  240. package/template/.agents/skills/design/impeccable/scripts/live/svelte-ast.mjs +0 -961
  241. package/template/.agents/skills/design/impeccable/scripts/live/svelte-component.mjs +0 -1342
  242. package/template/.agents/skills/design/impeccable/scripts/live/sveltekit-adapter.mjs +0 -316
  243. package/template/.agents/skills/design/impeccable/scripts/live/tanstack-adapter.mjs +0 -280
  244. package/template/.agents/skills/design/impeccable/scripts/live/ui-core.mjs +0 -180
  245. package/template/.agents/skills/design/impeccable/scripts/live/vocabulary.mjs +0 -171
  246. package/template/.agents/skills/design/impeccable/scripts/live-accept.mjs +0 -954
  247. package/template/.agents/skills/design/impeccable/scripts/live-browser-dom.js +0 -146
  248. package/template/.agents/skills/design/impeccable/scripts/live-browser-session.js +0 -123
  249. package/template/.agents/skills/design/impeccable/scripts/live-browser.js +0 -12512
  250. package/template/.agents/skills/design/impeccable/scripts/live-commit-manual-edits.mjs +0 -1244
  251. package/template/.agents/skills/design/impeccable/scripts/live-complete.mjs +0 -107
  252. package/template/.agents/skills/design/impeccable/scripts/live-copy-edit-agent.mjs +0 -683
  253. package/template/.agents/skills/design/impeccable/scripts/live-discard-manual-edits.mjs +0 -51
  254. package/template/.agents/skills/design/impeccable/scripts/live-inject.mjs +0 -503
  255. package/template/.agents/skills/design/impeccable/scripts/live-insert.mjs +0 -292
  256. package/template/.agents/skills/design/impeccable/scripts/live-manual-edit-evidence.mjs +0 -368
  257. package/template/.agents/skills/design/impeccable/scripts/live-poll.mjs +0 -429
  258. package/template/.agents/skills/design/impeccable/scripts/live-resume.mjs +0 -123
  259. package/template/.agents/skills/design/impeccable/scripts/live-server.mjs +0 -1661
  260. package/template/.agents/skills/design/impeccable/scripts/live-status.mjs +0 -71
  261. package/template/.agents/skills/design/impeccable/scripts/live-target.mjs +0 -30
  262. package/template/.agents/skills/design/impeccable/scripts/live-wrap.mjs +0 -927
  263. package/template/.agents/skills/design/impeccable/scripts/live.mjs +0 -359
  264. package/template/.agents/skills/design/impeccable/scripts/modern-screenshot.umd.js +0 -14
  265. package/template/.agents/skills/design/impeccable/scripts/palette.mjs +0 -628
  266. package/template/.agents/skills/design/impeccable/scripts/pin.mjs +0 -221
  267. package/template/.agents/skills/design/impeccable/scripts/serve-question.mjs +0 -932
  268. package/template/.agents/skills/design/impeccable/scripts/surface-brief.mjs +0 -74
  269. package/template/.agents/skills/design/shadcn/SKILL.md +0 -277
  270. package/template/.agents/skills/design/shadcn/agents/openai.yml +0 -5
  271. package/template/.agents/skills/design/shadcn/assets/shadcn-small.png +0 -0
  272. package/template/.agents/skills/design/shadcn/assets/shadcn.png +0 -0
  273. package/template/.agents/skills/design/shadcn/cli.md +0 -290
  274. package/template/.agents/skills/design/shadcn/customization.md +0 -209
  275. package/template/.agents/skills/design/shadcn/evals/evals.json +0 -77
  276. package/template/.agents/skills/design/shadcn/mcp.md +0 -105
  277. package/template/.agents/skills/design/shadcn/registry.md +0 -277
  278. package/template/.agents/skills/design/shadcn/rules/base-vs-radix.md +0 -306
  279. package/template/.agents/skills/design/shadcn/rules/chat.md +0 -224
  280. package/template/.agents/skills/design/shadcn/rules/composition.md +0 -213
  281. package/template/.agents/skills/design/shadcn/rules/forms.md +0 -192
  282. package/template/.agents/skills/design/shadcn/rules/icons.md +0 -101
  283. package/template/.agents/skills/design/shadcn/rules/styling.md +0 -185
  284. package/template/.agents/skills/find-skills/SKILL.md +0 -141
  285. package/template/.agents/skills/hono/SKILL.md +0 -579
  286. package/template/.agents/skills/integrations/langfuse/SKILL.md +0 -146
  287. package/template/.agents/skills/integrations/langfuse/references/ci-cd.md +0 -41
  288. package/template/.agents/skills/integrations/langfuse/references/cli.md +0 -60
  289. package/template/.agents/skills/integrations/langfuse/references/error-analysis.md +0 -88
  290. package/template/.agents/skills/integrations/langfuse/references/instrumentation.md +0 -121
  291. package/template/.agents/skills/integrations/langfuse/references/judge-calibration.md +0 -291
  292. package/template/.agents/skills/integrations/langfuse/references/prompt-engineering.md +0 -35
  293. package/template/.agents/skills/integrations/langfuse/references/prompt-migration.md +0 -79
  294. package/template/.agents/skills/integrations/langfuse/references/skill-feedback.md +0 -55
  295. package/template/.agents/skills/integrations/langfuse/references/trace-evaluator-upgrade.md +0 -76
  296. package/template/.agents/skills/integrations/langfuse/references/user-feedback.md +0 -92
  297. package/template/.agents/skills/integrations/langfuse/references/v4-project-migration.md +0 -73
  298. package/template/.agents/skills/integrations/posthog/SKILL.md +0 -102
  299. package/template/.agents/skills/integrations/posthog/references/error-tracking-alerts.md +0 -63
  300. package/template/.agents/skills/integrations/posthog/references/error-tracking-assigning-issues.md +0 -77
  301. package/template/.agents/skills/integrations/posthog/references/error-tracking-fingerprints.md +0 -57
  302. package/template/.agents/skills/integrations/posthog/references/error-tracking-monitoring.md +0 -140
  303. package/template/.agents/skills/integrations/posthog/references/error-tracking-nextjs.md +0 -490
  304. package/template/.agents/skills/integrations/posthog/references/error-tracking-source-maps.md +0 -45
  305. package/template/.agents/skills/integrations/posthog/references/feature-flags-best-practices.md +0 -139
  306. package/template/.agents/skills/integrations/posthog/references/feature-flags-react.md +0 -302
  307. package/template/.agents/skills/integrations/posthog/references/identify-users.md +0 -202
  308. package/template/.agents/skills/integrations/posthog/references/integration-example.md +0 -706
  309. package/template/.agents/skills/integrations/posthog/references/integration-nextjs.md +0 -385
  310. package/template/.agents/skills/integrations/posthog/references/integration-step-1-begin.md +0 -43
  311. package/template/.agents/skills/integrations/posthog/references/integration-step-2-edit.md +0 -37
  312. package/template/.agents/skills/integrations/posthog/references/integration-step-3-revise.md +0 -22
  313. package/template/.agents/skills/integrations/posthog/references/integration-step-4-conclude.md +0 -38
  314. package/template/.agents/skills/integrations/posthog/references/llm-analytics-anthropic.md +0 -200
  315. package/template/.agents/skills/integrations/posthog/references/llm-analytics-basics.md +0 -62
  316. package/template/.agents/skills/integrations/posthog/references/llm-analytics-costs.md +0 -197
  317. package/template/.agents/skills/integrations/posthog/references/llm-analytics-manual-capture.md +0 -397
  318. package/template/.agents/skills/integrations/posthog/references/llm-analytics-traces.md +0 -98
  319. package/template/.agents/skills/integrations/posthog/references/llm-analytics-vercel-ai.md +0 -120
  320. package/template/.agents/skills/repo/repo-ci/SKILL.md +0 -265
  321. package/template/.agents/skills/repo/repo-init-next-js/SKILL.md +0 -129
  322. package/template/.agents/skills/repo/repo-init-next-js/references/file-contents.md +0 -800
  323. package/template/.agents/skills/repo/repo-init-next-js/scripts/setup.sh +0 -47
  324. package/template/.agents/skills/repo/repo-init-node/SKILL.md +0 -196
  325. package/template/.agents/skills/skill-creator/LICENSE.txt +0 -202
  326. package/template/.agents/skills/skill-creator/SKILL.md +0 -485
  327. package/template/.agents/skills/skill-creator/agents/analyzer.md +0 -274
  328. package/template/.agents/skills/skill-creator/agents/comparator.md +0 -202
  329. package/template/.agents/skills/skill-creator/agents/grader.md +0 -223
  330. package/template/.agents/skills/skill-creator/assets/eval_review.html +0 -146
  331. package/template/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  332. package/template/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  333. package/template/.agents/skills/skill-creator/references/schemas.md +0 -430
  334. package/template/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  335. package/template/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  336. package/template/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
  337. package/template/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
  338. package/template/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
  339. package/template/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
  340. package/template/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
  341. package/template/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
  342. package/template/.agents/skills/skill-creator/scripts/utils.py +0 -47
  343. package/template/.agents/skills/supabase/CHANGELOG.md +0 -71
  344. package/template/.agents/skills/supabase/SKILL.md +0 -145
  345. package/template/.agents/skills/supabase/assets/feedback-issue-template.md +0 -17
  346. package/template/.agents/skills/supabase/references/skill-feedback.md +0 -17
  347. package/template/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +0 -73
  348. package/template/.agents/skills/supabase-postgres-best-practices/SKILL.md +0 -64
  349. package/template/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +0 -170
  350. package/template/.agents/skills/supabase-postgres-best-practices/references/_sections.md +0 -39
  351. package/template/.agents/skills/supabase-postgres-best-practices/references/_template.md +0 -34
  352. package/template/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
  353. package/template/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
  354. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
  355. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
  356. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
  357. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
  358. package/template/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
  359. package/template/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
  360. package/template/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
  361. package/template/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
  362. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
  363. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
  364. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
  365. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
  366. package/template/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
  367. package/template/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
  368. package/template/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
  369. package/template/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
  370. package/template/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
  371. package/template/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
  372. package/template/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
  373. package/template/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
  374. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +0 -80
  375. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
  376. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
  377. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
  378. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
  379. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
  380. package/template/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
  381. package/template/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
  382. package/template/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -63
  383. package/template/.agents/skills/writing/humanizer/SKILL.md +0 -621
  384. package/template/.agents/upstreams.json +0 -116
package/README.md CHANGED
@@ -1,298 +1,256 @@
1
1
  # quiver-cli
2
2
 
3
- Compose a selected subset of skills, slash commands, provider plugins and MCP
4
- servers from a central catalog into any repo as **native configs** for
5
- opencode, Claude Code and Codex with **lockfile-based drift awareness**.
3
+ Quiver V2 installs skills from direct GitHub sources, plus custom skills,
4
+ commands, provider plugins and MCP servers from catalogs. Each installed entry
5
+ has its own source pin and drift baseline. Runtime output remains native to
6
+ OpenCode, Claude Code and Codex; there is no extra agent runtime.
6
7
 
7
- One thing done right: repo composition + drift detection. No marketplace, no
8
- extra agents, no command abstraction.
8
+ **Release status:** this branch documents V2, targeting 2.0.0. The published
9
+ CLI remains 1.3.1 until the V2 release; use a source build to try these contracts.
9
10
 
10
- - **One source of truth** — `.agents/` + `quiver.lock`, committed to the repo.
11
- - **Native output** `.opencode/`, `opencode.json`, `.claude/`, `.mcp.json`,
12
- `.codex/` are generated and gitignored; each tool loads its own format.
13
- - **Drift detection** — content digests for skills/commands, tool snapshots for
14
- MCP servers (including tool-description poisoning).
15
- - **Upstream awareness** — know when a source repo updates a skill you imported.
11
+ - Commit `.agents/` and `quiver.lock`. They are the project's local source of truth.
12
+ - Generate provider files with `sync`; do not edit or commit generated output.
13
+ - Use `check` for local drift and MCP snapshots, and `update` for source changes.
14
+ - Catalog content lives in [quiver-catalog](https://github.com/nbialk/quiver-catalog),
15
+ not in the CLI package.
16
16
 
17
- ## Quick start
17
+ ## Why V2?
18
18
 
19
- Requires **Node >= 20.12** (the interactive pickers depend on it; `init`, `add`,
20
- `remove` and `providers` abort on older versions).
19
+ In V1, "up to date" meant matching the configured catalog. With the default
20
+ bundled catalog, external skill updates depended on a catalog import and a new
21
+ CLI release. V2 removes that bottleneck: external skills track their original
22
+ repositories, while custom and curated content stays in a separate catalog.
23
+ Each installation keeps its own source revision; updates remain explicit.
21
24
 
22
- From the root of the target repository:
25
+ Read the [V2 guide](https://github.com/nbialk/quiver-cli/blob/main/docs/v2.md)
26
+ for the motivation, release highlights, breaking changes and upgrade walkthrough.
23
27
 
24
- ```bash
25
- pnpm dlx quiver-cli init
26
- ```
27
-
28
- The interactive picker lets you select skills, commands and MCP servers from
29
- the catalog; quiver then materializes them into `.agents/`, writes
30
- `quiver.lock`, generates the native provider configs and patches `.gitignore`.
31
-
32
- ```bash
33
- git add .agents quiver.lock .gitignore
34
- git commit -m "chore: add agent config"
35
- ```
28
+ ## Quick Start
36
29
 
37
- Restart your AI tool (opencode, Claude Code, Codex) to load the configs.
38
- Day to day:
30
+ Requires **Node >= 20.12.0**. From the target repository, choose one setup:
39
31
 
40
32
  ```bash
41
- quiver-cli add mcp:context7 # add one entry (skill:/command:/mcp:/plugin:)
42
- quiver-cli sync # regenerate provider configs from .agents/
43
- quiver-cli check # detect drift (CI-friendly: --json, exit 1)
33
+ quiver-cli init # interactive entry and provider selection
34
+ quiver-cli init --empty # alternative: local setup, no catalog fetch or network
44
35
  ```
45
36
 
46
- ## Commands
47
-
48
- | Command | Description |
49
- | -------------------------- | ----------------------------------------------------------------- |
50
- | `quiver-cli init` | Interactive picker; write native configs + `quiver.lock` |
51
- | `quiver-cli add <id>` | Add one entry (`skill:`, `command:`, `mcp:`, `plugin:`) |
52
- | `quiver-cli remove <id>` | Remove one entry; keep lockfile + configs consistent (alias: `rm`)|
53
- | `quiver-cli disable <id>` | Turn an MCP server off locally (`mcp:<name>`, gitignored override)|
54
- | `quiver-cli enable <id>` | Turn a locally disabled MCP server back on |
55
- | `quiver-cli update [id]` | Pull newer catalog content into `.agents/` (all or one entry) |
56
- | `quiver-cli sync` | Regenerate provider configs from `.agents/`; warn on drift |
57
- | `quiver-cli providers` | Change which tools get configs (`opencode`, `claude`, `codex`) |
58
- | `quiver-cli list` | Show skills, commands, plugins + MCP tool counts (alias: `ls`) |
59
- | `quiver-cli check` | Detect drift: skill digests, provider shims, MCP tool snapshots |
60
- | `quiver-cli upstream` | Check source repos for skill updates (catalog maintenance) |
61
- | `quiver-cli upstream pull` | Pull latest upstream content into the catalog (`[skill]`) |
62
- | `quiver-cli help` | Show help |
63
- | `quiver-cli version` | Show the version + any available update (`-v`, `--version`) |
64
-
65
- Options: `-f/--force`, `--all/-y` (non-interactive), `--json`
66
- (check/upstream/list/update), `--providers=opencode,claude` (set the generated
67
- configs for `init`, `sync` and `providers`), `--catalog=<source>` (catalog
68
- source for `init` and `upstream`), `--offline` (skip MCP re-introspection
69
- during `check`), `-V/--verbose` (full tool lists and description diffs in
70
- `check`), `--accept` (record the current MCP tool snapshots as the new
71
- baseline in `check`), `--introspect-stdio` (allow running stdio MCP servers
72
- during `check`).
73
-
74
- Value flags are written with `=` (`--providers=opencode,claude`,
75
- `--catalog=github:acme/catalog`); the space-separated form is not supported.
76
- `quiver-cli providers` also accepts the list as a positional
77
- (`quiver-cli providers opencode,claude`) and falls back to an interactive
78
- multiselect pre-filled with the current selection.
79
-
80
- ## What gets generated
81
-
82
- | Artifact | opencode | Claude Code | Codex |
83
- | -------- | --------------------------- | --------------------------- | ---------------------------- |
84
- | Skills | `.opencode/skills/*` (link) | `.claude/skills/*` (link) | native from `.agents/skills` |
85
- | Commands | `.opencode/commands/*` | `.claude/commands/*` (link) | (not supported yet) |
86
- | MCP | `opencode.json` | `.mcp.json` | `.codex/config.toml` |
87
- | Settings | `.opencode/tui.json` | `.claude/settings.json` | — |
88
- | Plugins | `.opencode/plugins/*` | — | — |
89
- | Guide | `AGENTS.md` (link) | `CLAUDE.md` (link) | `AGENTS.md` (native) |
90
-
91
- `AGENTS.md` at the repo root is a symlink to `.agents/AGENTS.md` (created only
92
- when the catalog ships one); `CLAUDE.md` links to it. Both are written
93
- independently of the provider selection. Codex reads skills and `AGENTS.md`
94
- natively from the repo, so no shims are emitted for those.
95
-
96
- By default configs are generated for all three tools. `init` asks which ones
97
- you use (or pass `--providers=opencode,claude`); the choice is stored in
98
- `quiver.lock`, and deselected tools have their generated files cleaned up on
99
- `sync`.
100
-
101
- Besides `mcpServers` and `plugins`, `.agents/config.json` carries provider
102
- overlays that are copied into the generated configs:
103
-
104
- | Key | Effect |
105
- | ---------- | ----------------------------------------------------------------- |
106
- | `opencode` | Merged with the selected MCP servers into `opencode.json` |
107
- | `tui` | Emitted as `.opencode/tui.json` |
108
- | `claude` | `claude.settings` is written verbatim to `.claude/settings.json` |
109
- | `shared` | Free-form values carried through into the repo's `config.json` |
110
-
111
- Selected local plugins are copied under `.agents/plugins/opencode/` and linked
112
- into OpenCode's plugin discovery directory.
113
-
114
- MCP `${VAR}` placeholders are emitted as OpenCode-native `{env:VAR}` references,
115
- so generated `opencode.json` files never contain resolved secret values.
116
-
117
- The bundled catalog includes the official RTK OpenCode adapter. Install RTK
118
- separately, then enable the adapter per repository:
37
+ `init --all` explicitly selects all eligible catalog entries. `--yes`/`-y`
38
+ confirms defaults, not selection of everything. Non-interactive selection needs
39
+ `--all` or `--empty`; JSON mode never opens a picker. Initialization preserves
40
+ existing local content and refuses to replace an existing lockfile.
119
41
 
120
42
  ```bash
121
- quiver-cli add plugin:rtk
122
- quiver-cli check # also verifies that the rtk binary is on PATH
43
+ quiver-cli add # browse remaining catalog entries
44
+ quiver-cli add mcp:context7 # select one entry
45
+ quiver-cli add --all # explicitly select all remaining entries
46
+ quiver-cli add github:vercel-labs/agent-skills/skills/react-best-practices --name=react-performance
47
+ quiver-cli sync # local provider regeneration
48
+ quiver-cli check --offline # local checks only
123
49
  ```
124
50
 
125
- ## Toggling MCP servers locally
126
-
127
- Some MCP servers are only worth their token cost for specific tasks. Instead
128
- of removing them, switch them off locally:
129
-
130
- ```bash
131
- quiver-cli disable mcp:posthog # drop it from the generated provider configs
132
- quiver-cli enable mcp:posthog # bring it back - instant, no re-introspection
133
- ```
134
-
135
- The state lives in `.agents/config.local.json` (gitignored), so toggling never
136
- touches the committed `.agents/config.json`, `quiver.lock` or your teammates'
137
- setups. Disabled servers keep their lockfile entry and tool snapshot; `list`
138
- marks them as `disabled`, and `check` skips their re-introspection.
139
-
140
- ## The lockfile
51
+ Commit `.agents/`, `quiver.lock` and the generated ignore rules, then restart
52
+ your provider to load its configuration. Keep `.env.local` and
53
+ `.agents/config.local.json` private and gitignored.
141
54
 
142
- `quiver.lock` records, per entry: source path, content digest, and — for MCP
143
- servers — a **tool snapshot** (`{ description, inputSchemaHash }` per tool).
144
- This is the basis for `sync` and `check`.
55
+ ## Sources And Pins
145
56
 
146
- ## `check` drift awareness
57
+ Direct skill sources use `github:owner/repo[/path][#ref]`. The selected directory
58
+ must contain `SKILL.md`; accompanying references and scripts are installed too.
59
+ Use `--name=<alias>` to choose the installed name without changing its source.
147
60
 
148
- `check` is the single drift command. It compares four things:
61
+ - No `#ref` tracks the repository's default branch, not an assumed `main`.
62
+ - A named branch or tag resolves that exact ref on installation and update.
63
+ - A full 40-character commit SHA is fixed. Quiver does not select semver ranges
64
+ or automatically switch to a newer version tag.
65
+ - A unique bare name is accepted where an entry is expected. Disambiguate with
66
+ `skill:name`, `command:name`, `plugin:name` or `mcp:name` when names overlap.
149
67
 
150
- - **Skills/commands**: compares the stored digest against the current `.agents/`
151
- content.
152
- - **Provider shims**: verifies the generated `.opencode/`, `.claude/`, `.codex/`
153
- configs match the lockfile (missing, stale or out-of-sync files) fix with
154
- `quiver-cli sync`.
155
- - **Plugin requirements**: warns when an installed plugin needs a binary that is
156
- not on `PATH` (e.g. `rtk`).
157
- - **MCP servers** (the real lever): re-introspects `tools/list` and diffs against
158
- the snapshot → new/removed tools, changed input schemas, and — security
159
- critical — **changed tool descriptions** (defends against tool-description
160
- poisoning), shown as a readable before/after.
68
+ The default discovery source is `github:nbialk/quiver-catalog`. Its
69
+ `catalog.json` contains pointers to external skills; custom skills, commands,
70
+ plugins and MCP definitions live alongside it. `posthog-custom` is the curated
71
+ Quiver variant, not an unchanged copy of the original PostHog skills. Choose
72
+ an original source explicitly if that is what you want.
161
73
 
162
- The first successful introspection records a baseline; subsequent `check` runs
163
- diff against it. stdio servers run foreign code and are only introspected with
164
- `--introspect-stdio`.
74
+ Catalog pointers are resolved afresh for **new installs only**. Installed entries
75
+ record their own repository/path, requested ref, resolved commit and pristine
76
+ source digest in `quiver.lock`. Changing a catalog alias never retargets an
77
+ installed entry, and its updates do not depend on that alias remaining available.
165
78
 
166
- **OAuth-protected servers** (e.g. Linear): `check` reuses opencode's MCP
167
- credentials (`~/.local/share/opencode/mcp-auth.json`, read-only — quiver never
168
- refreshes or rewrites them). Authenticate once with
169
- `opencode mcp auth <name>`, then re-run `quiver-cli check` to record the tool
170
- snapshot. Without a valid token the server is skipped with an actionable hint,
171
- and `quiver-cli list` shows why the tool count is missing.
172
-
173
- Pass `--offline` to skip MCP re-introspection entirely and check only digests
174
- and provider shims — no network, no foreign code, useful for a fast local
175
- sanity check.
176
-
177
- Once a reported MCP change has been reviewed and is legitimate, record it as the
178
- new baseline:
79
+ Teams can select a custom catalog at initialization:
179
80
 
180
81
  ```bash
181
- quiver-cli check -V # full tool lists and description before/after
182
- quiver-cli check --accept # adopt the current snapshots
82
+ quiver-cli init --catalog=github:acme/agent-catalog
83
+ quiver-cli init --catalog=github:acme/monorepo/tools/agents#stable
84
+ quiver-cli init --catalog=local:/absolute/path/agent-catalog
183
85
  ```
184
86
 
185
- `quiver-cli check --json` is CI-friendly (exit 1 on drift).
186
-
187
- ## `upstream` source updates
188
-
189
- `upstream` is a **catalog-maintenance** command, not a per-repo one. `check`
190
- detects drift between the lockfile and the repo's `.agents/`; `upstream` answers
191
- a different question: **has the source repo updated a skill since it was
192
- imported into the catalog?**
193
-
194
- Because it records baselines (and `pull` rewrites skill copies) **in the catalog
195
- itself**, run it where the catalog is writable — inside the quiver-cli repo, or
196
- against a writable local checkout via `--catalog=local:/absolute/path/.agents`.
197
- Run from a consuming repo, where the catalog is the read-only installed package
198
- (or a remote cache), it aborts with guidance; use `quiver-cli check` /
199
- `quiver-cli update` there instead.
200
-
201
- Origins live in `template/.agents/upstreams.json` (`repo`, `path`, `ref` per
202
- skill). `quiver-cli upstream` queries the GitHub Commits API for the latest
203
- commit touching each path:
87
+ The locator points to the catalog directory itself; append `/.agents` only if
88
+ that is where the catalog actually lives. `local:` is for explicit absolute
89
+ development paths, never paths relative to the CLI package. Local installations
90
+ record their source root, path and digest; they do not invent a Git commit pin.
204
91
 
205
- - First run records a baseline commit per skill.
206
- - Later runs report `up to date`, `upstream updated <old> → <new>`, or `skipped`
207
- (e.g. rate-limited). To lift the anonymous 60 req/h limit, provide a token via
208
- `GITHUB_TOKEN`/`GH_TOKEN` (env or repo `.env.local`), or just log in with the
209
- `gh` CLI its token is picked up automatically.
210
- - Skills flagged `curated: true` are reported as **drift-curated** — they were
211
- modified after import, so changes must be reconciled by hand.
92
+ GitHub downloads use commit-addressed caches under `~/.cache/quiver/catalogs/`
93
+ (or `$XDG_CACHE_HOME/quiver/catalogs/`). Private sources require read access via
94
+ `GITHUB_TOKEN`, then `GH_TOKEN`, then an authenticated `gh` CLI, in that order.
95
+ Authentication, missing paths, invalid refs and rate limits are errors, never
96
+ evidence that an entry is up to date.
212
97
 
213
- `quiver-cli upstream pull [skill]` fetches the latest upstream content into the
214
- catalog via a shallow sparse git clone and records the new baseline. Curated
215
- skills are skipped unless `--force` is given. Repos consuming the catalog then
216
- pick the changes up with `quiver-cli update` (local modifications are never
217
- overwritten without `--force`). `quiver-cli upstream --json` is CI-friendly
218
- (exit 1 on drift).
98
+ ## Local Drift
219
99
 
220
- ## Remote catalogs
100
+ `sync` reads installed `.agents/` content and regenerates provider files. It
101
+ does not fetch sources, advance pins or accept changed lockfile digests. A fresh
102
+ clone can use its committed local files without reaching the catalog.
221
103
 
222
- By default `init` uses the catalog bundled with the package. Teams can host
223
- their own catalog in a GitHub repo and point `init` at it:
104
+ Normal `check` is project-read-only. It compares content/config digests, provider
105
+ files, plugin binary requirements and observed MCP tool descriptions/schemas
106
+ against recorded baselines. It does not silently save a first MCP snapshot.
224
107
 
225
108
  ```bash
226
- quiver-cli init --catalog=github:acme/agent-catalog # .agents at repo root
227
- quiver-cli init --catalog=github:acme/monorepo/tools/.agents # subdirectory
228
- quiver-cli init --catalog=github:acme/agent-catalog#v2 # branch or tag
109
+ quiver-cli check --json
110
+ quiver-cli check --offline
111
+ quiver-cli check mcp:context7 --verbose
112
+ quiver-cli check mcp:context7 --accept # explicitly record the observed snapshot
113
+ quiver-cli check skill:cleanup --offline --accept
114
+ quiver-cli check --all --accept # explicit acceptance for all entries
229
115
  ```
230
116
 
231
- The source is recorded in `quiver.lock` together with the **resolved commit
232
- SHA** (`catalog.ref` / `catalog.resolved`):
117
+ Acceptance updates only the selected local baseline and successfully observed
118
+ MCP snapshots. It does **not** change the pristine source digest, prove source
119
+ authenticity or approve later overwrites of accepted customizations. Missing or
120
+ unsafe local artifacts cannot be accepted.
233
121
 
234
- - `add` installs from the pinned SHA reproducible, and served from the local
235
- cache without network when possible.
236
- - `update` re-resolves the ref (branch/tag HEAD), moves the pin forward and
237
- pulls newer content into `.agents/`.
122
+ `check --offline` performs no network access and runs no stdio MCP code. Skipped,
123
+ missing-baseline or authentication-blocked MCP observations are reported as
124
+ incomplete, not current. In JSON output, inspect `complete` as well as `ok`:
125
+ an intentional offline skip can pass local checks without certifying live tools.
126
+ A missing baseline on a queried server, detected drift or an authentication
127
+ failure produces a nonzero exit code.
238
128
 
239
- Catalogs are downloaded via the GitHub tarball API and cached under
240
- `~/.cache/quiver/catalogs/` (content-addressed by commit SHA, immutable).
241
- `XDG_CACHE_HOME` is honoured if set.
129
+ Stdio introspection requires `--introspect-stdio`, which permits running foreign
130
+ code. For OAuth-protected HTTP servers, Quiver can reuse OpenCode credentials
131
+ read-only; it does not refresh them. Authenticate with `opencode mcp auth <name>`,
132
+ review with `check`, then explicitly accept the snapshot. `inspect <name>` shows
133
+ recorded MCP tools, descriptions and estimated token cost without a source fetch.
242
134
 
243
- ### Private repos & tokens
244
-
245
- For private catalog repos (and to lift API rate limits), provide a GitHub
246
- token. Resolution order: `GITHUB_TOKEN` → `GH_TOKEN` → the `gh` CLI.
247
-
248
- **The cleanest way is the `gh` CLI** — no token to manage, just the familiar
249
- browser-confirm flow:
135
+ ## Source Updates
250
136
 
251
137
  ```bash
252
- gh auth login # browser confirmation; quiver picks up the token automatically
138
+ quiver-cli update --dry-run --json
139
+ quiver-cli update skill:react-performance
140
+ quiver-cli update skill:react-performance --source=github:acme/skills/react#stable --dry-run
253
141
  ```
254
142
 
255
- Once `gh` is authenticated, quiver uses its token automatically. For CI or
256
- environments without `gh`, set `GITHUB_TOKEN` (or `GH_TOKEN`) instead:
257
-
258
- ```bash
259
- GITHUB_TOKEN=ghp_… quiver-cli add mcp:context7
260
- ```
143
+ `update [id]` resolves each installed entry's recorded source independently.
144
+ Without an ID it considers all installed entries. A dry run writes nothing in
145
+ the project, including the lockfile or provider files; it may populate caches.
261
146
 
262
- The token needs read access to the catalog repo. quiver never writes tokens to
263
- generated configs or the lockfile.
147
+ Local edits, including previously accepted customizations, are preserved unless
148
+ you approve discarding them with `--force`. This is destructive content approval,
149
+ not permission to follow a different catalog pointer. Only a targeted
150
+ `update <id> --source=github:...` explicitly retargets an entry. An absolute
151
+ `--source=local:/path/to/artifact` is also supported for local development.
264
152
 
265
- ## Secrets
153
+ Application is staged per entry, with rollback for handled I/O failures. Entries
154
+ that succeed remain correctly locked if later entries fail. This is not a global
155
+ or crash-atomic transaction. If rollback itself fails, recovery backups are
156
+ retained under `.quiver-stage-*`; review the reported location before cleanup.
157
+ Provider generation is separate: repair derived output with `quiver-cli sync`.
266
158
 
267
- MCP servers referencing `${VAR}` placeholders resolve from `.env.local` at the
268
- repo root (gitignored). `init`/`add` generate an `.env.local.example` listing
269
- exactly the variables the selected servers need (none needed → no file). For
270
- Codex, secret headers are mapped to `env_http_headers` so secrets never land in
271
- the committed `config.toml`.
159
+ ## Migrating From V1
272
160
 
273
- ## Staying up to date
161
+ **Migration does not automatically connect old entries to upstream sources.**
162
+ Follow the [V2 upgrade walkthrough](https://github.com/nbialk/quiver-cli/blob/main/docs/v2.md#upgrading-an-existing-project)
163
+ to migrate metadata first and then review source assignments separately.
274
164
 
275
- quiver-cli checks npm for a newer release (at most once a day, cached under
276
- `~/.cache/quiver/`, or `XDG_CACHE_HOME` if set) and prints a one-line notice
277
- after a command when an update is available. `quiver-cli version` checks on
278
- demand. Update with:
165
+ V1 projects can still `list`, `sync` and `check` their local installation without
166
+ fetching the former bundled catalog. Mutations of the lockfile require migration:
279
167
 
280
168
  ```bash
281
- pnpm add -g quiver-cli # or: npm i -g quiver-cli / yarn global add quiver-cli
169
+ quiver-cli migrate --dry-run --json
170
+ quiver-cli migrate
282
171
  ```
283
172
 
284
- The check is best-effort and never blocks or fails a command. It is silenced
285
- automatically for `--json`, non-interactive shells and CI, and can be disabled
286
- entirely with `QUIVER_NO_UPDATE_NOTIFIER=1`.
173
+ Migration changes metadata only. Installed files, IDs, paths, local digests and
174
+ MCP snapshots stay unchanged. Historical origins remain explicitly **legacy and
175
+ unverified**; migration neither fetches content nor fabricates source digests.
176
+
177
+ An old `local:template/.agents` locator is preserved as historical provenance,
178
+ not reinterpreted relative to the new package and not automatically mapped to
179
+ quiver-catalog or an original author's repository. Legacy entries need a reviewed,
180
+ explicit `update <id> --source=github:...` before source updates are possible.
181
+ Use direct sources for new additions when the historical discovery catalog is
182
+ no longer available. Curated V1 content is never silently replaced by originals.
183
+
184
+ ## Provider Output
185
+
186
+ Provider behavior is unchanged in V2: all providers consume local installed
187
+ content, not the discovery catalog or a live remote source.
188
+
189
+ | Artifact | OpenCode | Claude Code | Codex |
190
+ | -------- | -------- | ----------- | ----- |
191
+ | Skills | `.opencode/skills/*` links | `.claude/skills/*` links | native `.agents/skills` |
192
+ | Commands | `.opencode/commands/*` | `.claude/commands/*` links | not supported |
193
+ | MCP | `opencode.json` | `.mcp.json` | `.codex/config.toml` |
194
+ | Settings | `.opencode/tui.json` | `.claude/settings.json` | none |
195
+ | Plugins | `.opencode/plugins/*` links | none | none |
196
+ | Guide | `AGENTS.md` link | `CLAUDE.md` link | native `AGENTS.md` |
197
+
198
+ When `.agents/AGENTS.md` exists, root `AGENTS.md` links to it and `CLAUDE.md`
199
+ links to `AGENTS.md`, independently of provider selection. Ignore rules for
200
+ these generated guides are root-only, so nested source guides remain committable.
201
+
202
+ `init --providers=opencode,claude` selects providers explicitly; otherwise the
203
+ picker offers all three. `providers [a,b]` changes the stored selection and
204
+ regenerates output, cleaning deselected providers. `sync` uses that selection;
205
+ it no longer accepts `--providers`.
206
+
207
+ `.agents/config.json` holds MCP/plugin definitions and provider overlays:
208
+ `opencode` merges into `opencode.json`, `tui` becomes `.opencode/tui.json`,
209
+ `claude.settings` becomes `.claude/settings.json`, and `shared` stays local.
210
+ The catalog's `plugin:rtk` adapter requires RTK installed separately; `check`
211
+ verifies its binary is on `PATH`.
212
+
213
+ `disable mcp:<name>` and `enable mcp:<name>` only change gitignored
214
+ `.agents/config.local.json` and generated output. They preserve committed config,
215
+ pins and snapshots. `list` marks disabled servers, and `check` skips their live
216
+ introspection. `remove <id>` removes an installation; local changes require
217
+ explicit `--force` approval. `rm` and `ls` remain aliases for `remove` and `list`.
218
+
219
+ MCP `${VAR}` placeholders use `.env.local`. Generated OpenCode configuration uses
220
+ `{env:VAR}`; Codex uses `env_http_headers` for secret headers. Example env files
221
+ contain variable names, not credentials. Never commit real secrets or generated
222
+ provider files.
223
+
224
+ ## Limits And Safety
225
+
226
+ - GitHub is the only remote source host. Quiver does not hydrate Git LFS objects
227
+ or submodules.
228
+ - Symlinks inside a selected skill are unsupported. Digests cover file bytes
229
+ and relative paths, not executable bits or other file modes.
230
+ - Quiver copies direct skill scripts but does not execute them. Provider agents
231
+ may execute installed scripts, commands or plugins; installation is not a
232
+ security guarantee. Review sources and updates before enabling them.
233
+ - MCP snapshots expose changes, including possible tool-description poisoning;
234
+ they do not certify a server as safe. See [SECURITY.md](SECURITY.md).
235
+
236
+ Run `quiver-cli help` for command-specific flags. Value options require `=`,
237
+ for example `--name=alias` or `--source=github:owner/repo/path#ref`. There is no
238
+ `upstream` or `outdated` command; use `update --dry-run` for source changes.
239
+ `version` reports the installed CLI version locally. Optional npm update notices
240
+ after online install/update operations can be disabled with
241
+ `QUIVER_NO_UPDATE_NOTIFIER=1`; local/offline commands do not trigger them.
287
242
 
288
243
  ## Development
289
244
 
290
245
  ```bash
291
246
  pnpm install
292
- pnpm build # tsup -> dist/cli.js
293
247
  pnpm typecheck
294
- pnpm test # vitest
248
+ pnpm vitest run test/package.test.ts
249
+ pnpm build
250
+ node bin/quiver-cli.mjs help
295
251
  ```
296
252
 
297
- The catalog lives under `template/.agents/`. Edit it to change what's available
298
- to install.
253
+ The npm package includes `bin/` and `dist/`, plus npm's standard package metadata,
254
+ README and license. It contains no bundled catalog or skill payloads. Contribute
255
+ catalog changes to [quiver-catalog](https://github.com/nbialk/quiver-catalog), not
256
+ this repository's installed `.agents/`. See [CONTRIBUTING.md](CONTRIBUTING.md).