@birdapi/velinstyle 1.1.0 → 1.2.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 (328) hide show
  1. package/README.de.md +89 -161
  2. package/README.md +187 -119
  3. package/cli/blueprint.js +98 -5
  4. package/cli/blueprints/app-chrome.html +18 -0
  5. package/cli/blueprints/benefits-grid.html +9 -0
  6. package/cli/blueprints/bottom-nav-mobile.html +2 -1
  7. package/cli/blueprints/cookie-consent.html +1 -1
  8. package/cli/blueprints/cta-band.html +6 -0
  9. package/cli/blueprints/faq-section.html +18 -0
  10. package/cli/blueprints/filter-bar.html +4 -4
  11. package/cli/blueprints/form-contact.html +6 -5
  12. package/cli/blueprints/hero-section.html +3 -3
  13. package/cli/blueprints/notification-center.html +1 -1
  14. package/cli/blueprints/onboarding.html +2 -1
  15. package/cli/blueprints/ops-console.html +29 -0
  16. package/cli/blueprints/pricing-band.html +37 -0
  17. package/cli/blueprints/process-steps.html +10 -0
  18. package/cli/blueprints/services-grid.html +9 -0
  19. package/cli/blueprints/settings-panel.html +8 -6
  20. package/cli/blueprints/split-hero.html +25 -0
  21. package/cli/blueprints/testimonials.html +8 -0
  22. package/cli/blueprints/trust-bar.html +10 -0
  23. package/cli/cli-manifest.json +81 -17
  24. package/cli/contrast-utils.js +97 -0
  25. package/cli/create.js +370 -0
  26. package/cli/docgen/extract-attributes.js +128 -10
  27. package/cli/docgen/extract-cli.js +3 -2
  28. package/cli/docgen/extract-components.js +61 -2
  29. package/cli/docgen/extract-utilities.js +10 -10
  30. package/cli/doctor.js +119 -0
  31. package/cli/index.js +560 -44
  32. package/cli/meta.js +84 -1
  33. package/cli/perf-audit.js +15 -2
  34. package/cli/prompt-engine.js +243 -0
  35. package/cli/review.js +268 -0
  36. package/cli/scaffold.js +119 -4
  37. package/cli/scanner-rules-data.js +7 -0
  38. package/cli/scanner.js +357 -4
  39. package/cli/serve.js +81 -0
  40. package/cli/skills.js +223 -0
  41. package/cli/transparency.js +221 -0
  42. package/cli/wc-api.js +89 -0
  43. package/cli/workflow.js +42 -0
  44. package/components/index.js +2 -0
  45. package/components/runtime/component-loaders.js +2 -0
  46. package/components/velin-accordion.js +62 -13
  47. package/components/velin-bottom-nav.js +10 -0
  48. package/components/velin-calendar.js +212 -0
  49. package/components/velin-command.js +18 -2
  50. package/components/velin-data-table.js +78 -1
  51. package/components/velin-dialog.js +4 -1
  52. package/components/velin-drawer.js +2 -4
  53. package/components/velin-file-dropzone.js +162 -0
  54. package/components/velin-icon.js +22 -1
  55. package/components/velin-lightbox.js +5 -3
  56. package/components/velin-modal.js +2 -4
  57. package/components/velin-search.js +1 -1
  58. package/components/velin-sheet.js +2 -4
  59. package/core/a11y/component-contracts.json +20 -3
  60. package/core/attributes/registry.js +14 -0
  61. package/core/meta/build.js +125 -5
  62. package/core/meta/design-constraints/contact.json +9 -0
  63. package/core/meta/design-constraints/faq.json +9 -0
  64. package/core/meta/design-constraints/hero.json +13 -0
  65. package/core/meta/knowledge/components.json +622 -0
  66. package/core/meta/knowledge/tokens.json +282 -0
  67. package/core/meta/pages/registry.json +294 -0
  68. package/core/meta/schema.js +13 -1
  69. package/core/meta/sections/registry.json +185 -0
  70. package/core/transparency/attach.js +74 -0
  71. package/core/transparency/claims.js +97 -0
  72. package/core/transparency/doctor.js +142 -0
  73. package/core/transparency/engine.js +75 -0
  74. package/core/transparency/export.js +98 -0
  75. package/core/transparency/index.js +30 -0
  76. package/core/transparency/migrate.js +130 -0
  77. package/core/transparency/normalize.js +125 -0
  78. package/core/transparency/policy.js +105 -0
  79. package/core/transparency/providers.js +235 -0
  80. package/core/transparency/registry.js +104 -0
  81. package/core/transparency/renderer.js +111 -0
  82. package/core/transparency/reporter.js +113 -0
  83. package/core/transparency/validator.js +112 -0
  84. package/dist/chunks/attach-H2ZSEAE6.js +365 -0
  85. package/dist/chunks/{attributes-STYCS3O5.js → attributes-A423NX5J.js} +3 -3
  86. package/dist/chunks/attributes-DZCXX2RZ.js +404 -0
  87. package/dist/chunks/{attributes-353XDOAX.js → attributes-F6UPIEVP.js} +1 -1
  88. package/dist/chunks/{attributes-ADOKLKA7.js → attributes-GLYXGGAL.js} +3 -3
  89. package/dist/chunks/{attributes-TPANLMLF.js → attributes-UFTYOSAU.js} +3 -3
  90. package/dist/chunks/attributes-XGLXLR2T.js +391 -0
  91. package/dist/chunks/attributes-YF4NI2QS.js +391 -0
  92. package/dist/chunks/browser-AUABBYUK.js +1544 -0
  93. package/dist/chunks/{chunk-RSMRR27R.js → chunk-2LSKX57P.js} +12 -10
  94. package/dist/chunks/{chunk-IEHKRARD.js → chunk-2TGCVDUL.js} +11 -9
  95. package/dist/chunks/{chunk-SRL6EWHP.js → chunk-5JWGUAPC.js} +17 -13
  96. package/dist/chunks/chunk-7YSO2OQ2.js +113 -0
  97. package/dist/chunks/{chunk-QVHYL3R4.js → chunk-BHR3ZG6U.js} +6 -6
  98. package/dist/chunks/chunk-CQMTCEI6.js +113 -0
  99. package/dist/chunks/{chunk-J472ERN2.js → chunk-JMSIHEYX.js} +15 -4
  100. package/dist/chunks/{chunk-MKZP2TBH.js → chunk-L7ZGUU4D.js} +2 -2
  101. package/dist/chunks/chunk-TUGIPKW5.js +113 -0
  102. package/dist/chunks/{highlight-GJHHV4KM.js → highlight-M2ELQNYK.js} +1 -1
  103. package/dist/chunks/runtime-entry.js +1 -1
  104. package/dist/chunks/{velin-accordion-FBIPAEXG.js → velin-accordion-WSY6BMLA.js} +64 -10
  105. package/dist/chunks/{velin-bottom-nav-7GEMPIM6.js → velin-bottom-nav-5RVRNGIP.js} +25 -0
  106. package/dist/chunks/{velin-bottom-nav-N3DFQR66.js → velin-bottom-nav-N5F4UO2I.js} +26 -1
  107. package/dist/chunks/velin-calendar-OFE6THUD.js +210 -0
  108. package/dist/chunks/velin-calendar-PGVNJTXK.js +217 -0
  109. package/dist/chunks/velin-calendar-XC7JRDSH.js +217 -0
  110. package/dist/chunks/{velin-code-block-CIAURDRJ.js → velin-code-block-ZGWG7JI5.js} +1 -1
  111. package/dist/chunks/{velin-combobox-NXS4QB4R.js → velin-combobox-56V2ZWT5.js} +1 -1
  112. package/dist/chunks/{velin-command-ONKO2A3J.js → velin-command-2HO2EKR6.js} +29 -2
  113. package/dist/chunks/{velin-command-TMLSRGIU.js → velin-command-ZJSLPK7B.js} +30 -3
  114. package/dist/chunks/{velin-copy-NYDBOKXT.js → velin-copy-XDQSV2XU.js} +1 -1
  115. package/dist/chunks/{velin-countdown-4ZVDGK4R.js → velin-countdown-V4Z5MA63.js} +1 -1
  116. package/dist/chunks/velin-data-table-UVR42UUM.js +372 -0
  117. package/dist/chunks/{velin-dialog-GTTZI564.js → velin-dialog-3YK2RPRV.js} +9 -2
  118. package/dist/chunks/{velin-dialog-ELFOZIXZ.js → velin-dialog-S24KAP4S.js} +3 -1
  119. package/dist/chunks/{velin-drawer-BE6TYN3H.js → velin-drawer-5PNU624J.js} +2 -4
  120. package/dist/chunks/{velin-drawer-DLL2GLT6.js → velin-drawer-CCM6S25D.js} +3 -5
  121. package/dist/chunks/{velin-email-RBX6ZR4S.js → velin-email-TNFONXPW.js} +1 -1
  122. package/dist/chunks/velin-file-dropzone-QRGF2JNA.js +154 -0
  123. package/dist/chunks/velin-file-dropzone-XIZMJ3NB.js +154 -0
  124. package/dist/chunks/{velin-icon-7M76DOPB.js → velin-icon-A6NCXGUK.js} +59 -17
  125. package/dist/chunks/{velin-icon-ZTSKUOVN.js → velin-icon-EC4B5XCM.js} +18 -5
  126. package/dist/chunks/{velin-lightbox-6E7CAATP.js → velin-lightbox-FFK4TUUP.js} +7 -6
  127. package/dist/chunks/{velin-lightbox-NXA3U2FM.js → velin-lightbox-P725FLTY.js} +5 -4
  128. package/dist/chunks/{velin-menubar-J66JXRWW.js → velin-menubar-6I2LM5HL.js} +1 -1
  129. package/dist/chunks/{velin-modal-5HYNNNUI.js → velin-modal-ICTMGRSU.js} +7 -8
  130. package/dist/chunks/{velin-modal-AEOTZ67O.js → velin-modal-JBNODH7D.js} +2 -4
  131. package/dist/chunks/{velin-popover-T72HK3DF.js → velin-popover-WZG2GHBL.js} +25 -4
  132. package/dist/chunks/{velin-rating-N4DI2XNL.js → velin-rating-QBBYRRBU.js} +1 -1
  133. package/dist/chunks/{velin-search-7B4KJ6TX.js → velin-search-B3L6J2RP.js} +2 -2
  134. package/dist/chunks/{velin-search-2XRQFBCS.js → velin-search-L3UG6NDQ.js} +5 -4
  135. package/dist/chunks/{velin-secure-field-6PV7RZDJ.js → velin-secure-field-DGYMP7OK.js} +1 -1
  136. package/dist/chunks/{velin-segmented-control-GYD5BIXQ.js → velin-segmented-control-P74GJPAR.js} +1 -1
  137. package/dist/chunks/{velin-sheet-R2Y67X6H.js → velin-sheet-M5GZZD7G.js} +2 -4
  138. package/dist/chunks/{velin-sheet-OUK6572T.js → velin-sheet-X7RXIWKV.js} +3 -5
  139. package/dist/chunks/{velin-stepper-X54WGHDG.js → velin-stepper-4YQJUHPC.js} +12 -5
  140. package/dist/chunks/{velin-toast-OMMOA2DK.js → velin-toast-UG5LWTG2.js} +5 -1
  141. package/dist/chunks/{velin-tooltip-BDHGRTQB.js → velin-tooltip-ZDH5SDLU.js} +1 -1
  142. package/dist/llms.txt +31 -8
  143. package/dist/search-index.json +182 -10
  144. package/dist/velin-agent.json +3980 -31
  145. package/dist/velinstyle-components.iife.js +1622 -286
  146. package/dist/velinstyle-components.js +1624 -286
  147. package/dist/velinstyle-components.min.js +262 -114
  148. package/dist/velinstyle.css +412 -67
  149. package/dist/velinstyle.d.ts +2 -0
  150. package/dist/velinstyle.min.css +1 -1
  151. package/package.json +21 -6
  152. package/packages/skill-engine/README.md +24 -0
  153. package/packages/skill-engine/package.json +7 -0
  154. package/packages/skill-engine/src/catalog.js +29 -0
  155. package/packages/skill-engine/src/index.js +5 -0
  156. package/packages/skill-engine/src/install.js +69 -0
  157. package/packages/skill-engine/src/registry.js +27 -0
  158. package/packages/skill-engine/src/resolve.js +68 -0
  159. package/packages/skill-engine/src/validate.js +40 -0
  160. package/packages/velinstyle-skills/README.md +6 -0
  161. package/packages/velinstyle-skills/adapter.json +8 -0
  162. package/packages/velinstyle-skills/bundles/landing-starter.bundle.yaml +12 -0
  163. package/packages/velinstyle-skills/bundles/review-suite.bundle.yaml +11 -0
  164. package/packages/velinstyle-skills/catalog.json +1004 -0
  165. package/packages/velinstyle-skills/graphs/component-ship.graph.yaml +14 -0
  166. package/packages/velinstyle-skills/graphs/landingpage.graph.yaml +21 -0
  167. package/packages/velinstyle-skills/graphs/release-gate.graph.yaml +15 -0
  168. package/packages/velinstyle-skills/index.js +22 -0
  169. package/packages/velinstyle-skills/package.json +7 -0
  170. package/packages/velinstyle-skills/packs/accessibility.pack.yaml +9 -0
  171. package/packages/velinstyle-skills/packs/design.pack.yaml +10 -0
  172. package/packages/velinstyle-skills/packs/documentation.pack.yaml +8 -0
  173. package/packages/velinstyle-skills/packs/enterprise.pack.yaml +10 -0
  174. package/packages/velinstyle-skills/packs/frontend.pack.yaml +10 -0
  175. package/packages/velinstyle-skills/packs/review.pack.yaml +9 -0
  176. package/packages/velinstyle-skills/projects/admin-panel.project.yaml +12 -0
  177. package/packages/velinstyle-skills/projects/blog.project.yaml +11 -0
  178. package/packages/velinstyle-skills/projects/documentation-portal.project.yaml +13 -0
  179. package/packages/velinstyle-skills/projects/ecommerce-shop.project.yaml +12 -0
  180. package/packages/velinstyle-skills/projects/landing-page.project.yaml +12 -0
  181. package/packages/velinstyle-skills/projects/laravel-dashboard.project.yaml +12 -0
  182. package/packages/velinstyle-skills/projects/marketing-website.project.yaml +14 -0
  183. package/packages/velinstyle-skills/projects/portfolio.project.yaml +12 -0
  184. package/packages/velinstyle-skills/registry.json +142 -0
  185. package/packages/velinstyle-skills/scripts/generate-assets.mjs +163 -0
  186. package/packages/velinstyle-skills/skills/velin-a11y-focus-keyboard/SKILL.md +57 -0
  187. package/packages/velinstyle-skills/skills/velin-a11y-page-checklist/SKILL.md +57 -0
  188. package/packages/velinstyle-skills/skills/velin-a11y-scan-fix/SKILL.md +57 -0
  189. package/packages/velinstyle-skills/skills/velin-ai-agent-briefing/SKILL.md +57 -0
  190. package/packages/velinstyle-skills/skills/velin-ai-plan-scaffold-review/SKILL.md +57 -0
  191. package/packages/velinstyle-skills/skills/velin-ai-skill-authoring/SKILL.md +57 -0
  192. package/packages/velinstyle-skills/skills/velin-components-accessibility-map/SKILL.md +57 -0
  193. package/packages/velinstyle-skills/skills/velin-components-api-contract/SKILL.md +57 -0
  194. package/packages/velinstyle-skills/skills/velin-components-recipe/SKILL.md +57 -0
  195. package/packages/velinstyle-skills/skills/velin-components-select-compose/SKILL.md +57 -0
  196. package/packages/velinstyle-skills/skills/velin-design-hero-compose/SKILL.md +57 -0
  197. package/packages/velinstyle-skills/skills/velin-design-section-rhythm/SKILL.md +57 -0
  198. package/packages/velinstyle-skills/skills/velin-design-surface-roles/SKILL.md +57 -0
  199. package/packages/velinstyle-skills/skills/velin-dev-component-wire/SKILL.md +57 -0
  200. package/packages/velinstyle-skills/skills/velin-dev-page-scaffold/SKILL.md +57 -0
  201. package/packages/velinstyle-skills/skills/velin-dev-plan-first/SKILL.md +57 -0
  202. package/packages/velinstyle-skills/skills/velin-docs-component-guide/SKILL.md +57 -0
  203. package/packages/velinstyle-skills/skills/velin-docs-generate-api/SKILL.md +57 -0
  204. package/packages/velinstyle-skills/skills/velin-dx-doctor-setup/SKILL.md +57 -0
  205. package/packages/velinstyle-skills/skills/velin-dx-project-init/SKILL.md +57 -0
  206. package/packages/velinstyle-skills/skills/velin-migration-legacy-wc/SKILL.md +57 -0
  207. package/packages/velinstyle-skills/skills/velin-migration-prefix-classes/SKILL.md +57 -0
  208. package/packages/velinstyle-skills/skills/velin-motion-reduced-safe/SKILL.md +57 -0
  209. package/packages/velinstyle-skills/skills/velin-motion-reveal-feedback/SKILL.md +57 -0
  210. package/packages/velinstyle-skills/skills/velin-perf-audit-fix/SKILL.md +57 -0
  211. package/packages/velinstyle-skills/skills/velin-perf-runtime-tree-shake/SKILL.md +57 -0
  212. package/packages/velinstyle-skills/skills/velin-release-changelog-sync/SKILL.md +57 -0
  213. package/packages/velinstyle-skills/skills/velin-release-meta-rebuild/SKILL.md +57 -0
  214. package/packages/velinstyle-skills/skills/velin-review-conversion-hero/SKILL.md +57 -0
  215. package/packages/velinstyle-skills/skills/velin-review-page-gate/SKILL.md +57 -0
  216. package/packages/velinstyle-skills/skills/velin-review-seo-meta/SKILL.md +57 -0
  217. package/packages/velinstyle-skills/skills/velin-security-sanitize-html/SKILL.md +57 -0
  218. package/packages/velinstyle-skills/skills/velin-security-scan-pii/SKILL.md +57 -0
  219. package/packages/velinstyle-skills/skills/velin-testing-a11y-suite/SKILL.md +57 -0
  220. package/packages/velinstyle-skills/skills/velin-testing-visual-smoke/SKILL.md +57 -0
  221. package/packages/velinstyle-skills/skills/velin-themes-apply-token/SKILL.md +57 -0
  222. package/packages/velinstyle-skills/skills/velin-themes-contrast-check/SKILL.md +57 -0
  223. package/packages/velinstyle-skills/skills/velin-utilities-layout-apply/SKILL.md +57 -0
  224. package/packages/velinstyle-skills/skills/velin-utilities-prefix-fix/SKILL.md +57 -0
  225. package/packages/velinstyle-skills/skills/velin-utilities-token-map/SKILL.md +57 -0
  226. package/packages/velinstyle-skills/templates/admin-panel.template.yaml +12 -0
  227. package/packages/velinstyle-skills/templates/blog.template.yaml +12 -0
  228. package/packages/velinstyle-skills/templates/documentation-portal.template.yaml +12 -0
  229. package/packages/velinstyle-skills/templates/ecommerce-shop.template.yaml +13 -0
  230. package/packages/velinstyle-skills/templates/landing-page.template.yaml +12 -0
  231. package/packages/velinstyle-skills/templates/laravel-dashboard.template.yaml +11 -0
  232. package/packages/velinstyle-skills/templates/marketing-website.template.yaml +13 -0
  233. package/packages/velinstyle-skills/templates/portfolio.template.yaml +12 -0
  234. package/schemas/component-knowledge.schema.json +33 -0
  235. package/schemas/design-constraint.schema.json +15 -0
  236. package/schemas/design-intelligence.schema.json +19 -0
  237. package/schemas/design-rule.schema.json +19 -0
  238. package/schemas/page-template.schema.json +24 -0
  239. package/schemas/review-report.schema.json +36 -0
  240. package/schemas/section.schema.json +22 -0
  241. package/schemas/skill-bundle.schema.json +15 -0
  242. package/schemas/skill-graph.schema.json +25 -0
  243. package/schemas/skill-pack.schema.json +14 -0
  244. package/schemas/skill-project.schema.json +16 -0
  245. package/schemas/skill-record.schema.json +27 -0
  246. package/schemas/skill-registry.schema.json +17 -0
  247. package/schemas/skill-template.schema.json +17 -0
  248. package/schemas/token-graph.schema.json +27 -0
  249. package/schemas/utility.schema.json +166 -0
  250. package/src/components/alert.css +22 -1
  251. package/src/components/calendar-dropzone.css +5 -0
  252. package/src/components/transparency.css +138 -0
  253. package/src/layout/app-shell.css +33 -0
  254. package/src/tokens/shadow.css +13 -0
  255. package/src/utilities/border.css +2 -0
  256. package/src/utilities/display.css +1 -24
  257. package/src/utilities/responsive.css +16 -1
  258. package/src/utilities/spacing.css +32 -0
  259. package/src/velinstyle.css +3 -0
  260. package/dist/chunks/attributes-3BZLI7XF.js +0 -364
  261. package/dist/chunks/attributes-4N5JP4CG.js +0 -364
  262. package/dist/chunks/attributes-5Q2WXGRC.js +0 -374
  263. package/dist/chunks/attributes-AIR7SVLK.js +0 -364
  264. package/dist/chunks/attributes-BGRN5XZO.js +0 -364
  265. package/dist/chunks/attributes-BVSQAYLR.js +0 -364
  266. package/dist/chunks/attributes-CDYFUY7Y.js +0 -364
  267. package/dist/chunks/attributes-JMYJZBPE.js +0 -364
  268. package/dist/chunks/attributes-R5JY3X4O.js +0 -374
  269. package/dist/chunks/attributes-TNSPQTHX.js +0 -374
  270. package/dist/chunks/chunk-2354NEBP.js +0 -109
  271. package/dist/chunks/chunk-2VNA7G7S.js +0 -109
  272. package/dist/chunks/chunk-AQLRJSGG.js +0 -109
  273. package/dist/chunks/chunk-EWPSDMQT.js +0 -109
  274. package/dist/chunks/chunk-LA7264K4.js +0 -85
  275. package/dist/chunks/chunk-QTJJ3DPO.js +0 -109
  276. package/dist/chunks/chunk-RZQVWFHW.js +0 -109
  277. package/dist/chunks/chunk-U4XHMZ7D.js +0 -109
  278. package/dist/chunks/chunk-V5YIUA6G.js +0 -109
  279. package/dist/chunks/chunk-XIET2VSZ.js +0 -109
  280. package/dist/chunks/chunk-XYLJ2GCB.js +0 -205
  281. package/dist/chunks/chunk-ZPSPKUYD.js +0 -109
  282. package/dist/chunks/highlight-XTHRKBA3.js +0 -37
  283. package/dist/chunks/velin-bottom-nav-2N2TYWOF.js +0 -86
  284. package/dist/chunks/velin-carousel-Y5VCOABZ.js +0 -213
  285. package/dist/chunks/velin-code-block-ASUBTAQV.js +0 -119
  286. package/dist/chunks/velin-code-block-TSUKPY4C.js +0 -123
  287. package/dist/chunks/velin-code-block-Y6CM726Q.js +0 -119
  288. package/dist/chunks/velin-combobox-2KDTCQ7N.js +0 -155
  289. package/dist/chunks/velin-command-M7RNHUPR.js +0 -136
  290. package/dist/chunks/velin-copy-T5KDTDXP.js +0 -81
  291. package/dist/chunks/velin-countdown-5XSTN3BH.js +0 -101
  292. package/dist/chunks/velin-counter-ISCTEAHI.js +0 -118
  293. package/dist/chunks/velin-dialog-D2GUHSCD.js +0 -144
  294. package/dist/chunks/velin-dialog-IJLFDXAJ.js +0 -144
  295. package/dist/chunks/velin-dialog-TNS3WXMB.js +0 -144
  296. package/dist/chunks/velin-drawer-MJS6WCF7.js +0 -130
  297. package/dist/chunks/velin-email-N5B5ZYTE.js +0 -90
  298. package/dist/chunks/velin-icon-KZO3IEHG.js +0 -164
  299. package/dist/chunks/velin-lightbox-I75U6JF4.js +0 -140
  300. package/dist/chunks/velin-lightbox-QOTB4PRL.js +0 -140
  301. package/dist/chunks/velin-lightbox-UCD6N7HF.js +0 -140
  302. package/dist/chunks/velin-live-dot-XHUZCIDZ.js +0 -67
  303. package/dist/chunks/velin-menubar-SFEXJE56.js +0 -86
  304. package/dist/chunks/velin-modal-2HOBXE6F.js +0 -176
  305. package/dist/chunks/velin-modal-GLI2XZZB.js +0 -176
  306. package/dist/chunks/velin-popover-EXINRIGJ.js +0 -145
  307. package/dist/chunks/velin-popover-OXX7MRZ6.js +0 -145
  308. package/dist/chunks/velin-popover-YKCCROJG.js +0 -145
  309. package/dist/chunks/velin-rating-XRQJV4LO.js +0 -91
  310. package/dist/chunks/velin-scroll-top-F2FCZNYD.js +0 -58
  311. package/dist/chunks/velin-search-4YHJWYSS.js +0 -556
  312. package/dist/chunks/velin-search-LWHY23Q5.js +0 -474
  313. package/dist/chunks/velin-secure-field-H7FSBUJW.js +0 -95
  314. package/dist/chunks/velin-segmented-control-PQX6LKOJ.js +0 -109
  315. package/dist/chunks/velin-sheet-3OGI4HD7.js +0 -119
  316. package/dist/chunks/velin-sparkline-GVEANJVW.js +0 -184
  317. package/dist/chunks/velin-sparkline-KDA3GQAN.js +0 -162
  318. package/dist/chunks/velin-stepper-2ZIHLKGM.js +0 -141
  319. package/dist/chunks/velin-stepper-FYEUEWE6.js +0 -141
  320. package/dist/chunks/velin-stepper-wc-QU3KRVQR.js +0 -133
  321. package/dist/chunks/velin-theme-toggle-BNNS7WLV.js +0 -285
  322. package/dist/chunks/velin-theme-toggle-NO7V4TWI.js +0 -285
  323. package/dist/chunks/velin-theme-toggle-QELCJM2Q.js +0 -291
  324. package/dist/chunks/velin-toast-RCZ4CSUC.js +0 -109
  325. package/dist/chunks/velin-toast-WEUBTJG6.js +0 -109
  326. package/dist/chunks/velin-tooltip-664IOHZA.js +0 -112
  327. package/dist/chunks/velin-tooltip-wc-LXDVT6DE.js +0 -103
  328. package/dist/chunks/worker-client-R6DBYPFT.js +0 -46
