quiver-cli 1.2.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/cli.js +237 -10
  2. package/package.json +1 -1
  3. package/template/.agents/skills/agent-browser/SKILL.md +1 -0
  4. package/template/.agents/skills/apps/skybridge/SKILL.md +2 -0
  5. package/template/.agents/skills/data/prisma-cli/SKILL.md +25 -7
  6. package/template/.agents/skills/data/prisma-cli/references/agent-safety.md +27 -0
  7. package/template/.agents/skills/data/prisma-cli/references/complete.md +22 -0
  8. package/template/.agents/skills/data/prisma-cli/references/db-push.md +2 -0
  9. package/template/.agents/skills/data/prisma-cli/references/init.md +3 -0
  10. package/template/.agents/skills/data/prisma-cli/references/mcp.md +2 -1
  11. package/template/.agents/skills/data/prisma-cli/references/migrate-dev.md +1 -1
  12. package/template/.agents/skills/data/prisma-cli/references/migrate-reset.md +2 -0
  13. package/template/.agents/skills/data/prisma-client-api/SKILL.md +1 -1
  14. package/template/.agents/skills/data/prisma-client-api/references/constructor.md +13 -0
  15. package/template/.agents/skills/data/prisma-client-api/references/raw-queries.md +4 -0
  16. package/template/.agents/skills/design/impeccable/SKILL.md +5 -5
  17. package/template/.agents/skills/design/impeccable/reference/android.md +6 -0
  18. package/template/.agents/skills/design/impeccable/reference/animate.md +3 -0
  19. package/template/.agents/skills/design/impeccable/reference/bolder.md +3 -1
  20. package/template/.agents/skills/design/impeccable/reference/craft-floor.md +2 -0
  21. package/template/.agents/skills/design/impeccable/reference/critique.md +23 -5
  22. package/template/.agents/skills/design/impeccable/reference/degraded/asset-producer.md +15 -68
  23. package/template/.agents/skills/design/impeccable/reference/degraded/finish-reviewer.md +13 -12
  24. package/template/.agents/skills/design/impeccable/reference/distill.md +1 -1
  25. package/template/.agents/skills/design/impeccable/reference/doctor.md +1 -0
  26. package/template/.agents/skills/design/impeccable/reference/document.md +1 -1
  27. package/template/.agents/skills/design/impeccable/reference/extract.md +1 -1
  28. package/template/.agents/skills/design/impeccable/reference/hooks.md +17 -11
  29. package/template/.agents/skills/design/impeccable/reference/init.md +9 -3
  30. package/template/.agents/skills/design/impeccable/reference/ios.md +6 -0
  31. package/template/.agents/skills/design/impeccable/reference/new-work.md +69 -29
  32. package/template/.agents/skills/design/impeccable/reference/overdrive.md +1 -1
  33. package/template/.agents/skills/design/impeccable/reference/polish.md +13 -5
  34. package/template/.agents/skills/design/impeccable/reference/quieter.md +1 -1
  35. package/template/.agents/skills/design/impeccable/reference/routing.md +1 -1
  36. package/template/.agents/skills/design/impeccable/reference/visualize.md +21 -22
  37. package/template/.agents/skills/design/impeccable/scripts/build-phase.mjs +1022 -0
  38. package/template/.agents/skills/design/impeccable/scripts/comp-diff.mjs +391 -0
  39. package/template/.agents/skills/design/impeccable/scripts/comp-spec.mjs +513 -0
  40. package/template/.agents/skills/design/impeccable/scripts/concept-seed.mjs +297 -41
  41. package/template/.agents/skills/design/impeccable/scripts/context-signals.mjs +10 -19
  42. package/template/.agents/skills/design/impeccable/scripts/context.mjs +124 -9
  43. package/template/.agents/skills/design/impeccable/scripts/critique-storage.mjs +279 -19
  44. package/template/.agents/skills/design/impeccable/scripts/data/font-index-failures.json +121 -0
  45. package/template/.agents/skills/design/impeccable/scripts/data/font-index.json +1 -0
  46. package/template/.agents/skills/design/impeccable/scripts/detect.mjs +9 -0
  47. package/template/.agents/skills/design/impeccable/scripts/detector/browser/injected/index.mjs +192 -11
  48. package/template/.agents/skills/design/impeccable/scripts/detector/cli/main.mjs +10 -16
  49. package/template/.agents/skills/design/impeccable/scripts/detector/design-system.mjs +339 -11
  50. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns-browser.js +1482 -722
  51. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns.mjs +1 -0
  52. package/template/.agents/skills/design/impeccable/scripts/detector/engines/browser/detect-url.mjs +64 -2
  53. package/template/.agents/skills/design/impeccable/scripts/detector/engines/regex/detect-text.mjs +580 -29
  54. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +62 -7
  55. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/detect-html.mjs +31 -7
  56. package/template/.agents/skills/design/impeccable/scripts/detector/node/file-system.mjs +23 -22
  57. package/template/.agents/skills/design/impeccable/scripts/detector/registry/antipatterns.mjs +18 -0
  58. package/template/.agents/skills/design/impeccable/scripts/detector/rules/checks.mjs +471 -370
  59. package/template/.agents/skills/design/impeccable/scripts/detector/shared/color.mjs +474 -2
  60. package/template/.agents/skills/design/impeccable/scripts/detector/shared/constants.mjs +17 -2
  61. package/template/.agents/skills/design/impeccable/scripts/doctor.mjs +14 -21
  62. package/template/.agents/skills/design/impeccable/scripts/embed-prompt.mjs +81 -48
  63. package/template/.agents/skills/design/impeccable/scripts/font-match.mjs +457 -0
  64. package/template/.agents/skills/design/impeccable/scripts/generate-image.mjs +219 -12
  65. package/template/.agents/skills/design/impeccable/scripts/hook-admin.mjs +93 -15
  66. package/template/.agents/skills/design/impeccable/scripts/hook-before-edit.mjs +41 -19
  67. package/template/.agents/skills/design/impeccable/scripts/hook-lib.mjs +507 -117
  68. package/template/.agents/skills/design/impeccable/scripts/hook.mjs +10 -9
  69. package/template/.agents/skills/design/impeccable/scripts/lib/concept-catalog.mjs +40 -1
  70. package/template/.agents/skills/design/impeccable/scripts/lib/design-parser.mjs +120 -82
  71. package/template/.agents/skills/design/impeccable/scripts/lib/font-fingerprint.mjs +564 -0
  72. package/template/.agents/skills/design/impeccable/scripts/lib/font-index.mjs +130 -0
  73. package/template/.agents/skills/design/impeccable/scripts/lib/hero-checks.mjs +246 -0
  74. package/template/.agents/skills/design/impeccable/scripts/lib/image-metrics.mjs +306 -0
  75. package/template/.agents/skills/design/impeccable/scripts/lib/impeccable-config.mjs +41 -59
  76. package/template/.agents/skills/design/impeccable/scripts/lib/is-generated.mjs +5 -2
  77. package/template/.agents/skills/design/impeccable/scripts/lib/live-path-globs.mjs +37 -0
  78. package/template/.agents/skills/design/impeccable/scripts/lib/open-system-browser.mjs +26 -0
  79. package/template/.agents/skills/design/impeccable/scripts/lib/png.mjs +281 -0
  80. package/template/.agents/skills/design/impeccable/scripts/lib/raster.mjs +194 -0
  81. package/template/.agents/skills/design/impeccable/scripts/lib/roll-selection.mjs +26 -19
  82. package/template/.agents/skills/design/impeccable/scripts/lib/staleness-deep.mjs +31 -3
  83. package/template/.agents/skills/design/impeccable/scripts/lib/staleness.mjs +93 -17
  84. package/template/.agents/skills/design/impeccable/scripts/lib/surface-briefs.mjs +9 -11
  85. package/template/.agents/skills/design/impeccable/scripts/live/browser-script-parts.mjs +31 -2
  86. package/template/.agents/skills/design/impeccable/scripts/live/project-ignores.mjs +139 -0
  87. package/template/.agents/skills/design/impeccable/scripts/live/svelte-ast.mjs +10 -2
  88. package/template/.agents/skills/design/impeccable/scripts/live/svelte-component.mjs +26 -2
  89. package/template/.agents/skills/design/impeccable/scripts/live/sveltekit-adapter.mjs +15 -27
  90. package/template/.agents/skills/design/impeccable/scripts/live/tanstack-adapter.mjs +4 -25
  91. package/template/.agents/skills/design/impeccable/scripts/live/ui-surfaces.mjs +75 -0
  92. package/template/.agents/skills/design/impeccable/scripts/live-accept.mjs +21 -37
  93. package/template/.agents/skills/design/impeccable/scripts/live-browser-ignores.js +242 -0
  94. package/template/.agents/skills/design/impeccable/scripts/live-browser.js +62 -23
  95. package/template/.agents/skills/design/impeccable/scripts/live-commit-manual-edits.mjs +68 -112
  96. package/template/.agents/skills/design/impeccable/scripts/live-copy-edit-agent.mjs +132 -15
  97. package/template/.agents/skills/design/impeccable/scripts/live-inject.mjs +2 -42
  98. package/template/.agents/skills/design/impeccable/scripts/live-poll.mjs +5 -4
  99. package/template/.agents/skills/design/impeccable/scripts/live-server.mjs +56 -19
  100. package/template/.agents/skills/design/impeccable/scripts/live.mjs +12 -37
  101. package/template/.agents/skills/design/impeccable/scripts/pin.mjs +8 -5
  102. package/template/.agents/skills/design/impeccable/scripts/serve-question.mjs +1006 -155
  103. package/template/.agents/skills/design/shadcn/rules/chat.md +26 -0
  104. package/template/.agents/skills/hono/SKILL.md +17 -3
  105. package/template/.agents/skills/integrations/langfuse/SKILL.md +8 -4
  106. package/template/.agents/skills/integrations/langfuse/references/cli.md +1 -1
  107. package/template/.agents/skills/integrations/langfuse/references/create-dataset.md +35 -0
  108. package/template/.agents/skills/integrations/langfuse/references/error-analysis.md +9 -10
  109. package/template/.agents/skills/integrations/langfuse/references/judge-calibration.md +8 -6
  110. package/template/.agents/skills/integrations/langfuse/references/sdk-upgrade.md +34 -0
  111. package/template/.agents/skills/integrations/langfuse/references/setting-up-evals.md +65 -0
  112. package/template/.agents/skills/integrations/langfuse/references/skill-feedback.md +20 -40
  113. package/template/.agents/skills/integrations/langfuse/references/user-feedback.md +4 -30
  114. package/template/.agents/skills/integrations/langfuse/references/v4-project-migration.md +3 -1
  115. package/template/.agents/skills/supabase/CHANGELOG.md +7 -0
  116. package/template/.agents/skills/supabase/SKILL.md +5 -1
  117. package/template/.agents/skills/writing/humanizer/LICENSE +21 -0
  118. package/template/.agents/skills/writing/humanizer/README.md +209 -0
  119. package/template/.agents/skills/writing/humanizer/SKILL.md +173 -338
  120. package/template/.agents/upstreams.json +21 -22
  121. package/template/.agents/skills/design/impeccable/scripts/live/ui-core.mjs +0 -180
