@auto-engineer/react-gen 1.134.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 (794) hide show
  1. package/dist/skills/design/SKILL.md +302 -0
  2. package/dist/skills/design/data/cip/deliverables.csv +51 -0
  3. package/dist/skills/design/data/cip/industries.csv +21 -0
  4. package/dist/skills/design/data/cip/mockup-contexts.csv +21 -0
  5. package/dist/skills/design/data/cip/styles.csv +21 -0
  6. package/dist/skills/design/data/icon/styles.csv +16 -0
  7. package/dist/skills/design/data/logo/colors.csv +56 -0
  8. package/dist/skills/design/data/logo/industries.csv +56 -0
  9. package/dist/skills/design/data/logo/styles.csv +56 -0
  10. package/dist/skills/design/references/banner-sizes-and-styles.md +118 -0
  11. package/dist/skills/design/references/cip-deliverable-guide.md +95 -0
  12. package/dist/skills/design/references/cip-design.md +121 -0
  13. package/dist/skills/design/references/cip-prompt-engineering.md +84 -0
  14. package/dist/skills/design/references/cip-style-guide.md +68 -0
  15. package/dist/skills/design/references/design-routing.md +207 -0
  16. package/dist/skills/design/references/icon-design.md +122 -0
  17. package/dist/skills/design/references/logo-color-psychology.md +101 -0
  18. package/dist/skills/design/references/logo-design.md +92 -0
  19. package/dist/skills/design/references/logo-prompt-engineering.md +158 -0
  20. package/dist/skills/design/references/logo-style-guide.md +109 -0
  21. package/dist/skills/design/references/slides-copywriting-formulas.md +84 -0
  22. package/dist/skills/design/references/slides-create.md +4 -0
  23. package/dist/skills/design/references/slides-html-template.md +295 -0
  24. package/dist/skills/design/references/slides-layout-patterns.md +137 -0
  25. package/dist/skills/design/references/slides-strategies.md +94 -0
  26. package/dist/skills/design/references/slides.md +42 -0
  27. package/dist/skills/design/references/social-photos-design.md +329 -0
  28. package/dist/skills/design/scripts/cip/core.py +215 -0
  29. package/dist/skills/design/scripts/cip/generate.py +484 -0
  30. package/dist/skills/design/scripts/cip/render-html.py +424 -0
  31. package/dist/skills/design/scripts/cip/search.py +127 -0
  32. package/dist/skills/design/scripts/icon/generate.py +487 -0
  33. package/dist/skills/design/scripts/logo/core.py +175 -0
  34. package/dist/skills/design/scripts/logo/generate.py +362 -0
  35. package/dist/skills/design/scripts/logo/search.py +114 -0
  36. package/dist/skills/design-system/SKILL.md +244 -0
  37. package/dist/skills/design-system/data/slide-backgrounds.csv +11 -0
  38. package/dist/skills/design-system/data/slide-charts.csv +26 -0
  39. package/dist/skills/design-system/data/slide-color-logic.csv +14 -0
  40. package/dist/skills/design-system/data/slide-copy.csv +26 -0
  41. package/dist/skills/design-system/data/slide-layout-logic.csv +16 -0
  42. package/dist/skills/design-system/data/slide-layouts.csv +26 -0
  43. package/dist/skills/design-system/data/slide-strategies.csv +16 -0
  44. package/dist/skills/design-system/data/slide-typography.csv +15 -0
  45. package/dist/skills/design-system/references/component-specs.md +236 -0
  46. package/dist/skills/design-system/references/component-tokens.md +214 -0
  47. package/dist/skills/design-system/references/primitive-tokens.md +203 -0
  48. package/dist/skills/design-system/references/semantic-tokens.md +215 -0
  49. package/dist/skills/design-system/references/states-and-variants.md +241 -0
  50. package/dist/skills/design-system/references/tailwind-integration.md +251 -0
  51. package/dist/skills/design-system/references/token-architecture.md +224 -0
  52. package/dist/skills/design-system/scripts/embed-tokens.cjs +97 -0
  53. package/dist/skills/design-system/scripts/fetch-background.py +317 -0
  54. package/dist/skills/design-system/scripts/generate-slide.py +753 -0
  55. package/dist/skills/design-system/scripts/generate-tokens.cjs +213 -0
  56. package/dist/skills/design-system/scripts/html-token-validator.py +327 -0
  57. package/dist/skills/design-system/scripts/search-slides.py +218 -0
  58. package/dist/skills/design-system/scripts/slide-token-validator.py +35 -0
  59. package/dist/skills/design-system/scripts/slide_search_core.py +453 -0
  60. package/dist/skills/design-system/scripts/validate-tokens.cjs +251 -0
  61. package/dist/skills/design-system/templates/design-tokens-starter.json +143 -0
  62. package/dist/skills/design-taste-frontend/SKILL.md +79 -0
  63. package/dist/skills/emil-design-engineering/SKILL.md +108 -0
  64. package/dist/skills/emil-design-engineering/animations.md +266 -0
  65. package/dist/skills/emil-design-engineering/component-design.md +382 -0
  66. package/dist/skills/emil-design-engineering/forms-controls.md +261 -0
  67. package/dist/skills/emil-design-engineering/marketing.md +160 -0
  68. package/dist/skills/emil-design-engineering/performance.md +222 -0
  69. package/dist/skills/emil-design-engineering/touch-accessibility.md +236 -0
  70. package/dist/skills/emil-design-engineering/ui-polish.md +303 -0
  71. package/dist/skills/frontend-design/SKILL.md +42 -0
  72. package/dist/skills/full-output-enforcement/SKILL.md +32 -0
  73. package/dist/skills/high-end-visual-design/SKILL.md +98 -0
  74. package/dist/skills/react-doctor/AGENTS.md +15 -0
  75. package/dist/skills/react-doctor/SKILL.md +19 -0
  76. package/dist/skills/redesign-existing-projects/SKILL.md +178 -0
  77. package/dist/skills/ui-styling/LICENSE.txt +202 -0
  78. package/dist/skills/ui-styling/SKILL.md +324 -0
  79. package/dist/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  80. package/dist/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  81. package/dist/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  82. package/dist/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  83. package/dist/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  84. package/dist/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  85. package/dist/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  86. package/dist/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  87. package/dist/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  88. package/dist/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  89. package/dist/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  90. package/dist/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  91. package/dist/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  92. package/dist/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  93. package/dist/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  94. package/dist/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  95. package/dist/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  96. package/dist/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  97. package/dist/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  98. package/dist/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  99. package/dist/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  100. package/dist/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  101. package/dist/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  102. package/dist/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  103. package/dist/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  104. package/dist/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  105. package/dist/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  106. package/dist/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  107. package/dist/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  108. package/dist/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  109. package/dist/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  110. package/dist/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  111. package/dist/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  112. package/dist/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  113. package/dist/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  114. package/dist/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  115. package/dist/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  116. package/dist/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  117. package/dist/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  118. package/dist/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  119. package/dist/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  120. package/dist/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  121. package/dist/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  122. package/dist/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  123. package/dist/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  124. package/dist/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  125. package/dist/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  126. package/dist/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  127. package/dist/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  128. package/dist/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  129. package/dist/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  130. package/dist/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  131. package/dist/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  132. package/dist/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  133. package/dist/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  134. package/dist/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  135. package/dist/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  136. package/dist/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  137. package/dist/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  138. package/dist/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  139. package/dist/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  140. package/dist/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  141. package/dist/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  142. package/dist/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  143. package/dist/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  144. package/dist/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  145. package/dist/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  146. package/dist/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  147. package/dist/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  148. package/dist/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  149. package/dist/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  150. package/dist/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  151. package/dist/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  152. package/dist/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  153. package/dist/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  154. package/dist/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  155. package/dist/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  156. package/dist/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  157. package/dist/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  158. package/dist/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  159. package/dist/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  160. package/dist/skills/ui-styling/references/canvas-design-system.md +320 -0
  161. package/dist/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  162. package/dist/skills/ui-styling/references/shadcn-components.md +424 -0
  163. package/dist/skills/ui-styling/references/shadcn-theming.md +373 -0
  164. package/dist/skills/ui-styling/references/tailwind-customization.md +483 -0
  165. package/dist/skills/ui-styling/references/tailwind-responsive.md +382 -0
  166. package/dist/skills/ui-styling/references/tailwind-utilities.md +455 -0
  167. package/dist/skills/ui-styling/scripts/.coverage +0 -0
  168. package/dist/skills/ui-styling/scripts/requirements.txt +17 -0
  169. package/dist/skills/ui-styling/scripts/shadcn_add.py +292 -0
  170. package/dist/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  171. package/dist/skills/ui-styling/scripts/tests/coverage-ui.json +1392 -0
  172. package/dist/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  173. package/dist/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  174. package/dist/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  175. package/dist/skills/ui-ux-pro-max/SKILL.md +659 -0
  176. package/dist/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  177. package/dist/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  178. package/dist/skills/ui-ux-pro-max/data/charts.csv +26 -0
  179. package/dist/skills/ui-ux-pro-max/data/colors.csv +162 -0
  180. package/dist/skills/ui-ux-pro-max/data/design.csv +1776 -0
  181. package/dist/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  182. package/dist/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  183. package/dist/skills/ui-ux-pro-max/data/icons.csv +106 -0
  184. package/dist/skills/ui-ux-pro-max/data/landing.csv +35 -0
  185. package/dist/skills/ui-ux-pro-max/data/products.csv +162 -0
  186. package/dist/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  187. package/dist/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  188. package/dist/skills/ui-ux-pro-max/data/styles.csv +85 -0
  189. package/dist/skills/ui-ux-pro-max/data/typography.csv +74 -0
  190. package/dist/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  191. package/dist/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  192. package/dist/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  193. package/dist/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  194. package/dist/skills/ui-ux-pro-max/scripts/core.py +247 -0
  195. package/dist/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  196. package/dist/skills/ui-ux-pro-max/scripts/search.py +114 -0
  197. package/dist/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  198. package/dist/skills/vercel-react-best-practices/README.md +123 -0
  199. package/dist/skills/vercel-react-best-practices/SKILL.md +136 -0
  200. package/dist/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  201. package/dist/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  202. package/dist/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  203. package/dist/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  204. package/dist/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  205. package/dist/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  206. package/dist/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  207. package/dist/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  208. package/dist/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  209. package/dist/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  210. package/dist/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  211. package/dist/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  212. package/dist/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  213. package/dist/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  214. package/dist/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  215. package/dist/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  216. package/dist/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  217. package/dist/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  218. package/dist/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  219. package/dist/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  220. package/dist/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  221. package/dist/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  222. package/dist/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  223. package/dist/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  224. package/dist/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  225. package/dist/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  226. package/dist/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  227. package/dist/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  228. package/dist/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  229. package/dist/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  230. package/dist/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  231. package/dist/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  232. package/dist/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  233. package/dist/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  234. package/dist/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  235. package/dist/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  236. package/dist/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  237. package/dist/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  238. package/dist/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  239. package/dist/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  240. package/dist/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  241. package/dist/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  242. package/dist/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  243. package/dist/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  244. package/dist/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  245. package/dist/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  246. package/dist/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  247. package/dist/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  248. package/dist/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  249. package/dist/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  250. package/dist/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  251. package/dist/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  252. package/dist/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  253. package/dist/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  254. package/dist/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  255. package/dist/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  256. package/dist/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  257. package/dist/skills/web-animation-design/PRACTICAL-TIPS.md +304 -0
  258. package/dist/skills/web-animation-design/SKILL.md +336 -0
  259. package/dist/skills/web-design-guidelines/SKILL.md +39 -0
  260. package/dist/src/agents/create-constants-agent.d.ts +6 -0
  261. package/dist/src/agents/create-constants-agent.d.ts.map +1 -0
  262. package/dist/src/agents/create-constants-agent.js +42 -0
  263. package/dist/src/agents/create-constants-agent.js.map +1 -0
  264. package/dist/src/agents/create-landing-page-agent.d.ts +4 -0
  265. package/dist/src/agents/create-landing-page-agent.d.ts.map +1 -0
  266. package/dist/src/agents/create-landing-page-agent.js +62 -0
  267. package/dist/src/agents/create-landing-page-agent.js.map +1 -0
  268. package/dist/src/agents/create-narrative-agent.d.ts +4 -0
  269. package/dist/src/agents/create-narrative-agent.d.ts.map +1 -0
  270. package/dist/src/agents/create-narrative-agent.js +36 -0
  271. package/dist/src/agents/create-narrative-agent.js.map +1 -0
  272. package/dist/src/agents/create-pipeline.d.ts +9 -0
  273. package/dist/src/agents/create-pipeline.d.ts.map +1 -0
  274. package/dist/src/agents/create-pipeline.js +28 -0
  275. package/dist/src/agents/create-pipeline.js.map +1 -0
  276. package/dist/src/agents/create-router-agent.d.ts +4 -0
  277. package/dist/src/agents/create-router-agent.d.ts.map +1 -0
  278. package/dist/src/agents/create-router-agent.js +46 -0
  279. package/dist/src/agents/create-router-agent.js.map +1 -0
  280. package/dist/src/agents/create-theme-agent.d.ts +4 -0
  281. package/dist/src/agents/create-theme-agent.d.ts.map +1 -0
  282. package/dist/src/agents/create-theme-agent.js +105 -0
  283. package/dist/src/agents/create-theme-agent.js.map +1 -0
  284. package/dist/src/agents/create-validation-agent.d.ts +4 -0
  285. package/dist/src/agents/create-validation-agent.d.ts.map +1 -0
  286. package/dist/src/agents/create-validation-agent.js +36 -0
  287. package/dist/src/agents/create-validation-agent.js.map +1 -0
  288. package/dist/src/agents/scaffold-agent.d.ts +5 -0
  289. package/dist/src/agents/scaffold-agent.d.ts.map +1 -0
  290. package/dist/src/agents/scaffold-agent.js +11 -0
  291. package/dist/src/agents/scaffold-agent.js.map +1 -0
  292. package/dist/src/commands/generate-react-app.d.ts +27 -0
  293. package/dist/src/commands/generate-react-app.d.ts.map +1 -0
  294. package/dist/src/commands/generate-react-app.js +92 -0
  295. package/dist/src/commands/generate-react-app.js.map +1 -0
  296. package/dist/src/config.d.ts +3 -0
  297. package/dist/src/config.d.ts.map +1 -0
  298. package/dist/src/config.js +15 -0
  299. package/dist/src/config.js.map +1 -0
  300. package/dist/src/index.d.ts +10 -0
  301. package/dist/src/index.d.ts.map +1 -0
  302. package/dist/src/index.js +4 -0
  303. package/dist/src/index.js.map +1 -0
  304. package/dist/src/prompts/build-narrative-context.d.ts +3 -0
  305. package/dist/src/prompts/build-narrative-context.d.ts.map +1 -0
  306. package/dist/src/prompts/build-narrative-context.js +103 -0
  307. package/dist/src/prompts/build-narrative-context.js.map +1 -0
  308. package/dist/src/prompts/landing-page-system.d.ts +2 -0
  309. package/dist/src/prompts/landing-page-system.d.ts.map +1 -0
  310. package/dist/src/prompts/landing-page-system.js +63 -0
  311. package/dist/src/prompts/landing-page-system.js.map +1 -0
  312. package/dist/src/prompts/narrative-system.d.ts +2 -0
  313. package/dist/src/prompts/narrative-system.d.ts.map +1 -0
  314. package/dist/src/prompts/narrative-system.js +52 -0
  315. package/dist/src/prompts/narrative-system.js.map +1 -0
  316. package/dist/src/prompts/router-system.d.ts +2 -0
  317. package/dist/src/prompts/router-system.d.ts.map +1 -0
  318. package/dist/src/prompts/router-system.js +35 -0
  319. package/dist/src/prompts/router-system.js.map +1 -0
  320. package/dist/src/prompts/theme-system.d.ts +2 -0
  321. package/dist/src/prompts/theme-system.d.ts.map +1 -0
  322. package/dist/src/prompts/theme-system.js +126 -0
  323. package/dist/src/prompts/theme-system.js.map +1 -0
  324. package/dist/src/prompts/validation-system.d.ts +2 -0
  325. package/dist/src/prompts/validation-system.d.ts.map +1 -0
  326. package/dist/src/prompts/validation-system.js +28 -0
  327. package/dist/src/prompts/validation-system.js.map +1 -0
  328. package/dist/src/tools/check-imports.d.ts +6 -0
  329. package/dist/src/tools/check-imports.d.ts.map +1 -0
  330. package/dist/src/tools/check-imports.js +129 -0
  331. package/dist/src/tools/check-imports.js.map +1 -0
  332. package/dist/src/tools/exit-loop.d.ts +6 -0
  333. package/dist/src/tools/exit-loop.d.ts.map +1 -0
  334. package/dist/src/tools/exit-loop.js +12 -0
  335. package/dist/src/tools/exit-loop.js.map +1 -0
  336. package/dist/src/tools/list-files.d.ts +4 -0
  337. package/dist/src/tools/list-files.d.ts.map +1 -0
  338. package/dist/src/tools/list-files.js +36 -0
  339. package/dist/src/tools/list-files.js.map +1 -0
  340. package/dist/src/tools/read-file.d.ts +10 -0
  341. package/dist/src/tools/read-file.d.ts.map +1 -0
  342. package/dist/src/tools/read-file.js +21 -0
  343. package/dist/src/tools/read-file.js.map +1 -0
  344. package/dist/src/tools/run-eslint.d.ts +6 -0
  345. package/dist/src/tools/run-eslint.d.ts.map +1 -0
  346. package/dist/src/tools/run-eslint.js +27 -0
  347. package/dist/src/tools/run-eslint.js.map +1 -0
  348. package/dist/src/tools/run-tsc.d.ts +6 -0
  349. package/dist/src/tools/run-tsc.d.ts.map +1 -0
  350. package/dist/src/tools/run-tsc.js +27 -0
  351. package/dist/src/tools/run-tsc.js.map +1 -0
  352. package/dist/src/tools/write-file.d.ts +15 -0
  353. package/dist/src/tools/write-file.d.ts.map +1 -0
  354. package/dist/src/tools/write-file.js +44 -0
  355. package/dist/src/tools/write-file.js.map +1 -0
  356. package/dist/src/types.d.ts +330 -0
  357. package/dist/src/types.d.ts.map +1 -0
  358. package/dist/src/types.js +102 -0
  359. package/dist/src/types.js.map +1 -0
  360. package/dist/src/utils/create-skill-tool.d.ts +2 -0
  361. package/dist/src/utils/create-skill-tool.d.ts.map +1 -0
  362. package/dist/src/utils/create-skill-tool.js +13 -0
  363. package/dist/src/utils/create-skill-tool.js.map +1 -0
  364. package/dist/src/utils/parse-model.d.ts +3 -0
  365. package/dist/src/utils/parse-model.d.ts.map +1 -0
  366. package/dist/src/utils/parse-model.js +7 -0
  367. package/dist/src/utils/parse-model.js.map +1 -0
  368. package/dist/src/utils/slugify.d.ts +2 -0
  369. package/dist/src/utils/slugify.d.ts.map +1 -0
  370. package/dist/src/utils/slugify.js +7 -0
  371. package/dist/src/utils/slugify.js.map +1 -0
  372. package/dist/starter/.env.example +1 -0
  373. package/dist/starter/README.md +73 -0
  374. package/dist/starter/components.json +21 -0
  375. package/dist/starter/eslint.config.js +23 -0
  376. package/dist/starter/index.html +13 -0
  377. package/dist/starter/package-lock.json +7590 -0
  378. package/dist/starter/package.json +57 -0
  379. package/dist/starter/pnpm-lock.yaml +4479 -0
  380. package/dist/starter/public/favicon.svg +1 -0
  381. package/dist/starter/public/icons.svg +24 -0
  382. package/dist/starter/src/App.tsx +7 -0
  383. package/dist/starter/src/assets/hero.png +0 -0
  384. package/dist/starter/src/assets/vite.svg +1 -0
  385. package/dist/starter/src/components/error-boundary.tsx +38 -0
  386. package/dist/starter/src/components/not-found.tsx +16 -0
  387. package/dist/starter/src/components/ui/accordion.tsx +51 -0
  388. package/dist/starter/src/components/ui/alert-dialog.tsx +162 -0
  389. package/dist/starter/src/components/ui/alert.tsx +49 -0
  390. package/dist/starter/src/components/ui/aspect-ratio.tsx +9 -0
  391. package/dist/starter/src/components/ui/avatar.tsx +87 -0
  392. package/dist/starter/src/components/ui/badge.tsx +40 -0
  393. package/dist/starter/src/components/ui/breadcrumb.tsx +92 -0
  394. package/dist/starter/src/components/ui/button-group.tsx +74 -0
  395. package/dist/starter/src/components/ui/button.tsx +62 -0
  396. package/dist/starter/src/components/ui/calendar.tsx +158 -0
  397. package/dist/starter/src/components/ui/card.tsx +56 -0
  398. package/dist/starter/src/components/ui/carousel.tsx +215 -0
  399. package/dist/starter/src/components/ui/chart.tsx +296 -0
  400. package/dist/starter/src/components/ui/checkbox.tsx +29 -0
  401. package/dist/starter/src/components/ui/collapsible.tsx +15 -0
  402. package/dist/starter/src/components/ui/combobox.tsx +266 -0
  403. package/dist/starter/src/components/ui/command.tsx +136 -0
  404. package/dist/starter/src/components/ui/context-menu.tsx +211 -0
  405. package/dist/starter/src/components/ui/dialog.tsx +135 -0
  406. package/dist/starter/src/components/ui/direction.tsx +18 -0
  407. package/dist/starter/src/components/ui/drawer.tsx +106 -0
  408. package/dist/starter/src/components/ui/dropdown-menu.tsx +219 -0
  409. package/dist/starter/src/components/ui/empty.tsx +85 -0
  410. package/dist/starter/src/components/ui/field.tsx +225 -0
  411. package/dist/starter/src/components/ui/form.tsx +135 -0
  412. package/dist/starter/src/components/ui/hover-card.tsx +36 -0
  413. package/dist/starter/src/components/ui/input-group.tsx +146 -0
  414. package/dist/starter/src/components/ui/input-otp.tsx +68 -0
  415. package/dist/starter/src/components/ui/input.tsx +21 -0
  416. package/dist/starter/src/components/ui/item.tsx +157 -0
  417. package/dist/starter/src/components/ui/kbd.tsx +22 -0
  418. package/dist/starter/src/components/ui/label.tsx +19 -0
  419. package/dist/starter/src/components/ui/menubar.tsx +236 -0
  420. package/dist/starter/src/components/ui/native-select.tsx +44 -0
  421. package/dist/starter/src/components/ui/navigation-menu.tsx +142 -0
  422. package/dist/starter/src/components/ui/pagination.tsx +98 -0
  423. package/dist/starter/src/components/ui/popover.tsx +52 -0
  424. package/dist/starter/src/components/ui/progress.tsx +24 -0
  425. package/dist/starter/src/components/ui/radio-group.tsx +31 -0
  426. package/dist/starter/src/components/ui/resizable.tsx +47 -0
  427. package/dist/starter/src/components/ui/scroll-area.tsx +46 -0
  428. package/dist/starter/src/components/ui/select.tsx +162 -0
  429. package/dist/starter/src/components/ui/separator.tsx +26 -0
  430. package/dist/starter/src/components/ui/sheet.tsx +107 -0
  431. package/dist/starter/src/components/ui/sidebar.tsx +674 -0
  432. package/dist/starter/src/components/ui/skeleton.tsx +7 -0
  433. package/dist/starter/src/components/ui/slider.tsx +54 -0
  434. package/dist/starter/src/components/ui/sonner.tsx +31 -0
  435. package/dist/starter/src/components/ui/spinner.tsx +9 -0
  436. package/dist/starter/src/components/ui/switch.tsx +33 -0
  437. package/dist/starter/src/components/ui/table.tsx +75 -0
  438. package/dist/starter/src/components/ui/tabs.tsx +69 -0
  439. package/dist/starter/src/components/ui/textarea.tsx +18 -0
  440. package/dist/starter/src/components/ui/toggle-group.tsx +79 -0
  441. package/dist/starter/src/components/ui/toggle.tsx +41 -0
  442. package/dist/starter/src/components/ui/tooltip.tsx +42 -0
  443. package/dist/starter/src/hooks/use-mobile.ts +19 -0
  444. package/dist/starter/src/index.css +93 -0
  445. package/dist/starter/src/lib/graphql-client.ts +5 -0
  446. package/dist/starter/src/lib/providers.tsx +23 -0
  447. package/dist/starter/src/lib/utils.ts +6 -0
  448. package/dist/starter/src/main.tsx +16 -0
  449. package/dist/starter/tsconfig.app.json +32 -0
  450. package/dist/starter/tsconfig.json +4 -0
  451. package/dist/starter/tsconfig.node.json +26 -0
  452. package/dist/starter/vite.config.ts +16 -0
  453. package/dist/tsconfig.tsbuildinfo +1 -0
  454. package/package.json +47 -0
  455. package/skills/design/SKILL.md +302 -0
  456. package/skills/design/data/cip/deliverables.csv +51 -0
  457. package/skills/design/data/cip/industries.csv +21 -0
  458. package/skills/design/data/cip/mockup-contexts.csv +21 -0
  459. package/skills/design/data/cip/styles.csv +21 -0
  460. package/skills/design/data/icon/styles.csv +16 -0
  461. package/skills/design/data/logo/colors.csv +56 -0
  462. package/skills/design/data/logo/industries.csv +56 -0
  463. package/skills/design/data/logo/styles.csv +56 -0
  464. package/skills/design/references/banner-sizes-and-styles.md +118 -0
  465. package/skills/design/references/cip-deliverable-guide.md +95 -0
  466. package/skills/design/references/cip-design.md +121 -0
  467. package/skills/design/references/cip-prompt-engineering.md +84 -0
  468. package/skills/design/references/cip-style-guide.md +68 -0
  469. package/skills/design/references/design-routing.md +207 -0
  470. package/skills/design/references/icon-design.md +122 -0
  471. package/skills/design/references/logo-color-psychology.md +101 -0
  472. package/skills/design/references/logo-design.md +92 -0
  473. package/skills/design/references/logo-prompt-engineering.md +158 -0
  474. package/skills/design/references/logo-style-guide.md +109 -0
  475. package/skills/design/references/slides-copywriting-formulas.md +84 -0
  476. package/skills/design/references/slides-create.md +4 -0
  477. package/skills/design/references/slides-html-template.md +295 -0
  478. package/skills/design/references/slides-layout-patterns.md +137 -0
  479. package/skills/design/references/slides-strategies.md +94 -0
  480. package/skills/design/references/slides.md +42 -0
  481. package/skills/design/references/social-photos-design.md +329 -0
  482. package/skills/design/scripts/cip/core.py +215 -0
  483. package/skills/design/scripts/cip/generate.py +484 -0
  484. package/skills/design/scripts/cip/render-html.py +424 -0
  485. package/skills/design/scripts/cip/search.py +127 -0
  486. package/skills/design/scripts/icon/generate.py +487 -0
  487. package/skills/design/scripts/logo/core.py +175 -0
  488. package/skills/design/scripts/logo/generate.py +362 -0
  489. package/skills/design/scripts/logo/search.py +114 -0
  490. package/skills/design-system/SKILL.md +244 -0
  491. package/skills/design-system/data/slide-backgrounds.csv +11 -0
  492. package/skills/design-system/data/slide-charts.csv +26 -0
  493. package/skills/design-system/data/slide-color-logic.csv +14 -0
  494. package/skills/design-system/data/slide-copy.csv +26 -0
  495. package/skills/design-system/data/slide-layout-logic.csv +16 -0
  496. package/skills/design-system/data/slide-layouts.csv +26 -0
  497. package/skills/design-system/data/slide-strategies.csv +16 -0
  498. package/skills/design-system/data/slide-typography.csv +15 -0
  499. package/skills/design-system/references/component-specs.md +236 -0
  500. package/skills/design-system/references/component-tokens.md +214 -0
  501. package/skills/design-system/references/primitive-tokens.md +203 -0
  502. package/skills/design-system/references/semantic-tokens.md +215 -0
  503. package/skills/design-system/references/states-and-variants.md +241 -0
  504. package/skills/design-system/references/tailwind-integration.md +251 -0
  505. package/skills/design-system/references/token-architecture.md +224 -0
  506. package/skills/design-system/scripts/embed-tokens.cjs +97 -0
  507. package/skills/design-system/scripts/fetch-background.py +317 -0
  508. package/skills/design-system/scripts/generate-slide.py +753 -0
  509. package/skills/design-system/scripts/generate-tokens.cjs +213 -0
  510. package/skills/design-system/scripts/html-token-validator.py +327 -0
  511. package/skills/design-system/scripts/search-slides.py +218 -0
  512. package/skills/design-system/scripts/slide-token-validator.py +35 -0
  513. package/skills/design-system/scripts/slide_search_core.py +453 -0
  514. package/skills/design-system/scripts/validate-tokens.cjs +251 -0
  515. package/skills/design-system/templates/design-tokens-starter.json +143 -0
  516. package/skills/design-taste-frontend/SKILL.md +79 -0
  517. package/skills/emil-design-engineering/SKILL.md +108 -0
  518. package/skills/emil-design-engineering/animations.md +266 -0
  519. package/skills/emil-design-engineering/component-design.md +382 -0
  520. package/skills/emil-design-engineering/forms-controls.md +261 -0
  521. package/skills/emil-design-engineering/marketing.md +160 -0
  522. package/skills/emil-design-engineering/performance.md +222 -0
  523. package/skills/emil-design-engineering/touch-accessibility.md +236 -0
  524. package/skills/emil-design-engineering/ui-polish.md +303 -0
  525. package/skills/frontend-design/SKILL.md +42 -0
  526. package/skills/full-output-enforcement/SKILL.md +32 -0
  527. package/skills/high-end-visual-design/SKILL.md +98 -0
  528. package/skills/react-doctor/AGENTS.md +15 -0
  529. package/skills/react-doctor/SKILL.md +19 -0
  530. package/skills/redesign-existing-projects/SKILL.md +178 -0
  531. package/skills/ui-styling/LICENSE.txt +202 -0
  532. package/skills/ui-styling/SKILL.md +324 -0
  533. package/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  534. package/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  535. package/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  536. package/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  537. package/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  538. package/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  539. package/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  540. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  541. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  542. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  543. package/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  544. package/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  545. package/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  546. package/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  547. package/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  548. package/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  549. package/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  550. package/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  551. package/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  552. package/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  553. package/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  554. package/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  555. package/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  556. package/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  557. package/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  558. package/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  559. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  560. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  561. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  562. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  563. package/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  564. package/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  565. package/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  566. package/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  567. package/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  568. package/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  569. package/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  570. package/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  571. package/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  572. package/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  573. package/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  574. package/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  575. package/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  576. package/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  577. package/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  578. package/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  579. package/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  580. package/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  581. package/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  582. package/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  583. package/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  584. package/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  585. package/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  586. package/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  587. package/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  588. package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  589. package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  590. package/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  591. package/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  592. package/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  593. package/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  594. package/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  595. package/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  596. package/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  597. package/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  598. package/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  599. package/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  600. package/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  601. package/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  602. package/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  603. package/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  604. package/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  605. package/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  606. package/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  607. package/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  608. package/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  609. package/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  610. package/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  611. package/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  612. package/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  613. package/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  614. package/skills/ui-styling/references/canvas-design-system.md +320 -0
  615. package/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  616. package/skills/ui-styling/references/shadcn-components.md +424 -0
  617. package/skills/ui-styling/references/shadcn-theming.md +373 -0
  618. package/skills/ui-styling/references/tailwind-customization.md +483 -0
  619. package/skills/ui-styling/references/tailwind-responsive.md +382 -0
  620. package/skills/ui-styling/references/tailwind-utilities.md +455 -0
  621. package/skills/ui-styling/scripts/.coverage +0 -0
  622. package/skills/ui-styling/scripts/requirements.txt +17 -0
  623. package/skills/ui-styling/scripts/shadcn_add.py +292 -0
  624. package/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  625. package/skills/ui-styling/scripts/tests/coverage-ui.json +1392 -0
  626. package/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  627. package/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  628. package/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  629. package/skills/ui-ux-pro-max/SKILL.md +659 -0
  630. package/skills/ui-ux-pro-max/data/_sync_all.py +414 -0
  631. package/skills/ui-ux-pro-max/data/app-interface.csv +31 -0
  632. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  633. package/skills/ui-ux-pro-max/data/colors.csv +162 -0
  634. package/skills/ui-ux-pro-max/data/design.csv +1776 -0
  635. package/skills/ui-ux-pro-max/data/draft.csv +1779 -0
  636. package/skills/ui-ux-pro-max/data/google-fonts.csv +1924 -0
  637. package/skills/ui-ux-pro-max/data/icons.csv +106 -0
  638. package/skills/ui-ux-pro-max/data/landing.csv +35 -0
  639. package/skills/ui-ux-pro-max/data/products.csv +162 -0
  640. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  641. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  642. package/skills/ui-ux-pro-max/data/styles.csv +85 -0
  643. package/skills/ui-ux-pro-max/data/typography.csv +74 -0
  644. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
  645. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  646. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  647. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  648. package/skills/ui-ux-pro-max/scripts/core.py +247 -0
  649. package/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  650. package/skills/ui-ux-pro-max/scripts/search.py +114 -0
  651. package/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  652. package/skills/vercel-react-best-practices/README.md +123 -0
  653. package/skills/vercel-react-best-practices/SKILL.md +136 -0
  654. package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  655. package/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  656. package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  657. package/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  658. package/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  659. package/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  660. package/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  661. package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  662. package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  663. package/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  664. package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  665. package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  666. package/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  667. package/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  668. package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  669. package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  670. package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  671. package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  672. package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  673. package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  674. package/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  675. package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  676. package/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  677. package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  678. package/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  679. package/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  680. package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  681. package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  682. package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  683. package/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  684. package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  685. package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  686. package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  687. package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  688. package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  689. package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  690. package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  691. package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  692. package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  693. package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  694. package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  695. package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  696. package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  697. package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  698. package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  699. package/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  700. package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  701. package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  702. package/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  703. package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  704. package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  705. package/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  706. package/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  707. package/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  708. package/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  709. package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  710. package/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  711. package/skills/web-animation-design/PRACTICAL-TIPS.md +304 -0
  712. package/skills/web-animation-design/SKILL.md +336 -0
  713. package/skills/web-design-guidelines/SKILL.md +39 -0
  714. package/starter/.env.example +1 -0
  715. package/starter/README.md +73 -0
  716. package/starter/components.json +21 -0
  717. package/starter/eslint.config.js +23 -0
  718. package/starter/index.html +13 -0
  719. package/starter/package-lock.json +7590 -0
  720. package/starter/package.json +57 -0
  721. package/starter/pnpm-lock.yaml +4479 -0
  722. package/starter/public/favicon.svg +1 -0
  723. package/starter/public/icons.svg +24 -0
  724. package/starter/src/App.tsx +7 -0
  725. package/starter/src/assets/hero.png +0 -0
  726. package/starter/src/assets/vite.svg +1 -0
  727. package/starter/src/components/error-boundary.tsx +38 -0
  728. package/starter/src/components/not-found.tsx +16 -0
  729. package/starter/src/components/ui/accordion.tsx +51 -0
  730. package/starter/src/components/ui/alert-dialog.tsx +162 -0
  731. package/starter/src/components/ui/alert.tsx +49 -0
  732. package/starter/src/components/ui/aspect-ratio.tsx +9 -0
  733. package/starter/src/components/ui/avatar.tsx +87 -0
  734. package/starter/src/components/ui/badge.tsx +40 -0
  735. package/starter/src/components/ui/breadcrumb.tsx +92 -0
  736. package/starter/src/components/ui/button-group.tsx +74 -0
  737. package/starter/src/components/ui/button.tsx +62 -0
  738. package/starter/src/components/ui/calendar.tsx +158 -0
  739. package/starter/src/components/ui/card.tsx +56 -0
  740. package/starter/src/components/ui/carousel.tsx +215 -0
  741. package/starter/src/components/ui/chart.tsx +296 -0
  742. package/starter/src/components/ui/checkbox.tsx +29 -0
  743. package/starter/src/components/ui/collapsible.tsx +15 -0
  744. package/starter/src/components/ui/combobox.tsx +266 -0
  745. package/starter/src/components/ui/command.tsx +136 -0
  746. package/starter/src/components/ui/context-menu.tsx +211 -0
  747. package/starter/src/components/ui/dialog.tsx +135 -0
  748. package/starter/src/components/ui/direction.tsx +18 -0
  749. package/starter/src/components/ui/drawer.tsx +106 -0
  750. package/starter/src/components/ui/dropdown-menu.tsx +219 -0
  751. package/starter/src/components/ui/empty.tsx +85 -0
  752. package/starter/src/components/ui/field.tsx +225 -0
  753. package/starter/src/components/ui/form.tsx +135 -0
  754. package/starter/src/components/ui/hover-card.tsx +36 -0
  755. package/starter/src/components/ui/input-group.tsx +146 -0
  756. package/starter/src/components/ui/input-otp.tsx +68 -0
  757. package/starter/src/components/ui/input.tsx +21 -0
  758. package/starter/src/components/ui/item.tsx +157 -0
  759. package/starter/src/components/ui/kbd.tsx +22 -0
  760. package/starter/src/components/ui/label.tsx +19 -0
  761. package/starter/src/components/ui/menubar.tsx +236 -0
  762. package/starter/src/components/ui/native-select.tsx +44 -0
  763. package/starter/src/components/ui/navigation-menu.tsx +142 -0
  764. package/starter/src/components/ui/pagination.tsx +98 -0
  765. package/starter/src/components/ui/popover.tsx +52 -0
  766. package/starter/src/components/ui/progress.tsx +24 -0
  767. package/starter/src/components/ui/radio-group.tsx +31 -0
  768. package/starter/src/components/ui/resizable.tsx +47 -0
  769. package/starter/src/components/ui/scroll-area.tsx +46 -0
  770. package/starter/src/components/ui/select.tsx +162 -0
  771. package/starter/src/components/ui/separator.tsx +26 -0
  772. package/starter/src/components/ui/sheet.tsx +107 -0
  773. package/starter/src/components/ui/sidebar.tsx +674 -0
  774. package/starter/src/components/ui/skeleton.tsx +7 -0
  775. package/starter/src/components/ui/slider.tsx +54 -0
  776. package/starter/src/components/ui/sonner.tsx +31 -0
  777. package/starter/src/components/ui/spinner.tsx +9 -0
  778. package/starter/src/components/ui/switch.tsx +33 -0
  779. package/starter/src/components/ui/table.tsx +75 -0
  780. package/starter/src/components/ui/tabs.tsx +69 -0
  781. package/starter/src/components/ui/textarea.tsx +18 -0
  782. package/starter/src/components/ui/toggle-group.tsx +79 -0
  783. package/starter/src/components/ui/toggle.tsx +41 -0
  784. package/starter/src/components/ui/tooltip.tsx +42 -0
  785. package/starter/src/hooks/use-mobile.ts +19 -0
  786. package/starter/src/index.css +93 -0
  787. package/starter/src/lib/graphql-client.ts +5 -0
  788. package/starter/src/lib/providers.tsx +23 -0
  789. package/starter/src/lib/utils.ts +6 -0
  790. package/starter/src/main.tsx +16 -0
  791. package/starter/tsconfig.app.json +32 -0
  792. package/starter/tsconfig.json +4 -0
  793. package/starter/tsconfig.node.json +26 -0
  794. package/starter/vite.config.ts +16 -0