package/README.md CHANGED
@@ -9,47 +9,81 @@
9
9
  ╚═══╝ ╚══════╝╚══════╝╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝
10
10
  ```
11
11
 
12
+ **Accessibility-first CSS Framework · Web Components · Design Intelligence · AI Workflows**
13
+
14
+ One framework. One CLI. One design system. One AI-ready ecosystem.
15
+
12
16
  [![License: MIT](https://img.shields.io/badge/License-MIT-2563eb?style=flat-square)](LICENSE)
13
- [![Release](https://img.shields.io/badge/Release-v1.0.0-2563eb?style=flat-square)](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.0.0)
14
- [![npm version](https://img.shields.io/npm/v/@birdapi/velinstyle?style=flat-square)](https://www.npmjs.com/package/@birdapi/velinstyle)
15
- [![WCAG 2.2 AAA](https://img.shields.io/badge/WCAG_2.2-AAA-16a34a?style=flat-square)](https://velinstyle.info/docs/a11y.html)
17
+ [![npm](https://img.shields.io/npm/v/@birdapi/velinstyle?style=flat-square)](https://www.npmjs.com/package/@birdapi/velinstyle)
18
+ [![npm downloads](https://img.shields.io/npm/dm/@birdapi/velinstyle?style=flat-square)](https://www.npmjs.com/package/@birdapi/velinstyle)
16
19
  [![GitHub stars](https://img.shields.io/github/stars/SkyliteDesign/velinstyle?style=flat-square)](https://github.com/SkyliteDesign/velinstyle/stargazers)
20
+ [![Node.js](https://img.shields.io/badge/Node.js-18%2B-339933?style=flat-square)](https://nodejs.org/)
21
+ [![Browsers](https://img.shields.io/badge/Browsers-modern-0ea5e9?style=flat-square)](https://velinstyle.info/docs/getting-started/introduction.html)
22
+ [![WCAG 2.2 AAA support](https://img.shields.io/badge/WCAG_2.2-AAA_support-16a34a?style=flat-square)](https://velinstyle.info/docs/getting-started/accessibility.html)
17
23
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-2563eb?style=flat-square)](CONTRIBUTING.md)
18
24
 
19
25
  ```bash