@@ -3,22 +3,22 @@
3
3
  "repo": "alpic-ai/skybridge",
4
4
  "path": "skills/skybridge",
5
5
  "ref": "main",
6
- "commit": "8a90d46eb7f910f4d58c73c1661c737ac8ff0fd9",
7
- "fetchedAt": "2026-07-30T15:54:23.216Z"
6
+ "commit": "1e7aae5b53fe9785da8aac3a6367220672681f5c",
7
+ "fetchedAt": "2026-09-01T18:38:40.321Z"
8
8
  },
9
9
  "prisma-cli": {
10
10
  "repo": "prisma/skills",
11
11
  "path": "prisma-cli",
12
12
  "ref": "main",
13
- "commit": "32465eafa1c21d98fa9f5da4d2e8051513dbe7ae",
14
- "fetchedAt": "2026-06-10T21:25:28.624Z"
13
+ "commit": "808913c1dac11dc425631c2454f7fcb2d5ade5ca",
14
+ "fetchedAt": "2026-09-01T18:38:32.155Z"
15
15
  },
16
16
  "prisma-client-api": {
17
17
  "repo": "prisma/skills",
18
18
  "path": "prisma-client-api",
19
19
  "ref": "main",
20
- "commit": "720cdad61c0f799d63f6d8a1ff653131602bd74f",
21
- "fetchedAt": "2026-06-10T21:25:28.916Z"
20
+ "commit": "808913c1dac11dc425631c2454f7fcb2d5ade5ca",
21
+ "fetchedAt": "2026-09-01T18:38:34.600Z"
22
22
  },