@@ -0,0 +1,1392 @@
1
+ {
2
+ "meta": {
3
+ "format": 3,
4
+ "version": "7.11.0",
5
+ "timestamp": "2025-11-05T00:57:08.005243",
6
+ "branch_coverage": false,
7
+ "show_contexts": false
8
+ },
9
+ "files": {
10
+ "shadcn_add.py": {
11
+ "executed_lines": [
12
+ 2, 9, 10, 11, 12, 13, 14, 17, 18, 20, 28, 29, 30, 32, 39, 41, 48, 49, 51, 52, 53, 55, 58, 60, 63, 67, 80, 81,
13
+ 83, 84, 90, 91, 93, 94, 101, 103, 104, 106, 107, 110, 111, 119, 120, 121, 123, 125, 126, 127, 128, 129, 131,
14
+ 141, 142, 147, 149, 152, 153, 155, 156, 164, 165, 166, 168, 176, 183, 184, 186, 188, 189, 191, 194, 291
15
+ ],
16
+ "summary": {
17
+ "covered_lines": 70,
18
+ "num_statements": 103,
19
+ "percent_covered": 67.96116504854369,
20
+ "percent_covered_display": "68",
21
+ "missing_lines": 33,
22
+ "excluded_lines": 0
23
+ },
24
+ "missing_lines": [
25
+ 61, 64, 65, 150, 170, 171, 172, 173, 174, 196, 221, 227, 233, 239, 245, 251, 257, 260, 266, 267, 268, 269, 272,
26
+ 273, 274, 275, 278, 279, 280, 282, 287, 288, 292
27
+ ],
28
+ "excluded_lines": [],
29
+ "functions": {
30
+ "ShadcnInstaller.__init__": {
31
+ "executed_lines": [28, 29, 30],
32
+ "summary": {
33
+ "covered_lines": 3,
34
+ "num_statements": 3,
35
+ "percent_covered": 100.0,
36
+ "percent_covered_display": "100",
37
+ "missing_lines": 0,
38
+ "excluded_lines": 0
39
+ },
40
+ "missing_lines": [],
41
+ "excluded_lines": []
42
+ },
43
+ "ShadcnInstaller.check_shadcn_config": {
44
+ "executed_lines": [39],
45
+ "summary": {
46
+ "covered_lines": 1,
47
+ "num_statements": 1,
48
+ "percent_covered": 100.0,
49
+ "percent_covered_display": "100",
50
+ "missing_lines": 0,
51
+ "excluded_lines": 0
52
+ },
53
+ "missing_lines": [],
54
+ "excluded_lines": []
55
+ },
56
+ "ShadcnInstaller.get_installed_components": {
57
+ "executed_lines": [48, 49, 51, 52, 53, 55, 58, 60, 63],
58
+ "summary": {
59
+ "covered_lines": 9,
60
+ "num_statements": 12,
61
+ "percent_covered": 75.0,
62
+ "percent_covered_display": "75",
63
+ "missing_lines": 3,
64
+ "excluded_lines": 0
65
+ },
66
+ "missing_lines": [61, 64, 65],
67
+ "excluded_lines": []
68
+ },
69
+ "ShadcnInstaller.add_components": {
70
+ "executed_lines": [
71
+ 80, 81, 83, 84, 90, 91, 93, 94, 101, 103, 104, 106, 107, 110, 111, 119, 120, 121, 123, 125, 126, 127, 128,
72
+ 129
73
+ ],
74
+ "summary": {
75
+ "covered_lines": 24,
76
+ "num_statements": 24,
77
+ "percent_covered": 100.0,
78
+ "percent_covered_display": "100",
79
+ "missing_lines": 0,
80
+ "excluded_lines": 0
81
+ },
82
+ "missing_lines": [],
83
+ "excluded_lines": []
84
+ },
85
+ "ShadcnInstaller.add_all_components": {
86
+ "executed_lines": [141, 142, 147, 149, 152, 153, 155, 156, 164, 165, 166, 168],
87
+ "summary": {
88
+ "covered_lines": 12,
89
+ "num_statements": 18,
90
+ "percent_covered": 66.66666666666667,
91
+ "percent_covered_display": "67",
92
+ "missing_lines": 6,
93
+ "excluded_lines": 0
94
+ },
95
+ "missing_lines": [150, 170, 171, 172, 173, 174],
96
+ "excluded_lines": []
97
+ },
98
+ "ShadcnInstaller.list_installed": {
99
+ "executed_lines": [183, 184, 186, 188, 189, 191],
100
+ "summary": {
101
+ "covered_lines": 6,
102
+ "num_statements": 6,
103
+ "percent_covered": 100.0,
104
+ "percent_covered_display": "100",
105
+ "missing_lines": 0,
106
+ "excluded_lines": 0
107
+ },
108
+ "missing_lines": [],
109
+ "excluded_lines": []
110
+ },
111
+ "main": {
112
+ "executed_lines": [],
113
+ "summary": {
114
+ "covered_lines": 0,
115
+ "num_statements": 23,
116
+ "percent_covered": 0.0,
117
+ "percent_covered_display": "0",
118
+ "missing_lines": 23,
119
+ "excluded_lines": 0
120
+ },
121
+ "missing_lines": [
122
+ 196, 221, 227, 233, 239, 245, 251, 257, 260, 266, 267, 268, 269, 272, 273, 274, 275, 278, 279, 280, 282,
123
+ 287, 288
124
+ ],
125
+ "excluded_lines": []
126
+ },
127
+ "": {
128
+ "executed_lines": [2, 9, 10, 11, 12, 13, 14, 17, 18, 20, 32, 41, 67, 131, 176, 194, 291],
129
+ "summary": {
130
+ "covered_lines": 15,
131
+ "num_statements": 16,
132
+ "percent_covered": 93.75,
133
+ "percent_covered_display": "94",
134
+ "missing_lines": 1,
135
+ "excluded_lines": 0
136
+ },
137
+ "missing_lines": [292],
138
+ "excluded_lines": []
139
+ }
140
+ },
141
+ "classes": {
142
+ "ShadcnInstaller": {
143
+ "executed_lines": [
144
+ 28, 29, 30, 39, 48, 49, 51, 52, 53, 55, 58, 60, 63, 80, 81, 83, 84, 90, 91, 93, 94, 101, 103, 104, 106, 107,
145
+ 110, 111, 119, 120, 121, 123, 125, 126, 127, 128, 129, 141, 142, 147, 149, 152, 153, 155, 156, 164, 165,
146
+ 166, 168, 183, 184, 186, 188, 189, 191
147
+ ],
148
+ "summary": {
149
+ "covered_lines": 55,
150
+ "num_statements": 64,
151
+ "percent_covered": 85.9375,
152
+ "percent_covered_display": "86",
153
+ "missing_lines": 9,
154
+ "excluded_lines": 0
155
+ },
156
+ "missing_lines": [61, 64, 65, 150, 170, 171, 172, 173, 174],
157
+ "excluded_lines": []
158
+ },
159
+ "": {
160
+ "executed_lines": [2, 9, 10, 11, 12, 13, 14, 17, 18, 20, 32, 41, 67, 131, 176, 194, 291],
161
+ "summary": {
162
+ "covered_lines": 15,
163
+ "num_statements": 39,
164
+ "percent_covered": 38.46153846153846,
165
+ "percent_covered_display": "38",
166
+ "missing_lines": 24,
167
+ "excluded_lines": 0
168
+ },
169
+ "missing_lines": [
170
+ 196, 221, 227, 233, 239, 245, 251, 257, 260, 266, 267, 268, 269, 272, 273, 274, 275, 278, 279, 280, 282,
171
+ 287, 288, 292
172
+ ],
173
+ "excluded_lines": []
174
+ }
175
+ }
176
+ },
177
+ "tailwind_config_gen.py": {
178
+ "executed_lines": [
179
+ 2, 9, 10, 11, 12, 13, 16, 17, 19, 33, 34, 35, 36, 38, 40, 41, 43, 45, 54, 56, 75, 77, 85, 86, 88, 90, 99, 100,
180
+ 102, 116, 124, 125, 127, 129, 137, 138, 140, 142, 150, 151, 153, 155, 163, 164, 165, 167, 174, 177, 180, 181,
181
+ 183, 185, 192, 193, 194, 196, 198, 200, 203, 204, 205, 207, 217, 219, 221, 222, 223, 225, 232, 234, 235, 237,
182
+ 240, 242, 244, 245, 247, 248, 250, 257, 258, 260, 262, 264, 265, 267, 275, 276, 279, 280, 285, 455
183
+ ],
184
+ "summary": {
185
+ "covered_lines": 90,
186
+ "num_statements": 164,
187
+ "percent_covered": 54.8780487804878,
188
+ "percent_covered_display": "55",
189
+ "missing_lines": 74,
190
+ "excluded_lines": 0
191
+ },
192
+ "missing_lines": [
193
+ 282, 287, 309, 316, 322, 328, 335, 342, 349, 356, 362, 368, 371, 378, 379, 380, 381, 382, 383, 384, 385, 386,
194
+ 387, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 414,
195
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 426, 427, 428, 429, 430, 431, 434, 435, 436, 437, 439, 440, 443,
196
+ 444, 445, 446, 447, 450, 451, 452, 456
197
+ ],
198
+ "excluded_lines": [],
199
+ "functions": {
200
+ "TailwindConfigGenerator.__init__": {
201
+ "executed_lines": [33, 34, 35, 36],
202
+ "summary": {
203
+ "covered_lines": 4,
204
+ "num_statements": 4,
205
+ "percent_covered": 100.0,
206
+ "percent_covered_display": "100",
207
+ "missing_lines": 0,
208
+ "excluded_lines": 0
209
+ },
210
+ "missing_lines": [],
211
+ "excluded_lines": []
212
+ },
213
+ "TailwindConfigGenerator._default_output_path": {
214
+ "executed_lines": [40, 41],
215
+ "summary": {
216
+ "covered_lines": 2,
217
+ "num_statements": 2,
218
+ "percent_covered": 100.0,
219
+ "percent_covered_display": "100",
220
+ "missing_lines": 0,
221
+ "excluded_lines": 0
222
+ },
223
+ "missing_lines": [],
224
+ "excluded_lines": []
225
+ },
226
+ "TailwindConfigGenerator._base_config": {
227
+ "executed_lines": [45],
228
+ "summary": {
229
+ "covered_lines": 1,
230
+ "num_statements": 1,
231
+ "percent_covered": 100.0,
232
+ "percent_covered_display": "100",
233
+ "missing_lines": 0,
234
+ "excluded_lines": 0
235
+ },
236
+ "missing_lines": [],
237
+ "excluded_lines": []
238
+ },
239
+ "TailwindConfigGenerator._default_content_paths": {
240
+ "executed_lines": [56, 75],
241
+ "summary": {
242
+ "covered_lines": 2,
243
+ "num_statements": 2,
244
+ "percent_covered": 100.0,
245
+ "percent_covered_display": "100",
246
+ "missing_lines": 0,
247
+ "excluded_lines": 0
248
+ },
249
+ "missing_lines": [],
250
+ "excluded_lines": []
251
+ },
252
+ "TailwindConfigGenerator.add_colors": {
253
+ "executed_lines": [85, 86, 88],
254
+ "summary": {
255
+ "covered_lines": 3,
256
+ "num_statements": 3,
257
+ "percent_covered": 100.0,
258
+ "percent_covered_display": "100",
259
+ "missing_lines": 0,
260
+ "excluded_lines": 0
261
+ },
262
+ "missing_lines": [],
263
+ "excluded_lines": []
264
+ },
265
+ "TailwindConfigGenerator.add_color_palette": {
266
+ "executed_lines": [99, 100, 102],
267
+ "summary": {
268
+ "covered_lines": 3,
269
+ "num_statements": 3,
270
+ "percent_covered": 100.0,
271
+ "percent_covered_display": "100",
272
+ "missing_lines": 0,
273
+ "excluded_lines": 0
274
+ },
275
+ "missing_lines": [],
276
+ "excluded_lines": []
277
+ },
278
+ "TailwindConfigGenerator.add_fonts": {
279
+ "executed_lines": [124, 125, 127],
280
+ "summary": {
281
+ "covered_lines": 3,
282
+ "num_statements": 3,
283
+ "percent_covered": 100.0,
284
+ "percent_covered_display": "100",
285
+ "missing_lines": 0,
286
+ "excluded_lines": 0
287
+ },
288
+ "missing_lines": [],
289
+ "excluded_lines": []
290
+ },
291
+ "TailwindConfigGenerator.add_spacing": {
292
+ "executed_lines": [137, 138, 140],
293
+ "summary": {
294
+ "covered_lines": 3,
295
+ "num_statements": 3,
296
+ "percent_covered": 100.0,
297
+ "percent_covered_display": "100",
298
+ "missing_lines": 0,
299
+ "excluded_lines": 0
300
+ },
301
+ "missing_lines": [],
302
+ "excluded_lines": []
303
+ },
304
+ "TailwindConfigGenerator.add_breakpoints": {
305
+ "executed_lines": [150, 151, 153],
306
+ "summary": {
307
+ "covered_lines": 3,
308
+ "num_statements": 3,
309
+ "percent_covered": 100.0,
310
+ "percent_covered_display": "100",
311
+ "missing_lines": 0,
312
+ "excluded_lines": 0
313
+ },
314
+ "missing_lines": [],
315
+ "excluded_lines": []
316
+ },
317
+ "TailwindConfigGenerator.add_plugins": {
318
+ "executed_lines": [163, 164, 165],
319
+ "summary": {
320
+ "covered_lines": 3,
321
+ "num_statements": 3,
322
+ "percent_covered": 100.0,
323
+ "percent_covered_display": "100",
324
+ "missing_lines": 0,
325
+ "excluded_lines": 0
326
+ },
327
+ "missing_lines": [],
328
+ "excluded_lines": []
329
+ },
330
+ "TailwindConfigGenerator.recommend_plugins": {
331
+ "executed_lines": [174, 177, 180, 181, 183],
332
+ "summary": {
333
+ "covered_lines": 5,
334
+ "num_statements": 5,
335
+ "percent_covered": 100.0,
336
+ "percent_covered_display": "100",
337
+ "missing_lines": 0,
338
+ "excluded_lines": 0
339
+ },
340
+ "missing_lines": [],
341
+ "excluded_lines": []
342
+ },
343
+ "TailwindConfigGenerator.generate_config_string": {
344
+ "executed_lines": [192, 193, 194],
345
+ "summary": {
346
+ "covered_lines": 3,
347
+ "num_statements": 3,
348
+ "percent_covered": 100.0,
349
+ "percent_covered_display": "100",
350
+ "missing_lines": 0,
351
+ "excluded_lines": 0
352
+ },
353
+ "missing_lines": [],
354
+ "excluded_lines": []
355
+ },
356
+ "TailwindConfigGenerator._generate_typescript": {
357
+ "executed_lines": [198, 200, 203, 204, 205, 207],
358
+ "summary": {
359
+ "covered_lines": 6,
360
+ "num_statements": 6,
361
+ "percent_covered": 100.0,
362
+ "percent_covered_display": "100",
363
+ "missing_lines": 0,
364
+ "excluded_lines": 0
365
+ },
366
+ "missing_lines": [],
367
+ "excluded_lines": []
368
+ },
369
+ "TailwindConfigGenerator._generate_javascript": {
370
+ "executed_lines": [219, 221, 222, 223, 225],
371
+ "summary": {
372
+ "covered_lines": 5,
373
+ "num_statements": 5,
374
+ "percent_covered": 100.0,
375
+ "percent_covered_display": "100",
376
+ "missing_lines": 0,
377
+ "excluded_lines": 0
378
+ },
379
+ "missing_lines": [],
380
+ "excluded_lines": []
381
+ },
382
+ "TailwindConfigGenerator._format_plugins": {
383
+ "executed_lines": [234, 235, 237, 240],
384
+ "summary": {
385
+ "covered_lines": 4,
386
+ "num_statements": 4,
387
+ "percent_covered": 100.0,
388
+ "percent_covered_display": "100",
389
+ "missing_lines": 0,
390
+ "excluded_lines": 0
391
+ },
392
+ "missing_lines": [],
393
+ "excluded_lines": []
394
+ },
395
+ "TailwindConfigGenerator._indent_json": {
396
+ "executed_lines": [244, 245, 247, 248],
397
+ "summary": {
398
+ "covered_lines": 4,
399
+ "num_statements": 4,
400
+ "percent_covered": 100.0,
401
+ "percent_covered_display": "100",
402
+ "missing_lines": 0,
403
+ "excluded_lines": 0
404
+ },
405
+ "missing_lines": [],
406
+ "excluded_lines": []
407
+ },
408
+ "TailwindConfigGenerator.write_config": {
409
+ "executed_lines": [257, 258, 260, 262, 264, 265],
410
+ "summary": {
411
+ "covered_lines": 6,
412
+ "num_statements": 6,
413
+ "percent_covered": 100.0,
414
+ "percent_covered_display": "100",
415
+ "missing_lines": 0,
416
+ "excluded_lines": 0
417
+ },
418
+ "missing_lines": [],
419
+ "excluded_lines": []
420
+ },
421
+ "TailwindConfigGenerator.validate_config": {
422
+ "executed_lines": [275, 276, 279, 280],
423
+ "summary": {
424
+ "covered_lines": 4,
425
+ "num_statements": 5,
426
+ "percent_covered": 80.0,
427
+ "percent_covered_display": "80",
428
+ "missing_lines": 1,
429
+ "excluded_lines": 0
430
+ },
431
+ "missing_lines": [282],
432
+ "excluded_lines": []
433
+ },
434
+ "main": {
435
+ "executed_lines": [],
436
+ "summary": {
437
+ "covered_lines": 0,
438
+ "num_statements": 72,
439
+ "percent_covered": 0.0,
440
+ "percent_covered_display": "0",
441
+ "missing_lines": 72,
442
+ "excluded_lines": 0
443
+ },
444
+ "missing_lines": [
445
+ 287, 309, 316, 322, 328, 335, 342, 349, 356, 362, 368, 371, 378, 379, 380, 381, 382, 383, 384, 385, 386,
446
+ 387, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
447
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 426, 427, 428, 429, 430, 431, 434, 435, 436, 437, 439,
448
+ 440, 443, 444, 445, 446, 447, 450, 451, 452
449
+ ],
450
+ "excluded_lines": []
451
+ },
452
+ "": {
453
+ "executed_lines": [
454
+ 2, 9, 10, 11, 12, 13, 16, 17, 19, 38, 43, 54, 77, 90, 116, 129, 142, 155, 167, 185, 196, 217, 232, 242, 250,
455
+ 267, 285, 455
456
+ ],
457
+ "summary": {
458
+ "covered_lines": 26,
459
+ "num_statements": 27,
460
+ "percent_covered": 96.29629629629629,
461
+ "percent_covered_display": "96",
462
+ "missing_lines": 1,
463
+ "excluded_lines": 0
464
+ },
465
+ "missing_lines": [456],
466
+ "excluded_lines": []
467
+ }
468
+ },
469
+ "classes": {
470
+ "TailwindConfigGenerator": {
471
+ "executed_lines": [
472
+ 33, 34, 35, 36, 40, 41, 45, 56, 75, 85, 86, 88, 99, 100, 102, 124, 125, 127, 137, 138, 140, 150, 151, 153,
473
+ 163, 164, 165, 174, 177, 180, 181, 183, 192, 193, 194, 198, 200, 203, 204, 205, 207, 219, 221, 222, 223,
474
+ 225, 234, 235, 237, 240, 244, 245, 247, 248, 257, 258, 260, 262, 264, 265, 275, 276, 279, 280
475
+ ],
476
+ "summary": {
477
+ "covered_lines": 64,
478
+ "num_statements": 65,
479
+ "percent_covered": 98.46153846153847,
480
+ "percent_covered_display": "98",
481
+ "missing_lines": 1,
482
+ "excluded_lines": 0
483
+ },
484
+ "missing_lines": [282],
485
+ "excluded_lines": []
486
+ },
487
+ "": {
488
+ "executed_lines": [
489
+ 2, 9, 10, 11, 12, 13, 16, 17, 19, 38, 43, 54, 77, 90, 116, 129, 142, 155, 167, 185, 196, 217, 232, 242, 250,
490
+ 267, 285, 455
491
+ ],
492
+ "summary": {
493
+ "covered_lines": 26,
494
+ "num_statements": 99,
495
+ "percent_covered": 26.262626262626263,
496
+ "percent_covered_display": "26",
497
+ "missing_lines": 73,
498
+ "excluded_lines": 0
499
+ },
500
+ "missing_lines": [
501
+ 287, 309, 316, 322, 328, 335, 342, 349, 356, 362, 368, 371, 378, 379, 380, 381, 382, 383, 384, 385, 386,
502
+ 387, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
503
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 426, 427, 428, 429, 430, 431, 434, 435, 436, 437, 439,
504
+ 440, 443, 444, 445, 446, 447, 450, 451, 452, 456
505
+ ],
506
+ "excluded_lines": []
507
+ }
508
+ }
509
+ },
510
+ "tests/test_shadcn_add.py": {
511
+ "executed_lines": [
512
+ 1, 3, 4, 5, 6, 8, 11, 12, 14, 17, 18, 20, 21, 23, 24, 27, 28, 39, 40, 42, 44, 46, 47, 48, 50, 52, 53, 55, 57,
513
+ 58, 60, 62, 63, 65, 67, 68, 70, 72, 73, 74, 76, 78, 81, 82, 84, 85, 87, 89, 91, 92, 93, 95, 97, 98, 100, 101,
514
+ 103, 105, 106, 108, 109, 111, 113, 114, 116, 117, 119, 120, 121, 123, 125, 126, 128, 130, 131, 136, 138, 139,
515
+ 140, 143, 144, 146, 148, 149, 151, 152, 153, 154, 156, 157, 159, 165, 166, 168, 169, 170, 171, 174, 175, 176,
516
+ 177, 178, 180, 181, 183, 187, 188, 190, 191, 193, 194, 196, 198, 199, 201, 202, 204, 206, 207, 209, 210, 212,
517
+ 214, 215, 217, 218, 219, 221, 222, 224, 229, 230, 232, 233, 236, 237, 239, 241, 242, 244, 245, 247, 249, 250,
518
+ 252, 253, 255, 257, 258, 259, 261, 262, 264, 265, 266
519
+ ],
520
+ "summary": {
521
+ "covered_lines": 153,
522
+ "num_statements": 153,
523
+ "percent_covered": 100.0,
524
+ "percent_covered_display": "100",
525
+ "missing_lines": 0,
526
+ "excluded_lines": 0
527
+ },
528
+ "missing_lines": [],
529
+ "excluded_lines": [],
530
+ "functions": {
531
+ "TestShadcnInstaller.temp_project": {
532
+ "executed_lines": [23, 24, 27, 28, 39, 40, 42],
533
+ "summary": {
534
+ "covered_lines": 7,
535
+ "num_statements": 7,
536
+ "percent_covered": 100.0,
537
+ "percent_covered_display": "100",
538
+ "missing_lines": 0,
539
+ "excluded_lines": 0
540
+ },
541
+ "missing_lines": [],
542
+ "excluded_lines": []
543
+ },
544
+ "TestShadcnInstaller.test_init_default_project_root": {
545
+ "executed_lines": [46, 47, 48],
546
+ "summary": {
547
+ "covered_lines": 3,
548
+ "num_statements": 3,
549
+ "percent_covered": 100.0,
550
+ "percent_covered_display": "100",
551
+ "missing_lines": 0,
552
+ "excluded_lines": 0
553
+ },
554
+ "missing_lines": [],
555
+ "excluded_lines": []
556
+ },
557
+ "TestShadcnInstaller.test_init_custom_project_root": {
558
+ "executed_lines": [52, 53],
559
+ "summary": {
560
+ "covered_lines": 2,
561
+ "num_statements": 2,
562
+ "percent_covered": 100.0,
563
+ "percent_covered_display": "100",
564
+ "missing_lines": 0,
565
+ "excluded_lines": 0
566
+ },
567
+ "missing_lines": [],
568
+ "excluded_lines": []
569
+ },
570
+ "TestShadcnInstaller.test_init_dry_run": {
571
+ "executed_lines": [57, 58],
572
+ "summary": {
573
+ "covered_lines": 2,
574
+ "num_statements": 2,
575
+ "percent_covered": 100.0,
576
+ "percent_covered_display": "100",
577
+ "missing_lines": 0,
578
+ "excluded_lines": 0
579
+ },
580
+ "missing_lines": [],
581
+ "excluded_lines": []
582
+ },
583
+ "TestShadcnInstaller.test_check_shadcn_config_exists": {
584
+ "executed_lines": [62, 63],
585
+ "summary": {
586
+ "covered_lines": 2,
587
+ "num_statements": 2,
588
+ "percent_covered": 100.0,
589
+ "percent_covered_display": "100",
590
+ "missing_lines": 0,
591
+ "excluded_lines": 0
592
+ },
593
+ "missing_lines": [],
594
+ "excluded_lines": []
595
+ },
596
+ "TestShadcnInstaller.test_check_shadcn_config_not_exists": {
597
+ "executed_lines": [67, 68],
598
+ "summary": {
599
+ "covered_lines": 2,
600
+ "num_statements": 2,
601
+ "percent_covered": 100.0,
602
+ "percent_covered_display": "100",
603
+ "missing_lines": 0,
604
+ "excluded_lines": 0
605
+ },
606
+ "missing_lines": [],
607
+ "excluded_lines": []
608
+ },
609
+ "TestShadcnInstaller.test_get_installed_components_empty": {
610
+ "executed_lines": [72, 73, 74],
611
+ "summary": {
612
+ "covered_lines": 3,
613
+ "num_statements": 3,
614
+ "percent_covered": 100.0,
615
+ "percent_covered_display": "100",
616
+ "missing_lines": 0,
617
+ "excluded_lines": 0
618
+ },
619
+ "missing_lines": [],
620
+ "excluded_lines": []
621
+ },
622
+ "TestShadcnInstaller.test_get_installed_components_with_files": {
623
+ "executed_lines": [78, 81, 82, 84, 85, 87],
624
+ "summary": {
625
+ "covered_lines": 6,
626
+ "num_statements": 6,
627
+ "percent_covered": 100.0,
628
+ "percent_covered_display": "100",
629
+ "missing_lines": 0,
630
+ "excluded_lines": 0
631
+ },
632
+ "missing_lines": [],
633
+ "excluded_lines": []
634
+ },
635
+ "TestShadcnInstaller.test_get_installed_components_no_config": {
636
+ "executed_lines": [91, 92, 93],
637
+ "summary": {
638
+ "covered_lines": 3,
639
+ "num_statements": 3,
640
+ "percent_covered": 100.0,
641
+ "percent_covered_display": "100",
642
+ "missing_lines": 0,
643
+ "excluded_lines": 0
644
+ },
645
+ "missing_lines": [],
646
+ "excluded_lines": []
647
+ },
648
+ "TestShadcnInstaller.test_add_components_no_components": {
649
+ "executed_lines": [97, 98, 100, 101],
650
+ "summary": {
651
+ "covered_lines": 4,
652
+ "num_statements": 4,
653
+ "percent_covered": 100.0,
654
+ "percent_covered_display": "100",
655
+ "missing_lines": 0,
656
+ "excluded_lines": 0
657
+ },
658
+ "missing_lines": [],
659
+ "excluded_lines": []
660
+ },
661
+ "TestShadcnInstaller.test_add_components_no_config": {
662
+ "executed_lines": [105, 106, 108, 109],
663
+ "summary": {
664
+ "covered_lines": 4,
665
+ "num_statements": 4,
666
+ "percent_covered": 100.0,
667
+ "percent_covered_display": "100",
668
+ "missing_lines": 0,
669
+ "excluded_lines": 0
670
+ },
671
+ "missing_lines": [],
672
+ "excluded_lines": []
673
+ },
674
+ "TestShadcnInstaller.test_add_components_already_installed": {
675
+ "executed_lines": [113, 114, 116, 117, 119, 120, 121],
676
+ "summary": {
677
+ "covered_lines": 7,
678
+ "num_statements": 7,
679
+ "percent_covered": 100.0,
680
+ "percent_covered_display": "100",
681
+ "missing_lines": 0,
682
+ "excluded_lines": 0
683
+ },
684
+ "missing_lines": [],
685
+ "excluded_lines": []
686
+ },
687
+ "TestShadcnInstaller.test_add_components_with_overwrite": {
688
+ "executed_lines": [125, 126, 128, 130, 131, 136, 138, 139, 140, 143, 144],
689
+ "summary": {
690
+ "covered_lines": 11,
691
+ "num_statements": 11,
692
+ "percent_covered": 100.0,
693
+ "percent_covered_display": "100",
694
+ "missing_lines": 0,
695
+ "excluded_lines": 0
696
+ },
697
+ "missing_lines": [],
698
+ "excluded_lines": []
699
+ },
700
+ "TestShadcnInstaller.test_add_components_dry_run": {
701
+ "executed_lines": [148, 149, 151, 152, 153, 154],
702
+ "summary": {
703
+ "covered_lines": 6,
704
+ "num_statements": 6,
705
+ "percent_covered": 100.0,
706
+ "percent_covered_display": "100",
707
+ "missing_lines": 0,
708
+ "excluded_lines": 0
709
+ },
710
+ "missing_lines": [],
711
+ "excluded_lines": []
712
+ },
713
+ "TestShadcnInstaller.test_add_components_success": {
714
+ "executed_lines": [159, 165, 166, 168, 169, 170, 171, 174, 175, 176, 177, 178],
715
+ "summary": {
716
+ "covered_lines": 12,
717
+ "num_statements": 12,
718
+ "percent_covered": 100.0,
719
+ "percent_covered_display": "100",
720
+ "missing_lines": 0,
721
+ "excluded_lines": 0
722
+ },
723
+ "missing_lines": [],
724
+ "excluded_lines": []
725
+ },
726
+ "TestShadcnInstaller.test_add_components_subprocess_error": {
727
+ "executed_lines": [183, 187, 188, 190, 191],
728
+ "summary": {
729
+ "covered_lines": 5,
730
+ "num_statements": 5,
731
+ "percent_covered": 100.0,
732
+ "percent_covered_display": "100",
733
+ "missing_lines": 0,
734
+ "excluded_lines": 0
735
+ },
736
+ "missing_lines": [],
737
+ "excluded_lines": []
738
+ },
739
+ "TestShadcnInstaller.test_add_components_npx_not_found": {
740
+ "executed_lines": [196, 198, 199, 201, 202],
741
+ "summary": {
742
+ "covered_lines": 5,
743
+ "num_statements": 5,
744
+ "percent_covered": 100.0,
745
+ "percent_covered_display": "100",
746
+ "missing_lines": 0,
747
+ "excluded_lines": 0
748
+ },
749
+ "missing_lines": [],
750
+ "excluded_lines": []
751
+ },
752
+ "TestShadcnInstaller.test_add_all_components_no_config": {
753
+ "executed_lines": [206, 207, 209, 210],
754
+ "summary": {
755
+ "covered_lines": 4,
756
+ "num_statements": 4,
757
+ "percent_covered": 100.0,
758
+ "percent_covered_display": "100",
759
+ "missing_lines": 0,
760
+ "excluded_lines": 0
761
+ },
762
+ "missing_lines": [],
763
+ "excluded_lines": []
764
+ },
765
+ "TestShadcnInstaller.test_add_all_components_dry_run": {
766
+ "executed_lines": [214, 215, 217, 218, 219],
767
+ "summary": {
768
+ "covered_lines": 5,
769
+ "num_statements": 5,
770
+ "percent_covered": 100.0,
771
+ "percent_covered_display": "100",
772
+ "missing_lines": 0,
773
+ "excluded_lines": 0
774
+ },
775
+ "missing_lines": [],
776
+ "excluded_lines": []
777
+ },
778
+ "TestShadcnInstaller.test_add_all_components_success": {
779
+ "executed_lines": [224, 229, 230, 232, 233, 236, 237],
780
+ "summary": {
781
+ "covered_lines": 7,
782
+ "num_statements": 7,
783
+ "percent_covered": 100.0,
784
+ "percent_covered_display": "100",
785
+ "missing_lines": 0,
786
+ "excluded_lines": 0
787
+ },
788
+ "missing_lines": [],
789
+ "excluded_lines": []
790
+ },
791
+ "TestShadcnInstaller.test_list_installed_no_config": {
792
+ "executed_lines": [241, 242, 244, 245],
793
+ "summary": {
794
+ "covered_lines": 4,
795
+ "num_statements": 4,
796
+ "percent_covered": 100.0,
797
+ "percent_covered_display": "100",
798
+ "missing_lines": 0,
799
+ "excluded_lines": 0
800
+ },
801
+ "missing_lines": [],
802
+ "excluded_lines": []
803
+ },
804
+ "TestShadcnInstaller.test_list_installed_empty": {
805
+ "executed_lines": [249, 250, 252, 253],
806
+ "summary": {
807
+ "covered_lines": 4,
808
+ "num_statements": 4,
809
+ "percent_covered": 100.0,
810
+ "percent_covered_display": "100",
811
+ "missing_lines": 0,
812
+ "excluded_lines": 0
813
+ },
814
+ "missing_lines": [],
815
+ "excluded_lines": []
816
+ },
817
+ "TestShadcnInstaller.test_list_installed_with_components": {
818
+ "executed_lines": [257, 258, 259, 261, 262, 264, 265, 266],
819
+ "summary": {
820
+ "covered_lines": 8,
821
+ "num_statements": 8,
822
+ "percent_covered": 100.0,
823
+ "percent_covered_display": "100",
824
+ "missing_lines": 0,
825
+ "excluded_lines": 0
826
+ },
827
+ "missing_lines": [],
828
+ "excluded_lines": []
829
+ },
830
+ "": {
831
+ "executed_lines": [
832
+ 1, 3, 4, 5, 6, 8, 11, 12, 14, 17, 18, 20, 21, 44, 50, 55, 60, 65, 70, 76, 89, 95, 103, 111, 123, 146, 156,
833
+ 157, 180, 181, 193, 194, 204, 212, 221, 222, 239, 247, 255
834
+ ],
835
+ "summary": {
836
+ "covered_lines": 37,
837
+ "num_statements": 37,
838
+ "percent_covered": 100.0,
839
+ "percent_covered_display": "100",
840
+ "missing_lines": 0,
841
+ "excluded_lines": 0
842
+ },
843
+ "missing_lines": [],
844
+ "excluded_lines": []
845
+ }
846
+ },
847
+ "classes": {
848
+ "TestShadcnInstaller": {
849
+ "executed_lines": [
850
+ 23, 24, 27, 28, 39, 40, 42, 46, 47, 48, 52, 53, 57, 58, 62, 63, 67, 68, 72, 73, 74, 78, 81, 82, 84, 85, 87,
851
+ 91, 92, 93, 97, 98, 100, 101, 105, 106, 108, 109, 113, 114, 116, 117, 119, 120, 121, 125, 126, 128, 130,
852
+ 131, 136, 138, 139, 140, 143, 144, 148, 149, 151, 152, 153, 154, 159, 165, 166, 168, 169, 170, 171, 174,
853
+ 175, 176, 177, 178, 183, 187, 188, 190, 191, 196, 198, 199, 201, 202, 206, 207, 209, 210, 214, 215, 217,
854
+ 218, 219, 224, 229, 230, 232, 233, 236, 237, 241, 242, 244, 245, 249, 250, 252, 253, 257, 258, 259, 261,
855
+ 262, 264, 265, 266
856
+ ],
857
+ "summary": {
858
+ "covered_lines": 116,
859
+ "num_statements": 116,
860
+ "percent_covered": 100.0,
861
+ "percent_covered_display": "100",
862
+ "missing_lines": 0,
863
+ "excluded_lines": 0
864
+ },
865
+ "missing_lines": [],
866
+ "excluded_lines": []
867
+ },
868
+ "": {
869
+ "executed_lines": [
870
+ 1, 3, 4, 5, 6, 8, 11, 12, 14, 17, 18, 20, 21, 44, 50, 55, 60, 65, 70, 76, 89, 95, 103, 111, 123, 146, 156,
871
+ 157, 180, 181, 193, 194, 204, 212, 221, 222, 239, 247, 255
872
+ ],
873
+ "summary": {
874
+ "covered_lines": 37,
875
+ "num_statements": 37,
876
+ "percent_covered": 100.0,
877
+ "percent_covered_display": "100",
878
+ "missing_lines": 0,
879
+ "excluded_lines": 0
880
+ },
881
+ "missing_lines": [],
882
+ "excluded_lines": []
883
+ }
884
+ }
885
+ },
886
+ "tests/test_tailwind_config_gen.py": {
887
+ "executed_lines": [
888
+ 1, 3, 5, 8, 9, 11, 14, 15, 17, 19, 20, 21, 23, 25, 26, 28, 30, 31, 32, 34, 36, 37, 39, 41, 42, 44, 46, 47, 48,
889
+ 50, 52, 53, 55, 56, 57, 58, 59, 61, 63, 64, 66, 67, 69, 71, 72, 74, 75, 76, 78, 80, 81, 83, 85, 87, 88, 92, 94,
890
+ 95, 96, 98, 100, 102, 103, 105, 106, 107, 109, 111, 112, 114, 116, 117, 118, 119, 120, 122, 124, 125, 129, 131,
891
+ 132, 133, 135, 137, 138, 142, 144, 145, 146, 148, 150, 151, 155, 157, 158, 159, 161, 163, 164, 165, 167, 168,
892
+ 170, 172, 173, 174, 176, 177, 179, 181, 182, 184, 185, 187, 189, 190, 192, 194, 196, 197, 199, 200, 201, 203,
893
+ 205, 206, 208, 209, 211, 213, 214, 215, 217, 218, 220, 222, 223, 224, 226, 227, 229, 231, 232, 234, 236, 238,
894
+ 239, 241, 243, 244, 246, 248, 251, 253, 254, 256, 258, 259, 261, 263, 264, 265, 267, 269, 270, 271, 273, 275,
895
+ 276, 277, 279, 281, 283, 285, 286, 288, 290, 291, 298, 299, 300, 301, 302, 304, 305, 307, 310, 311, 312, 313,
896
+ 314, 315, 317, 319, 320, 326, 327, 329, 330, 332, 334, 335, 336
897
+ ],
898
+ "summary": {
899
+ "covered_lines": 201,
900
+ "num_statements": 201,
901
+ "percent_covered": 100.0,
902
+ "percent_covered_display": "100",
903
+ "missing_lines": 0,
904
+ "excluded_lines": 0
905
+ },
906
+ "missing_lines": [],
907
+ "excluded_lines": [],
908
+ "functions": {
909
+ "TestTailwindConfigGenerator.test_init_default_typescript": {
910
+ "executed_lines": [19, 20, 21],
911
+ "summary": {
912
+ "covered_lines": 3,
913
+ "num_statements": 3,
914
+ "percent_covered": 100.0,
915
+ "percent_covered_display": "100",
916
+ "missing_lines": 0,
917
+ "excluded_lines": 0
918
+ },
919
+ "missing_lines": [],
920
+ "excluded_lines": []
921
+ },
922
+ "TestTailwindConfigGenerator.test_init_javascript": {
923
+ "executed_lines": [25, 26],
924
+ "summary": {
925
+ "covered_lines": 2,
926
+ "num_statements": 2,
927
+ "percent_covered": 100.0,
928
+ "percent_covered_display": "100",
929
+ "missing_lines": 0,
930
+ "excluded_lines": 0
931
+ },
932
+ "missing_lines": [],
933
+ "excluded_lines": []
934
+ },
935
+ "TestTailwindConfigGenerator.test_init_framework": {
936
+ "executed_lines": [30, 31, 32],
937
+ "summary": {
938
+ "covered_lines": 3,
939
+ "num_statements": 3,
940
+ "percent_covered": 100.0,
941
+ "percent_covered_display": "100",
942
+ "missing_lines": 0,
943
+ "excluded_lines": 0
944
+ },
945
+ "missing_lines": [],
946
+ "excluded_lines": []
947
+ },
948
+ "TestTailwindConfigGenerator.test_default_output_path_typescript": {
949
+ "executed_lines": [36, 37],
950
+ "summary": {
951
+ "covered_lines": 2,
952
+ "num_statements": 2,
953
+ "percent_covered": 100.0,
954
+ "percent_covered_display": "100",
955
+ "missing_lines": 0,
956
+ "excluded_lines": 0
957
+ },
958
+ "missing_lines": [],
959
+ "excluded_lines": []
960
+ },
961
+ "TestTailwindConfigGenerator.test_default_output_path_javascript": {
962
+ "executed_lines": [41, 42],
963
+ "summary": {
964
+ "covered_lines": 2,
965
+ "num_statements": 2,
966
+ "percent_covered": 100.0,
967
+ "percent_covered_display": "100",
968
+ "missing_lines": 0,
969
+ "excluded_lines": 0
970
+ },
971
+ "missing_lines": [],
972
+ "excluded_lines": []
973
+ },
974
+ "TestTailwindConfigGenerator.test_custom_output_path": {
975
+ "executed_lines": [46, 47, 48],
976
+ "summary": {
977
+ "covered_lines": 3,
978
+ "num_statements": 3,
979
+ "percent_covered": 100.0,
980
+ "percent_covered_display": "100",
981
+ "missing_lines": 0,
982
+ "excluded_lines": 0
983
+ },
984
+ "missing_lines": [],
985
+ "excluded_lines": []
986
+ },
987
+ "TestTailwindConfigGenerator.test_base_config_structure": {
988
+ "executed_lines": [52, 53, 55, 56, 57, 58, 59],
989
+ "summary": {
990
+ "covered_lines": 7,
991
+ "num_statements": 7,
992
+ "percent_covered": 100.0,
993
+ "percent_covered_display": "100",
994
+ "missing_lines": 0,
995
+ "excluded_lines": 0
996
+ },
997
+ "missing_lines": [],
998
+ "excluded_lines": []
999
+ },
1000
+ "TestTailwindConfigGenerator.test_default_content_paths_react": {
1001
+ "executed_lines": [63, 64, 66, 67],
1002
+ "summary": {
1003
+ "covered_lines": 4,
1004
+ "num_statements": 4,
1005
+ "percent_covered": 100.0,
1006
+ "percent_covered_display": "100",
1007
+ "missing_lines": 0,
1008
+ "excluded_lines": 0
1009
+ },
1010
+ "missing_lines": [],
1011
+ "excluded_lines": []
1012
+ },
1013
+ "TestTailwindConfigGenerator.test_default_content_paths_nextjs": {
1014
+ "executed_lines": [71, 72, 74, 75, 76],
1015
+ "summary": {
1016
+ "covered_lines": 5,
1017
+ "num_statements": 5,
1018
+ "percent_covered": 100.0,
1019
+ "percent_covered_display": "100",
1020
+ "missing_lines": 0,
1021
+ "excluded_lines": 0
1022
+ },
1023
+ "missing_lines": [],
1024
+ "excluded_lines": []
1025
+ },
1026
+ "TestTailwindConfigGenerator.test_default_content_paths_vue": {
1027
+ "executed_lines": [80, 81, 83],
1028
+ "summary": {
1029
+ "covered_lines": 3,
1030
+ "num_statements": 3,
1031
+ "percent_covered": 100.0,
1032
+ "percent_covered_display": "100",
1033
+ "missing_lines": 0,
1034
+ "excluded_lines": 0
1035
+ },
1036
+ "missing_lines": [],
1037
+ "excluded_lines": []
1038
+ },
1039
+ "TestTailwindConfigGenerator.test_add_colors": {
1040
+ "executed_lines": [87, 88, 92, 94, 95, 96],
1041
+ "summary": {
1042
+ "covered_lines": 6,
1043
+ "num_statements": 6,
1044
+ "percent_covered": 100.0,
1045
+ "percent_covered_display": "100",
1046
+ "missing_lines": 0,
1047
+ "excluded_lines": 0
1048
+ },
1049
+ "missing_lines": [],
1050
+ "excluded_lines": []
1051
+ },
1052
+ "TestTailwindConfigGenerator.test_add_colors_multiple_times": {
1053
+ "executed_lines": [100, 102, 103, 105, 106, 107],
1054
+ "summary": {
1055
+ "covered_lines": 6,
1056
+ "num_statements": 6,
1057
+ "percent_covered": 100.0,
1058
+ "percent_covered_display": "100",
1059
+ "missing_lines": 0,
1060
+ "excluded_lines": 0
1061
+ },
1062
+ "missing_lines": [],
1063
+ "excluded_lines": []
1064
+ },
1065
+ "TestTailwindConfigGenerator.test_add_color_palette": {
1066
+ "executed_lines": [111, 112, 114, 116, 117, 118, 119, 120],
1067
+ "summary": {
1068
+ "covered_lines": 8,
1069
+ "num_statements": 8,
1070
+ "percent_covered": 100.0,
1071
+ "percent_covered_display": "100",
1072
+ "missing_lines": 0,
1073
+ "excluded_lines": 0
1074
+ },
1075
+ "missing_lines": [],
1076
+ "excluded_lines": []
1077
+ },
1078
+ "TestTailwindConfigGenerator.test_add_fonts": {
1079
+ "executed_lines": [124, 125, 129, 131, 132, 133],
1080
+ "summary": {
1081
+ "covered_lines": 6,
1082
+ "num_statements": 6,
1083
+ "percent_covered": 100.0,
1084
+ "percent_covered_display": "100",
1085
+ "missing_lines": 0,
1086
+ "excluded_lines": 0
1087
+ },
1088
+ "missing_lines": [],
1089
+ "excluded_lines": []
1090
+ },
1091
+ "TestTailwindConfigGenerator.test_add_spacing": {
1092
+ "executed_lines": [137, 138, 142, 144, 145, 146],
1093
+ "summary": {
1094
+ "covered_lines": 6,
1095
+ "num_statements": 6,
1096
+ "percent_covered": 100.0,
1097
+ "percent_covered_display": "100",
1098
+ "missing_lines": 0,
1099
+ "excluded_lines": 0
1100
+ },
1101
+ "missing_lines": [],
1102
+ "excluded_lines": []
1103
+ },
1104
+ "TestTailwindConfigGenerator.test_add_breakpoints": {
1105
+ "executed_lines": [150, 151, 155, 157, 158, 159],
1106
+ "summary": {
1107
+ "covered_lines": 6,
1108
+ "num_statements": 6,
1109
+ "percent_covered": 100.0,
1110
+ "percent_covered_display": "100",
1111
+ "missing_lines": 0,
1112
+ "excluded_lines": 0
1113
+ },
1114
+ "missing_lines": [],
1115
+ "excluded_lines": []
1116
+ },
1117
+ "TestTailwindConfigGenerator.test_add_plugins": {
1118
+ "executed_lines": [163, 164, 165, 167, 168],
1119
+ "summary": {
1120
+ "covered_lines": 5,
1121
+ "num_statements": 5,
1122
+ "percent_covered": 100.0,
1123
+ "percent_covered_display": "100",
1124
+ "missing_lines": 0,
1125
+ "excluded_lines": 0
1126
+ },
1127
+ "missing_lines": [],
1128
+ "excluded_lines": []
1129
+ },
1130
+ "TestTailwindConfigGenerator.test_add_plugins_no_duplicates": {
1131
+ "executed_lines": [172, 173, 174, 176, 177],
1132
+ "summary": {
1133
+ "covered_lines": 5,
1134
+ "num_statements": 5,
1135
+ "percent_covered": 100.0,
1136
+ "percent_covered_display": "100",
1137
+ "missing_lines": 0,
1138
+ "excluded_lines": 0
1139
+ },
1140
+ "missing_lines": [],
1141
+ "excluded_lines": []
1142
+ },
1143
+ "TestTailwindConfigGenerator.test_recommend_plugins": {
1144
+ "executed_lines": [181, 182, 184, 185],
1145
+ "summary": {
1146
+ "covered_lines": 4,
1147
+ "num_statements": 4,
1148
+ "percent_covered": 100.0,
1149
+ "percent_covered_display": "100",
1150
+ "missing_lines": 0,
1151
+ "excluded_lines": 0
1152
+ },
1153
+ "missing_lines": [],
1154
+ "excluded_lines": []
1155
+ },
1156
+ "TestTailwindConfigGenerator.test_recommend_plugins_nextjs": {
1157
+ "executed_lines": [189, 190, 192],
1158
+ "summary": {
1159
+ "covered_lines": 3,
1160
+ "num_statements": 3,
1161
+ "percent_covered": 100.0,
1162
+ "percent_covered_display": "100",
1163
+ "missing_lines": 0,
1164
+ "excluded_lines": 0
1165
+ },
1166
+ "missing_lines": [],
1167
+ "excluded_lines": []
1168
+ },
1169
+ "TestTailwindConfigGenerator.test_generate_typescript_config": {
1170
+ "executed_lines": [196, 197, 199, 200, 201],
1171
+ "summary": {
1172
+ "covered_lines": 5,
1173
+ "num_statements": 5,
1174
+ "percent_covered": 100.0,
1175
+ "percent_covered_display": "100",
1176
+ "missing_lines": 0,
1177
+ "excluded_lines": 0
1178
+ },
1179
+ "missing_lines": [],
1180
+ "excluded_lines": []
1181
+ },
1182
+ "TestTailwindConfigGenerator.test_generate_javascript_config": {
1183
+ "executed_lines": [205, 206, 208, 209],
1184
+ "summary": {
1185
+ "covered_lines": 4,
1186
+ "num_statements": 4,
1187
+ "percent_covered": 100.0,
1188
+ "percent_covered_display": "100",
1189
+ "missing_lines": 0,
1190
+ "excluded_lines": 0
1191
+ },
1192
+ "missing_lines": [],
1193
+ "excluded_lines": []
1194
+ },
1195
+ "TestTailwindConfigGenerator.test_generate_config_with_colors": {
1196
+ "executed_lines": [213, 214, 215, 217, 218],
1197
+ "summary": {
1198
+ "covered_lines": 5,
1199
+ "num_statements": 5,
1200
+ "percent_covered": 100.0,
1201
+ "percent_covered_display": "100",
1202
+ "missing_lines": 0,
1203
+ "excluded_lines": 0
1204
+ },
1205
+ "missing_lines": [],
1206
+ "excluded_lines": []
1207
+ },
1208
+ "TestTailwindConfigGenerator.test_generate_config_with_plugins": {
1209
+ "executed_lines": [222, 223, 224, 226, 227],
1210
+ "summary": {
1211
+ "covered_lines": 5,
1212
+ "num_statements": 5,
1213
+ "percent_covered": 100.0,
1214
+ "percent_covered_display": "100",
1215
+ "missing_lines": 0,
1216
+ "excluded_lines": 0
1217
+ },
1218
+ "missing_lines": [],
1219
+ "excluded_lines": []
1220
+ },
1221
+ "TestTailwindConfigGenerator.test_validate_config_valid": {
1222
+ "executed_lines": [231, 232, 234],
1223
+ "summary": {
1224
+ "covered_lines": 3,
1225
+ "num_statements": 3,
1226
+ "percent_covered": 100.0,
1227
+ "percent_covered_display": "100",
1228
+ "missing_lines": 0,
1229
+ "excluded_lines": 0
1230
+ },
1231
+ "missing_lines": [],
1232
+ "excluded_lines": []
1233
+ },
1234
+ "TestTailwindConfigGenerator.test_validate_config_no_content": {
1235
+ "executed_lines": [238, 239, 241, 243, 244],
1236
+ "summary": {
1237
+ "covered_lines": 5,
1238
+ "num_statements": 5,
1239
+ "percent_covered": 100.0,
1240
+ "percent_covered_display": "100",
1241
+ "missing_lines": 0,
1242
+ "excluded_lines": 0
1243
+ },
1244
+ "missing_lines": [],
1245
+ "excluded_lines": []
1246
+ },
1247
+ "TestTailwindConfigGenerator.test_validate_config_empty_theme": {
1248
+ "executed_lines": [248, 251, 253, 254],
1249
+ "summary": {
1250
+ "covered_lines": 4,
1251
+ "num_statements": 4,
1252
+ "percent_covered": 100.0,
1253
+ "percent_covered_display": "100",
1254
+ "missing_lines": 0,
1255
+ "excluded_lines": 0
1256
+ },
1257
+ "missing_lines": [],
1258
+ "excluded_lines": []
1259
+ },
1260
+ "TestTailwindConfigGenerator.test_write_config": {
1261
+ "executed_lines": [258, 259, 261, 263, 264, 265],
1262
+ "summary": {
1263
+ "covered_lines": 6,
1264
+ "num_statements": 6,
1265
+ "percent_covered": 100.0,
1266
+ "percent_covered_display": "100",
1267
+ "missing_lines": 0,
1268
+ "excluded_lines": 0
1269
+ },
1270
+ "missing_lines": [],
1271
+ "excluded_lines": []
1272
+ },
1273
+ "TestTailwindConfigGenerator.test_write_config_creates_content": {
1274
+ "executed_lines": [269, 270, 271, 273, 275, 276, 277],
1275
+ "summary": {
1276
+ "covered_lines": 7,
1277
+ "num_statements": 7,
1278
+ "percent_covered": 100.0,
1279
+ "percent_covered_display": "100",
1280
+ "missing_lines": 0,
1281
+ "excluded_lines": 0
1282
+ },
1283
+ "missing_lines": [],
1284
+ "excluded_lines": []
1285
+ },
1286
+ "TestTailwindConfigGenerator.test_write_config_invalid_path": {
1287
+ "executed_lines": [281, 283, 285, 286],
1288
+ "summary": {
1289
+ "covered_lines": 4,
1290
+ "num_statements": 4,
1291
+ "percent_covered": 100.0,
1292
+ "percent_covered_display": "100",
1293
+ "missing_lines": 0,
1294
+ "excluded_lines": 0
1295
+ },
1296
+ "missing_lines": [],
1297
+ "excluded_lines": []
1298
+ },
1299
+ "TestTailwindConfigGenerator.test_full_configuration_typescript": {
1300
+ "executed_lines": [290, 291, 298, 299, 300, 301, 302, 304, 305, 307, 310, 311, 312, 313, 314, 315],
1301
+ "summary": {
1302
+ "covered_lines": 16,
1303
+ "num_statements": 16,
1304
+ "percent_covered": 100.0,
1305
+ "percent_covered_display": "100",
1306
+ "missing_lines": 0,
1307
+ "excluded_lines": 0
1308
+ },
1309
+ "missing_lines": [],
1310
+ "excluded_lines": []
1311
+ },
1312
+ "TestTailwindConfigGenerator.test_full_configuration_javascript": {
1313
+ "executed_lines": [319, 320, 326, 327, 329, 330, 332, 334, 335, 336],
1314
+ "summary": {
1315
+ "covered_lines": 10,
1316
+ "num_statements": 10,
1317
+ "percent_covered": 100.0,
1318
+ "percent_covered_display": "100",
1319
+ "missing_lines": 0,
1320
+ "excluded_lines": 0
1321
+ },
1322
+ "missing_lines": [],
1323
+ "excluded_lines": []
1324
+ },
1325
+ "": {
1326
+ "executed_lines": [
1327
+ 1, 3, 5, 8, 9, 11, 14, 15, 17, 23, 28, 34, 39, 44, 50, 61, 69, 78, 85, 98, 109, 122, 135, 148, 161, 170,
1328
+ 179, 187, 194, 203, 211, 220, 229, 236, 246, 256, 267, 279, 288, 317
1329
+ ],
1330
+ "summary": {
1331
+ "covered_lines": 38,
1332
+ "num_statements": 38,
1333
+ "percent_covered": 100.0,
1334
+ "percent_covered_display": "100",
1335
+ "missing_lines": 0,
1336
+ "excluded_lines": 0
1337
+ },
1338
+ "missing_lines": [],
1339
+ "excluded_lines": []
1340
+ }
1341
+ },
1342
+ "classes": {
1343
+ "TestTailwindConfigGenerator": {
1344
+ "executed_lines": [
1345
+ 19, 20, 21, 25, 26, 30, 31, 32, 36, 37, 41, 42, 46, 47, 48, 52, 53, 55, 56, 57, 58, 59, 63, 64, 66, 67, 71,
1346
+ 72, 74, 75, 76, 80, 81, 83, 87, 88, 92, 94, 95, 96, 100, 102, 103, 105, 106, 107, 111, 112, 114, 116, 117,
1347
+ 118, 119, 120, 124, 125, 129, 131, 132, 133, 137, 138, 142, 144, 145, 146, 150, 151, 155, 157, 158, 159,
1348
+ 163, 164, 165, 167, 168, 172, 173, 174, 176, 177, 181, 182, 184, 185, 189, 190, 192, 196, 197, 199, 200,
1349
+ 201, 205, 206, 208, 209, 213, 214, 215, 217, 218, 222, 223, 224, 226, 227, 231, 232, 234, 238, 239, 241,
1350
+ 243, 244, 248, 251, 253, 254, 258, 259, 261, 263, 264, 265, 269, 270, 271, 273, 275, 276, 277, 281, 283,
1351
+ 285, 286, 290, 291, 298, 299, 300, 301, 302, 304, 305, 307, 310, 311, 312, 313, 314, 315, 319, 320, 326,
1352
+ 327, 329, 330, 332, 334, 335, 336
1353
+ ],
1354
+ "summary": {
1355
+ "covered_lines": 163,
1356
+ "num_statements": 163,
1357
+ "percent_covered": 100.0,
1358
+ "percent_covered_display": "100",
1359
+ "missing_lines": 0,
1360
+ "excluded_lines": 0
1361
+ },
1362
+ "missing_lines": [],
1363
+ "excluded_lines": []
1364
+ },
1365
+ "": {
1366
+ "executed_lines": [
1367
+ 1, 3, 5, 8, 9, 11, 14, 15, 17, 23, 28, 34, 39, 44, 50, 61, 69, 78, 85, 98, 109, 122, 135, 148, 161, 170,
1368
+ 179, 187, 194, 203, 211, 220, 229, 236, 246, 256, 267, 279, 288, 317
1369
+ ],
1370
+ "summary": {
1371
+ "covered_lines": 38,
1372
+ "num_statements": 38,
1373
+ "percent_covered": 100.0,
1374
+ "percent_covered_display": "100",
1375
+ "missing_lines": 0,
1376
+ "excluded_lines": 0
1377
+ },
1378
+ "missing_lines": [],
1379
+ "excluded_lines": []
1380
+ }
1381
+ }
1382
+ }
1383
+ },
1384
+ "totals": {
1385
+ "covered_lines": 514,
1386
+ "num_statements": 621,
1387
+ "percent_covered": 82.76972624798712,
1388
+ "percent_covered_display": "83",
1389
+ "missing_lines": 107,
1390
+ "excluded_lines": 0
1391
+ }
1392
+ }