20
26
  npm i @birdapi/velinstyle
21
27
  ```
22
28
 
23
- **[Website](https://velinstyle.info)** · **[Docs](https://velinstyle.info/docs/)** · **[Demos](https://velinstyle.info/demos/)** · **[npm](https://www.npmjs.com/package/@birdapi/velinstyle)** · **[Star on GitHub](https://github.com/SkyliteDesign/velinstyle)**
24
-
25
- **English** · **[Deutsch](README.de.md)**
29
+ **[Website](https://velinstyle.info)** · **[Docs](https://velinstyle.info/docs/getting-started/introduction.html)** · **[Demos](https://velinstyle.info/demos/)** · **[Getting Started](GETTING_STARTED.md)** · **[Architecture](ARCHITECTURE.md)** · **[Deutsch](README.de.md)**
26
30
 
27
31
  </div>
28
32
 
29
33
  ---
30
34
 
31
- **VelinStyle** is the **WCAG 2.2 AAA CSS framework** with native JavaScript runtime and Web Components CSS utilities, 1.0.0 modules (search, motion, highlight, attributes, meta), and security tooling, with **no external UI framework dependencies** in the core.
35
+ VelinStyle is a **production CSS + Web Components framework** with **WCAG 2.2 AAA-oriented defaults**, a real **CLI ship surface**, the **Transparency Framework** (labeling + provenance, beta), and the first **Design Intelligence / AI Foundation** systems (beta). No external UI framework in the core.
32
36
 
33
- Built for teams who want **readable HTML**, **AAA token defaults** (AA via `data-velin-contrast="aa"`), and **CLI automation** instead of utility sprawl.
37
+ **Best fit today:** marketing landings, docs shells, simple admin starters.
38
+ **Not yet:** sole primary stack for large multipage shop + enterprise admin without custom work.
34
39
 
35
- > **Dogfooding:** The entire VelinStyle website and documentation runs 100% on VelinStyle no external scripts or UI frameworks.
40
+ > **Release:** **1.2.1** (Transparency Framework + Core + Design Intelligence Foundation + Trust/Ship). Using VelinStyle does **not** certify your app see the [a11y matrix](https://velinstyle.info/docs/getting-started/accessibility.html).
36
41
 
37
42
  ---
38
43
 
39
- ## Features at a glance
44
+ ## Why VelinStyle
45
+
46
+ | Need | What you get |
47
+ |------|----------------|
48
+ | Readable HTML | Semantic BEM (`velin-btn--primary`), not utility walls |
49
+ | Accessibility | AAA-capable tokens, focus management, reduced motion — built in |
50
+ | Ship without a build | CDN CSS + optional WCs; Vite/React when you want them |
51
+ | Predictable overrides | Cascade layers + OKLCH design tokens |
52
+ | Quality gates | `scan`, `review`, `check` — catch real defects before merge |
53
+ | AI that helps | Skills, workflows, and agent metadata — **Mensch → Framework → KI** |
54
+
55
+ Compared to **Tailwind**: less class sprawl, stronger defaults for contrast and semantics.
56
+ Compared to **Bootstrap**: modern tokens/layers, optional progressive WCs, CLI automation instead of jQuery-era chrome.
57
+
58
+ ---
40
59
 
41
- - **CSS utilities** — `velin-*` spacing, color, flex, motion, safe-area; cascade layers + OKLCH tokens
42
- - **35+ components** — semantic BEM classes (`velin-btn`, `velin-card`, `velin-grid`, …)
43
- - **Motion runtime** reveal, stagger, scroll-driven animation, rAF scheduler
44
- - **VelinSearch** — fuzzy offline search with highlighting and categories
45
- - **Syntax highlighting** lazy in-view highlighting for JS, TS, HTML, CSS, JSON, Bash, Python, YAML, Go, Rust, and more
46
- - **HTML attributes** 27 declarative bridges (`velin-modal`, `velin-reveal`, `velin-scroll-top`, `velin-code`, …)
47
- - **Quality** 38/38 component a11y contracts, Playwright cross-browser smoke (`npm run test:e2e`), CLS placeholders (`wc-placeholder.css`)
48
- - **Security tools** `scan`, PII rules, sanitize API, hardened components
49
- - **CLI** init, build, scan, scaffold, tokens, docs generate, perf audit, layout audit
50
- - **Velin-Meta** `velin-agent.json`, `llms.txt`, and page-level agent JSON for AI assistants
51
- - **React adapter** `@velinstyle/react` wraps every canonical Web Component with typed props and events
52
- - **Release guard** `npm run release:check` fails the build on version or docs drift between framework and site
60
+ ## Feature highlights
61
+
62
+ | | Area | What it does |
63
+ |---|------|----------------|
64
+ | 🎨 | **CSS Framework** | OKLCH themes, utilities, components, lite preset for marketing budgets |
65
+ | 🧩 | **Web Components** | 40 canonical custom elements; use CSS alone when you need no JS |
66
+ | ⚡ | **Runtime** | Search, motion, highlight, attributes, `bootFromDOM` tree-shaking |
67
+ | 🛠 | **CLI** | `create` · `serve` · `doctor` · `check` · `scan` · `review` · `skills` · `transparency` |
68
+ | 🔎 | **Transparency** | Labeling + provenance (AI / trust / compliance / metadata) — beta foundation |
69
+ | 🧠 | **Design Intelligence** | Plan constraints page/section registry review (beta) |
70
+ | 🤖 | **AI Skills** | 40 skills, packs, bundles, templates, workflow graphs (beta) |
71
+ | 📦 | **Registry** | Skills + page/section registries as machine-readable contracts |
72
+ | 📄 | **AI Metadata** | `velin-agent.json`, `llms.txt`, page-level agent JSON |
73
+ | 📚 | **Documentation** | Dogfooded site — 100% VelinStyle |
74
+ | 🔍 | **Review Engine** | Heuristic design / a11y / SEO / conversion gates (beta) |
75
+ | 🛡 | **Scan Engine** | A11y, security, CSS honesty, PII |
76
+ | 🚀 | **Performance** | Lite CSS, chunked runtime, CLS placeholders |
77
+ | ♿ | **Accessibility** | Contracts, WCAG 2.2 tooling, keyboard + ARIA patterns |
78
+
79
+ ---
80
+
81
+ ## What's new in 1.2.1
82
+
83
+ - **Transparency Framework (beta)** — `@birdapi/velinstyle/transparency`, `velin-transparency` bridge, claim taxonomy, CLI `transparency doctor|validate|report|export|migrate`
84
+ - Builds on **1.2.0** foundation: ship surface, Design Intelligence, AI Skills, new WC primitives
85
+
86
+ Details: [`CHANGELOG.md`](CHANGELOG.md) · 1.2.0 overview: [`RELEASE_NOTES_1.2.0.md`](RELEASE_NOTES_1.2.0.md)
53
87
 
54
88
  ---
55
89
 
@@ -57,30 +91,31 @@ Built for teams who want **readable HTML**, **AAA token defaults** (AA via `data
57
91
 
