markilo 0.0.0-stage → 1.0.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 (303) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +10 -0
  3. package/README.md +348 -2
  4. package/THIRD_PARTY_NOTICES.md +72 -0
  5. package/package.json +89 -4
  6. package/plugin/.claude-plugin/icon.png +0 -0
  7. package/plugin/.claude-plugin/plugin.json +24 -0
  8. package/plugin/LICENSE +202 -0
  9. package/plugin/NOTICE +10 -0
  10. package/plugin/README.md +14 -0
  11. package/plugin/THIRD_PARTY_NOTICES.md +72 -0
  12. package/plugin/agents/brand-researcher.md +46 -0
  13. package/plugin/agents/concept-designer.md +91 -0
  14. package/plugin/agents/design-critic.md +109 -0
  15. package/plugin/dist/markilo.mjs +622 -0
  16. package/plugin/dist/pathkit.wasm +0 -0
  17. package/plugin/dist/resvg.wasm +0 -0
  18. package/plugin/evals/README.md +21 -0
  19. package/plugin/evals/asks-before-network/graders/asks.md +8 -0
  20. package/plugin/evals/asks-before-network/graders/no-network.md +9 -0
  21. package/plugin/evals/asks-before-network/prompt.md +13 -0
  22. package/plugin/evals/concept-verified/graders/looked.md +7 -0
  23. package/plugin/evals/concept-verified/graders/report.md +8 -0
  24. package/plugin/evals/concept-verified/graders/symbol.md +5 -0
  25. package/plugin/evals/concept-verified/graders/verified.md +7 -0
  26. package/plugin/evals/concept-verified/prompt.md +14 -0
  27. package/plugin/evals/doctor-smoke/graders/ran-doctor.md +7 -0
  28. package/plugin/evals/doctor-smoke/prompt.md +13 -0
  29. package/plugin/evals/locked-brand/graders/explains.md +8 -0
  30. package/plugin/evals/locked-brand/graders/locked.md +7 -0
  31. package/plugin/evals/locked-brand/graders/no-concept.md +9 -0
  32. package/plugin/evals/locked-brand/prompt.md +13 -0
  33. package/plugin/evals/refuses-copy/graders/refusal.md +8 -0
  34. package/plugin/evals/refuses-copy/prompt.md +13 -0
  35. package/plugin/evals/results/2026-10-30T00-24-04-123Z/aggregate-result.json +525 -0
  36. package/plugin/evals/results/2026-10-30T00-24-04-123Z/report.html +704 -0
  37. package/plugin/evals/results/2026-10-30T00-28-53-497Z/aggregate-result.json +119 -0
  38. package/plugin/evals/results/2026-10-30T00-28-53-497Z/report.html +282 -0
  39. package/plugin/evals/results/2026-10-30T00-29-38-075Z/aggregate-result.json +82 -0
  40. package/plugin/evals/results/2026-10-30T00-29-38-075Z/report.html +260 -0
  41. package/plugin/evals/results/2026-10-30T00-29-53-409Z/aggregate-result.json +119 -0
  42. package/plugin/evals/results/2026-10-30T00-29-53-409Z/report.html +282 -0
  43. package/plugin/evals/results/2026-10-30T00-30-34-064Z/aggregate-result.json +126 -0
  44. package/plugin/evals/results/2026-10-30T00-30-34-064Z/report.html +301 -0
  45. package/plugin/evals/results/2026-10-30T00-31-33-704Z/aggregate-result.json +119 -0
  46. package/plugin/evals/results/2026-10-30T00-31-33-704Z/report.html +282 -0
  47. package/plugin/evals/results/2026-10-30T00-32-27-214Z/aggregate-result.json +155 -0
  48. package/plugin/evals/results/2026-10-30T00-32-27-214Z/report.html +304 -0
  49. package/plugin/evals/results/2026-10-30T00-33-03-882Z/aggregate-result.json +544 -0
  50. package/plugin/evals/results/2026-10-30T00-33-03-882Z/report.html +701 -0
  51. package/plugin/evals/wordmark-outlined/graders/no-network.md +9 -0
  52. package/plugin/evals/wordmark-outlined/graders/sora.md +6 -0
  53. package/plugin/evals/wordmark-outlined/graders/svg-created.md +5 -0
  54. package/plugin/evals/wordmark-outlined/graders/used-wordmark.md +7 -0
  55. package/plugin/evals/wordmark-outlined/graders/workspace.md +5 -0
  56. package/plugin/evals/wordmark-outlined/prompt.md +13 -0
  57. package/plugin/fonts/alegreya-sans/OFL.txt +93 -0
  58. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-400-normal.woff +0 -0
  59. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-500-normal.woff +0 -0
  60. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-700-normal.woff +0 -0
  61. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-800-normal.woff +0 -0
  62. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-400-normal.woff +0 -0
  63. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-500-normal.woff +0 -0
  64. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-700-normal.woff +0 -0
  65. package/plugin/fonts/alegreya-sans/alegreya-sans-latin-ext-800-normal.woff +0 -0
  66. package/plugin/fonts/archivo/OFL.txt +93 -0
  67. package/plugin/fonts/archivo/archivo-latin-400-normal.woff +0 -0
  68. package/plugin/fonts/archivo/archivo-latin-500-normal.woff +0 -0
  69. package/plugin/fonts/archivo/archivo-latin-600-normal.woff +0 -0
  70. package/plugin/fonts/archivo/archivo-latin-700-normal.woff +0 -0
  71. package/plugin/fonts/archivo/archivo-latin-800-normal.woff +0 -0
  72. package/plugin/fonts/archivo/archivo-latin-900-normal.woff +0 -0
  73. package/plugin/fonts/archivo/archivo-latin-ext-400-normal.woff +0 -0
  74. package/plugin/fonts/archivo/archivo-latin-ext-500-normal.woff +0 -0
  75. package/plugin/fonts/archivo/archivo-latin-ext-600-normal.woff +0 -0
  76. package/plugin/fonts/archivo/archivo-latin-ext-700-normal.woff +0 -0
  77. package/plugin/fonts/archivo/archivo-latin-ext-800-normal.woff +0 -0
  78. package/plugin/fonts/archivo/archivo-latin-ext-900-normal.woff +0 -0
  79. package/plugin/fonts/atkinson-hyperlegible-next/OFL.txt +93 -0
  80. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-400-normal.woff +0 -0
  81. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-500-normal.woff +0 -0
  82. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-600-normal.woff +0 -0
  83. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-700-normal.woff +0 -0
  84. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-800-normal.woff +0 -0
  85. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-400-normal.woff +0 -0
  86. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-500-normal.woff +0 -0
  87. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-600-normal.woff +0 -0
  88. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-700-normal.woff +0 -0
  89. package/plugin/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-800-normal.woff +0 -0
  90. package/plugin/fonts/bricolage-grotesque/OFL.txt +93 -0
  91. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-400-normal.woff +0 -0
  92. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-500-normal.woff +0 -0
  93. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-600-normal.woff +0 -0
  94. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-700-normal.woff +0 -0
  95. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-800-normal.woff +0 -0
  96. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-400-normal.woff +0 -0
  97. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-500-normal.woff +0 -0
  98. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-600-normal.woff +0 -0
  99. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-700-normal.woff +0 -0
  100. package/plugin/fonts/bricolage-grotesque/bricolage-grotesque-latin-ext-800-normal.woff +0 -0
  101. package/plugin/fonts/dm-sans/OFL.txt +93 -0
  102. package/plugin/fonts/dm-sans/dm-sans-latin-400-normal.woff +0 -0
  103. package/plugin/fonts/dm-sans/dm-sans-latin-500-normal.woff +0 -0
  104. package/plugin/fonts/dm-sans/dm-sans-latin-600-normal.woff +0 -0
  105. package/plugin/fonts/dm-sans/dm-sans-latin-700-normal.woff +0 -0
  106. package/plugin/fonts/dm-sans/dm-sans-latin-800-normal.woff +0 -0
  107. package/plugin/fonts/dm-sans/dm-sans-latin-ext-400-normal.woff +0 -0
  108. package/plugin/fonts/dm-sans/dm-sans-latin-ext-500-normal.woff +0 -0
  109. package/plugin/fonts/dm-sans/dm-sans-latin-ext-600-normal.woff +0 -0
  110. package/plugin/fonts/dm-sans/dm-sans-latin-ext-700-normal.woff +0 -0
  111. package/plugin/fonts/dm-sans/dm-sans-latin-ext-800-normal.woff +0 -0
  112. package/plugin/fonts/dm-serif-display/OFL.txt +93 -0
  113. package/plugin/fonts/dm-serif-display/dm-serif-display-latin-400-normal.woff +0 -0
  114. package/plugin/fonts/dm-serif-display/dm-serif-display-latin-ext-400-normal.woff +0 -0
  115. package/plugin/fonts/familjen-grotesk/OFL.txt +93 -0
  116. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-400-normal.woff +0 -0
  117. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-500-normal.woff +0 -0
  118. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-600-normal.woff +0 -0
  119. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-700-normal.woff +0 -0
  120. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-400-normal.woff +0 -0
  121. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-500-normal.woff +0 -0
  122. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-600-normal.woff +0 -0
  123. package/plugin/fonts/familjen-grotesk/familjen-grotesk-latin-ext-700-normal.woff +0 -0
  124. package/plugin/fonts/fonts.json +1014 -0
  125. package/plugin/fonts/fraunces/OFL.txt +93 -0
  126. package/plugin/fonts/fraunces/fraunces-latin-400-normal.woff +0 -0
  127. package/plugin/fonts/fraunces/fraunces-latin-500-normal.woff +0 -0
  128. package/plugin/fonts/fraunces/fraunces-latin-600-normal.woff +0 -0
  129. package/plugin/fonts/fraunces/fraunces-latin-700-normal.woff +0 -0
  130. package/plugin/fonts/fraunces/fraunces-latin-800-normal.woff +0 -0
  131. package/plugin/fonts/fraunces/fraunces-latin-ext-400-normal.woff +0 -0
  132. package/plugin/fonts/fraunces/fraunces-latin-ext-500-normal.woff +0 -0
  133. package/plugin/fonts/fraunces/fraunces-latin-ext-600-normal.woff +0 -0
  134. package/plugin/fonts/fraunces/fraunces-latin-ext-700-normal.woff +0 -0
  135. package/plugin/fonts/fraunces/fraunces-latin-ext-800-normal.woff +0 -0
  136. package/plugin/fonts/ibm-plex-serif/OFL.txt +93 -0
  137. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-400-normal.woff +0 -0
  138. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-500-normal.woff +0 -0
  139. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-600-normal.woff +0 -0
  140. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-700-normal.woff +0 -0
  141. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-ext-400-normal.woff +0 -0
  142. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-ext-500-normal.woff +0 -0
  143. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-ext-600-normal.woff +0 -0
  144. package/plugin/fonts/ibm-plex-serif/ibm-plex-serif-latin-ext-700-normal.woff +0 -0
  145. package/plugin/fonts/instrument-serif/OFL.txt +93 -0
  146. package/plugin/fonts/instrument-serif/instrument-serif-latin-400-normal.woff +0 -0
  147. package/plugin/fonts/instrument-serif/instrument-serif-latin-ext-400-normal.woff +0 -0
  148. package/plugin/fonts/inter/OFL.txt +93 -0
  149. package/plugin/fonts/inter/inter-latin-400-normal.woff +0 -0
  150. package/plugin/fonts/inter/inter-latin-500-normal.woff +0 -0
  151. package/plugin/fonts/inter/inter-latin-600-normal.woff +0 -0
  152. package/plugin/fonts/inter/inter-latin-700-normal.woff +0 -0
  153. package/plugin/fonts/inter/inter-latin-800-normal.woff +0 -0
  154. package/plugin/fonts/inter/inter-latin-ext-400-normal.woff +0 -0
  155. package/plugin/fonts/inter/inter-latin-ext-500-normal.woff +0 -0
  156. package/plugin/fonts/inter/inter-latin-ext-600-normal.woff +0 -0
  157. package/plugin/fonts/inter/inter-latin-ext-700-normal.woff +0 -0
  158. package/plugin/fonts/inter/inter-latin-ext-800-normal.woff +0 -0
  159. package/plugin/fonts/jetbrains-mono/OFL.txt +93 -0
  160. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-400-normal.woff +0 -0
  161. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-500-normal.woff +0 -0
  162. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-600-normal.woff +0 -0
  163. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-700-normal.woff +0 -0
  164. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-800-normal.woff +0 -0
  165. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-ext-400-normal.woff +0 -0
  166. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-ext-500-normal.woff +0 -0
  167. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-ext-600-normal.woff +0 -0
  168. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-ext-700-normal.woff +0 -0
  169. package/plugin/fonts/jetbrains-mono/jetbrains-mono-latin-ext-800-normal.woff +0 -0
  170. package/plugin/fonts/manrope/OFL.txt +93 -0
  171. package/plugin/fonts/manrope/manrope-latin-400-normal.woff +0 -0
  172. package/plugin/fonts/manrope/manrope-latin-500-normal.woff +0 -0
  173. package/plugin/fonts/manrope/manrope-latin-600-normal.woff +0 -0
  174. package/plugin/fonts/manrope/manrope-latin-700-normal.woff +0 -0
  175. package/plugin/fonts/manrope/manrope-latin-800-normal.woff +0 -0
  176. package/plugin/fonts/manrope/manrope-latin-ext-400-normal.woff +0 -0
  177. package/plugin/fonts/manrope/manrope-latin-ext-500-normal.woff +0 -0
  178. package/plugin/fonts/manrope/manrope-latin-ext-600-normal.woff +0 -0
  179. package/plugin/fonts/manrope/manrope-latin-ext-700-normal.woff +0 -0
  180. package/plugin/fonts/manrope/manrope-latin-ext-800-normal.woff +0 -0
  181. package/plugin/fonts/newsreader/OFL.txt +93 -0
  182. package/plugin/fonts/newsreader/newsreader-latin-400-normal.woff +0 -0
  183. package/plugin/fonts/newsreader/newsreader-latin-500-normal.woff +0 -0
  184. package/plugin/fonts/newsreader/newsreader-latin-600-normal.woff +0 -0
  185. package/plugin/fonts/newsreader/newsreader-latin-700-normal.woff +0 -0
  186. package/plugin/fonts/newsreader/newsreader-latin-800-normal.woff +0 -0
  187. package/plugin/fonts/newsreader/newsreader-latin-ext-400-normal.woff +0 -0
  188. package/plugin/fonts/newsreader/newsreader-latin-ext-500-normal.woff +0 -0
  189. package/plugin/fonts/newsreader/newsreader-latin-ext-600-normal.woff +0 -0
  190. package/plugin/fonts/newsreader/newsreader-latin-ext-700-normal.woff +0 -0
  191. package/plugin/fonts/newsreader/newsreader-latin-ext-800-normal.woff +0 -0
  192. package/plugin/fonts/outfit/OFL.txt +93 -0
  193. package/plugin/fonts/outfit/outfit-latin-400-normal.woff +0 -0
  194. package/plugin/fonts/outfit/outfit-latin-500-normal.woff +0 -0
  195. package/plugin/fonts/outfit/outfit-latin-600-normal.woff +0 -0
  196. package/plugin/fonts/outfit/outfit-latin-700-normal.woff +0 -0
  197. package/plugin/fonts/outfit/outfit-latin-800-normal.woff +0 -0
  198. package/plugin/fonts/outfit/outfit-latin-ext-400-normal.woff +0 -0
  199. package/plugin/fonts/outfit/outfit-latin-ext-500-normal.woff +0 -0
  200. package/plugin/fonts/outfit/outfit-latin-ext-600-normal.woff +0 -0
  201. package/plugin/fonts/outfit/outfit-latin-ext-700-normal.woff +0 -0
  202. package/plugin/fonts/outfit/outfit-latin-ext-800-normal.woff +0 -0
  203. package/plugin/fonts/plus-jakarta-sans/OFL.txt +93 -0
  204. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-400-normal.woff +0 -0
  205. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-500-normal.woff +0 -0
  206. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-600-normal.woff +0 -0
  207. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-700-normal.woff +0 -0
  208. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-800-normal.woff +0 -0
  209. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext-400-normal.woff +0 -0
  210. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext-500-normal.woff +0 -0
  211. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext-600-normal.woff +0 -0
  212. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext-700-normal.woff +0 -0
  213. package/plugin/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext-800-normal.woff +0 -0
  214. package/plugin/fonts/schibsted-grotesk/OFL.txt +93 -0
  215. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-400-normal.woff +0 -0
  216. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-500-normal.woff +0 -0
  217. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-600-normal.woff +0 -0
  218. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-700-normal.woff +0 -0
  219. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-800-normal.woff +0 -0
  220. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-900-normal.woff +0 -0
  221. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-400-normal.woff +0 -0
  222. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-500-normal.woff +0 -0
  223. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-600-normal.woff +0 -0
  224. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-700-normal.woff +0 -0
  225. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-800-normal.woff +0 -0
  226. package/plugin/fonts/schibsted-grotesk/schibsted-grotesk-latin-ext-900-normal.woff +0 -0
  227. package/plugin/fonts/sora/OFL.txt +93 -0
  228. package/plugin/fonts/sora/sora-latin-400-normal.woff +0 -0
  229. package/plugin/fonts/sora/sora-latin-500-normal.woff +0 -0
  230. package/plugin/fonts/sora/sora-latin-600-normal.woff +0 -0
  231. package/plugin/fonts/sora/sora-latin-700-normal.woff +0 -0
  232. package/plugin/fonts/sora/sora-latin-800-normal.woff +0 -0
  233. package/plugin/fonts/sora/sora-latin-ext-400-normal.woff +0 -0
  234. package/plugin/fonts/sora/sora-latin-ext-500-normal.woff +0 -0
  235. package/plugin/fonts/sora/sora-latin-ext-600-normal.woff +0 -0
  236. package/plugin/fonts/sora/sora-latin-ext-700-normal.woff +0 -0
  237. package/plugin/fonts/sora/sora-latin-ext-800-normal.woff +0 -0
  238. package/plugin/fonts/space-grotesk/OFL.txt +93 -0
  239. package/plugin/fonts/space-grotesk/space-grotesk-latin-400-normal.woff +0 -0
  240. package/plugin/fonts/space-grotesk/space-grotesk-latin-500-normal.woff +0 -0
  241. package/plugin/fonts/space-grotesk/space-grotesk-latin-600-normal.woff +0 -0
  242. package/plugin/fonts/space-grotesk/space-grotesk-latin-700-normal.woff +0 -0
  243. package/plugin/fonts/space-grotesk/space-grotesk-latin-ext-400-normal.woff +0 -0
  244. package/plugin/fonts/space-grotesk/space-grotesk-latin-ext-500-normal.woff +0 -0
  245. package/plugin/fonts/space-grotesk/space-grotesk-latin-ext-600-normal.woff +0 -0
  246. package/plugin/fonts/space-grotesk/space-grotesk-latin-ext-700-normal.woff +0 -0
  247. package/plugin/fonts/space-mono/OFL.txt +93 -0
  248. package/plugin/fonts/space-mono/space-mono-latin-400-normal.woff +0 -0
  249. package/plugin/fonts/space-mono/space-mono-latin-700-normal.woff +0 -0
  250. package/plugin/fonts/space-mono/space-mono-latin-ext-400-normal.woff +0 -0
  251. package/plugin/fonts/space-mono/space-mono-latin-ext-700-normal.woff +0 -0
  252. package/plugin/fonts/syne/OFL.txt +93 -0
  253. package/plugin/fonts/syne/syne-latin-400-normal.woff +0 -0
  254. package/plugin/fonts/syne/syne-latin-500-normal.woff +0 -0
  255. package/plugin/fonts/syne/syne-latin-600-normal.woff +0 -0
  256. package/plugin/fonts/syne/syne-latin-700-normal.woff +0 -0
  257. package/plugin/fonts/syne/syne-latin-800-normal.woff +0 -0
  258. package/plugin/fonts/syne/syne-latin-ext-400-normal.woff +0 -0
  259. package/plugin/fonts/syne/syne-latin-ext-500-normal.woff +0 -0
  260. package/plugin/fonts/syne/syne-latin-ext-600-normal.woff +0 -0
  261. package/plugin/fonts/syne/syne-latin-ext-700-normal.woff +0 -0
  262. package/plugin/fonts/syne/syne-latin-ext-800-normal.woff +0 -0
  263. package/plugin/fonts/unbounded/OFL.txt +93 -0
  264. package/plugin/fonts/unbounded/unbounded-latin-400-normal.woff +0 -0
  265. package/plugin/fonts/unbounded/unbounded-latin-500-normal.woff +0 -0
  266. package/plugin/fonts/unbounded/unbounded-latin-600-normal.woff +0 -0
  267. package/plugin/fonts/unbounded/unbounded-latin-700-normal.woff +0 -0
  268. package/plugin/fonts/unbounded/unbounded-latin-800-normal.woff +0 -0
  269. package/plugin/fonts/unbounded/unbounded-latin-900-normal.woff +0 -0
  270. package/plugin/fonts/unbounded/unbounded-latin-ext-400-normal.woff +0 -0
  271. package/plugin/fonts/unbounded/unbounded-latin-ext-500-normal.woff +0 -0
  272. package/plugin/fonts/unbounded/unbounded-latin-ext-600-normal.woff +0 -0
  273. package/plugin/fonts/unbounded/unbounded-latin-ext-700-normal.woff +0 -0
  274. package/plugin/fonts/unbounded/unbounded-latin-ext-800-normal.woff +0 -0
  275. package/plugin/fonts/unbounded/unbounded-latin-ext-900-normal.woff +0 -0
  276. package/plugin/fonts/young-serif/OFL.txt +93 -0
  277. package/plugin/fonts/young-serif/young-serif-latin-400-normal.woff +0 -0
  278. package/plugin/fonts/young-serif/young-serif-latin-ext-400-normal.woff +0 -0
  279. package/plugin/fonts/zilla-slab/OFL.txt +93 -0
  280. package/plugin/fonts/zilla-slab/zilla-slab-latin-400-normal.woff +0 -0
  281. package/plugin/fonts/zilla-slab/zilla-slab-latin-500-normal.woff +0 -0
  282. package/plugin/fonts/zilla-slab/zilla-slab-latin-600-normal.woff +0 -0
  283. package/plugin/fonts/zilla-slab/zilla-slab-latin-700-normal.woff +0 -0
  284. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-400-normal.woff +0 -0
  285. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-500-normal.woff +0 -0
  286. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-600-normal.woff +0 -0
  287. package/plugin/fonts/zilla-slab/zilla-slab-latin-ext-700-normal.woff +0 -0
  288. package/plugin/skills/audit/SKILL.md +22 -0
  289. package/plugin/skills/concepts/SKILL.md +35 -0
  290. package/plugin/skills/design/SKILL.md +149 -0
  291. package/plugin/skills/design/references/cli.md +96 -0
  292. package/plugin/skills/design/references/construction.md +254 -0
  293. package/plugin/skills/design/references/design-principles.md +163 -0
  294. package/plugin/skills/design/references/originality.md +44 -0
  295. package/plugin/skills/design/references/research-playbook.md +95 -0
  296. package/plugin/skills/design/references/svg-authoring.md +50 -0
  297. package/plugin/skills/design/references/workflow.md +79 -0
  298. package/plugin/skills/export/SKILL.md +38 -0
  299. package/plugin/skills/gallery/SKILL.md +30 -0
  300. package/plugin/skills/markilo/SKILL.md +12 -0
  301. package/plugin/skills/originality/SKILL.md +25 -0
  302. package/plugin/skills/refine/SKILL.md +25 -0
  303. package/plugin/skills/research/SKILL.md +28 -0