23
23
  "vercel-react-best-practices": {
24
24
  "repo": "vercel-labs/agent-skills",
@@ -46,8 +46,8 @@
46
46
  "repo": "vercel-labs/agent-browser",
47
47
  "path": "skills/agent-browser",
48
48
  "ref": "main",
49
- "commit": "ad97a049231322a6583cbee311958a8999b3f34f",
50
- "fetchedAt": "2026-07-30T15:53:50.953Z"
49
+ "commit": "021d9255e543d2f1ab66b87f338d85c3d7a910be",
50
+ "fetchedAt": "2026-09-01T18:38:21.142Z"
51
51
  },
52
52
  "skill-creator": {
53
53
  "repo": "anthropics/skills",
@@ -60,22 +60,22 @@
60
60
  "repo": "pbakaus/impeccable",
61
61
  "path": ".pi/skills/impeccable",
62
62
  "ref": "main",
63
- "commit": "6b342244e915d64b0d6e84d5eec448fd196ce6bb",
64
- "fetchedAt": "2026-07-30T15:54:06.850Z"
63
+ "commit": "94b7f34f6e27b95bc32d8284a671601ed6ac1b2a",
64
+ "fetchedAt": "2026-09-01T18:38:27.056Z"
65
65
  },
66
66
  "langfuse": {
67
67
  "repo": "langfuse/skills",
68
68
  "path": "skills/langfuse",
69
69
  "ref": "main",
70
- "commit": "e69bb9a1ae62fdbae6ea755a3132fad5b8baa42b",
71
- "fetchedAt": "2026-07-30T15:54:09.513Z"
70
+ "commit": "4a77f3a0c1a15c6e1e62d0e060e0eabe74ad5bda",
71
+ "fetchedAt": "2026-09-01T18:38:29.859Z"
72
72
  },