58
92
  ```bash
59
93
  npm i @birdapi/velinstyle
94
+ pnpm add @birdapi/velinstyle
95
+ yarn add @birdapi/velinstyle
96
+ bun add @birdapi/velinstyle
60
97
  ```
61
98
 
62
- | Path | Use |
63
- | --- | --- |
64
- | `@birdapi/velinstyle/css` | Full minified stylesheet |
65
- | `@birdapi/velinstyle/bundle` | Web Components ESM bundle |
66
- | `@birdapi/velinstyle/search` | VelinSearch module |
67
- | `@birdapi/velinstyle/motion` | Motion runtime |
68
- | `@birdapi/velinstyle/attributes` | HTML attribute bridges |
69
- | `@birdapi/velinstyle/highlight` | Syntax highlighting |
70
- | `@birdapi/velinstyle/meta` | Agent metadata API |
71
-
72
- **CDN (pin version):**
99
+ **CDN** (pin a version):
73
100
 
74
101
  ```html
75
- <link rel="stylesheet" href="https://unpkg.com/@birdapi/velinstyle@1.1.0/dist/velinstyle.min.css">
76
- <script type="module" src="https://unpkg.com/@birdapi/velinstyle@1.1.0/dist/velinstyle-components.min.js"></script>
102
+ <link rel="stylesheet" href="https://unpkg.com/@birdapi/velinstyle@1.2.1/dist/velinstyle.min.css">
103
+ <script type="module" src="https://unpkg.com/@birdapi/velinstyle@1.2.1/dist/velinstyle-components.min.js"></script>
77
104
  ```
