howone 0.1.28 → 0.1.30

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 (224) hide show
  1. package/package.json +1 -1
  2. package/templates/vite/.howone/skills/hallmark/SKILL.md +48 -42
  3. package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +12 -6
  4. package/templates/vite/.howone/skills/hallmark/references/assets.md +7 -0
  5. package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +19 -10
  6. package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +1 -1
  7. package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +1 -1
  8. package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +1 -1
  9. package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +1 -1
  10. package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +1 -1
  11. package/templates/vite/.howone/skills/hallmark/references/components/n11-mega-menu.md +40 -0
  12. package/templates/vite/.howone/skills/hallmark/references/components/n12-banner-retract.md +34 -0
  13. package/templates/vite/.howone/skills/hallmark/references/components/n13-inline-cmdk-pill.md +39 -0
  14. package/templates/vite/.howone/skills/hallmark/references/components/n1b-saas-three-section.md +35 -0
  15. package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +1 -1
  16. package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +2 -2
  17. package/templates/vite/.howone/skills/hallmark/references/copy.md +8 -8
  18. package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +2 -2
  19. package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +50 -12
  20. package/templates/vite/.howone/skills/hallmark/references/export-formats.md +1 -1
  21. package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +11 -7
  22. package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +6 -4
  23. package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +10 -6
  24. package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +15 -10
  25. package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +13 -12
  26. package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +2 -1
  27. package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +4 -3
  28. package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +3 -1
  29. package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +1 -1
  30. package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +1 -1
  31. package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +1 -3
  32. package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +12 -12
  33. package/templates/vite/.howone/skills/hallmark/references/responsive.md +8 -8
  34. package/templates/vite/.howone/skills/hallmark/references/slop-test.md +72 -85
  35. package/templates/vite/.howone/skills/hallmark/references/structure.md +9 -13
  36. package/templates/vite/.howone/skills/hallmark/references/study.md +40 -17
  37. package/templates/vite/.howone/skills/hallmark/references/themes/carnival.md +301 -0
  38. package/templates/vite/.howone/skills/hallmark/references/themes/cobalt.md +146 -0
  39. package/templates/vite/.howone/skills/hallmark/references/themes/hum.md +403 -0
  40. package/templates/vite/.howone/skills/hallmark/references/themes/lumen.md +478 -0
  41. package/templates/vite/.howone/skills/hallmark/references/typography.md +3 -3
  42. package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +1 -1
  43. package/templates/vite/.howone/skills/howone/03-sdk/07-ai-action-calls.md +28 -86
  44. package/templates/vite/.howone/skills/howone/03-sdk/09-workflow-execute-sse.md +105 -0
  45. package/templates/vite/.howone/skills/howone/04-ai/03-ai-sdk-handoff.md +15 -13
  46. package/templates/vite/.howone/skills/howone/SKILL.md +2 -2
  47. package/templates/vite/package.json +1 -1
  48. package/templates/vite/.howone/skills/hallmark/LICENSE +0 -21
  49. package/templates/vite/.howone/skills/hallmark/README.md +0 -147
  50. package/templates/vite/.howone/skills/hallmark/ROADMAP.md +0 -201
  51. package/templates/vite/.howone/skills/hallmark/docs/recipes.md +0 -186
  52. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
  53. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
  54. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
  55. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
  56. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
  57. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
  58. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
  59. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
  60. package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +0 -176
  61. package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +0 -364
  62. package/templates/vite/.howone/skills/hallmark/package.json +0 -36
  63. package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
  64. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +0 -71
  65. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +0 -64
  66. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +0 -240
  67. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +0 -65
  68. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +0 -105
  69. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +0 -250
  70. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +0 -64
  71. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +0 -131
  72. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +0 -240
  73. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +0 -67
  74. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +0 -86
  75. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +0 -262
  76. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +0 -63
  77. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +0 -167
  78. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +0 -457
  79. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +0 -65
  80. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +0 -159
  81. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +0 -288
  82. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +0 -64
  83. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +0 -146
  84. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +0 -484
  85. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +0 -64
  86. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +0 -116
  87. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +0 -354
  88. package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +0 -638
  89. package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +0 -515
  90. package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +0 -515
  91. package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +0 -608
  92. package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +0 -587
  93. package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +0 -157
  94. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
  95. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
  96. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
  97. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
  98. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
  99. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
  100. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
  101. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
  102. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
  103. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
  104. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
  105. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
  106. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
  107. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
  108. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
  109. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
  110. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
  111. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
  112. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
  113. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
  114. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
  115. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
  116. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
  117. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +0 -77
  118. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +0 -238
  119. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +0 -110
  120. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +0 -326
  121. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +0 -134
  122. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +0 -262
  123. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +0 -30
  124. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +0 -17
  125. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +0 -56
  126. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +0 -160
  127. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +0 -29
  128. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +0 -63
  129. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +0 -72
  130. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +0 -374
  131. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +0 -52
  132. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +0 -29
  133. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +0 -61
  134. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +0 -193
  135. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +0 -66
  136. package/templates/vite/.howone/skills/hallmark/site/css/base.css +0 -194
  137. package/templates/vite/.howone/skills/hallmark/site/css/components.css +0 -4886
  138. package/templates/vite/.howone/skills/hallmark/site/css/sections.css +0 -2072
  139. package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +0 -1129
  140. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +0 -475
  141. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +0 -1584
  142. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +0 -96
  143. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +0 -344
  144. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +0 -103
  145. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +0 -1103
  146. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +0 -83
  147. package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +0 -368
  148. package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +0 -133
  149. package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +0 -1062
  150. package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +0 -97
  151. package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +0 -84
  152. package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +0 -446
  153. package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +0 -1087
  154. package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +0 -101
  155. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +0 -359
  156. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +0 -1168
  157. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +0 -81
  158. package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +0 -5
  159. package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +0 -5
  160. package/templates/vite/.howone/skills/hallmark/site/index.html +0 -1043
  161. package/templates/vite/.howone/skills/hallmark/site/js/main.js +0 -1175
  162. package/templates/vite/.howone/skills/hallmark/vercel.json +0 -6
  163. package/templates/vite/.howone/skills/impeccable/SKILL.md +0 -168
  164. package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +0 -101
  165. package/templates/vite/.howone/skills/impeccable/reference/adapt.md +0 -190
  166. package/templates/vite/.howone/skills/impeccable/reference/animate.md +0 -175
  167. package/templates/vite/.howone/skills/impeccable/reference/audit.md +0 -133
  168. package/templates/vite/.howone/skills/impeccable/reference/bolder.md +0 -113
  169. package/templates/vite/.howone/skills/impeccable/reference/brand.md +0 -118
  170. package/templates/vite/.howone/skills/impeccable/reference/clarify.md +0 -174
  171. package/templates/vite/.howone/skills/impeccable/reference/codex.md +0 -105
  172. package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +0 -106
  173. package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +0 -105
  174. package/templates/vite/.howone/skills/impeccable/reference/colorize.md +0 -154
  175. package/templates/vite/.howone/skills/impeccable/reference/craft.md +0 -123
  176. package/templates/vite/.howone/skills/impeccable/reference/critique.md +0 -273
  177. package/templates/vite/.howone/skills/impeccable/reference/delight.md +0 -302
  178. package/templates/vite/.howone/skills/impeccable/reference/distill.md +0 -111
  179. package/templates/vite/.howone/skills/impeccable/reference/document.md +0 -427
  180. package/templates/vite/.howone/skills/impeccable/reference/extract.md +0 -69
  181. package/templates/vite/.howone/skills/impeccable/reference/harden.md +0 -347
  182. package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +0 -234
  183. package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +0 -195
  184. package/templates/vite/.howone/skills/impeccable/reference/layout.md +0 -141
  185. package/templates/vite/.howone/skills/impeccable/reference/live.md +0 -622
  186. package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +0 -109
  187. package/templates/vite/.howone/skills/impeccable/reference/onboard.md +0 -234
  188. package/templates/vite/.howone/skills/impeccable/reference/optimize.md +0 -258
  189. package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +0 -130
  190. package/templates/vite/.howone/skills/impeccable/reference/personas.md +0 -179
  191. package/templates/vite/.howone/skills/impeccable/reference/polish.md +0 -242
  192. package/templates/vite/.howone/skills/impeccable/reference/product.md +0 -62
  193. package/templates/vite/.howone/skills/impeccable/reference/quieter.md +0 -99
  194. package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +0 -114
  195. package/templates/vite/.howone/skills/impeccable/reference/shape.md +0 -165
  196. package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +0 -100
  197. package/templates/vite/.howone/skills/impeccable/reference/teach.md +0 -156
  198. package/templates/vite/.howone/skills/impeccable/reference/typeset.md +0 -124
  199. package/templates/vite/.howone/skills/impeccable/reference/typography.md +0 -159
  200. package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +0 -107
  201. package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +0 -284
  202. package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +0 -94
  203. package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +0 -242
  204. package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +0 -820
  205. package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +0 -198
  206. package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +0 -21
  207. package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +0 -110
  208. package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +0 -69
  209. package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +0 -595
  210. package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +0 -123
  211. package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +0 -4860
  212. package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +0 -75
  213. package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +0 -18
  214. package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +0 -446
  215. package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +0 -200
  216. package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +0 -48
  217. package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +0 -838
  218. package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +0 -254
  219. package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +0 -47
  220. package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +0 -632
  221. package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +0 -247
  222. package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +0 -141
  223. package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
  224. package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +0 -214