73
73
  "shadcn": {
74
74
  "repo": "shadcn-ui/ui",
75
75
  "path": "skills/shadcn",
76
76
  "ref": "main",
77
- "commit": "6cd3f4c65c361ab6554e06a77e6a0af9cf8b6e37",
78
- "fetchedAt": "2026-07-30T15:54:20.392Z"
77
+ "commit": "503a3a57aec9a3817e37f90aa0817b1fabd284d0",
78
+ "fetchedAt": "2026-09-01T18:38:37.266Z"
79
79
  },
80
80
  "improve": {
81
81
  "repo": "shadcn/improve",
@@ -88,23 +88,22 @@
88
88
  "repo": "blader/humanizer",
89
89
  "path": "",
90
90
  "ref": "main",
91
- "curated": true,
92
- "commit": "9600f2b7241cb4eed6ad803abee5ea01d67fe8e4",
93
- "fetchedAt": "2026-06-23T16:25:46.439Z"
91
+ "commit": "e2e92e7b4b8229253ed5c8e81dc65463fdeddda5",
92
+ "fetchedAt": "2026-09-01T18:43:37.912Z"
94
93
  },
95
94
  "hono": {
96
- "repo": "yusukebe/hono-skill",
95
+ "repo": "honojs/skills",
97
96
  "path": "skills/hono",
98
97
  "ref": "main",
99
- "commit": "0d2e8dc6fa7e9c6e1c872abdb65db422e95e9de0",
100
- "fetchedAt": "2026-07-18T17:58:44.000Z"
98
+ "commit": "f09ea3c64255a7a21cbde226ee6d8312fc3c5f6d",
99
+ "fetchedAt": "2026-09-01T18:43:35.802Z"
101
100
  },