@@ -0,0 +1,1014 @@
1
+ {
2
+ "generatedBy": "scripts/vendor-fonts.mjs",
3
+ "license": "OFL-1.1",
4
+ "families": [
5
+ {
6
+ "id": "inter",
7
+ "family": "Inter",
8
+ "category": "sans-serif",
9
+ "role": "neutral grotesque sans; UI-grade, highly legible",
10
+ "license": "OFL-1.1",
11
+ "licenseFile": "inter/OFL.txt",
12
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
13
+ "source": "@fontsource/inter@5.3.0 (Google Fonts v20)",
14
+ "weights": [
15
+ 400,
16
+ 500,
17
+ 600,
18
+ 700,
19
+ 800
20
+ ],
21
+ "traits": [
22
+ "neutral",
23
+ "precise",
24
+ "modern",
25
+ "calm",
26
+ "technical"
27
+ ],
28
+ "files": {
29
+ "400": [
30
+ "inter/inter-latin-400-normal.woff",
31
+ "inter/inter-latin-ext-400-normal.woff"
32
+ ],
33
+ "500": [
34
+ "inter/inter-latin-500-normal.woff",
35
+ "inter/inter-latin-ext-500-normal.woff"
36
+ ],
37
+ "600": [
38
+ "inter/inter-latin-600-normal.woff",
39
+ "inter/inter-latin-ext-600-normal.woff"
40
+ ],
41
+ "700": [
42
+ "inter/inter-latin-700-normal.woff",
43
+ "inter/inter-latin-ext-700-normal.woff"
44
+ ],
45
+ "800": [
46
+ "inter/inter-latin-800-normal.woff",
47
+ "inter/inter-latin-ext-800-normal.woff"
48
+ ]
49
+ }
50
+ },
51
+ {
52
+ "id": "manrope",
53
+ "family": "Manrope",
54
+ "category": "sans-serif",
55
+ "role": "geometric-humanist sans; friendly, modern",
56
+ "license": "OFL-1.1",
57
+ "licenseFile": "manrope/OFL.txt",
58
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
59
+ "source": "@fontsource/manrope@5.3.0 (Google Fonts v20)",
60
+ "weights": [
61
+ 400,
62
+ 500,
63
+ 600,
64
+ 700,
65
+ 800
66
+ ],
67
+ "traits": [
68
+ "friendly",
69
+ "modern",
70
+ "clean",
71
+ "approachable"
72
+ ],
73
+ "files": {
74
+ "400": [
75
+ "manrope/manrope-latin-400-normal.woff",
76
+ "manrope/manrope-latin-ext-400-normal.woff"
77
+ ],
78
+ "500": [
79
+ "manrope/manrope-latin-500-normal.woff",
80
+ "manrope/manrope-latin-ext-500-normal.woff"
81
+ ],
82
+ "600": [
83
+ "manrope/manrope-latin-600-normal.woff",
84
+ "manrope/manrope-latin-ext-600-normal.woff"
85
+ ],
86
+ "700": [
87
+ "manrope/manrope-latin-700-normal.woff",
88
+ "manrope/manrope-latin-ext-700-normal.woff"
89
+ ],
90
+ "800": [
91
+ "manrope/manrope-latin-800-normal.woff",
92
+ "manrope/manrope-latin-ext-800-normal.woff"
93
+ ]
94
+ }
95
+ },
96
+ {
97
+ "id": "space-grotesk",
98
+ "family": "Space Grotesk",
99
+ "category": "sans-serif",
100
+ "role": "technical grotesque with quirky details",
101
+ "license": "OFL-1.1",
102
+ "licenseFile": "space-grotesk/OFL.txt",
103
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
104
+ "source": "@fontsource/space-grotesk@5.3.0 (Google Fonts v22)",
105
+ "weights": [
106
+ 400,
107
+ 500,
108
+ 600,
109
+ 700
110
+ ],
111
+ "traits": [
112
+ "technical",
113
+ "quirky",
114
+ "developer",
115
+ "modern"
116
+ ],
117
+ "files": {
118
+ "400": [
119
+ "space-grotesk/space-grotesk-latin-400-normal.woff",
120
+ "space-grotesk/space-grotesk-latin-ext-400-normal.woff"
121
+ ],
122
+ "500": [
123
+ "space-grotesk/space-grotesk-latin-500-normal.woff",
124
+ "space-grotesk/space-grotesk-latin-ext-500-normal.woff"
125
+ ],
126
+ "600": [
127
+ "space-grotesk/space-grotesk-latin-600-normal.woff",
128
+ "space-grotesk/space-grotesk-latin-ext-600-normal.woff"
129
+ ],
130
+ "700": [
131
+ "space-grotesk/space-grotesk-latin-700-normal.woff",
132
+ "space-grotesk/space-grotesk-latin-ext-700-normal.woff"
133
+ ]
134
+ }
135
+ },
136
+ {
137
+ "id": "sora",
138
+ "family": "Sora",
139
+ "category": "sans-serif",
140
+ "role": "wide geometric sans; tech / fintech",
141
+ "license": "OFL-1.1",
142
+ "licenseFile": "sora/OFL.txt",
143
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
144
+ "source": "@fontsource/sora@5.3.0 (Google Fonts v17)",
145
+ "weights": [
146
+ 400,
147
+ 500,
148
+ 600,
149
+ 700,
150
+ 800
151
+ ],
152
+ "traits": [
153
+ "wide",
154
+ "technical",
155
+ "confident",
156
+ "modern"
157
+ ],
158
+ "files": {
159
+ "400": [
160
+ "sora/sora-latin-400-normal.woff",
161
+ "sora/sora-latin-ext-400-normal.woff"
162
+ ],
163
+ "500": [
164
+ "sora/sora-latin-500-normal.woff",
165
+ "sora/sora-latin-ext-500-normal.woff"
166
+ ],
167
+ "600": [
168
+ "sora/sora-latin-600-normal.woff",
169
+ "sora/sora-latin-ext-600-normal.woff"
170
+ ],
171
+ "700": [
172
+ "sora/sora-latin-700-normal.woff",
173
+ "sora/sora-latin-ext-700-normal.woff"
174
+ ],
175
+ "800": [
176
+ "sora/sora-latin-800-normal.woff",
177
+ "sora/sora-latin-ext-800-normal.woff"
178
+ ]
179
+ }
180
+ },
181
+ {
182
+ "id": "dm-sans",
183
+ "family": "DM Sans",
184
+ "category": "sans-serif",
185
+ "role": "low-contrast geometric sans; compact",
186
+ "license": "OFL-1.1",
187
+ "licenseFile": "dm-sans/OFL.txt",
188
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
189
+ "source": "@fontsource/dm-sans@5.3.0 (Google Fonts v17)",
190
+ "weights": [
191
+ 400,
192
+ 500,
193
+ 600,
194
+ 700,
195
+ 800
196
+ ],
197
+ "traits": [
198
+ "clean",
199
+ "compact",
200
+ "neutral",
201
+ "modern"
202
+ ],
203
+ "files": {
204
+ "400": [
205
+ "dm-sans/dm-sans-latin-400-normal.woff",
206
+ "dm-sans/dm-sans-latin-ext-400-normal.woff"
207
+ ],
208
+ "500": [
209
+ "dm-sans/dm-sans-latin-500-normal.woff",
210
+ "dm-sans/dm-sans-latin-ext-500-normal.woff"
211
+ ],
212
+ "600": [
213
+ "dm-sans/dm-sans-latin-600-normal.woff",
214
+ "dm-sans/dm-sans-latin-ext-600-normal.woff"
215
+ ],
216
+ "700": [
217
+ "dm-sans/dm-sans-latin-700-normal.woff",
218
+ "dm-sans/dm-sans-latin-ext-700-normal.woff"
219
+ ],
220
+ "800": [
221
+ "dm-sans/dm-sans-latin-800-normal.woff",
222
+ "dm-sans/dm-sans-latin-ext-800-normal.woff"
223
+ ]
224
+ }
225
+ },
226
+ {
227
+ "id": "outfit",
228
+ "family": "Outfit",
229
+ "category": "sans-serif",
230
+ "role": "rounded geometric sans; approachable",
231
+ "license": "OFL-1.1",
232
+ "licenseFile": "outfit/OFL.txt",
233
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
234
+ "source": "@fontsource/outfit@5.3.0 (Google Fonts v15)",
235
+ "weights": [
236
+ 400,
237
+ 500,
238
+ 600,
239
+ 700,
240
+ 800
241
+ ],
242
+ "traits": [
243
+ "rounded",
244
+ "friendly",
245
+ "approachable",
246
+ "playful"
247
+ ],
248
+ "files": {
249
+ "400": [
250
+ "outfit/outfit-latin-400-normal.woff",
251
+ "outfit/outfit-latin-ext-400-normal.woff"
252
+ ],
253
+ "500": [
254
+ "outfit/outfit-latin-500-normal.woff",
255
+ "outfit/outfit-latin-ext-500-normal.woff"
256
+ ],
257
+ "600": [
258
+ "outfit/outfit-latin-600-normal.woff",
259
+ "outfit/outfit-latin-ext-600-normal.woff"
260
+ ],
261
+ "700": [
262
+ "outfit/outfit-latin-700-normal.woff",
263
+ "outfit/outfit-latin-ext-700-normal.woff"
264
+ ],
265
+ "800": [
266
+ "outfit/outfit-latin-800-normal.woff",
267
+ "outfit/outfit-latin-ext-800-normal.woff"
268
+ ]
269
+ }
270
+ },
271
+ {
272
+ "id": "plus-jakarta-sans",
273
+ "family": "Plus Jakarta Sans",
274
+ "category": "sans-serif",
275
+ "role": "contemporary sans with open apertures",
276
+ "license": "OFL-1.1",
277
+ "licenseFile": "plus-jakarta-sans/OFL.txt",
278
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
279
+ "source": "@fontsource/plus-jakarta-sans@5.3.0 (Google Fonts v12)",
280
+ "weights": [
281
+ 400,
282
+ 500,
283
+ 600,
284
+ 700,
285
+ 800
286
+ ],
287
+ "traits": [
288
+ "contemporary",
289
+ "open",
290
+ "friendly",
291
+ "clean"
292
+ ],
293
+ "files": {
294
+ "400": [
295
+ "plus-jakarta-sans/plus-jakarta-sans-latin-400-normal.woff",
296
+ "plus-jakarta-sans/plus-jakarta-sans-latin-ext-400-normal.woff"
297
+ ],
298
+ "500": [
299
+ "plus-jakarta-sans/plus-jakarta-sans-latin-500-normal.woff",
300
+ "plus-jakarta-sans/plus-jakarta-sans-latin-ext-500-normal.woff"
301
+ ],
302
+ "600": [
303
+ "plus-jakarta-sans/plus-jakarta-sans-latin-600-normal.woff",
304
+ "plus-jakarta-sans/plus-jakarta-sans-latin-ext-600-normal.woff"
305
+ ],
306
+ "700": [
307
+ "plus-jakarta-sans/plus-jakarta-sans-latin-700-normal.woff",
308
+ "plus-jakarta-sans/plus-jakarta-sans-latin-ext-700-normal.woff"
309
+ ],
310
+ "800": [
311
+ "plus-jakarta-sans/plus-jakarta-sans-latin-800-normal.woff",
312
+ "plus-jakarta-sans/plus-jakarta-sans-latin-ext-800-normal.woff"
313
+ ]
314
+ }
315
+ },
316
+ {
317
+ "id": "fraunces",
318
+ "family": "Fraunces",
319
+ "category": "serif",
320
+ "role": "soft \"wonky\" display serif; editorial, warm",
321
+ "license": "OFL-1.1",
322
+ "licenseFile": "fraunces/OFL.txt",
323
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
324
+ "source": "@fontsource/fraunces@5.3.0 (Google Fonts v38)",
325
+ "weights": [
326
+ 400,
327
+ 500,
328
+ 600,
329
+ 700,
330
+ 800
331
+ ],
332
+ "traits": [
333
+ "warm",
334
+ "editorial",
335
+ "crafted",
336
+ "characterful",
337
+ "soft"
338
+ ],
339
+ "files": {
340
+ "400": [
341
+ "fraunces/fraunces-latin-400-normal.woff",
342
+ "fraunces/fraunces-latin-ext-400-normal.woff"
343
+ ],
344
+ "500": [
345
+ "fraunces/fraunces-latin-500-normal.woff",
346
+ "fraunces/fraunces-latin-ext-500-normal.woff"
347
+ ],
348
+ "600": [
349
+ "fraunces/fraunces-latin-600-normal.woff",
350
+ "fraunces/fraunces-latin-ext-600-normal.woff"
351
+ ],
352
+ "700": [
353
+ "fraunces/fraunces-latin-700-normal.woff",
354
+ "fraunces/fraunces-latin-ext-700-normal.woff"
355
+ ],
356
+ "800": [
357
+ "fraunces/fraunces-latin-800-normal.woff",
358
+ "fraunces/fraunces-latin-ext-800-normal.woff"
359
+ ]
360
+ }
361
+ },
362
+ {
363
+ "id": "ibm-plex-serif",
364
+ "family": "IBM Plex Serif",
365
+ "category": "serif",
366
+ "role": "rational text serif; institutional, trustworthy",
367
+ "license": "OFL-1.1",
368
+ "licenseFile": "ibm-plex-serif/OFL.txt",
369
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
370
+ "source": "@fontsource/ibm-plex-serif@5.3.0 (Google Fonts v20)",
371
+ "weights": [
372
+ 400,
373
+ 500,
374
+ 600,
375
+ 700
376
+ ],
377
+ "traits": [
378
+ "institutional",
379
+ "trustworthy",
380
+ "rational",
381
+ "calm"
382
+ ],
383
+ "files": {
384
+ "400": [
385
+ "ibm-plex-serif/ibm-plex-serif-latin-400-normal.woff",
386
+ "ibm-plex-serif/ibm-plex-serif-latin-ext-400-normal.woff"
387
+ ],
388
+ "500": [
389
+ "ibm-plex-serif/ibm-plex-serif-latin-500-normal.woff",
390
+ "ibm-plex-serif/ibm-plex-serif-latin-ext-500-normal.woff"
391
+ ],
392
+ "600": [
393
+ "ibm-plex-serif/ibm-plex-serif-latin-600-normal.woff",
394
+ "ibm-plex-serif/ibm-plex-serif-latin-ext-600-normal.woff"
395
+ ],
396
+ "700": [
397
+ "ibm-plex-serif/ibm-plex-serif-latin-700-normal.woff",
398
+ "ibm-plex-serif/ibm-plex-serif-latin-ext-700-normal.woff"
399
+ ]
400
+ }
401
+ },
402
+ {
403
+ "id": "jetbrains-mono",
404
+ "family": "JetBrains Mono",
405
+ "category": "monospace",
406
+ "role": "monospace; developer tools",
407
+ "license": "OFL-1.1",
408
+ "licenseFile": "jetbrains-mono/OFL.txt",
409
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
410
+ "source": "@fontsource/jetbrains-mono@5.3.0 (Google Fonts v24)",
411
+ "weights": [
412
+ 400,
413
+ 500,
414
+ 600,
415
+ 700,
416
+ 800
417
+ ],
418
+ "traits": [
419
+ "developer",
420
+ "technical",
421
+ "precise",
422
+ "code"
423
+ ],
424
+ "files": {
425
+ "400": [
426
+ "jetbrains-mono/jetbrains-mono-latin-400-normal.woff",
427
+ "jetbrains-mono/jetbrains-mono-latin-ext-400-normal.woff"
428
+ ],
429
+ "500": [
430
+ "jetbrains-mono/jetbrains-mono-latin-500-normal.woff",
431
+ "jetbrains-mono/jetbrains-mono-latin-ext-500-normal.woff"
432
+ ],
433
+ "600": [
434
+ "jetbrains-mono/jetbrains-mono-latin-600-normal.woff",
435
+ "jetbrains-mono/jetbrains-mono-latin-ext-600-normal.woff"
436
+ ],
437
+ "700": [
438
+ "jetbrains-mono/jetbrains-mono-latin-700-normal.woff",
439
+ "jetbrains-mono/jetbrains-mono-latin-ext-700-normal.woff"
440
+ ],
441
+ "800": [
442
+ "jetbrains-mono/jetbrains-mono-latin-800-normal.woff",
443
+ "jetbrains-mono/jetbrains-mono-latin-ext-800-normal.woff"
444
+ ]
445
+ }
446
+ },
447
+ {
448
+ "id": "bricolage-grotesque",
449
+ "family": "Bricolage Grotesque",
450
+ "category": "sans-serif",
451
+ "role": "expressive grotesque with ink traps and lively joins; contemporary, bold",
452
+ "license": "OFL-1.1",
453
+ "licenseFile": "bricolage-grotesque/OFL.txt",
454
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
455
+ "source": "@fontsource/bricolage-grotesque@5.3.0 (Google Fonts v9)",
456
+ "weights": [
457
+ 400,
458
+ 500,
459
+ 600,
460
+ 700,
461
+ 800
462
+ ],
463
+ "traits": [
464
+ "bold",
465
+ "expressive",
466
+ "contemporary",
467
+ "energetic",
468
+ "characterful"
469
+ ],
470
+ "files": {
471
+ "400": [
472
+ "bricolage-grotesque/bricolage-grotesque-latin-400-normal.woff",
473
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-400-normal.woff"
474
+ ],
475
+ "500": [
476
+ "bricolage-grotesque/bricolage-grotesque-latin-500-normal.woff",
477
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-500-normal.woff"
478
+ ],
479
+ "600": [
480
+ "bricolage-grotesque/bricolage-grotesque-latin-600-normal.woff",
481
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-600-normal.woff"
482
+ ],
483
+ "700": [
484
+ "bricolage-grotesque/bricolage-grotesque-latin-700-normal.woff",
485
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-700-normal.woff"
486
+ ],
487
+ "800": [
488
+ "bricolage-grotesque/bricolage-grotesque-latin-800-normal.woff",
489
+ "bricolage-grotesque/bricolage-grotesque-latin-ext-800-normal.woff"
490
+ ]
491
+ }
492
+ },
493
+ {
494
+ "id": "instrument-serif",
495
+ "family": "Instrument Serif",
496
+ "category": "serif",
497
+ "role": "condensed display serif; elegant, editorial, quiet confidence",
498
+ "license": "OFL-1.1",
499
+ "licenseFile": "instrument-serif/OFL.txt",
500
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
501
+ "source": "@fontsource/instrument-serif@5.3.0 (Google Fonts v5)",
502
+ "weights": [
503
+ 400
504
+ ],
505
+ "traits": [
506
+ "elegant",
507
+ "editorial",
508
+ "condensed",
509
+ "refined",
510
+ "quiet"
511
+ ],
512
+ "files": {
513
+ "400": [
514
+ "instrument-serif/instrument-serif-latin-400-normal.woff",
515
+ "instrument-serif/instrument-serif-latin-ext-400-normal.woff"
516
+ ]
517
+ }
518
+ },
519
+ {
520
+ "id": "young-serif",
521
+ "family": "Young Serif",
522
+ "category": "serif",
523
+ "role": "sturdy old-style display serif; warm, crafted, friendly",
524
+ "license": "OFL-1.1",
525
+ "licenseFile": "young-serif/OFL.txt",
526
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
527
+ "source": "@fontsource/young-serif@5.3.0 (Google Fonts v2)",
528
+ "weights": [
529
+ 400
530
+ ],
531
+ "traits": [
532
+ "warm",
533
+ "crafted",
534
+ "friendly",
535
+ "sturdy",
536
+ "human"
537
+ ],
538
+ "files": {
539
+ "400": [
540
+ "young-serif/young-serif-latin-400-normal.woff",
541
+ "young-serif/young-serif-latin-ext-400-normal.woff"
542
+ ]
543
+ }
544
+ },
545
+ {
546
+ "id": "dm-serif-display",
547
+ "family": "DM Serif Display",
548
+ "category": "serif",
549
+ "role": "high-contrast display serif; premium, classic",
550
+ "license": "OFL-1.1",
551
+ "licenseFile": "dm-serif-display/OFL.txt",
552
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
553
+ "source": "@fontsource/dm-serif-display@5.3.0 (Google Fonts v17)",
554
+ "weights": [
555
+ 400
556
+ ],
557
+ "traits": [
558
+ "premium",
559
+ "classic",
560
+ "elegant",
561
+ "contrast"
562
+ ],
563
+ "files": {
564
+ "400": [
565
+ "dm-serif-display/dm-serif-display-latin-400-normal.woff",
566
+ "dm-serif-display/dm-serif-display-latin-ext-400-normal.woff"
567
+ ]
568
+ }
569
+ },
570
+ {
571
+ "id": "syne",
572
+ "family": "Syne",
573
+ "category": "sans-serif",
574
+ "role": "eccentric display sans that widens with weight; artistic, bold",
575
+ "license": "OFL-1.1",
576
+ "licenseFile": "syne/OFL.txt",
577
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
578
+ "source": "@fontsource/syne@5.3.0 (Google Fonts v24)",
579
+ "weights": [
580
+ 400,
581
+ 500,
582
+ 600,
583
+ 700,
584
+ 800
585
+ ],
586
+ "traits": [
587
+ "artistic",
588
+ "eccentric",
589
+ "bold",
590
+ "wide",
591
+ "expressive"
592
+ ],
593
+ "files": {
594
+ "400": [
595
+ "syne/syne-latin-400-normal.woff",
596
+ "syne/syne-latin-ext-400-normal.woff"
597
+ ],
598
+ "500": [
599
+ "syne/syne-latin-500-normal.woff",
600
+ "syne/syne-latin-ext-500-normal.woff"
601
+ ],
602
+ "600": [
603
+ "syne/syne-latin-600-normal.woff",
604
+ "syne/syne-latin-ext-600-normal.woff"
605
+ ],
606
+ "700": [
607
+ "syne/syne-latin-700-normal.woff",
608
+ "syne/syne-latin-ext-700-normal.woff"
609
+ ],
610
+ "800": [
611
+ "syne/syne-latin-800-normal.woff",
612
+ "syne/syne-latin-ext-800-normal.woff"
613
+ ]
614
+ }
615
+ },
616
+ {
617
+ "id": "unbounded",
618
+ "family": "Unbounded",
619
+ "category": "sans-serif",
620
+ "role": "wide rounded display sans; confident, futuristic",
621
+ "license": "OFL-1.1",
622
+ "licenseFile": "unbounded/OFL.txt",
623
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
624
+ "source": "@fontsource/unbounded@5.3.0 (Google Fonts v12)",
625
+ "weights": [
626
+ 400,
627
+ 500,
628
+ 600,
629
+ 700,
630
+ 800,
631
+ 900
632
+ ],
633
+ "traits": [
634
+ "wide",
635
+ "rounded",
636
+ "confident",
637
+ "futuristic",
638
+ "bold"
639
+ ],
640
+ "files": {
641
+ "400": [
642
+ "unbounded/unbounded-latin-400-normal.woff",
643
+ "unbounded/unbounded-latin-ext-400-normal.woff"
644
+ ],
645
+ "500": [
646
+ "unbounded/unbounded-latin-500-normal.woff",
647
+ "unbounded/unbounded-latin-ext-500-normal.woff"
648
+ ],
649
+ "600": [
650
+ "unbounded/unbounded-latin-600-normal.woff",
651
+ "unbounded/unbounded-latin-ext-600-normal.woff"
652
+ ],
653
+ "700": [
654
+ "unbounded/unbounded-latin-700-normal.woff",
655
+ "unbounded/unbounded-latin-ext-700-normal.woff"
656
+ ],
657
+ "800": [
658
+ "unbounded/unbounded-latin-800-normal.woff",
659
+ "unbounded/unbounded-latin-ext-800-normal.woff"
660
+ ],
661
+ "900": [
662
+ "unbounded/unbounded-latin-900-normal.woff",
663
+ "unbounded/unbounded-latin-ext-900-normal.woff"
664
+ ]
665
+ }
666
+ },
667
+ {
668
+ "id": "archivo",
669
+ "family": "Archivo",
670
+ "category": "sans-serif",
671
+ "role": "grotesque with an industrial build; sturdy, no-nonsense",
672
+ "license": "OFL-1.1",
673
+ "licenseFile": "archivo/OFL.txt",
674
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
675
+ "source": "@fontsource/archivo@5.3.0 (Google Fonts v25)",
676
+ "weights": [
677
+ 400,
678
+ 500,
679
+ 600,
680
+ 700,
681
+ 800,
682
+ 900
683
+ ],
684
+ "traits": [
685
+ "industrial",
686
+ "sturdy",
687
+ "rugged",
688
+ "durable",
689
+ "no-nonsense"
690
+ ],
691
+ "files": {
692
+ "400": [
693
+ "archivo/archivo-latin-400-normal.woff",
694
+ "archivo/archivo-latin-ext-400-normal.woff"
695
+ ],
696
+ "500": [
697
+ "archivo/archivo-latin-500-normal.woff",
698
+ "archivo/archivo-latin-ext-500-normal.woff"
699
+ ],
700
+ "600": [
701
+ "archivo/archivo-latin-600-normal.woff",
702
+ "archivo/archivo-latin-ext-600-normal.woff"
703
+ ],
704
+ "700": [
705
+ "archivo/archivo-latin-700-normal.woff",
706
+ "archivo/archivo-latin-ext-700-normal.woff"
707
+ ],
708
+ "800": [
709
+ "archivo/archivo-latin-800-normal.woff",
710
+ "archivo/archivo-latin-ext-800-normal.woff"
711
+ ],
712
+ "900": [
713
+ "archivo/archivo-latin-900-normal.woff",
714
+ "archivo/archivo-latin-ext-900-normal.woff"
715
+ ]
716
+ }
717
+ },
718
+ {
719
+ "id": "schibsted-grotesk",
720
+ "family": "Schibsted Grotesk",
721
+ "category": "sans-serif",
722
+ "role": "editorial grotesque; newsy, credible, direct",
723
+ "license": "OFL-1.1",
724
+ "licenseFile": "schibsted-grotesk/OFL.txt",
725
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
726
+ "source": "@fontsource/schibsted-grotesk@5.3.0 (Google Fonts v7)",
727
+ "weights": [
728
+ 400,
729
+ 500,
730
+ 600,
731
+ 700,
732
+ 800,
733
+ 900
734
+ ],
735
+ "traits": [
736
+ "editorial",
737
+ "credible",
738
+ "direct",
739
+ "precise",
740
+ "trustworthy"
741
+ ],
742
+ "files": {
743
+ "400": [
744
+ "schibsted-grotesk/schibsted-grotesk-latin-400-normal.woff",
745
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-400-normal.woff"
746
+ ],
747
+ "500": [
748
+ "schibsted-grotesk/schibsted-grotesk-latin-500-normal.woff",
749
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-500-normal.woff"
750
+ ],
751
+ "600": [
752
+ "schibsted-grotesk/schibsted-grotesk-latin-600-normal.woff",
753
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-600-normal.woff"
754
+ ],
755
+ "700": [
756
+ "schibsted-grotesk/schibsted-grotesk-latin-700-normal.woff",
757
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-700-normal.woff"
758
+ ],
759
+ "800": [
760
+ "schibsted-grotesk/schibsted-grotesk-latin-800-normal.woff",
761
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-800-normal.woff"
762
+ ],
763
+ "900": [
764
+ "schibsted-grotesk/schibsted-grotesk-latin-900-normal.woff",
765
+ "schibsted-grotesk/schibsted-grotesk-latin-ext-900-normal.woff"
766
+ ]
767
+ }
768
+ },
769
+ {
770
+ "id": "newsreader",
771
+ "family": "Newsreader",
772
+ "category": "serif",
773
+ "role": "text serif with optical character; thoughtful, literary",
774
+ "license": "OFL-1.1",
775
+ "licenseFile": "newsreader/OFL.txt",
776
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
777
+ "source": "@fontsource/newsreader@5.3.0 (Google Fonts v26)",
778
+ "weights": [
779
+ 400,
780
+ 500,
781
+ 600,
782
+ 700,
783
+ 800
784
+ ],
785
+ "traits": [
786
+ "literary",
787
+ "thoughtful",
788
+ "trustworthy",
789
+ "calm",
790
+ "human"
791
+ ],
792
+ "files": {
793
+ "400": [
794
+ "newsreader/newsreader-latin-400-normal.woff",
795
+ "newsreader/newsreader-latin-ext-400-normal.woff"
796
+ ],
797
+ "500": [
798
+ "newsreader/newsreader-latin-500-normal.woff",
799
+ "newsreader/newsreader-latin-ext-500-normal.woff"
800
+ ],
801
+ "600": [
802
+ "newsreader/newsreader-latin-600-normal.woff",
803
+ "newsreader/newsreader-latin-ext-600-normal.woff"
804
+ ],
805
+ "700": [
806
+ "newsreader/newsreader-latin-700-normal.woff",
807
+ "newsreader/newsreader-latin-ext-700-normal.woff"
808
+ ],
809
+ "800": [
810
+ "newsreader/newsreader-latin-800-normal.woff",
811
+ "newsreader/newsreader-latin-ext-800-normal.woff"
812
+ ]
813
+ }
814
+ },
815
+ {
816
+ "id": "zilla-slab",
817
+ "family": "Zilla Slab",
818
+ "category": "serif",
819
+ "role": "slab serif with flat brackets; dependable, straightforward",
820
+ "license": "OFL-1.1",
821
+ "licenseFile": "zilla-slab/OFL.txt",
822
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
823
+ "source": "@fontsource/zilla-slab@5.3.0 (Google Fonts v12)",
824
+ "weights": [
825
+ 400,
826
+ 500,
827
+ 600,
828
+ 700
829
+ ],
830
+ "traits": [
831
+ "dependable",
832
+ "sturdy",
833
+ "straightforward",
834
+ "rugged",
835
+ "grounded"
836
+ ],
837
+ "files": {
838
+ "400": [
839
+ "zilla-slab/zilla-slab-latin-400-normal.woff",
840
+ "zilla-slab/zilla-slab-latin-ext-400-normal.woff"
841
+ ],
842
+ "500": [
843
+ "zilla-slab/zilla-slab-latin-500-normal.woff",
844
+ "zilla-slab/zilla-slab-latin-ext-500-normal.woff"
845
+ ],
846
+ "600": [
847
+ "zilla-slab/zilla-slab-latin-600-normal.woff",
848
+ "zilla-slab/zilla-slab-latin-ext-600-normal.woff"
849
+ ],
850
+ "700": [
851
+ "zilla-slab/zilla-slab-latin-700-normal.woff",
852
+ "zilla-slab/zilla-slab-latin-ext-700-normal.woff"
853
+ ]
854
+ }
855
+ },
856
+ {
857
+ "id": "space-mono",
858
+ "family": "Space Mono",
859
+ "category": "monospace",
860
+ "role": "geometric monospace with retro character",
861
+ "license": "OFL-1.1",
862
+ "licenseFile": "space-mono/OFL.txt",
863
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
864
+ "source": "@fontsource/space-mono@5.3.0 (Google Fonts v17)",
865
+ "weights": [
866
+ 400,
867
+ 700
868
+ ],
869
+ "traits": [
870
+ "retro",
871
+ "technical",
872
+ "quirky",
873
+ "developer"
874
+ ],
875
+ "files": {
876
+ "400": [
877
+ "space-mono/space-mono-latin-400-normal.woff",
878
+ "space-mono/space-mono-latin-ext-400-normal.woff"
879
+ ],
880
+ "700": [
881
+ "space-mono/space-mono-latin-700-normal.woff",
882
+ "space-mono/space-mono-latin-ext-700-normal.woff"
883
+ ]
884
+ }
885
+ },
886
+ {
887
+ "id": "atkinson-hyperlegible-next",
888
+ "family": "Atkinson Hyperlegible Next",
889
+ "category": "sans-serif",
890
+ "role": "humanist sans designed for low-vision legibility; clear, caring",
891
+ "license": "OFL-1.1",
892
+ "licenseFile": "atkinson-hyperlegible-next/OFL.txt",
893
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
894
+ "source": "@fontsource/atkinson-hyperlegible-next@5.3.0 (Google Fonts v7)",
895
+ "weights": [
896
+ 400,
897
+ 500,
898
+ 600,
899
+ 700,
900
+ 800
901
+ ],
902
+ "traits": [
903
+ "accessible",
904
+ "clear",
905
+ "caring",
906
+ "human",
907
+ "reassuring"
908
+ ],
909
+ "files": {
910
+ "400": [
911
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-400-normal.woff",
912
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-400-normal.woff"
913
+ ],
914
+ "500": [
915
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-500-normal.woff",
916
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-500-normal.woff"
917
+ ],
918
+ "600": [
919
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-600-normal.woff",
920
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-600-normal.woff"
921
+ ],
922
+ "700": [
923
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-700-normal.woff",
924
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-700-normal.woff"
925
+ ],
926
+ "800": [
927
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-800-normal.woff",
928
+ "atkinson-hyperlegible-next/atkinson-hyperlegible-next-latin-ext-800-normal.woff"
929
+ ]
930
+ }
931
+ },
932
+ {
933
+ "id": "alegreya-sans",
934
+ "family": "Alegreya Sans",
935
+ "category": "sans-serif",
936
+ "role": "humanist sans with calligraphic rhythm; organic, warm",
937
+ "license": "OFL-1.1",
938
+ "licenseFile": "alegreya-sans/OFL.txt",
939
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
940
+ "source": "@fontsource/alegreya-sans@5.3.0 (Google Fonts v28)",
941
+ "weights": [
942
+ 400,
943
+ 500,
944
+ 700,
945
+ 800
946
+ ],
947
+ "traits": [
948
+ "humanist",
949
+ "organic",
950
+ "warm",
951
+ "crafted",
952
+ "calm"
953
+ ],
954
+ "files": {
955
+ "400": [
956
+ "alegreya-sans/alegreya-sans-latin-400-normal.woff",
957
+ "alegreya-sans/alegreya-sans-latin-ext-400-normal.woff"
958
+ ],
959
+ "500": [
960
+ "alegreya-sans/alegreya-sans-latin-500-normal.woff",
961
+ "alegreya-sans/alegreya-sans-latin-ext-500-normal.woff"
962
+ ],
963
+ "700": [
964
+ "alegreya-sans/alegreya-sans-latin-700-normal.woff",
965
+ "alegreya-sans/alegreya-sans-latin-ext-700-normal.woff"
966
+ ],
967
+ "800": [
968
+ "alegreya-sans/alegreya-sans-latin-800-normal.woff",
969
+ "alegreya-sans/alegreya-sans-latin-ext-800-normal.woff"
970
+ ]
971
+ }
972
+ },
973
+ {
974
+ "id": "familjen-grotesk",
975
+ "family": "Familjen Grotesk",
976
+ "category": "sans-serif",
977
+ "role": "grotesque with sharp, idiosyncratic details; confident, distinctive",
978
+ "license": "OFL-1.1",
979
+ "licenseFile": "familjen-grotesk/OFL.txt",
980
+ "commercialUse": "Allowed under SIL OFL 1.1 (fonts may not be sold by themselves; outlined logos are unrestricted).",
981
+ "source": "@fontsource/familjen-grotesk@5.3.0 (Google Fonts v11)",
982
+ "weights": [
983
+ 400,
984
+ 500,
985
+ 600,
986
+ 700
987
+ ],
988
+ "traits": [
989
+ "distinctive",
990
+ "confident",
991
+ "sharp",
992
+ "characterful"
993
+ ],
994
+ "files": {
995
+ "400": [
996
+ "familjen-grotesk/familjen-grotesk-latin-400-normal.woff",
997
+ "familjen-grotesk/familjen-grotesk-latin-ext-400-normal.woff"
998
+ ],
999
+ "500": [
1000
+ "familjen-grotesk/familjen-grotesk-latin-500-normal.woff",
1001
+ "familjen-grotesk/familjen-grotesk-latin-ext-500-normal.woff"
1002
+ ],
1003
+ "600": [
1004
+ "familjen-grotesk/familjen-grotesk-latin-600-normal.woff",
1005
+ "familjen-grotesk/familjen-grotesk-latin-ext-600-normal.woff"
1006
+ ],
1007
+ "700": [
1008
+ "familjen-grotesk/familjen-grotesk-latin-700-normal.woff",
1009
+ "familjen-grotesk/familjen-grotesk-latin-ext-700-normal.woff"
1010
+ ]
1011
+ }
1012
+ }
1013
+ ]
1014
+ }