@@ -1,262 +0,0 @@
1
- /* Hallmark · macrostructure: Quote-Led · H3 hero knobs: weight=display-condensed-bold, attribution=under-quote, length=20-words
2
- * theme: Brutal · accent: strike-yellow ~3% (used as bleed-rule + one struck word)
3
- * enrichment: none (typography only — voice is the design)
4
- * studied: no · context: partial, inferred (audience + use) · v0.6.0
5
- */
6
-
7
- :root {
8
- --color-paper: oklch(11% 0.005 60);
9
- --color-paper-2: oklch(15% 0.006 60);
10
- --color-rule: oklch(28% 0.006 60);
11
- --color-ink: oklch(96% 0.005 90);
12
- --color-ink-soft: oklch(72% 0.006 90);
13
- --color-accent: oklch(86% 0.18 95);
14
-
15
- --font-display: "Bebas Neue", "Oswald", "Barlow Condensed", "Helvetica Neue", "Arial Narrow", sans-serif;
16
- --font-body: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
17
- --font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
18
-
19
- --space-3xs: 0.25rem;
20
- --space-2xs: 0.5rem;
21
- --space-xs: 0.75rem;
22
- --space-sm: 1rem;
23
- --space-md: 1.5rem;
24
- --space-lg: 2rem;
25
- --space-xl: 3rem;
26
- --space-2xl: 4.5rem;
27
- --space-3xl: 6.5rem;
28
- --space-4xl: 9rem;
29
-
30
- --measure-prose: 56ch;
31
- }
32
-
33
- * { box-sizing: border-box; }
34
- html, body { overflow-x: clip; }
35
-
36
- body {
37
- margin: 0;
38
- background: var(--color-paper);
39
- color: var(--color-ink);
40
- font-family: var(--font-body);
41
- font-size: 1.0625rem;
42
- line-height: 1.5;
43
- font-weight: 400;
44
- -webkit-font-smoothing: antialiased;
45
- }
46
-
47
- .page {
48
- max-width: 80rem;
49
- margin: 0 auto;
50
- padding: 0;
51
- }
52
-
53
- /* Masthead */
54
- .masthead {
55
- display: flex;
56
- justify-content: space-between;
57
- align-items: center;
58
- padding: var(--space-md) var(--space-lg);
59
- border-block-end: 1px solid var(--color-rule);
60
- font-family: var(--font-mono);
61
- font-size: 0.75rem;
62
- text-transform: uppercase;
63
- letter-spacing: 0.12em;
64
- color: var(--color-ink-soft);
65
- }
66
-
67
- .masthead__brand { color: var(--color-ink); font-weight: 500; }
68
- .masthead__brand strong {
69
- color: var(--color-accent);
70
- font-weight: 500;
71
- }
72
- .masthead__meta { font-variant-numeric: tabular-nums; }
73
-
74
- /* Hero — pull-quote */
75
- .hero {
76
- padding: var(--space-4xl) var(--space-lg) var(--space-2xl);
77
- border-block-end: 4px solid var(--color-accent);
78
- }
79
-
80
- .quote {
81
- margin: 0;
82
- font-family: var(--font-display);
83
- font-size: clamp(3rem, 9vw, 7.5rem);
84
- font-weight: 700;
85
- line-height: 0.95;
86
- letter-spacing: -0.01em;
87
- text-transform: uppercase;
88
- color: var(--color-ink);
89
- max-width: 24ch;
90
- }
91
-
92
- .quote__strike {
93
- position: relative;
94
- display: inline-block;
95
- color: var(--color-ink);
96
- }
97
-
98
- .quote__strike::after {
99
- content: "";
100
- position: absolute;
101
- inset-inline: -0.05em;
102
- inset-block-start: 50%;
103
- height: 0.18em;
104
- background: var(--color-accent);
105
- transform: translateY(-30%) rotate(-2deg);
106
- }
107
-
108
- .quote__attr {
109
- display: block;
110
- font-family: var(--font-mono);
111
- font-size: 0.875rem;
112
- font-weight: 400;
113
- line-height: 1.4;
114
- letter-spacing: 0.1em;
115
- text-transform: uppercase;
116
- color: var(--color-ink-soft);
117
- margin-block-start: var(--space-xl);
118
- }
119
-
120
- .quote__attr strong {
121
- color: var(--color-ink);
122
- font-weight: 500;
123
- }
124
-
125
- /* Principles section */
126
- .principles {
127
- padding: var(--space-3xl) var(--space-lg);
128
- border-block-end: 1px solid var(--color-rule);
129
- }
130
-
131
- .principles__head {
132
- font-family: var(--font-mono);
133
- font-size: 0.75rem;
134
- letter-spacing: 0.16em;
135
- text-transform: uppercase;
136
- color: var(--color-ink-soft);
137
- margin: 0 0 var(--space-2xl);
138
- }
139
-
140
- .principles__list {
141
- display: grid;
142
- grid-template-columns: repeat(2, 1fr);
143
- gap: var(--space-2xl) var(--space-xl);
144
- list-style: none;
145
- padding: 0;
146
- margin: 0;
147
- }
148
-
149
- .principle {
150
- border-block-start: 1px solid var(--color-rule);
151
- padding-block-start: var(--space-md);
152
- }
153
-
154
- .principle__num {
155
- font-family: var(--font-mono);
156
- font-size: 0.75rem;
157
- letter-spacing: 0.16em;
158
- color: var(--color-accent);
159
- display: block;
160
- margin-block-end: var(--space-sm);
161
- }
162
-
163
- .principle__head {
164
- font-family: var(--font-display);
165
- font-size: clamp(1.75rem, 3vw, 2.5rem);
166
- font-weight: 700;
167
- letter-spacing: -0.005em;
168
- text-transform: uppercase;
169
- line-height: 0.95;
170
- margin: 0 0 var(--space-md);
171
- color: var(--color-ink);
172
- }
173
-
174
- .principle__body {
175
- font-family: var(--font-body);
176
- font-size: 1rem;
177
- line-height: 1.6;
178
- color: var(--color-ink-soft);
179
- max-width: var(--measure-prose);
180
- margin: 0;
181
- }
182
-
183
- .principle__body strong { color: var(--color-ink); font-weight: 500; }
184
-
185
- /* Working rules — terse list */
186
- .rules {
187
- padding: var(--space-2xl) var(--space-lg);
188
- background: var(--color-paper-2);
189
- border-block-end: 1px solid var(--color-rule);
190
- }
191
-
192
- .rules__head {
193
- font-family: var(--font-mono);
194
- font-size: 0.75rem;
195
- letter-spacing: 0.16em;
196
- text-transform: uppercase;
197
- color: var(--color-ink-soft);
198
- margin: 0 0 var(--space-lg);
199
- }
200
-
201
- .rules__list {
202
- display: grid;
203
- gap: 0;
204
- list-style: none;
205
- padding: 0;
206
- margin: 0;
207
- }
208
-
209
- .rules__item {
210
- display: grid;
211
- grid-template-columns: 4ch 1fr;
212
- gap: var(--space-md);
213
- padding: var(--space-md) 0;
214
- border-block-end: 1px solid var(--color-rule);
215
- font-family: var(--font-body);
216
- font-size: 1.0625rem;
217
- line-height: 1.4;
218
- color: var(--color-ink);
219
- }
220
-
221
- .rules__item:last-child { border-block-end: none; }
222
-
223
- .rules__num {
224
- font-family: var(--font-mono);
225
- font-size: 0.875rem;
226
- letter-spacing: 0.06em;
227
- color: var(--color-accent);
228
- }
229
-
230
- /* Colophon */
231
- .colophon {
232
- padding: var(--space-md) var(--space-lg);
233
- display: flex;
234
- justify-content: space-between;
235
- flex-wrap: wrap;
236
- gap: var(--space-sm);
237
- font-family: var(--font-mono);
238
- font-size: 0.75rem;
239
- letter-spacing: 0.12em;
240
- text-transform: uppercase;
241
- color: var(--color-ink-soft);
242
- }
243
-
244
- .colophon a {
245
- color: var(--color-ink-soft);
246
- text-decoration: none;
247
- transition: color 100ms ease;
248
- }
249
-
250
- .colophon a:hover, .colophon a:focus-visible {
251
- color: var(--color-accent);
252
- }
253
-
254
- .colophon a:focus-visible {
255
- outline: 2px solid var(--color-accent);
256
- outline-offset: 3px;
257
- }
258
-
259
- @media (max-width: 48rem) {
260
- .principles__list { grid-template-columns: 1fr; }
261
- .hero { padding: var(--space-2xl) var(--space-lg); }
262
- }
@@ -1,63 +0,0 @@
1
- # Test 05 v2 — Tracejam (SaaS observability)
2
-
3
- ## The prompt (verbatim, same as v1)
4
-
5
- > "Build a landing page for Tracejam — a tracing/observability tool for distributed systems. Audience: SREs and platform engineers. Use case: try it / contact sales. Tone: technical."
6
-
7
- ## Step 0 · Pre-flight
8
-
9
- > *"No pre-flight signals — proceeding with full Hallmark stack."*
10
-
11
- ## Step 1 · Design-context gate — fully answered
12
-
13
- Audience, use, tone all explicit.
14
-
15
- ## Step 2.5 · Project memory rotation
16
-
17
- > *"Previous run on this brief picked Bento Grid + Pastel + Tier-A flame chart. Picking from {Workbench, Stat-Led, Long Document} for the macro this time — Workbench wins because the brief says 'try it' and Workbench is structured to walk an SRE through a single workflow rather than show six surfaces in a tile grid."*
18
- >
19
- > *"Theme rotation: Pastel (light · geometric-sans · cool-indigo) → Midnight (dark · geometric-sans · phosphor-cyan). Differs on paper band (light → dark) and accent hue (indigo → phosphor-cyan). Two of three axes differ. Passes."*
20
-
21
- ## Step 3 · Visual ruleset loaded
22
-
23
- `macrostructures.md` (Workbench), `component-cookbook.md` (F2 sticky-scroll, H1 left-bias hero, code-card archetype), `typography.md` (Midnight pairing — Geist Mono display + Geist body), `color.md` (Midnight palette — dark cool greys), `microinteractions.md` (active-step highlight via `IntersectionObserver`, copy-to-clipboard on code lines, focus-visible rings), `anti-patterns.md`.
24
-
25
- ## Step 4 · Hero enrichment
26
-
27
- > *"Enrichment: Tier-A pure-CSS pinned dashboard panel — a hand-built waterfall trace rendered as flex bars. Different from v1's clipped-edge browser frame: this one sits in the right column, pinned during scroll, swapping its content as the user scrolls past each step. Same Tier-A custom-craft, different layout role."*
28
-
29
- ## Step 5 · Preview
30
-
31
- ```markdown
32
- **Hallmark · v0.6.0**
33
-
34
- - **Macrostructure** · Workbench
35
- - **Theme** · Midnight (dark cool paper · Geist Mono display · phosphor-cyan accent ~3%)
36
- - **Enrichment** · Tier-A pure-CSS sticky dashboard panel (3-state, swaps on scroll)
37
- - **Sections** · Masthead · Hero · Sticky-walkthrough (3 steps × pinned panel) · Integrations · Pricing · Colophon
38
- - **Motion** · sticky-step active highlight · copy-to-clipboard on code (2 primitives)
39
- - **Slop test** · 38 / 38 ✓
40
- - **Diversification** · differs from v1 (Bento Grid/Pastel) on macrostructure + paper band + accent hue
41
- ```
42
-
43
- ## Step 6 · Macrostructure stamp
44
-
45
- ```
46
- /* Hallmark · macrostructure: Workbench · F2 sticky-scroll knobs: pinned=right, content=trace-panel, steps=3
47
- * theme: Midnight · accent: phosphor-cyan ~3% · enrichment: tier-A CSS-art trace panel (sticky-pinned, 3-state)
48
- * studied: no · context: explicit · v0.6.0
49
- */
50
- ```
51
-
52
- ## What changed vs v1
53
-
54
- - **Macro:** Bento Grid → Workbench. v1 split Tracejam into six asymmetric tiles (stat / sparkline / quote / code / integrations / spotlight); v2 walks the user through three SRE-shaped steps, each pinned alongside a swapping dashboard panel.
55
- - **Theme:** Pastel → Midnight. v1's light-cool paper with indigo accent becomes dark cool paper with phosphor-cyan. The dashboard mockup reads more credible on dark surface for a tracing tool.
56
- - **Enrichment:** v1's right-clipped browser frame becomes a sticky 3-state panel that updates as the user scrolls past each step. Same hand-built CSS-art content; different layout role.
57
- - **Pricing:** v1 had no pricing on the page; v2 adds a 3-tier table (Free / Team / Scale) — Workbench can carry it without becoming a Bento.
58
-
59
- ## What stayed the same
60
-
61
- - Brand: Tracejam, distributed tracing, SRE audience.
62
- - Tier-A custom-craft (no Lottie, no real video).
63
- - Slop test: 38 / 38 ✓.
@@ -1,167 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Tracejam — distributed tracing that explains itself</title>
7
- <meta name="description" content="Open the trace, find the span that regressed, and read why — in plain text — without a glossary, a YAML diff, or a status-page hunt." />
8
- <link rel="preconnect" href="https://fonts.googleapis.com" />
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
- <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&family=Geist:wght@400;500;600&display=swap" />
11
- <link rel="stylesheet" href="style.css" />
12
- </head>
13
- <body>
14
- <main class="page">
15
- <header class="masthead">
16
- <span class="masthead__brand"><span class="dot"></span>tracejam · v0.4</span>
17
- <nav class="masthead__nav">
18
- <a href="#walkthrough">Walkthrough</a>
19
- <a href="#integrations">Integrations</a>
20
- <a href="#pricing">Pricing</a>
21
- <a href="#">Docs</a>
22
- </nav>
23
- </header>
24
-
25
- <section class="hero">
26
- <div class="hero__copy">
27
- <p class="hero__eyebrow">For SREs &amp; platform engineers</p>
28
- <h1 class="hero__head">Distributed tracing that <em>explains itself.</em></h1>
29
- <p class="hero__sub">
30
- Open the trace. Find the span that regressed. Read why — in plain text — without a glossary,
31
- a YAML diff, or a status-page hunt. The post-mortem starts in the trace, not in a doc.
32
- </p>
33
- <div class="hero__cta">
34
- <a class="btn btn--primary" href="#">Try it free <span aria-hidden="true">→</span></a>
35
- <a class="btn" href="#">Talk to sales</a>
36
- </div>
37
- </div>
38
- <aside class="hero__panel" aria-label="Sample trace preview">
39
- <div class="hero__panel-head"><span>trace · 9c3a72ef</span><span>4.21 s</span></div>
40
- <div class="trace">
41
- <div class="span"><span class="span__label">api.checkout</span><span class="span__bar" style="--w:100%"><style>.span__bar::after { width: var(--w); }</style></span><span class="span__time">4.21s</span></div>
42
- <div class="span"><span class="span__label">↳ auth.verify</span><span class="span__bar"><span style="position:absolute;inset:0;width:18%;background:var(--color-accent)"></span></span><span class="span__time">762ms</span></div>
43
- <div class="span span--err"><span class="span__label">↳ pricing.quote</span><span class="span__bar"><span style="position:absolute;inset:0;width:78%;background:var(--color-error)"></span></span><span class="span__time">3.28s</span></div>
44
- <div class="span span--warn"><span class="span__label">&nbsp;&nbsp;↳ rates.fx</span><span class="span__bar"><span style="position:absolute;inset:0;width:62%;background:var(--color-warn)"></span></span><span class="span__time">2.71s</span></div>
45
- <div class="span"><span class="span__label">↳ ledger.write</span><span class="span__bar"><span style="position:absolute;inset:0;width:6%;background:var(--color-accent)"></span></span><span class="span__time">240ms</span></div>
46
- </div>
47
- </aside>
48
- </section>
49
-
50
- <section class="workbench" id="walkthrough">
51
- <div class="steps">
52
- <article class="step">
53
- <p class="step__num">step 01 · open</p>
54
- <h2 class="step__head">Open the trace, not a dashboard.</h2>
55
- <p class="step__body">
56
- Drop a trace ID, a request URL, or a five-second time window. Tracejam pulls the spans
57
- from your collector and renders them inline — no dashboard hop, no link to Grafana,
58
- no separate logs window. The trace is the unit of work.
59
- </p>
60
- <div class="step__code"><span class="c"># by trace id</span><br/><span class="k">$</span> tracejam open 9c3a72ef</div>
61
- </article>
62
-
63
- <article class="step">
64
- <p class="step__num">step 02 · find</p>
65
- <h2 class="step__head">Find the regressed span.</h2>
66
- <p class="step__body">
67
- Tracejam ranks spans by <strong>p99 deviation against your service's seven-day baseline</strong>.
68
- The first one in the list is almost always the problem. No filters to set; the baseline
69
- is precomputed every five minutes per service.
70
- </p>
71
- <div class="step__code"><span class="c"># top 3 regressed spans this hour</span><br/><span class="k">$</span> tracejam top --window 1h</div>
72
- </article>
73
-
74
- <article class="step">
75
- <p class="step__num">step 03 · read</p>
76
- <h2 class="step__head">Read why, in plain text.</h2>
77
- <p class="step__body">
78
- Each span carries an <strong>auto-generated explainer</strong>: which dependency
79
- regressed, which version of which service, which deploy correlates, the last clean run,
80
- and the diff between then and now. Plain text, copy-paste ready into a post-mortem.
81
- </p>
82
- <div class="step__code"><span class="c"># dump the explainer</span><br/><span class="k">$</span> tracejam why <span class="s">"pricing.quote"</span></div>
83
- </article>
84
- </div>
85
-
86
- <aside class="pinned" aria-label="Pinned trace panel">
87
- <header class="pinned__head">
88
- <span>trace · 9c3a72ef</span>
89
- <span class="pinned__chip">REGRESSED</span>
90
- </header>
91
- <div class="pinned__body">
92
- <div class="span"><span class="span__label">api.checkout</span><span class="span__bar"><span style="position:absolute;inset:0;width:100%;background:var(--color-accent)"></span></span><span class="span__time">4.21s</span></div>
93
- <div class="span"><span class="span__label">↳ auth.verify</span><span class="span__bar"><span style="position:absolute;inset:0;width:18%;background:var(--color-accent)"></span></span><span class="span__time">762ms</span></div>
94
- <div class="span span--err"><span class="span__label">↳ pricing.quote</span><span class="span__bar"><span style="position:absolute;inset:0;width:78%;background:var(--color-error)"></span></span><span class="span__time">3.28s</span></div>
95
- <div class="span span--warn"><span class="span__label">&nbsp;&nbsp;↳ rates.fx</span><span class="span__bar"><span style="position:absolute;inset:0;width:62%;background:var(--color-warn)"></span></span><span class="span__time">2.71s</span></div>
96
- <div class="span"><span class="span__label">↳ ledger.write</span><span class="span__bar"><span style="position:absolute;inset:0;width:6%;background:var(--color-accent)"></span></span><span class="span__time">240ms</span></div>
97
- </div>
98
- <p class="pinned__why">
99
- <strong>WHY:</strong> rates.fx p99 doubled at 14:02 UTC. Correlates with deploy
100
- rates-svc@v1.34.2 — which lowered the FX cache TTL from 5 m to 30 s. Roll back, or raise
101
- TTL. Last clean run: 13:57 UTC (2.41 s end-to-end).
102
- </p>
103
- </aside>
104
- </section>
105
-
106
- <section class="integrations" id="integrations">
107
- <h2 class="integrations__head">Reads from</h2>
108
- <ul class="integrations__grid">
109
- <li>OpenTelemetry</li>
110
- <li>Jaeger</li>
111
- <li>Zipkin</li>
112
- <li>AWS X-Ray</li>
113
- <li>Tempo</li>
114
- <li>Datadog APM</li>
115
- <li>Honeycomb</li>
116
- <li>New Relic</li>
117
- </ul>
118
- </section>
119
-
120
- <section class="pricing" id="pricing">
121
- <h2 class="pricing__head">Pricing</h2>
122
- <div class="tiers">
123
- <article class="tier">
124
- <h3 class="tier__name">Free</h3>
125
- <p class="tier__price">$0 <span class="per">forever</span></p>
126
- <ul class="tier__list">
127
- <li>50 GB trace ingest / month</li>
128
- <li>7-day retention</li>
129
- <li>Single project</li>
130
- <li>Community Slack</li>
131
- </ul>
132
- <a class="btn" href="#">Start free</a>
133
- </article>
134
- <article class="tier tier--feature">
135
- <h3 class="tier__name">Team</h3>
136
- <p class="tier__price">$799 <span class="per">/ month</span></p>
137
- <ul class="tier__list">
138
- <li>500 GB ingest / month</li>
139
- <li>30-day retention</li>
140
- <li>Unlimited projects</li>
141
- <li>Auto-explainers</li>
142
- <li>SLO alerting</li>
143
- </ul>
144
- <a class="btn btn--primary" href="#">14-day trial</a>
145
- </article>
146
- <article class="tier">
147
- <h3 class="tier__name">Scale</h3>
148
- <p class="tier__price">Custom</p>
149
- <ul class="tier__list">
150
- <li>Custom ingest</li>
151
- <li>365-day retention</li>
152
- <li>SOC2 / ISO27001</li>
153
- <li>Dedicated infra</li>
154
- <li>24/7 oncall</li>
155
- </ul>
156
- <a class="btn" href="#">Talk to sales</a>
157
- </article>
158
- </div>
159
- </section>
160
-
161
- <footer class="colophon">
162
- <span>Tracejam · v0.4 · made in Lisbon &amp; Berlin</span>
163
- <span><a href="#">docs</a> · <a href="#">changelog</a> · <a href="#">status</a> · <a href="#">github</a></span>
164
- </footer>
165
- </main>
166
- </body>
167
- </html>