78
105
 
79
- After cloning, run `npm install && npm run build` `dist/` is generated, not committed.
106
+ > Pin **`@1.2.1`** (or `@latest` after publish). Examples above match this package version.
107
+
108
+ | Export | Use |
109
+ |--------|-----|
110
+ | `@birdapi/velinstyle/css` | Full stylesheet |
111
+ | `@birdapi/velinstyle/bundle` | Web Components ESM |
112
+ | `/search` `/motion` `/attributes` `/highlight` `/meta` `/sanitize` | Tree-shakeable modules |
113
+
114
+ After clone: `npm install && npm run build` — `dist/` is generated, not committed.
80
115
 
81
116
  ---
82
117
 
83
- ## Quickstart
118
+ ## Quick start
84
119
 
85
120
  ```html
86
121
  <!DOCTYPE html>
@@ -88,143 +123,176 @@ After cloning, run `npm install && npm run build` — `dist/` is generated, not
88
123
  <head>
89
124
  <meta charset="UTF-8">
90
125
  <meta name="viewport" content="width=device-width, initial-scale=1">
91
- <link rel="stylesheet" href="https://unpkg.com/@birdapi/velinstyle@1.1.0/dist/velinstyle.min.css">
92
- <script type="module" src="https://unpkg.com/@birdapi/velinstyle@1.1.0/dist/velinstyle-components.min.js"></script>
126
+ <link rel="stylesheet" href="https://unpkg.com/@birdapi/velinstyle@1.2.1/dist/velinstyle.min.css">
127
+ <script type="module" src="https://unpkg.com/@birdapi/velinstyle@1.2.1/dist/velinstyle-components.min.js"></script>
93
128
  </head>
94
129
  <body class="velin-p-6">
95
- <button type="button" class="velin-btn velin-btn--primary" velin-reveal="slide-up">Ship it</button>
96
- <velin-code-block language="html" line-numbers>&lt;p class="velin-text-muted"&gt;Hello VelinStyle&lt;/p&gt;</velin-code-block>
130
+ <button type="button" class="velin-btn velin-btn--primary">Ship it</button>
131
+ <velin-toast></velin-toast>
97
132
  </body>
98
133
  </html>
99
134
  ```
100
135
 
101
- ---
136
+ Scaffold + gate (local 1.2 tree / after publish):
102
137
 
103
- ## Core modules (1.0.0)
138
+ ```bash
139
+ npx @birdapi/velinstyle create landing ./my-site
140
+ cd my-site && npx @birdapi/velinstyle serve . && npx @birdapi/velinstyle check .
141
+ ```
104
142
 
105
- | Export | Description |
106
- | --- | --- |
107
- | `@birdapi/velinstyle/search` | Fuzzy offline search, providers, optional Web Worker |
108
- | `@birdapi/velinstyle/motion` | `initMotion`, stagger, smooth scroll, unified `.velin-in-view` |
109
- | `@birdapi/velinstyle/attributes` | Registry of declarative `velin-*` HTML attribute bridges |
110
- | `@birdapi/velinstyle/highlight` | `velinSyntax`, lazy language packs, OKLCH token colors |
111
- | `@birdapi/velinstyle/meta` | `buildAgentBundle`, page meta MIME `application/vnd.velinstyle.meta+json` |
143
+ More: [`GETTING_STARTED.md`](GETTING_STARTED.md)
112
144
 
113
145
  ---
114
146
 
115
- ## Web Components
116
-
117
- **38 canonical** custom elements (40 lazy-loader entries including legacy `velin-tooltip-wc` and `velin-stepper-wc`) — use plain CSS when you do not need behavior. `src/base/wc-placeholder.css` reduces layout shift before elements upgrade.
118
-
119
- Examples: `velin-modal`, `velin-search`, `velin-code-block`, `velin-drawer`, `velin-stepper`, `velin-tooltip`, `velin-toast`, `velin-persist`, `velin-data-table`, `velin-form-summary`.
147
+ ## CLI
120
148
 
