@birdapi/velinstyle 1.2.1 → 1.3.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 (156) hide show
  1. package/README.de.md +148 -11
  2. package/README.md +174 -16
  3. package/cli/__fixtures__/atelier-library/showcases/01-login/app.css +1 -0
  4. package/cli/__fixtures__/atelier-library/showcases/01-login/app.js +2 -0
  5. package/cli/__fixtures__/atelier-library/showcases/01-login/index.html +5 -0
  6. package/cli/__fixtures__/atelier-library/showcases/04-pricing/app.css +1 -0
  7. package/cli/__fixtures__/atelier-library/showcases/04-pricing/app.js +2 -0
  8. package/cli/__fixtures__/atelier-library/showcases/04-pricing/index.html +5 -0
  9. package/cli/__fixtures__/atelier-library/showcases/36-calendar/app.css +1 -0
  10. package/cli/__fixtures__/atelier-library/showcases/36-calendar/app.js +2 -0
  11. package/cli/__fixtures__/atelier-library/showcases/36-calendar/index.html +5 -0
  12. package/cli/atelier-catalog.json +1267 -0
  13. package/cli/atelier-formats.js +159 -0
  14. package/cli/atelier.js +382 -0
  15. package/cli/blueprints/empty-state.html +3 -5
  16. package/cli/cli-manifest.json +441 -161
  17. package/cli/docgen/extract-cli.js +2 -1
  18. package/cli/docs-generate.js +9 -0
  19. package/cli/experience.js +173 -0
  20. package/cli/index.js +1384 -361
  21. package/cli/motion.js +738 -0
  22. package/cli/production/component-graph.json +166 -0
  23. package/cli/production/explain.js +52 -0
  24. package/cli/production/extract.js +278 -0
  25. package/cli/production/graph.js +102 -0
  26. package/cli/production/report.js +168 -0
  27. package/cli/production/run.js +355 -0
  28. package/cli/production/trim-css.js +177 -0
  29. package/cli/production/trim-fonts.js +23 -0
  30. package/cli/production/trim-icons.js +38 -0
  31. package/cli/production/trim-js.js +48 -0
  32. package/cli/production/trim-motion.js +22 -0
  33. package/cli/production/trim-themes.js +50 -0
  34. package/cli/production/watch.js +38 -0
  35. package/cli/review.js +48 -1
  36. package/cli/scripts/write-atelier-fixtures.mjs +33 -0
  37. package/cli/security.js +190 -0
  38. package/cli/skills.js +53 -10
  39. package/cli/transparency.js +140 -41
  40. package/cli/workflow.js +32 -17
  41. package/components/index.js +3 -0
  42. package/components/runtime/component-loaders.js +3 -0
  43. package/components/velin-drawer.js +43 -4
  44. package/components/velin-empty-state.js +83 -0
  45. package/components/velin-modal.js +76 -15
  46. package/components/velin-otp-input.js +220 -0
  47. package/components/velin-password-strength.js +147 -0
  48. package/components/velin-sheet.js +49 -4
  49. package/components/velin-theme-toggle.js +15 -1
  50. package/core/a11y/component-contracts.json +391 -255
  51. package/core/attributes/registry.js +1 -1
  52. package/core/meta/knowledge/components.json +75 -3
  53. package/core/motion/analyze.js +38 -0
  54. package/core/motion/blueprint.js +51 -0
  55. package/core/motion/composer.js +114 -0
  56. package/core/motion/data/registry.json +352 -0
  57. package/core/motion/effects.js +17 -1
  58. package/core/motion/index.js +112 -9
  59. package/core/motion/optimize.js +44 -0
  60. package/core/motion/policy.js +77 -0
  61. package/core/motion/registry.js +131 -0
  62. package/core/motion/review.js +59 -0
  63. package/core/motion/scan.js +150 -0
  64. package/core/motion/timeline.js +68 -0
  65. package/core/motion/transitions.js +49 -0
  66. package/core/motion/triggers.js +168 -0
  67. package/core/security/checks/fs.js +92 -0
  68. package/core/security/detect.js +35 -0
  69. package/core/security/engine.js +116 -0
  70. package/core/security/index.js +18 -0
  71. package/core/security/registry.js +85 -0
  72. package/core/security/report/report.js +113 -0
  73. package/core/security/rules/ci/index.js +146 -0
  74. package/core/security/rules/consumer/index.js +174 -0
  75. package/core/security/rules/deps/index.js +182 -0
  76. package/core/security/rules/index.js +24 -0
  77. package/core/security/rules/publish/index.js +230 -0
  78. package/core/security/rules/repo/index.js +143 -0
  79. package/core/security/rules/secrets/index.js +133 -0
  80. package/core/security/score/dependency-health.js +53 -0
  81. package/core/security/score/release-health.js +66 -0
  82. package/core/security/score/score.js +102 -0
  83. package/core/security/timeline/timeline.js +76 -0
  84. package/dist/chunks/attributes-2ORR27KA.js +404 -0
  85. package/dist/chunks/attributes-HK7VIOLA.js +1080 -0
  86. package/dist/chunks/attributes-VRHHVNDO.js +1080 -0
  87. package/dist/chunks/chunk-MYKUI364.js +116 -0
  88. package/dist/chunks/chunk-NEVBPD5T.js +116 -0
  89. package/dist/chunks/chunk-Y6HN7HWX.js +116 -0
  90. package/dist/chunks/runtime-entry.js +1 -1
  91. package/dist/chunks/velin-drawer-A7Q7EBOS.js +162 -0
  92. package/dist/chunks/velin-empty-state-3NTUH2RF.js +81 -0
  93. package/dist/chunks/velin-modal-3MV4FYBK.js +231 -0
  94. package/dist/chunks/velin-otp-input-PSK42MM6.js +207 -0
  95. package/dist/chunks/velin-password-strength-TAXMLSED.js +136 -0
  96. package/dist/chunks/velin-sheet-N2VVYXFP.js +157 -0
  97. package/dist/chunks/velin-theme-toggle-J2NHC7IM.js +304 -0
  98. package/dist/llms.txt +4 -4
  99. package/dist/search-index.json +232 -5
  100. package/dist/velin-agent.json +433 -46
  101. package/dist/velinstyle-components.iife.js +3695 -2272
  102. package/dist/velinstyle-components.js +3698 -2271
  103. package/dist/velinstyle-components.min.js +262 -120
  104. package/dist/velinstyle.css +96 -13
  105. package/dist/velinstyle.d.ts +3 -0
  106. package/dist/velinstyle.min.css +1 -1
  107. package/package.json +19 -4
  108. package/packages/velinstyle-cli-core/package.json +11 -0
  109. package/packages/velinstyle-cli-core/src/config.js +84 -0
  110. package/packages/velinstyle-cli-core/src/contract.js +56 -0
  111. package/packages/velinstyle-cli-core/src/event-bus.js +50 -0
  112. package/packages/velinstyle-cli-core/src/index.js +18 -0
  113. package/packages/velinstyle-cli-core/src/lifecycle.js +33 -0
  114. package/packages/velinstyle-cli-core/src/runner.js +129 -0
  115. package/packages/velinstyle-cli-registry/data/commands.json +1216 -0
  116. package/packages/velinstyle-cli-registry/data/layouts.json +33 -0
  117. package/packages/velinstyle-cli-registry/data/widgets.json +35 -0
  118. package/packages/velinstyle-cli-registry/package.json +13 -0
  119. package/packages/velinstyle-cli-registry/src/index.js +88 -0
  120. package/packages/velinstyle-cli-renderer/package.json +8 -0
  121. package/packages/velinstyle-cli-renderer/src/index.js +286 -0
  122. package/packages/velinstyle-cli-theme/package.json +8 -0
  123. package/packages/velinstyle-cli-theme/src/index.js +84 -0
  124. package/packages/velinstyle-cli-ui/package.json +8 -0
  125. package/packages/velinstyle-cli-ui/src/index.js +34 -0
  126. package/packages/velinstyle-motion/README.md +81 -0
  127. package/packages/velinstyle-motion/package.json +37 -0
  128. package/packages/velinstyle-motion/src/ai/mini-prompt.js +119 -0
  129. package/packages/velinstyle-motion/src/ai/provider.js +59 -0
  130. package/packages/velinstyle-motion/src/ai/providers/pixverse-setup.js +402 -0
  131. package/packages/velinstyle-motion/src/ai/providers/pixverse.js +245 -0
  132. package/packages/velinstyle-motion/src/config.js +257 -0
  133. package/packages/velinstyle-motion/src/export/html-clip.js +141 -0
  134. package/packages/velinstyle-motion/src/index.js +304 -0
  135. package/packages/velinstyle-motion/src/jobs/cache.js +30 -0
  136. package/packages/velinstyle-motion/src/jobs/queue.js +69 -0
  137. package/packages/velinstyle-motion/src/jobs/usage.js +53 -0
  138. package/packages/velinstyle-motion/src/local/effects.js +139 -0
  139. package/packages/velinstyle-motion/src/local/engine.js +96 -0
  140. package/packages/velinstyle-motion/src/providers-catalog.js +44 -0
  141. package/packages/velinstyle-motion/src/registry/presets.js +25 -0
  142. package/packages/velinstyle-motion/src/registry/presets.json +85 -0
  143. package/packages/velinstyle-motion/src/ux/cost-gate.js +37 -0
  144. package/packages/velinstyle-motion/src/ux/pixverse-gate.js +153 -0
  145. package/packages/velinstyle-motion/src/ux/wizard.js +171 -0
  146. package/packages/velinstyle-motion/src/validate-image.js +91 -0
  147. package/packages/velinstyle-skills/catalog.json +1 -1
  148. package/packages/velinstyle-skills/registry.json +1 -142
  149. package/packages/velinstyle-skills/skills/velin-motion-reduced-safe/SKILL.md +1 -1
  150. package/packages/velinstyle-skills/skills/velin-motion-reveal-feedback/SKILL.md +1 -1
  151. package/src/components/data-table.css +19 -0
  152. package/src/components/empty-auth.css +33 -0
  153. package/src/components/table.css +16 -6
  154. package/src/tokens/motion.css +7 -0
  155. package/src/utilities/scroll-animation.css +66 -0
  156. package/src/velinstyle.css +1 -0