102
101
  "supabase": {
103
102
  "repo": "supabase/agent-skills",
104
103
  "path": "skills/supabase",
105
104
  "ref": "main",
106
- "commit": "1bf0c4c3a900b4e0b72a6fcd169d626de6a923c1",
107
- "fetchedAt": "2026-07-30T15:54:26.375Z"
105
+ "commit": "8331f910845103c08d51f6ca1d86ebb7d1f745e3",
106
+ "fetchedAt": "2026-09-01T18:38:42.644Z"
108
107
  },
109
108
  "supabase-postgres-best-practices": {
110
109
  "repo": "supabase/agent-skills",
@@ -1,180 +0,0 @@
1
- /**
2
- * Framework-neutral Impeccable live chrome contract.
3
- *
4
- * The production browser bundle is intentionally plain DOM so Svelte, React,
5
- * Vue, and static adapters can all mount the same chrome. This module is the
6
- * testable contract/inventory for that bundle; live-browser.js mirrors these
7
- * values at runtime because it is served as a standalone script.
8
- */
9
-
10
- export const LIVE_CHROME_MOUNT_CONTRACT = Object.freeze([
11
- 'root',
12
- 'transport',
13
- 'state',
14
- 'actions',
15
- ]);
16
-
17
- export const LIVE_UI_SURFACES = Object.freeze([
18
- {
19
- key: 'global-bottom-bar',
20
- ids: [
21
- 'impeccable-live-global-bar',
22
- 'impeccable-live-global-bar-brand',
23
- 'impeccable-live-pick-toggle',
24
- 'impeccable-live-insert-toggle',
25
- 'impeccable-live-detect-toggle',
26
- 'impeccable-live-detect-badge',
27
- 'impeccable-live-design-toggle',
28
- 'impeccable-live-page-chat',
29
- 'impeccable-live-page-chat-input',
30
- 'impeccable-live-page-chat-voice',
31
- ],
32
- states: ['rest', 'hover', 'focus-visible', 'pressed', 'active', 'tooltip'],
33
- },
34
- {
35
- key: 'pending-copy-edit-dock',
36
- ids: ['impeccable-live-pending-dock'],
37
- states: ['closed', 'open', 'hover', 'pressed', 'loading', 'rollback', 'keep-fixing'],
38
- },
39
- {
40
- key: 'element-selection-chrome',
41
- ids: [
42
- 'impeccable-live-highlight',
43
- 'impeccable-live-tooltip',
44
- 'impeccable-live-bar',
45
- 'impeccable-live-selection-pill',
46
- 'impeccable-live-input',
47
- 'impeccable-live-configure-voice',
48
- 'impeccable-live-configure-bar-tooltip',
49
- ],
50
- states: ['rest', 'hover', 'focus-visible', 'pressed', 'disabled'],
51
- },
52
- {
53
- key: 'action-picker',
54
- ids: ['impeccable-live-picker'],
55
- states: ['closed', 'open', 'option-hover', 'option-focus'],
56
- },
57
- {
58
- key: 'edit-chrome',
59
- ids: ['impeccable-live-edit-badge'],
60
- states: ['enabled', 'disabled', 'editing', 'cancel', 'save', 'edited-content'],
61
- },
62
- {
63
- key: 'generating-row',
64
- ids: ['impeccable-live-bar', 'impeccable-live-shader'],
65
- states: ['action-label', 'animated-dots', 'generating', 'done'],
66
- },
67
- {
68
- key: 'variant-cycling-row',
69
- ids: ['impeccable-live-bar', 'impeccable-live-params-panel'],
70
- states: ['variant-1', 'variant-2', 'variant-3', 'left-disabled', 'right-disabled', 'dot-click', 'accept', 'discard'],
71
- },
72
- {
73
- key: 'variant-params-panel',
74
- ids: ['impeccable-live-params-panel'],
75
- states: ['closed', 'open-above', 'open-below', 'range', 'steps', 'toggle'],
76
- },
77
- {
78
- key: 'saving-confirmed-rows',
79
- ids: ['impeccable-live-bar'],
80
- states: ['saving', 'applying-variant', 'confirmed'],
81
- },
82
- {
83
- key: 'insert-mode-chrome',
84
- ids: [
85
- 'impeccable-live-insert-line',
86
- 'impeccable-live-insert-placeholder',
87
- 'impeccable-live-placeholder-resize',
88
- 'impeccable-live-insert-input',
89
- 'impeccable-live-insert-voice',
90
- 'impeccable-live-insert-create',
91
- 'impeccable-live-insert-create-tooltip',
92
- ],
93
- states: ['toggle-active', 'line', 'placeholder', 'resize', 'enabled', 'disabled', 'tooltip'],
94
- },
95
- {
96
- key: 'annotation-chrome',
97
- ids: [
98
- 'impeccable-live-annot',
99
- 'impeccable-live-annot-svg',
100
- 'impeccable-live-annot-pins',
101
- 'impeccable-live-annot-clear',
102
- ],
103
- states: ['overlay', 'drawing', 'pin', 'pin-edit', 'clear'],
104
- },
105
- {
106
- key: 'design-system-panel',
107
- ids: ['impeccable-live-design-host'],
108
- states: ['closed', 'open', 'tabs', 'token-tiles', 'copy'],
109
- },
110
- {
111
- key: 'toasts-and-errors',
112
- ids: ['impeccable-live-toast'],
113
- states: ['normal', 'error', 'no-variants-mounted'],
114
- },
115
- {
116
- key: 'css-isolation-boundary',
117
- ids: ['impeccable-live-root'],
118
- states: ['shadow-root', 'style-tags', 'hostile-css'],
119
- },
120
- ]);
121
-
122
- export const LIVE_UI_COMPONENT_IDS = Object.freeze([
123
- ...new Set(LIVE_UI_SURFACES.flatMap((surface) => surface.ids)),
124
- ]);
125
-
126
- export function resolveLiveUiRoot(env = globalThis) {
127
- const doc = env?.document;
128
- const explicit = env?.__IMPECCABLE_LIVE_UI_ROOT__
129
- || env?.window?.__IMPECCABLE_LIVE_UI_ROOT__;
130
- if (explicit && typeof explicit.appendChild === 'function') return explicit;
131
- return doc?.body || null;
132
- }
133
-
134
- export function getLiveUiElementById(id, env = globalThis) {
135
- const doc = env?.document;
136
- const root = resolveLiveUiRoot(env);
137
- if (!id) return null;
138
- if (root?.getElementById) {
139
- const found = root.getElementById(id);
140
- if (found) return found;
141
- }
142
- if (root?.querySelector) {
143
- const found = root.querySelector('#' + escapeCssIdent(id));
144
- if (found) return found;
145
- }
146
- return doc?.getElementById?.(id) || null;
147
- }
148
-
149
- export function appendToLiveUiRoot(el, env = globalThis) {
150
- const root = resolveLiveUiRoot(env);
151
- if (!root) throw new Error('Impeccable live UI root is not available');
152
- root.appendChild(el);
153
- return el;
154
- }
155
-
156
- export function appendStyleToLiveUiRoot(styleEl, env = globalThis) {
157
- const doc = env?.document;
158
- const root = resolveLiveUiRoot(env);
159
- if (root && root !== doc?.body) {
160
- root.appendChild(styleEl);
161
- } else {
162
- (doc?.head || doc?.body || root).appendChild(styleEl);
163
- }
164
- return styleEl;
165
- }
166
-
167
- export function activeElementDeep(doc = globalThis.document) {
168
- let active = doc?.activeElement || null;
169
- while (active?.shadowRoot?.activeElement) {
170
- active = active.shadowRoot.activeElement;
171
- }
172
- return active;
173
- }
174
-
175
- function escapeCssIdent(value) {
176
- if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
177
- return CSS.escape(String(value));
178
- }
179
- return String(value).replace(/([ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, '\\$1');
180
- }