121
- React wrappers for every canonical element ship in [`@velinstyle/react`](./packages/react/README.md).
149
+ | Command | Role |
150
+ |---------|------|
151
+ | `init` | Project config |
152
+ | `create` | Opinionated scaffolds (`landing` · `dashboard` · `docs` · `auth`) |
153
+ | `build` | CSS build (`--preset lite` for marketing) |
154
+ | `serve` | Static preview |
155
+ | `doctor` | Install / path health |
156
+ | `check` | doctor + blueprints + scan + review (+ Transparency scores) |
157
+ | `scan` | A11y / security / CSS / PII |
158
+ | `review` | Design-intelligence gate (beta) |
159
+ | `transparency` | doctor · validate · report · export · migrate (beta) |
160
+ | `plan` | Prompt → plan JSON → render (beta) |
161
+ | `skills` / `workflow` | AI skill registry & graphs (beta) |
162
+ | `meta` | Agent bundle + `llms.txt` |
163
+ | `wc api <tag>` | Human-readable WC API from source |
122
164
 
123
- - [Component documentation](https://velinstyle.info/docs/components/buttons.html)
124
- - [Generated Web Component API](https://velinstyle.info/docs/generated/components/README.md)
165
+ ```bash
166
+ npx @birdapi/velinstyle check . --profile marketing
167
+ npx @birdapi/velinstyle transparency doctor . --policy examples/transparency.policy.json
168
+ npx @birdapi/velinstyle wc api velin-toast
169
+ ```
125
170
 
126
171
  ---
127
172
 
128
- ## CLI
173
+ ## AI Skills & Design Intelligence
174
+
175
+ **AI Skills** give agents and humans a shared vocabulary: skill records, packs, bundles, templates, and workflow graphs. They exist so tooling can scaffold, review, and ship **without inventing VelinStyle from scratch**.
129
176
 
130
- | Command | Purpose |
131
- | --- | --- |
132
- | `npx velinstyle init` | Create `velinstyle.config.js` in your project |
133
- | `npx velinstyle scan` | Security, accessibility, CSS, and PII checks |
134
- | `npx velinstyle search index` | Build `dist/search-index.json` for offline doc search |
135
- | `npx velinstyle tokens build` | Compile design tokens JSON to CSS |
136
- | `npx velinstyle meta` | Generate `velin-agent.json` and `llms.txt` |
177
+ **Design Intelligence** adds structure ordinary CSS frameworks lack: a knowledge graph seed, page/section registries, design constraints, and `plan` / `review` so pages are assembled from known patterns — then checked against profiles (`marketing` · `app` · `docs` · `ecommerce`).
137
178
 
138
- Also: `npx velinstyle docs generate` Markdown reference under `docs/generated/`.
179
+ Deep dive: [`ARCHITECTURE.md`](ARCHITECTURE.md) · [`VELINSTYLE_2030.md`](VELINSTYLE_2030.md) · Strategy (lokal, nicht im Git): [`docs/strategy/README.md`](docs/strategy/README.md)
139
180
 
140
181
  ---
141
182
 
142
- ## Security
183
+ ## Components
143
184
 
144
- VelinStyle ships **first-class security tooling**, not an afterthought:
185
+ **40 canonical** custom elements (**42** lazy-loader entries including legacy `*-wc` aliases).
145
186
 
146
- - **`velinstyle scan`**markup and a11y rules; PII scanner (`--only pii`, `--fix`)
147
- - **`@birdapi/velinstyle/sanitize`** — URL and text sanitization helpers
148
- - **`<velin-secure-field>`** — no plaintext secrets in the DOM; hardened search/copy URLs
187
+ Philosophy: **progressive enhancement**semantic HTML + CSS first; upgrade to a Web Component only when you need behavior (focus traps, sorting, offline search).
149
188
 
150
- [Security documentation](https://velinstyle.info/docs/extend/security.html)
189
+ Highlights: `velin-modal`, `velin-drawer`, `velin-search`, `velin-data-table`, `velin-form-summary`, `velin-calendar`, `velin-file-dropzone`, `velin-toast`, `velin-code-block`.
190
+
191
+ React: [`@velinstyle/react`](./packages/react/README.md) wraps every canonical tag.
151
192
 
152
193
  ---
153
194
 
154
- ## Velin-Meta
195
+ ## Accessibility
155
196
 
156
- Machine-readable context for **Cursor, Copilot, and custom agents**:
197
+ Accessibility is a **default**, not a plugin.
157
198
 
158
- - **Global bundle** `dist/velin-agent.json` + `dist/llms.txt` via `velinstyle meta`
159
- - **Page-level meta** `<script type="application/vnd.velinstyle.meta+json" id="velin-meta">`
160
- - **CLI** `velinstyle meta page my.html --write`
199
+ - WCAG 2.2 **AAA-oriented** token defaults (`data-velin-contrast="aa"` when you need the lighter palette)
200
+ - Semantic HTML patterns and BEM components
201
+ - Keyboard support, focus management, `inert` overlays
202
+ - `prefers-reduced-motion` gating
203
+ - Component a11y contracts + scanner rules
161
204
 
162
- [Velin-Meta guide](https://velinstyle.info/docs/guides/velin-meta.html)
205
+ Docs: [a11y matrix](https://velinstyle.info/docs/getting-started/accessibility.html) · AAA marketing language: see `VELINSTYLE_2030.md` (strategy ADRs are local-only)
163
206
 
164
207
  ---
165
208
 
166
- ## Docs & website
167
-
168
- - [velinstyle.info](https://velinstyle.info) product site and demos
169
- - [Guides](https://velinstyle.info/docs/guides/index.html) · [Feature scope](https://velinstyle.info/docs/guides/feature-scope.html)
170
- - [API reference](https://velinstyle.info/docs/guides/api-reference.html) generated from source
171
- - [Generated Markdown](https://velinstyle.info/docs/generated/index.html) components, tokens, utilities, CLI, rules
209
+ ## Documentation map
210
+
211
+ | Layer | File / link | Audience |
212
+ |-------|-------------|----------|
213
+ | Landing | This README | First 30 seconds |
214
+ | First build | [`GETTING_STARTED.md`](GETTING_STARTED.md) | New adopters |
215
+ | FAQ | [`FAQ.md`](FAQ.md) | Common questions |
216
+ | Troubleshooting | [`TROUBLESHOOTING.md`](TROUBLESHOOTING.md) | When stuck |
217
+ | Deploy | [`DEPLOY.md`](DEPLOY.md) | Ship to production |
218
+ | Systems | [`ARCHITECTURE.md`](ARCHITECTURE.md) | Advanced / AI / DI |
219
+ | Design Intelligence | [`docs/guides/design-intelligence.md`](docs/guides/design-intelligence.md) | Plan / review |
220
+ | CLI ship surface | [`docs/guides/cli-ship-surface.md`](docs/guides/cli-ship-surface.md) | create / check / wc |
221
+ | AI Skills | [`docs/guides/ai-skills.md`](docs/guides/ai-skills.md) | Skills / workflows |
222
+ | Product site | [velinstyle.info/docs](https://velinstyle.info/docs/getting-started/introduction.html) | Guides, demos, reference |
223
+ | Transparency | [Site guide](https://velinstyle.info/docs/guides/transparency.html) · `@birdapi/velinstyle/transparency` | Labeling + provenance |
224
+ | Upgrade | [`UPGRADING.md`](UPGRADING.md) | 1.2.0 → 1.2.1 · 1.1 → 1.2 |
225
+ | North star | [`VELINSTYLE_2030.md`](VELINSTYLE_2030.md) | Long-term vision |
172
226
 
173
227
  ---
174
228
 
175
- ## Changelog
229
+ ## Repository structure
176
230
 
177
- See [CHANGELOG.md](CHANGELOG.md) for releases, breaking changes, and migration notes.
231
+ ```
232
+ velinstyle/
233
+ ├── src/ # CSS source (tokens, base, components, utilities)
234
+ ├── components/ # Web Components (JS)
235
+ ├── core/ # Runtime: search, motion, highlight, attributes, meta, transparency
236
+ ├── cli/ # velinstyle binary
237
+ ├── packages/ # React wrappers, skill-engine, skills registry
238
+ ├── schemas/ # Design Intelligence + skill contracts
239
+ ├── docs/ # Docs + strategy ADRs
240
+ ├── samples/ # Local HTML samples
241
+ ├── templates/ # Starters (e.g. Vite + React)
242
+ ├── fixtures/ # Scanner / chaos fixtures
243
+ └── showcase-demos/ # Full-page demos
244
+ ```
178
245
 
179
246
  ---
180
247
 
181
- ## Comparison
248
+ ## Philosophy
249
+
250
+ **Mensch → Framework → Design Intelligence → AI**
182
251
 
183
- | | Bootstrap | Tailwind | Shoelace | **VelinStyle** |
184
- | --- | :---: | :---: | :---: | :---: |
185
- | HTML readability | Medium | Low | Medium | **High** |
186
- | Class predictability | Medium | Low | Medium | **`velin-btn--primary`** |
187
- | Utility sprawl | Low | **High** | Low | **Controlled** |
188
- | Override story | Hard | Config file | Shadow DOM | **CSS layers + tokens** |
189
- | Accessibility | Partial | DIY | Good WC | **WCAG 2.2 AAA tokens** |
190
- | Dark mode | Manual | `dark:` everywhere | Theme attr | **Token swap** |
191
- | App chrome | Legacy JS | BYO | WC only | **CSS + optional WCs** |
192
- | Ship speed | Fast | Fast (with build) | Fast | **CDN, no build required** |
193
- | Runtime modules | — | — | — | **Search, motion, meta, …** |
252
+ Humans own product intent. The framework ships reliable CSS and components. Design Intelligence encodes patterns and constraints. AI skills and workflows accelerate scaffolding and review — they **support** developers; they do not replace judgment, accessibility ownership, or design responsibility.
194
253
 
195
254
  ---
196
255
 
197
- ## Live demos
256
+ ## Roadmap (maturity)
198
257
 
199
- Full application pages on [velinstyle.info/demos/](https://velinstyle.info/demos/) — [Crypto](https://velinstyle.info/demos/showcase-crypto.html) · [E-Commerce](https://velinstyle.info/demos/showcase-ecommerce.html) · [Dashboard](https://velinstyle.info/demos/showcase-dashboard.html) · [All demos](https://velinstyle.info/demos/) · [Fork showcase-demos](https://github.com/SkyliteDesign/velinstyle/tree/main/showcase-demos)
258
+ | Status | Surfaces |
259
+ |--------|----------|
260
+ | **Stable** | CSS · Utilities · Runtime · Web Components · CLI core · Blueprints |
261
+ | **Beta** | Transparency Framework · Review Engine · Prompt Engine · Knowledge Graph · AI Metadata · Design Constraints |
262
+ | **Foundation** | AI Skills · Workflow Graphs · Registries · Transparency pillars |
263
+ | **Planned** | Studio · Utility Engine Generator |
200
264
 
201
- <p align="center">
202
- <a href="https://velinstyle.info/demos/showcase-crypto.html">
203
- <img src=".github/assets/readme/hero-demo.webp" alt="VelinStyle crypto dashboard demo" width="720">
204
- </a>
205
- </p>
265
+ ---
266
+
267
+ ## Comparison
268
+
269
+ | | Bootstrap | Tailwind | **VelinStyle** |
270
+ |---|:---:|:---:|:---:|
271
+ | HTML readability | Medium | Low | **High** |
272
+ | Utility sprawl | Low | High | **Controlled** |
273
+ | A11y defaults | Partial | DIY | **AAA-capable tokens** |
274
+ | Dark mode | Manual | `dark:` everywhere | **Token swap** |
275
+ | Build required | No | Usually | **CDN optional** |
276
+ | Design / AI gates | — | — | **plan · review · skills · transparency** |
206
277
 
207
278
  ---
208
279
 
209
280
  ## Contributing
210
281
 
211
- PRs welcome.
212
-
213
- 1. Fork the repo
214
- 2. `npm install && npm run build`
215
- 3. Make your change · run `npm test`, `npm run test:a11y`, and `npm run test:e2e` (after `npm run build`)
216
- 4. Open a pull request
282
+ 1. Fork → `npm install && npm run build`
283
+ 2. Change code · run `npm test`, `npm run test:a11y`, `npm run test:e2e`
284
+ 3. Open a PR
217
285
 
218
- See [CONTRIBUTING.md](CONTRIBUTING.md) for code style and review process.
286
+ See [`CONTRIBUTING.md`](CONTRIBUTING.md).
219
287
 
220
288
  ---
221
289
 
222
290
  ## License
223
291
 
224
- [MIT](LICENSE) — Copyright © 2026 VelinStyle
225
-
226
- <div align="center">
227
-
228
- Made with care for the web by [SkyliteDesign](https://github.com/SkyliteDesign)
292
+ [MIT](LICENSE) — © 2026 VelinStyle · [SkyliteDesign](https://github.com/SkyliteDesign)
229
293
 
230
- </div>
294
+ <p align="center">
295
+ <a href="https://velinstyle.info/demos/showcase-crypto.html">
296
+ <img src=".github/assets/readme/hero-demo.webp" alt="VelinStyle crypto dashboard demo" width="720">
297
+ </a>
298
+ </p>
package/cli/blueprint.js CHANGED
@@ -1,12 +1,18 @@
1
- import { readFileSync, existsSync, writeFileSync } from 'fs';
2
- import { join, dirname } from 'path';
1
+ import { readFileSync, existsSync, writeFileSync, readdirSync } from 'fs';
2
+ import { join, dirname, extname } from 'path';
3
3
  import { fileURLToPath } from 'url';
4
4
 
5
5
  const __dirname = dirname(fileURLToPath(import.meta.url));
6
+ const PKG_ROOT = join(__dirname, '..');
7
+ const BLUEPRINT_DIR = join(__dirname, 'blueprints');
8
+
6
9
  const BLUEPRINTS = {
7
10
  'alert-stack': 'alert-stack.html',
11
+ 'benefits-grid': 'benefits-grid.html',
8
12
  'breadcrumb-bar': 'breadcrumb-bar.html',
9
13
  'card-grid': 'card-grid.html',
14
+ 'cta-band': 'cta-band.html',
15
+ 'faq-section': 'faq-section.html',
10
16
  'footer-simple': 'footer-simple.html',
11
17
  'form-contact': 'form-contact.html',
12
18
  'form-login': 'form-login.html',
@@ -15,9 +21,13 @@ const BLUEPRINTS = {
15
21
  modal: 'modal.html',
16
22
  'navbar-header': 'navbar-header.html',
17
23
  'pagination-bar': 'pagination-bar.html',
24
+ 'process-steps': 'process-steps.html',
18
25
  'search-field': 'search-field.html',
26
+ 'services-grid': 'services-grid.html',
19
27
  'sidebar-layout': 'sidebar-layout.html',
20
28
  'table-responsive': 'table-responsive.html',
29
+ testimonials: 'testimonials.html',
30
+ 'trust-bar': 'trust-bar.html',
21
31
  'bottom-nav-mobile': 'bottom-nav-mobile.html',
22
32
  'empty-state': 'empty-state.html',
23
33
  'cookie-consent': 'cookie-consent.html',
@@ -26,18 +36,101 @@ const BLUEPRINTS = {
26
36
  'settings-panel': 'settings-panel.html',
27
37
  onboarding: 'onboarding.html',
28
38
  'pricing-table': 'pricing-table.html',
39
+ 'split-hero': 'split-hero.html',
40
+ 'pricing-band': 'pricing-band.html',
41
+ 'app-chrome': 'app-chrome.html',
42
+ 'ops-console': 'ops-console.html',
29
43
  };
30
44
 
45
+ const CLASS_RE = /class\s*=\s*["']([^"']+)["']/gi;
46
+ const CSS_CLASS_RE = /\.((?:velin|expo)-[a-z0-9_-]+)/gi;
47
+
48
+ let _cssClassCache = null;
49
+
50
+ function walkCssFiles(dir, out = []) {
51
+ if (!existsSync(dir)) return out;
52
+ for (const name of readdirSync(dir, { withFileTypes: true })) {
53
+ const full = join(dir, name.name);
54
+ if (name.isDirectory()) walkCssFiles(full, out);
55
+ else if (extname(name.name) === '.css') out.push(full);
56
+ }
57
+ return out;
58
+ }
59
+
60
+ /** Collect known CSS class names from framework source (+ optional dist). */
61
+ export function loadKnownCssClasses({ includeDist = true } = {}) {
62
+ if (_cssClassCache) return _cssClassCache;
63
+ const files = walkCssFiles(join(PKG_ROOT, 'src'));
64
+ if (includeDist) {
65
+ const distCss = join(PKG_ROOT, 'dist', 'velinstyle.css');
66
+ if (existsSync(distCss)) files.push(distCss);
67
+ }
68
+ const set = new Set();
69
+ for (const file of files) {
70
+ const css = readFileSync(file, 'utf-8');
71
+ for (const m of css.matchAll(CSS_CLASS_RE)) set.add(m[1]);
72
+ }
73
+ _cssClassCache = set;
74
+ return set;
75
+ }
76
+
77
+ export function extractVelinClasses(html) {
78
+ const classes = new Set();
79
+ for (const m of String(html || '').matchAll(CLASS_RE)) {
80
+ for (const token of m[1].split(/\s+/)) {
81
+ if (token.startsWith('velin-')) classes.add(token);
82
+ }
83
+ }
84
+ return [...classes];
85
+ }
86
+
87
+ /**
88
+ * @returns {{ ok: boolean, missing: string[], classes: string[] }}
89
+ */
90
+ export function validateBlueprintHtml(html, known = loadKnownCssClasses()) {
91
+ const classes = extractVelinClasses(html);
92
+ const missing = classes.filter((c) => !known.has(c));
93
+ return { ok: missing.length === 0, missing, classes };
94
+ }
95
+
96
+ export function validateBlueprintId(id, known = loadKnownCssClasses()) {
97
+ const file = BLUEPRINTS[id];
98
+ if (!file) return { ok: false, error: `Unknown blueprint "${id}"`, missing: [], classes: [] };
99
+ const path = join(BLUEPRINT_DIR, file);
100
+ if (!existsSync(path)) return { ok: false, error: `Missing template: ${path}`, missing: [], classes: [] };
101
+ const body = readFileSync(path, 'utf-8');
102
+ const result = validateBlueprintHtml(body, known);
103
+ return { ...result, id, path };
104
+ }
105
+
106
+ export function validateAllBlueprints(known = loadKnownCssClasses()) {
107
+ const results = [];
108
+ for (const id of listBlueprints()) {
109
+ results.push(validateBlueprintId(id, known));
110
+ }
111
+ return results;
112
+ }
113
+
31
114
  export function listBlueprints() {
32
- return Object.keys(BLUEPRINTS);
115
+ return Object.keys(BLUEPRINTS).sort();
33
116
  }
34
117
 
35
- export function emitBlueprint(id, { output } = {}) {
118
+ export function emitBlueprint(id, { output, strict = false } = {}) {
36
119
  const file = BLUEPRINTS[id];
37
120
  if (!file) return { ok: false, error: `Unknown blueprint "${id}". Try: ${listBlueprints().join(', ')}` };
38
- const path = join(__dirname, 'blueprints', file);
121
+ const path = join(BLUEPRINT_DIR, file);
39
122
  if (!existsSync(path)) return { ok: false, error: `Missing template: ${path}` };
40
123
  const body = readFileSync(path, 'utf-8');
124
+ if (strict) {
125
+ const v = validateBlueprintHtml(body);
126
+ if (!v.ok) {
127
+ return {
128
+ ok: false,
129
+ error: `Blueprint "${id}" emits unknown CSS classes: ${v.missing.join(', ')}. Fix templates or add utilities.`,
130
+ missing: v.missing,
131
+ };
132
+ }
133
+ }
41
134
  const banner = `<!-- Generated by velinstyle blueprint ${id} — VelinStyle tokens: --velin-color-*, --velin-space-*, --velin-radius-* -->\n`;
42
135
  const out = banner + body;
43
136
  if (output) {
@@ -0,0 +1,18 @@
1
+ <!-- VelinStyle blueprint: app chrome (menubar + command) -->
2
+ <header class="velin-flex velin-flex--justify-between velin-flex--items-center velin-flex--wrap velin-gap-3 velin-p-3 velin-border-block-end" role="banner">
3
+ <strong class="velin-text-lg">Brand</strong>
4
+ <velin-menubar aria-label="App menu">
5
+ <button type="button" data-menu="file">File</button>
6
+ <button type="button" data-menu="view">View</button>
7
+ <button type="button" data-menu="help">Help</button>
8
+ </velin-menubar>
9
+ <button type="button" class="velin-btn velin-btn--outline velin-btn--sm" id="open-command" aria-keyshortcuts="Control+K Meta+K">Command</button>
10
+ </header>
11
+ <velin-command id="app-command" aria-label="Command palette"></velin-command>
12
+ <script type="module">
13
+ // Prefer package entry; for offline vendor installs use: import './vendor/velinstyle/velinstyle-components.min.js';
14
+ import '@birdapi/velinstyle/bundle';
15
+ document.getElementById('open-command')?.addEventListener('click', () => {
16
+ document.getElementById('app-command')?.open?.();
17
+ });
18
+ </script>
@@ -0,0 +1,9 @@
1
+ <!-- VelinStyle blueprint: benefits grid -->
2
+ <section class="velin-container velin-py-8">
3
+ <h2 class="velin-text-3xl" style="font-weight:var(--velin-weight-semibold);margin-block-end:var(--velin-space-6)">Benefits</h2>
4
+ <div class="velin-grid velin-grid--auto-fit">
5
+ <article class="velin-card"><div class="velin-card__body"><h3 class="velin-card__title">Clarity first</h3><p class="velin-card__text">Plain-language guidance without jargon walls.</p></div></article>
6
+ <article class="velin-card"><div class="velin-card__body"><h3 class="velin-card__title">Reliable process</h3><p class="velin-card__text">Predictable steps from first call to delivery.</p></div></article>
7
+ <article class="velin-card"><div class="velin-card__body"><h3 class="velin-card__title">Accessible by default</h3><p class="velin-card__text">Interfaces that respect contrast, focus, and motion preferences.</p></div></article>
8
+ </div>
9
+ </section>
@@ -6,7 +6,8 @@
6
6
  </velin-bottom-nav>
7
7
  </nav>
8
8
  <script type="module">
9
- import '../../dist/velinstyle-components.min.js';
9
+ // Prefer package entry; for offline vendor installs use: import './vendor/velinstyle/velinstyle-components.min.js';
10
+ import '@birdapi/velinstyle/bundle';
10
11
  const nav = document.querySelector('velin-bottom-nav');
11
12
  nav?.querySelectorAll('a').forEach((link) => {
12
13
  link.addEventListener('click', (e) => {
@@ -1,6 +1,6 @@
1
1
  <aside class="velin-p-4 velin-border velin-rounded-lg velin-pb-safe" role="region" aria-label="Cookie consent">
2
2
  <div class="velin-user-content">
3
- <p class="velin-mbe-3">We use essential cookies only. No third-party trackers in this demo.</p>
3
+ <p class="velin-mbe-4">We use essential cookies only. No third-party trackers in this demo.</p>
4
4
  </div>
5
5
  <div class="velin-flex velin-gap-3">
6
6
  <button type="button" class="velin-btn velin-btn--primary">Accept</button>
@@ -0,0 +1,6 @@
1
+ <!-- VelinStyle blueprint: CTA band -->
2
+ <section class="velin-container velin-py-10" style="text-align:center">
3
+ <h2 class="velin-text-3xl" style="font-weight:var(--velin-weight-semibold);margin-block-end:var(--velin-space-3)">Ready to talk?</h2>
4
+ <p style="color:var(--velin-color-text-muted);margin-block-end:var(--velin-space-6)">Book a short intro call — no jargon, no pressure.</p>
5
+ <a class="velin-btn velin-btn--primary" href="#contact">Request a consultation</a>
6
+ </section>
@@ -0,0 +1,18 @@
1
+ <!-- VelinStyle blueprint: FAQ with accordion -->
2
+ <section class="velin-container velin-py-8" id="faq">
3
+ <h2 class="velin-text-3xl" style="font-weight:var(--velin-weight-semibold);margin-block-end:var(--velin-space-6)">FAQ</h2>
4
+ <velin-accordion>
5
+ <details>
6
+ <summary>What happens in the first meeting?</summary>
7
+ <p>We clarify goals, documents needed, and realistic next steps.</p>
8
+ </details>
9
+ <details>
10
+ <summary>How long does a typical engagement take?</summary>
11
+ <p>Timelines depend on scope; we share a clear plan before work starts.</p>
12
+ </details>
13
+ <details>
14
+ <summary>Do you work with remote clients?</summary>
15
+ <p>Yes — secure document exchange and scheduled calls are standard.</p>
16
+ </details>
17
+ </velin-accordion>
18
+ </section>