@@ -1,161 +1,441 @@
1
- {
2
- "version": "1.2.1",
3
- "commands": [
4
- {
5
- "name": "init",
6
- "summary": "Create velinstyle.config.js, optional vendor copy, and starter HTML with reveal/sprite defaults",
7
- "flags": [],
8
- "example": "velinstyle init"
9
- },
10
- {
11
- "name": "build",
12
- "summary": "Build custom CSS with selected layers from config",
13
- "flags": ["--output", "-o", "--minify", "--preset"],
14
- "example": "velinstyle build --preset lite -o ./lite.css"
15
- },
16
- {
17
- "name": "themes",
18
- "summary": "List available built-in themes",
19
- "flags": [],
20
- "example": "velinstyle themes"
21
- },
22
- {
23
- "name": "add",
24
- "summary": "Add a single component CSS file to your project",
25
- "flags": [],
26
- "example": "velinstyle add button"
27
- },
28
- {
29
- "name": "icons",
30
- "summary": "Manage icon providers (list, add, remove, build)",
31
- "flags": ["--icons", "--variant"],
32
- "subcommands": ["list", "add", "remove", "build"],
33
- "example": "velinstyle icons add lucide --icons menu,search"
34
- },
35
- {
36
- "name": "scan",
37
- "summary": "Security, accessibility, CSS, and PII scanner (directory or single file)",
38
- "flags": ["--format", "--severity", "--only", "--fix", "--fix-dry-run", "--fix-lang"],
39
- "example": "velinstyle scan index.html"
40
- },
41
- {
42
- "name": "prefix",
43
- "summary": "Add missing velin- prefix to classes (dry-run; use --write)",
44
- "flags": ["--write", "--map", "--bootstrap-display"],
45
- "example": "velinstyle prefix src/ --write"
46
- },
47
- {
48
- "name": "blueprint",
49
- "summary": "Print HTML blueprint snippets; --strict fails on classes missing from CSS",
50
- "flags": ["--output", "-o", "--strict"],
51
- "subcommands": ["list"],
52
- "example": "velinstyle blueprint modal -o snippet.html --strict"
53
- },
54
- {
55
- "name": "create",
56
- "summary": "Scaffold a runnable project: landing | dashboard | docs | auth",
57
- "flags": ["--theme", "--no-copy"],
58
- "subcommands": ["landing", "dashboard", "docs", "auth"],
59
- "example": "velinstyle create landing ./my-site --theme earth"
60
- },
61
- {
62
- "name": "serve",
63
- "summary": "Serve a directory over HTTP (default port 4173)",
64
- "flags": ["--port"],
65
- "example": "velinstyle serve . --port 4173"
66
- },
67
- {
68
- "name": "doctor",
69
- "summary": "Check dist assets, themes, config, icons, and Windows ESM import hints",
70
- "flags": [],
71
- "example": "velinstyle doctor"
72
- },
73
- {
74
- "name": "check",
75
- "summary": "Aggregate gate: doctor + blueprint --strict + scan + review (alias: validate)",
76
- "flags": ["--json", "--sarif", "--profile"],
77
- "example": "velinstyle check . --profile marketing"
78
- },
79
- {
80
- "name": "scaffold",
81
- "summary": "Plan-first page HTML or recipe fragment from natural language",
82
- "flags": ["--output", "-o", "--json"],
83
- "subcommands": ["list-intents"],
84
- "example": "velinstyle scaffold \"Steuerberater Landingpage mit Kontakt\""
85
- },
86
- {
87
- "name": "plan",
88
- "summary": "Emit page plan JSON from a prompt (no HTML)",
89
- "flags": ["--output", "-o", "--json"],
90
- "example": "velinstyle plan \"SaaS landing with pricing\""
91
- },
92
- {
93
- "name": "review",
94
- "summary": "Design / a11y / SEO / performance / conversion review gate",
95
- "flags": ["--json", "--prompt", "--profile"],
96
- "example": "velinstyle review out.html --profile marketing"
97
- },
98
- {
99
- "name": "wc",
100
- "summary": "Inspect Web Component APIs from source",
101
- "flags": [],
102
- "subcommands": ["api"],
103
- "example": "velinstyle wc api velin-toast"
104
- },
105
- {
106
- "name": "layout",
107
- "summary": "Responsive layout audit (flex, grid, viewport)",
108
- "flags": ["--json", "--write", "--dry-run"],
109
- "subcommands": ["audit", "suggest", "fix"],
110
- "example": "velinstyle layout suggest index.html"
111
- },
112
- {
113
- "name": "perf",
114
- "summary": "Performance audit for images and scripts (directory or .html file)",
115
- "flags": ["--json", "--write", "--dry-run"],
116
- "subcommands": ["audit", "suggest", "fix"],
117
- "example": "velinstyle perf audit index.html"
118
- },
119
- {
120
- "name": "tokens",
121
- "summary": "Build or validate design tokens JSON",
122
- "flags": ["--input", "--output", "-o"],
123
- "subcommands": ["build", "validate"],
124
- "example": "velinstyle tokens validate --input examples/tokens.full.json"
125
- },
126
- {
127
- "name": "docs",
128
- "summary": "Generate developer reference Markdown (alias: documentation)",
129
- "flags": ["--scope", "--out"],
130
- "subcommands": ["generate"],
131
- "example": "velinstyle docs generate --scope all"
132
- },
133
- {
134
- "name": "meta",
135
- "summary": "Build Velin-Meta agent bundle; page --write merges curated goals/intent",
136
- "flags": ["--out", "--llms-out", "--base-url", "--no-llms", "--write"],
137
- "subcommands": ["page"],
138
- "example": "velinstyle meta page index.html --write"
139
- },
140
- {
141
- "name": "search",
142
- "summary": "Build JSON search index for VelinSearch",
143
- "flags": ["--out", "--extra-html"],
144
- "subcommands": ["index"],
145
- "example": "velinstyle search index --out dist/search-index.json"
146
- },
147
- {
148
- "name": "skills",
149
- "summary": "Registry-first AI skill catalog and install runner",
150
- "flags": ["--capability", "--status", "--priority", "--origin", "--category", "--target", "--no-deps", "--json", "--human"],
151
- "subcommands": ["list", "show", "install", "run", "validate", "doctor", "packs", "bundles", "templates", "projects", "graphs"],
152
- "example": "velinstyle skills show scaffold.landing --human"
153
- },
154
- {
155
- "name": "workflow",
156
- "summary": "Resolve workflow graph or project workflow steps",
157
- "flags": ["--json", "--dry-run", "--step"],
158
- "example": "velinstyle workflow landingpage --json"
159
- }
160
- ]
161
- }
1
+ {
2
+ "version": "1.3.0",
3
+ "commands": [
4
+ {
5
+ "name": "init",
6
+ "summary": "Create velinstyle.config.js, optional vendor copy, and starter HTML with reveal/sprite defaults",
7
+ "flags": [],
8
+ "example": "velinstyle init"
9
+ },
10
+ {
11
+ "name": "build",
12
+ "summary": "Build custom CSS with selected layers from config, or production output with --production",
13
+ "flags": [
14
+ "--output",
15
+ "-o",
16
+ "--out",
17
+ "--minify",
18
+ "--preset",
19
+ "--production",
20
+ "--explain",
21
+ "--watch",
22
+ "--report",
23
+ "--safelist"
24
+ ],
25
+ "example": "velinstyle build --production --explain -o ./dist/velin-production"
26
+ },
27
+ {
28
+ "name": "production",
29
+ "summary": "Content-aware production builder (CSS/JS/themes/icons/fonts/motion + report)",
30
+ "flags": [
31
+ "--out",
32
+ "-o",
33
+ "--explain",
34
+ "--watch",
35
+ "--report",
36
+ "--safelist",
37
+ "--no-js",
38
+ "--no-icons",
39
+ "--no-themes",
40
+ "--no-motion",
41
+ "--no-minify"
42
+ ],
43
+ "example": "velinstyle production . --explain --report ./report.json"
44
+ },
45
+ {
46
+ "name": "themes",
47
+ "summary": "List available built-in themes",
48
+ "flags": [],
49
+ "example": "velinstyle themes"
50
+ },
51
+ {
52
+ "name": "add",
53
+ "summary": "Add a single component CSS file to your project",
54
+ "flags": [],
55
+ "example": "velinstyle add button"
56
+ },
57
+ {
58
+ "name": "icons",
59
+ "summary": "Manage icon providers (list, add, remove, build)",
60
+ "flags": [
61
+ "--icons",
62
+ "--variant"
63
+ ],
64
+ "example": "velinstyle icons add lucide --icons menu,search",
65
+ "subcommands": [
66
+ "list",
67
+ "add",
68
+ "remove",
69
+ "build"
70
+ ]
71
+ },
72
+ {
73
+ "name": "scan",
74
+ "summary": "Security, accessibility, CSS, and PII scanner (directory or single file)",
75
+ "flags": [
76
+ "--format",
77
+ "--severity",
78
+ "--only",
79
+ "--fix",
80
+ "--fix-dry-run",
81
+ "--fix-lang"
82
+ ],
83
+ "example": "velinstyle scan index.html"
84
+ },
85
+ {
86
+ "name": "prefix",
87
+ "summary": "Add missing velin- prefix to classes (dry-run; use --write)",
88
+ "flags": [
89
+ "--write",
90
+ "--map",
91
+ "--bootstrap-display"
92
+ ],
93
+ "example": "velinstyle prefix src/ --write"
94
+ },
95
+ {
96
+ "name": "blueprint",
97
+ "summary": "Print HTML blueprint snippets; --strict fails on classes missing from CSS",
98
+ "flags": [
99
+ "--output",
100
+ "-o",
101
+ "--strict"
102
+ ],
103
+ "example": "velinstyle blueprint modal -o snippet.html --strict",
104
+ "subcommands": [
105
+ "list"
106
+ ]
107
+ },
108
+ {
109
+ "name": "create",
110
+ "summary": "Scaffold a runnable project: landing | dashboard | docs | auth",
111
+ "flags": [
112
+ "--theme",
113
+ "--no-copy"
114
+ ],
115
+ "example": "velinstyle create landing ./my-site --theme earth",
116
+ "subcommands": [
117
+ "landing",
118
+ "dashboard",
119
+ "docs",
120
+ "auth"
121
+ ]
122
+ },
123
+ {
124
+ "name": "serve",
125
+ "summary": "Serve a directory over HTTP (default port 4173)",
126
+ "flags": [
127
+ "--port"
128
+ ],
129
+ "example": "velinstyle serve . --port 4173"
130
+ },
131
+ {
132
+ "name": "doctor",
133
+ "summary": "Check dist assets, themes, config, icons, and Windows ESM import hints",
134
+ "flags": [],
135
+ "example": "velinstyle doctor"
136
+ },
137
+ {
138
+ "name": "check",
139
+ "summary": "Aggregate gate: doctor + blueprint --strict + scan + review (alias: validate)",
140
+ "flags": [
141
+ "--json",
142
+ "--sarif",
143
+ "--profile"
144
+ ],
145
+ "example": "velinstyle check . --profile marketing"
146
+ },
147
+ {
148
+ "name": "scaffold",
149
+ "summary": "Plan-first page HTML, recipe fragment, or Atelier Library compose (--atelier, beta)",
150
+ "flags": [
151
+ "--output",
152
+ "-o",
153
+ "--json",
154
+ "--atelier",
155
+ "--from",
156
+ "--base-url"
157
+ ],
158
+ "example": "velinstyle scaffold --atelier 04,07 -o compose.html --from ./atelier/library",
159
+ "subcommands": [
160
+ "list-intents"
161
+ ]
162
+ },
163
+ {
164
+ "name": "plan",
165
+ "summary": "Emit page plan JSON from a prompt or --atelier Library ids (beta)",
166
+ "flags": [
167
+ "--output",
168
+ "-o",
169
+ "--json",
170
+ "--atelier"
171
+ ],
172
+ "example": "velinstyle plan --atelier 04,07"
173
+ },
174
+ {
175
+ "name": "atelier",
176
+ "summary": "Pull curated Atelier Library showcase by number/id; blade/vue/react = wrappers only",
177
+ "flags": [
178
+ "--output",
179
+ "-o",
180
+ "--format",
181
+ "--from",
182
+ "--base-url",
183
+ "--rewrite-vendor"
184
+ ],
185
+ "example": "velinstyle atelier 36 -o ./velin-atelier/36-calendar --format html",
186
+ "subcommands": [
187
+ "list"
188
+ ]
189
+ },
190
+ {
191
+ "name": "review",
192
+ "summary": "Design / a11y / SEO / performance / conversion review gate",
193
+ "flags": [
194
+ "--json",
195
+ "--prompt",
196
+ "--profile"
197
+ ],
198
+ "example": "velinstyle review out.html --profile marketing"
199
+ },
200
+ {
201
+ "name": "wc",
202
+ "summary": "Inspect Web Component APIs from source",
203
+ "flags": [],
204
+ "example": "velinstyle wc api velin-toast",
205
+ "subcommands": [
206
+ "api"
207
+ ]
208
+ },
209
+ {
210
+ "name": "layout",
211
+ "summary": "Responsive layout audit (flex, grid, viewport)",
212
+ "flags": [
213
+ "--json",
214
+ "--write",
215
+ "--dry-run"
216
+ ],
217
+ "example": "velinstyle layout suggest index.html",
218
+ "subcommands": [
219
+ "audit",
220
+ "suggest",
221
+ "fix"
222
+ ]
223
+ },
224
+ {
225
+ "name": "perf",
226
+ "summary": "Performance audit for images and scripts (directory or .html file)",
227
+ "flags": [
228
+ "--json",
229
+ "--write",
230
+ "--dry-run"
231
+ ],
232
+ "example": "velinstyle perf audit index.html",
233
+ "subcommands": [
234
+ "audit",
235
+ "suggest",
236
+ "fix"
237
+ ]
238
+ },
239
+ {
240
+ "name": "tokens",
241
+ "summary": "Build or validate design tokens JSON",
242
+ "flags": [
243
+ "--input",
244
+ "--output",
245
+ "-o"
246
+ ],
247
+ "example": "velinstyle tokens validate --input examples/tokens.full.json",
248
+ "subcommands": [
249
+ "build",
250
+ "validate"
251
+ ]
252
+ },
253
+ {
254
+ "name": "docs",
255
+ "summary": "Generate developer reference Markdown (alias: documentation)",
256
+ "flags": [
257
+ "--scope",
258
+ "--out"
259
+ ],
260
+ "example": "velinstyle docs generate --scope all",
261
+ "subcommands": [
262
+ "generate"
263
+ ]
264
+ },
265
+ {
266
+ "name": "meta",
267
+ "summary": "Build Velin-Meta agent bundle; page --write merges curated goals/intent",
268
+ "flags": [
269
+ "--out",
270
+ "--llms-out",
271
+ "--base-url",
272
+ "--no-llms",
273
+ "--write"
274
+ ],
275
+ "example": "velinstyle meta page index.html --write",
276
+ "subcommands": [
277
+ "page"
278
+ ]
279
+ },
280
+ {
281
+ "name": "search",
282
+ "summary": "Build JSON search index for VelinSearch",
283
+ "flags": [
284
+ "--out",
285
+ "--extra-html"
286
+ ],
287
+ "example": "velinstyle search index --out dist/search-index.json",
288
+ "subcommands": [
289
+ "index"
290
+ ]
291
+ },
292
+ {
293
+ "name": "skills",
294
+ "summary": "Registry-first AI skill catalog and install runner",
295
+ "flags": [
296
+ "--capability",
297
+ "--status",
298
+ "--priority",
299
+ "--origin",
300
+ "--category",
301
+ "--target",
302
+ "--no-deps",
303
+ "--json",
304
+ "--human"
305
+ ],
306
+ "example": "velinstyle skills show scaffold.landing --human",
307
+ "subcommands": [
308
+ "list",
309
+ "show",
310
+ "install",
311
+ "run",
312
+ "validate",
313
+ "doctor",
314
+ "packs",
315
+ "bundles",
316
+ "templates",
317
+ "projects",
318
+ "graphs"
319
+ ]
320
+ },
321
+ {
322
+ "name": "workflow",
323
+ "summary": "Resolve workflow graph or project workflow steps",
324
+ "flags": [
325
+ "--json",
326
+ "--dry-run",
327
+ "--step"
328
+ ],
329
+ "example": "velinstyle workflow landingpage --json"
330
+ },
331
+ {
332
+ "name": "dashboard",
333
+ "summary": "Aggregate Production, Review, Accessibility, Transparency, Performance, Security",
334
+ "flags": [],
335
+ "example": "velinstyle dashboard"
336
+ },
337
+ {
338
+ "name": "replay",
339
+ "summary": "Replay a Velin Experience record.json through the same renderer",
340
+ "flags": [],
341
+ "example": "velinstyle replay record.json"
342
+ },
343
+ {
344
+ "name": "transparency",
345
+ "summary": "Transparency Framework doctor, validate, report, export, migrate",
346
+ "flags": [
347
+ "--policy",
348
+ "--json"
349
+ ],
350
+ "example": "velinstyle transparency doctor .",
351
+ "subcommands": [
352
+ "doctor",
353
+ "validate",
354
+ "report",
355
+ "export",
356
+ "migrate"
357
+ ]
358
+ },
359
+ {
360
+ "name": "motion",
361
+ "summary": "Velin Motion — page registry + clip pipeline (create, atelier, AI providers)",
362
+ "flags": [
363
+ "--json",
364
+ "--write",
365
+ "--out",
366
+ "--output",
367
+ "-o",
368
+ "--policy",
369
+ "--preset",
370
+ "--ai",
371
+ "--yes",
372
+ "-y",
373
+ "--provider",
374
+ "--model",
375
+ "--quality",
376
+ "--duration",
377
+ "--style",
378
+ "--prompt",
379
+ "--count",
380
+ "--dry-run",
381
+ "--clips"
382
+ ],
383
+ "example": "velinstyle motion create atelier.webp",
384
+ "subcommands": [
385
+ "list",
386
+ "presets",
387
+ "create",
388
+ "atelier",
389
+ "transition",
390
+ "sequence",
391
+ "export",
392
+ "usage",
393
+ "providers",
394
+ "setup",
395
+ "zoom",
396
+ "pan",
397
+ "rotate",
398
+ "particles",
399
+ "intro",
400
+ "outro",
401
+ "doctor",
402
+ "scan",
403
+ "policy",
404
+ "demo",
405
+ "analyze",
406
+ "review",
407
+ "report",
408
+ "optimize",
409
+ "blueprint"
410
+ ]
411
+ },
412
+ {
413
+ "name": "security",
414
+ "summary": "Velin Security Suite — Security Engine: doctor, scan, audit, publish, ci, deps, secrets, report",
415
+ "flags": [
416
+ "--json",
417
+ "--strict",
418
+ "--repo",
419
+ "--consumer",
420
+ "--ci",
421
+ "--publish",
422
+ "--deps",
423
+ "--secrets",
424
+ "--out",
425
+ "--output",
426
+ "-o"
427
+ ],
428
+ "example": "velinstyle security doctor .",
429
+ "subcommands": [
430
+ "doctor",
431
+ "scan",
432
+ "audit",
433
+ "publish",
434
+ "ci",
435
+ "deps",
436
+ "secrets",
437
+ "report"
438
+ ]
439
+ }
440
+ ]
441
+ }
@@ -9,7 +9,8 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
9
9
  export const REGISTERED_COMMANDS = [
10
10
  'init', 'build', 'themes', 'add', 'icons', 'blueprint', 'create', 'serve', 'doctor', 'check', 'tokens',
11
11
  'scan', 'prefix', 'scaffold', 'plan', 'review', 'layout', 'perf', 'docs', 'meta',
12
- 'search', 'skills', 'workflow', 'wc',
12
+ 'search', 'skills', 'workflow', 'wc', 'production', 'atelier', 'transparency',
13
+ 'dashboard', 'replay', 'motion', 'security',
13
14
  ];
14
15
 
15
16
  export function loadCliManifest() {
@@ -92,6 +92,15 @@ export async function generateDocs(options = {}) {
92
92
 
93
93
  if (run('cli')) {
94
94
  mkdirSync(join(outDir, 'cli'), { recursive: true });
95
+ // Manifest bridge: Experience Registry → cli-manifest.json (single source of truth)
96
+ try {
97
+ const { toCliManifest } = await import('../packages/velinstyle-cli-registry/src/index.js');
98
+ const pkg = JSON.parse(readFileSync(join(PKG_ROOT, 'package.json'), 'utf-8'));
99
+ const bridged = toCliManifest(pkg.version);
100
+ writeFile(join(PKG_ROOT, 'cli', 'cli-manifest.json'), `${JSON.stringify(bridged, null, 2)}\n`);
101
+ } catch (err) {
102
+ console.warn(`Registry → manifest bridge skipped: ${err.message}`);
103
+ }
95
104
  const manifest = loadCliManifest();
96
105
  const errors = validateManifest(manifest);
97
106
  if (errors.length) {