quiver-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +188 -0
- package/bin/quiver-cli.mjs +2 -0
- package/dist/cli.js +3074 -0
- package/package.json +55 -0
- package/template/.agents/AGENTS.md +25 -0
- package/template/.agents/commands/cp.md +116 -0
- package/template/.agents/commands/next-setup.md +1064 -0
- package/template/.agents/commands/tf-readme.md +38 -0
- package/template/.agents/config.json +60 -0
- package/template/.agents/skills/agent-browser/SKILL.md +55 -0
- package/template/.agents/skills/apps/skybridge/SKILL.md +46 -0
- package/template/.agents/skills/apps/skybridge/references/architecture.md +175 -0
- package/template/.agents/skills/apps/skybridge/references/copy-template.md +24 -0
- package/template/.agents/skills/apps/skybridge/references/csp.md +33 -0
- package/template/.agents/skills/apps/skybridge/references/deploy.md +33 -0
- package/template/.agents/skills/apps/skybridge/references/discover.md +84 -0
- package/template/.agents/skills/apps/skybridge/references/download-file.md +77 -0
- package/template/.agents/skills/apps/skybridge/references/fetch-and-render-data.md +151 -0
- package/template/.agents/skills/apps/skybridge/references/oauth.md +115 -0
- package/template/.agents/skills/apps/skybridge/references/open-external-links.md +71 -0
- package/template/.agents/skills/apps/skybridge/references/prompt-llm.md +20 -0
- package/template/.agents/skills/apps/skybridge/references/publish.md +19 -0
- package/template/.agents/skills/apps/skybridge/references/run-locally.md +51 -0
- package/template/.agents/skills/apps/skybridge/references/state-and-context.md +151 -0
- package/template/.agents/skills/apps/skybridge/references/ui-guidelines.md +205 -0
- package/template/.agents/skills/code/cleanup/SKILL.md +26 -0
- package/template/.agents/skills/code/vercel-react-best-practices/AGENTS.md +3810 -0
- package/template/.agents/skills/code/vercel-react-best-practices/README.md +123 -0
- package/template/.agents/skills/code/vercel-react-best-practices/SKILL.md +149 -0
- package/template/.agents/skills/code/vercel-react-best-practices/metadata.json +15 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/_sections.md +46 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/_template.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-defer-await.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/template/.agents/skills/data/prisma-cli/SKILL.md +247 -0
- package/template/.agents/skills/data/prisma-cli/references/db-execute.md +78 -0
- package/template/.agents/skills/data/prisma-cli/references/db-pull.md +185 -0
- package/template/.agents/skills/data/prisma-cli/references/db-push.md +148 -0
- package/template/.agents/skills/data/prisma-cli/references/db-seed.md +188 -0
- package/template/.agents/skills/data/prisma-cli/references/debug.md +46 -0
- package/template/.agents/skills/data/prisma-cli/references/dev.md +157 -0
- package/template/.agents/skills/data/prisma-cli/references/format.md +48 -0
- package/template/.agents/skills/data/prisma-cli/references/generate.md +173 -0
- package/template/.agents/skills/data/prisma-cli/references/init.md +136 -0
- package/template/.agents/skills/data/prisma-cli/references/mcp.md +38 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-deploy.md +127 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-dev.md +145 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-diff.md +89 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-reset.md +78 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-resolve.md +57 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-status.md +65 -0
- package/template/.agents/skills/data/prisma-cli/references/studio.md +137 -0
- package/template/.agents/skills/data/prisma-cli/references/validate.md +53 -0
- package/template/.agents/skills/data/prisma-client-api/SKILL.md +216 -0
- package/template/.agents/skills/data/prisma-client-api/references/client-methods.md +223 -0
- package/template/.agents/skills/data/prisma-client-api/references/constructor.md +208 -0
- package/template/.agents/skills/data/prisma-client-api/references/filters.md +256 -0
- package/template/.agents/skills/data/prisma-client-api/references/model-queries.md +281 -0
- package/template/.agents/skills/data/prisma-client-api/references/query-options.md +276 -0
- package/template/.agents/skills/data/prisma-client-api/references/raw-queries.md +194 -0
- package/template/.agents/skills/data/prisma-client-api/references/relations.md +308 -0
- package/template/.agents/skills/data/prisma-client-api/references/transactions.md +184 -0
- package/template/.agents/skills/design/impeccable/SKILL.md +176 -0
- package/template/.agents/skills/design/impeccable/reference/adapt.md +311 -0
- package/template/.agents/skills/design/impeccable/reference/animate.md +201 -0
- package/template/.agents/skills/design/impeccable/reference/audit.md +133 -0
- package/template/.agents/skills/design/impeccable/reference/bolder.md +113 -0
- package/template/.agents/skills/design/impeccable/reference/brand.md +108 -0
- package/template/.agents/skills/design/impeccable/reference/clarify.md +288 -0
- package/template/.agents/skills/design/impeccable/reference/codex.md +105 -0
- package/template/.agents/skills/design/impeccable/reference/colorize.md +257 -0
- package/template/.agents/skills/design/impeccable/reference/craft.md +123 -0
- package/template/.agents/skills/design/impeccable/reference/critique.md +767 -0
- package/template/.agents/skills/design/impeccable/reference/delight.md +302 -0
- package/template/.agents/skills/design/impeccable/reference/distill.md +111 -0
- package/template/.agents/skills/design/impeccable/reference/document.md +429 -0
- package/template/.agents/skills/design/impeccable/reference/extract.md +69 -0
- package/template/.agents/skills/design/impeccable/reference/harden.md +347 -0
- package/template/.agents/skills/design/impeccable/reference/init.md +172 -0
- package/template/.agents/skills/design/impeccable/reference/interaction-design.md +189 -0
- package/template/.agents/skills/design/impeccable/reference/layout.md +161 -0
- package/template/.agents/skills/design/impeccable/reference/live.md +718 -0
- package/template/.agents/skills/design/impeccable/reference/onboard.md +234 -0
- package/template/.agents/skills/design/impeccable/reference/optimize.md +258 -0
- package/template/.agents/skills/design/impeccable/reference/overdrive.md +130 -0
- package/template/.agents/skills/design/impeccable/reference/polish.md +241 -0
- package/template/.agents/skills/design/impeccable/reference/product.md +60 -0
- package/template/.agents/skills/design/impeccable/reference/quieter.md +99 -0
- package/template/.agents/skills/design/impeccable/reference/shape.md +165 -0
- package/template/.agents/skills/design/impeccable/reference/typeset.md +279 -0
- package/template/.agents/skills/design/impeccable/scripts/cleanup-deprecated.mjs +284 -0
- package/template/.agents/skills/design/impeccable/scripts/command-metadata.json +94 -0
- package/template/.agents/skills/design/impeccable/scripts/context-signals.mjs +225 -0
- package/template/.agents/skills/design/impeccable/scripts/context.mjs +270 -0
- package/template/.agents/skills/design/impeccable/scripts/critique-storage.mjs +242 -0
- package/template/.agents/skills/design/impeccable/scripts/design-parser.mjs +835 -0
- package/template/.agents/skills/design/impeccable/scripts/detect-csp.mjs +198 -0
- package/template/.agents/skills/design/impeccable/scripts/detect.mjs +21 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/browser/injected/index.mjs +1733 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/cli/main.mjs +244 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns-browser.js +4551 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/browser/detect-url.mjs +252 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/regex/detect-text.mjs +535 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +986 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/detect-html.mjs +208 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/findings.mjs +12 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/node/file-system.mjs +198 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/registry/antipatterns.mjs +419 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/rules/checks.mjs +2316 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/shared/constants.mjs +101 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/template/.agents/skills/design/impeccable/scripts/impeccable-paths.mjs +126 -0
- package/template/.agents/skills/design/impeccable/scripts/is-generated.mjs +69 -0
- package/template/.agents/skills/design/impeccable/scripts/live-accept.mjs +812 -0
- package/template/.agents/skills/design/impeccable/scripts/live-browser-session.js +123 -0
- package/template/.agents/skills/design/impeccable/scripts/live-browser.js +10316 -0
- package/template/.agents/skills/design/impeccable/scripts/live-commit-manual-edits.mjs +1241 -0
- package/template/.agents/skills/design/impeccable/scripts/live-complete.mjs +75 -0
- package/template/.agents/skills/design/impeccable/scripts/live-completion.mjs +19 -0
- package/template/.agents/skills/design/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
- package/template/.agents/skills/design/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
- package/template/.agents/skills/design/impeccable/scripts/live-event-validation.mjs +136 -0
- package/template/.agents/skills/design/impeccable/scripts/live-inject.mjs +557 -0
- package/template/.agents/skills/design/impeccable/scripts/live-insert-ui.mjs +458 -0
- package/template/.agents/skills/design/impeccable/scripts/live-insert.mjs +272 -0
- package/template/.agents/skills/design/impeccable/scripts/live-manual-edit-evidence.mjs +363 -0
- package/template/.agents/skills/design/impeccable/scripts/live-manual-edits-buffer.mjs +152 -0
- package/template/.agents/skills/design/impeccable/scripts/live-poll.mjs +379 -0
- package/template/.agents/skills/design/impeccable/scripts/live-resume.mjs +94 -0
- package/template/.agents/skills/design/impeccable/scripts/live-server.mjs +2322 -0
- package/template/.agents/skills/design/impeccable/scripts/live-session-store.mjs +289 -0
- package/template/.agents/skills/design/impeccable/scripts/live-status.mjs +61 -0
- package/template/.agents/skills/design/impeccable/scripts/live-svelte-component.mjs +826 -0
- package/template/.agents/skills/design/impeccable/scripts/live-sveltekit-adapter.mjs +274 -0
- package/template/.agents/skills/design/impeccable/scripts/live-ui-core.mjs +179 -0
- package/template/.agents/skills/design/impeccable/scripts/live-wrap.mjs +894 -0
- package/template/.agents/skills/design/impeccable/scripts/live.mjs +246 -0
- package/template/.agents/skills/design/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/template/.agents/skills/design/impeccable/scripts/palette.mjs +633 -0
- package/template/.agents/skills/design/impeccable/scripts/pin.mjs +214 -0
- package/template/.agents/skills/design/shadcn/SKILL.md +242 -0
- package/template/.agents/skills/design/shadcn/agents/openai.yml +5 -0
- package/template/.agents/skills/design/shadcn/assets/shadcn-small.png +0 -0
- package/template/.agents/skills/design/shadcn/assets/shadcn.png +0 -0
- package/template/.agents/skills/design/shadcn/cli.md +257 -0
- package/template/.agents/skills/design/shadcn/customization.md +202 -0
- package/template/.agents/skills/design/shadcn/evals/evals.json +47 -0
- package/template/.agents/skills/design/shadcn/mcp.md +94 -0
- package/template/.agents/skills/design/shadcn/rules/base-vs-radix.md +306 -0
- package/template/.agents/skills/design/shadcn/rules/composition.md +195 -0
- package/template/.agents/skills/design/shadcn/rules/forms.md +192 -0
- package/template/.agents/skills/design/shadcn/rules/icons.md +101 -0
- package/template/.agents/skills/design/shadcn/rules/styling.md +162 -0
- package/template/.agents/skills/find-skills/SKILL.md +142 -0
- package/template/.agents/skills/integrations/langfuse/SKILL.md +142 -0
- package/template/.agents/skills/integrations/langfuse/references/cli.md +52 -0
- package/template/.agents/skills/integrations/langfuse/references/error-analysis.md +100 -0
- package/template/.agents/skills/integrations/langfuse/references/instrumentation.md +134 -0
- package/template/.agents/skills/integrations/langfuse/references/judge-calibration.md +288 -0
- package/template/.agents/skills/integrations/langfuse/references/prompt-migration.md +234 -0
- package/template/.agents/skills/integrations/langfuse/references/sdk-upgrade.md +175 -0
- package/template/.agents/skills/integrations/langfuse/references/skill-feedback.md +52 -0
- package/template/.agents/skills/integrations/langfuse/references/user-feedback.md +88 -0
- package/template/.agents/skills/integrations/posthog/SKILL.md +102 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-alerts.md +63 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-assigning-issues.md +77 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-fingerprints.md +57 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-monitoring.md +140 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-nextjs.md +490 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-source-maps.md +45 -0
- package/template/.agents/skills/integrations/posthog/references/feature-flags-best-practices.md +139 -0
- package/template/.agents/skills/integrations/posthog/references/feature-flags-react.md +302 -0
- package/template/.agents/skills/integrations/posthog/references/identify-users.md +202 -0
- package/template/.agents/skills/integrations/posthog/references/integration-example.md +706 -0
- package/template/.agents/skills/integrations/posthog/references/integration-nextjs.md +385 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-1-begin.md +43 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-2-edit.md +37 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-3-revise.md +22 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-4-conclude.md +38 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-anthropic.md +200 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-basics.md +62 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-costs.md +197 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-manual-capture.md +397 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-traces.md +98 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-vercel-ai.md +120 -0
- package/template/.agents/skills/repo/repo-ci/SKILL.md +265 -0
- package/template/.agents/skills/repo/repo-init-next-js/SKILL.md +129 -0
- package/template/.agents/skills/repo/repo-init-next-js/references/file-contents.md +800 -0
- package/template/.agents/skills/repo/repo-init-next-js/scripts/setup.sh +47 -0
- package/template/.agents/skills/repo/repo-init-node/SKILL.md +196 -0
- package/template/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/template/.agents/skills/skill-creator/SKILL.md +485 -0
- package/template/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/template/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/template/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/template/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/template/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/template/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/template/.agents/skills/skill-creator/references/schemas.md +430 -0
- package/template/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/template/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/template/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/template/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/template/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/template/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/template/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/template/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/template/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/template/.agents/upstreams.json +80 -0
package/README.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# quiver-cli
|
|
2
|
+
|
|
3
|
+
Compose a selected subset of skills, slash commands and MCP servers from a
|
|
4
|
+
central catalog into any repo — as **native configs** for opencode, Claude Code
|
|
5
|
+
and Codex — with **lockfile-based drift awareness**.
|
|
6
|
+
|
|
7
|
+
One thing done right: repo composition + drift detection. No marketplace, no
|
|
8
|
+
extra agents, no command abstraction.
|
|
9
|
+
|
|
10
|
+
- **One source of truth** — `.agents/` + `quiver.lock`, committed to the repo.
|
|
11
|
+
- **Native output** — `.claude/`, `.opencode/`, `.codex/`, `.mcp.json`,
|
|
12
|
+
`opencode.json` 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.
|
|
16
|
+
|
|
17
|
+
## Quick start
|
|
18
|
+
|
|
19
|
+
From the root of the target repository:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm dlx quiver-cli init
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The interactive picker lets you select skills, commands and MCP servers from
|
|
26
|
+
the catalog; quiver then materializes them into `.agents/`, writes
|
|
27
|
+
`quiver.lock`, generates the native provider configs and patches `.gitignore`.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
git add .agents quiver.lock .gitignore
|
|
31
|
+
git commit -m "chore: add agent config"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Restart your AI tool (Claude Code, opencode, Codex) to load the configs.
|
|
35
|
+
Day to day:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
quiver-cli add mcp:context7 # add one entry (skill:/command:/mcp:)
|
|
39
|
+
quiver-cli sync # regenerate provider configs from .agents/
|
|
40
|
+
quiver-cli check # detect drift (CI-friendly: --json, exit 1)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Commands
|
|
44
|
+
|
|
45
|
+
| Command | Description |
|
|
46
|
+
| -------------------------- | ----------------------------------------------------------------- |
|
|
47
|
+
| `quiver-cli init` | Interactive picker; write native configs + `quiver.lock` |
|
|
48
|
+
| `quiver-cli add <id>` | Add one entry (`skill:<name>`, `command:<name>`, `mcp:<name>`) |
|
|
49
|
+
| `quiver-cli remove <id>` | Remove one entry; keep lockfile + configs consistent |
|
|
50
|
+
| `quiver-cli update [id]` | Pull newer catalog content into `.agents/` (all or one entry) |
|
|
51
|
+
| `quiver-cli sync` | Regenerate provider configs from `.agents/`; warn on drift |
|
|
52
|
+
| `quiver-cli list` | Show installed entries incl. MCP tool counts (alias: `ls`) |
|
|
53
|
+
| `quiver-cli status` | Diff the lockfile against what is actually in the repo (exit 1) |
|
|
54
|
+
| `quiver-cli check` | Detect drift (skill digests, MCP tool snapshots) |
|
|
55
|
+
| `quiver-cli upstream` | Check source repos for skill updates (catalog maintenance) |
|
|
56
|
+
| `quiver-cli upstream pull` | Pull latest upstream content into the catalog (`[skill]`) |
|
|
57
|
+
| `quiver-cli login` | Store a GitHub token for remote (`github:`) catalogs |
|
|
58
|
+
| `quiver-cli logout` | Remove the stored GitHub token |
|
|
59
|
+
| `quiver-cli help` | Show help |
|
|
60
|
+
| `quiver-cli version` | Show the version (`-v`, `--version`) |
|
|
61
|
+
|
|
62
|
+
Options: `-f/--force`, `--all/-y` (non-interactive), `--json`
|
|
63
|
+
(status/check/upstream/list), `--providers=claude,opencode` (limit generated
|
|
64
|
+
configs), `--catalog=<source>` (catalog source for `init`),
|
|
65
|
+
`--introspect-stdio` (allow running stdio MCP servers during `check`).
|
|
66
|
+
|
|
67
|
+
## What gets generated
|
|
68
|
+
|
|
69
|
+
| Artifact | Claude Code | opencode | Codex |
|
|
70
|
+
| -------- | ------------------------ | --------------------------- | ------------------------------ |
|
|
71
|
+
| Skills | `.claude/skills/*` (link)| `.opencode/skills/*` (link) | native from `.agents/skills` |
|
|
72
|
+
| Commands | `.claude/commands/*` | `.opencode/commands/*` | (not supported yet) |
|
|
73
|
+
| MCP | `.mcp.json` | `opencode.json` | `.codex/config.toml` |
|
|
74
|
+
| Guide | `CLAUDE.md` (link) | `AGENTS.md` (link) | `AGENTS.md` (native) |
|
|
75
|
+
|
|
76
|
+
`AGENTS.md` at the repo root is a symlink to `.agents/AGENTS.md` (created only
|
|
77
|
+
when the catalog ships one); `CLAUDE.md` links to it. Codex reads skills and
|
|
78
|
+
`AGENTS.md` natively from the repo, so no shims are emitted for those.
|
|
79
|
+
|
|
80
|
+
By default configs are generated for all three tools. `init` asks which ones
|
|
81
|
+
you use (or pass `--providers=claude,opencode`); the choice is stored in
|
|
82
|
+
`quiver.lock`, and deselected tools have their generated files cleaned up on
|
|
83
|
+
`sync`.
|
|
84
|
+
|
|
85
|
+
## The lockfile
|
|
86
|
+
|
|
87
|
+
`quiver.lock` records, per entry: source path, content digest, and — for MCP
|
|
88
|
+
servers — a **tool snapshot** (`{ description, inputSchemaHash }` per tool).
|
|
89
|
+
This is the basis for `status`, `sync` and `check`.
|
|
90
|
+
|
|
91
|
+
## `check` — drift awareness
|
|
92
|
+
|
|
93
|
+
- **Skills/commands**: compares the stored digest against the current `.agents/`
|
|
94
|
+
content.
|
|
95
|
+
- **MCP servers** (the real lever): re-introspects `tools/list` and diffs against
|
|
96
|
+
the snapshot → new/removed tools, changed input schemas, and — security
|
|
97
|
+
critical — **changed tool descriptions** (defends against tool-description
|
|
98
|
+
poisoning), shown as a readable before/after.
|
|
99
|
+
|
|
100
|
+
The first successful introspection records a baseline; subsequent `check` runs
|
|
101
|
+
diff against it. Servers that fail introspection (e.g. requiring interactive
|
|
102
|
+
OAuth) are reported as skipped. stdio servers run foreign code and are only
|
|
103
|
+
introspected with `--introspect-stdio`.
|
|
104
|
+
|
|
105
|
+
`quiver-cli check --json` is CI-friendly (exit 1 on drift).
|
|
106
|
+
|
|
107
|
+
## `upstream` — source updates
|
|
108
|
+
|
|
109
|
+
`check` detects drift between the lockfile and the repo's `.agents/`. `upstream`
|
|
110
|
+
answers a different question: **has the source repo updated a skill since it was
|
|
111
|
+
imported into the catalog?**
|
|
112
|
+
|
|
113
|
+
Origins live in `template/.agents/upstreams.json` (`repo`, `path`, `ref` per
|
|
114
|
+
skill). `quiver-cli upstream` queries the GitHub Commits API for the latest
|
|
115
|
+
commit touching each path:
|
|
116
|
+
|
|
117
|
+
- First run records a baseline commit per skill.
|
|
118
|
+
- Later runs report `up to date`, `upstream updated <old> → <new>`, or `skipped`
|
|
119
|
+
(e.g. rate-limited). To lift the anonymous 60 req/h limit, provide a token via
|
|
120
|
+
`GITHUB_TOKEN`/`GH_TOKEN` (env or repo `.env.local`), or just log in with the
|
|
121
|
+
`gh` CLI — its token is picked up automatically.
|
|
122
|
+
- Skills flagged `curated: true` are reported as **drift-curated** — they were
|
|
123
|
+
modified after import, so changes must be reconciled by hand.
|
|
124
|
+
|
|
125
|
+
`quiver-cli upstream pull [skill]` fetches the latest upstream content into the
|
|
126
|
+
catalog via a shallow sparse git clone and records the new baseline. Curated
|
|
127
|
+
skills are skipped unless `--force` is given. Repos consuming the catalog then
|
|
128
|
+
pick the changes up with `quiver-cli update` (local modifications are never
|
|
129
|
+
overwritten without `--force`). `quiver-cli upstream --json` is CI-friendly
|
|
130
|
+
(exit 1 on drift).
|
|
131
|
+
|
|
132
|
+
## Remote catalogs
|
|
133
|
+
|
|
134
|
+
By default `init` uses the catalog bundled with the package. Teams can host
|
|
135
|
+
their own catalog in a GitHub repo and point `init` at it:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
quiver-cli init --catalog github:acme/agent-catalog # .agents at repo root
|
|
139
|
+
quiver-cli init --catalog github:acme/monorepo/tools/.agents # subdirectory
|
|
140
|
+
quiver-cli init --catalog github:acme/agent-catalog#v2 # branch or tag
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
The source is recorded in `quiver.lock` together with the **resolved commit
|
|
144
|
+
SHA** (`catalog.ref` / `catalog.resolved`):
|
|
145
|
+
|
|
146
|
+
- `add` installs from the pinned SHA — reproducible, and served from the local
|
|
147
|
+
cache without network when possible.
|
|
148
|
+
- `update` re-resolves the ref (branch/tag HEAD), moves the pin forward and
|
|
149
|
+
pulls newer content into `.agents/`.
|
|
150
|
+
|
|
151
|
+
Catalogs are downloaded via the GitHub tarball API and cached under
|
|
152
|
+
`~/.cache/quiver/catalogs/` (content-addressed by commit SHA, immutable).
|
|
153
|
+
|
|
154
|
+
### Private repos & `login`
|
|
155
|
+
|
|
156
|
+
For private catalog repos (and to lift API rate limits), provide a GitHub
|
|
157
|
+
token. Resolution order: `GITHUB_TOKEN` → `GH_TOKEN` → the token stored by
|
|
158
|
+
`quiver-cli login` → the `gh` CLI.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
quiver-cli login # interactive: paste a PAT (masked)
|
|
162
|
+
gh auth token | quiver-cli login # non-interactive: token from stdin
|
|
163
|
+
quiver-cli logout # remove the stored token
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
`login` validates the token against the GitHub API and stores it in
|
|
167
|
+
`~/.config/quiver/auth.json` (mode `0600`). The token needs read access to the
|
|
168
|
+
catalog repo.
|
|
169
|
+
|
|
170
|
+
## Secrets
|
|
171
|
+
|
|
172
|
+
MCP servers referencing `${VAR}` placeholders resolve from `.env.local` at the
|
|
173
|
+
repo root (gitignored). `init`/`add` generate an `.env.local.example` listing
|
|
174
|
+
exactly the variables the selected servers need (none needed → no file). For
|
|
175
|
+
Codex, secret headers are mapped to `env_http_headers` so secrets never land in
|
|
176
|
+
the committed `config.toml`.
|
|
177
|
+
|
|
178
|
+
## Development
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
pnpm install
|
|
182
|
+
pnpm build # tsup -> dist/cli.js
|
|
183
|
+
pnpm typecheck
|
|
184
|
+
pnpm test # vitest
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
The catalog lives under `template/.agents/`. Edit it to change what's available
|
|
188
|
+
to install.
|