@phuc1403/musketeer 0.8.0 → 0.10.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 (236) hide show
  1. package/INSTALLATION.md +52 -52
  2. package/README.md +49 -49
  3. package/bin/musketeer.js +168 -168
  4. package/manifest.json +333 -301
  5. package/package.json +48 -48
  6. package/src/dotnet-scaffold-copier.js +79 -79
  7. package/src/provisioner/detect.js +93 -93
  8. package/src/self-update.js +77 -77
  9. package/template/.claude/agents/code-reviewer.md +182 -166
  10. package/template/.claude/agents/git-manager.md +18 -18
  11. package/template/.claude/agents/hallmark-auditor.md +78 -78
  12. package/template/.claude/agents/researcher.md +33 -33
  13. package/template/.claude/hooks/block-unsafe-adr-title.cjs +85 -85
  14. package/template/.claude/hooks/git-skill-reminder.cjs +53 -0
  15. package/template/.claude/hooks/init-adr-dir.cjs +173 -173
  16. package/template/.claude/hooks/inject-adr-flags.cjs +94 -94
  17. package/template/.claude/hooks/lib/adr/command-scan.cjs +115 -115
  18. package/template/.claude/hooks/lib/characteristics/checker.cjs +357 -357
  19. package/template/.claude/hooks/lib/colors.cjs +180 -122
  20. package/template/.claude/hooks/lib/git-info-cache.cjs +191 -191
  21. package/template/.claude/hooks/lib/transcript-parser.cjs +300 -277
  22. package/template/.claude/hooks/sync-adr-toc.cjs +146 -146
  23. package/template/.claude/hooks/{usage-context-awareness.cjs → usage-quota-cache-refresh.cjs} +166 -166
  24. package/template/.claude/hooks/validate-characteristics-hook.cjs +66 -66
  25. package/template/.claude/hooks/validate-cml-hook.js +145 -145
  26. package/template/.claude/skills/adr-writer/SKILL.md +48 -48
  27. package/template/.claude/skills/adr-writer/references/adr-example.md +35 -35
  28. package/template/.claude/skills/architecture-characteristic-writer/SKILL.md +215 -215
  29. package/template/.claude/skills/architecture-characteristic-writer/assets/worksheet-template.md +29 -29
  30. package/template/.claude/skills/architecture-characteristic-writer/references/characteristics-catalog.md +40 -40
  31. package/template/.claude/skills/architecture-characteristic-writer/scripts/ranking-table.cjs +171 -171
  32. package/template/.claude/skills/code-review/SKILL.md +201 -54
  33. package/template/.claude/skills/code-review/references/checklist-workflow.md +96 -0
  34. package/template/.claude/skills/code-review/references/checklists/api.md +52 -52
  35. package/template/.claude/skills/code-review/references/checklists/base.md +100 -100
  36. package/template/.claude/skills/code-review/references/checklists/web-app.md +54 -54
  37. package/template/.claude/skills/code-review/references/code-review-reception.md +113 -0
  38. package/template/.claude/skills/code-review/references/codebase-scan-workflow.md +30 -0
  39. package/template/.claude/skills/code-review/references/edge-case-scouting.md +119 -0
  40. package/template/.claude/skills/code-review/references/input-mode-resolution.md +135 -0
  41. package/template/.claude/skills/code-review/references/parallel-review-workflow.md +76 -0
  42. package/template/.claude/skills/code-review/references/requesting-code-review.md +116 -0
  43. package/template/.claude/skills/code-review/references/spec-compliance-review.md +43 -0
  44. package/template/.claude/skills/code-review/references/task-management-reviews.md +140 -0
  45. package/template/.claude/skills/code-review/references/verification-before-completion.md +139 -0
  46. package/template/.claude/skills/context-map/SKILL.md +80 -80
  47. package/template/.claude/skills/context-map/example.cml +106 -106
  48. package/template/.claude/skills/context-map/reference/Bounded Context/Bounded Context.md +40 -40
  49. package/template/.claude/skills/context-map/reference/Bounded Context/businessModel.md +5 -5
  50. package/template/.claude/skills/context-map/reference/Bounded Context/domainVisionStatement.md +2 -2
  51. package/template/.claude/skills/context-map/reference/Bounded Context/evolution.md +5 -5
  52. package/template/.claude/skills/context-map/reference/Bounded Context/implementationTechnology.md +1 -1
  53. package/template/.claude/skills/context-map/reference/Bounded Context/implements.md +1 -1
  54. package/template/.claude/skills/context-map/reference/Bounded Context/knowledgeLevel.md +4 -4
  55. package/template/.claude/skills/context-map/reference/Bounded Context/realizes.md +9 -9
  56. package/template/.claude/skills/context-map/reference/Bounded Context/refines.md +10 -10
  57. package/template/.claude/skills/context-map/reference/Bounded Context/responsibilities.md +26 -26
  58. package/template/.claude/skills/context-map/reference/Bounded Context/type.md +23 -23
  59. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Anticorruption Layer.md +5 -5
  60. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Bounded Context Relationship.md +12 -12
  61. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Conformist.md +5 -5
  62. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Customer-Supplier (C-S).md +22 -22
  63. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Open Host Service.md +4 -4
  64. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Partnership (P).md +13 -13
  65. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Published Language.md +4 -4
  66. package/template/.claude/skills/context-map/reference/Bounded Context Relationship/Shared Kernel (SK).md +12 -12
  67. package/template/.claude/skills/context-map/reference/Context Map.md +62 -62
  68. package/template/.claude/skills/context-map/reference/Domain/Domain.md +30 -30
  69. package/template/.claude/skills/context-map/reference/Domain/supports.md +33 -33
  70. package/template/.claude/skills/context-map/reference/Domain/type.md +3 -3
  71. package/template/.claude/skills/context-map/reference/Semantic Rules.md +32 -32
  72. package/template/.claude/skills/git/SKILL.md +131 -115
  73. package/template/.claude/skills/git/references/branch-management.md +88 -88
  74. package/template/.claude/skills/git/references/commit-standards.md +46 -46
  75. package/template/.claude/skills/git/references/context-efficiency.md +54 -0
  76. package/template/.claude/skills/git/references/gh-cli-guide.md +109 -109
  77. package/template/.claude/skills/git/references/safety-protocols.md +69 -69
  78. package/template/.claude/skills/git/references/workflow-commit.md +58 -58
  79. package/template/.claude/skills/git/references/workflow-merge-pr.md +136 -0
  80. package/template/.claude/skills/git/references/workflow-merge.md +48 -48
  81. package/template/.claude/skills/git/references/workflow-pr.md +58 -58
  82. package/template/.claude/skills/git/references/workflow-push.md +52 -52
  83. package/template/.claude/skills/hallmark/SKILL.md +552 -552
  84. package/template/.claude/skills/hallmark/references/anti-patterns.md +412 -412
  85. package/template/.claude/skills/hallmark/references/assets.md +406 -406
  86. package/template/.claude/skills/hallmark/references/color.md +95 -95
  87. package/template/.claude/skills/hallmark/references/component-cookbook.md +256 -256
  88. package/template/.claude/skills/hallmark/references/components/c1-outlined-chip.md +12 -12
  89. package/template/.claude/skills/hallmark/references/components/c2-inline-form-as-cta.md +16 -16
  90. package/template/.claude/skills/hallmark/references/components/c3-typographic-link.md +8 -8
  91. package/template/.claude/skills/hallmark/references/components/c4-sticky-bottom-bar.md +16 -16
  92. package/template/.claude/skills/hallmark/references/components/f1-bento-grid.md +20 -20
  93. package/template/.claude/skills/hallmark/references/components/f2-sticky-scroll-stack.md +20 -20
  94. package/template/.claude/skills/hallmark/references/components/f3-tabular-spec-sheet.md +11 -11
  95. package/template/.claude/skills/hallmark/references/components/f4-step-sequence.md +11 -11
  96. package/template/.claude/skills/hallmark/references/components/f5-annotated-screenshot.md +11 -11
  97. package/template/.claude/skills/hallmark/references/components/f6-product-card-grid.md +41 -41
  98. package/template/.claude/skills/hallmark/references/components/ft1-mast-headed.md +13 -13
  99. package/template/.claude/skills/hallmark/references/components/ft2-inline-rule-single-line.md +10 -10
  100. package/template/.claude/skills/hallmark/references/components/ft3-index-style-category-list.md +12 -12
  101. package/template/.claude/skills/hallmark/references/components/ft4-dense-typographic.md +10 -10
  102. package/template/.claude/skills/hallmark/references/components/ft5-statement.md +21 -21
  103. package/template/.claude/skills/hallmark/references/components/ft6-letter-close.md +19 -19
  104. package/template/.claude/skills/hallmark/references/components/ft7-newsletter-first.md +27 -27
  105. package/template/.claude/skills/hallmark/references/components/ft8-marquee-scroll.md +25 -25
  106. package/template/.claude/skills/hallmark/references/components/h1-marquee.md +15 -15
  107. package/template/.claude/skills/hallmark/references/components/h2-split-diptych.md +15 -15
  108. package/template/.claude/skills/hallmark/references/components/h3-quote-led.md +11 -11
  109. package/template/.claude/skills/hallmark/references/components/h4-stat-led.md +14 -14
  110. package/template/.claude/skills/hallmark/references/components/h5-letter-hero.md +11 -11
  111. package/template/.claude/skills/hallmark/references/components/h6-photographic-fold.md +16 -16
  112. package/template/.claude/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +27 -27
  113. package/template/.claude/skills/hallmark/references/components/h8-mockup-split-browser-framed.md +23 -23
  114. package/template/.claude/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +27 -27
  115. package/template/.claude/skills/hallmark/references/components/n1-wordmark-2-links.md +12 -12
  116. package/template/.claude/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +19 -19
  117. package/template/.claude/skills/hallmark/references/components/n2-floating-chip.md +14 -14
  118. package/template/.claude/skills/hallmark/references/components/n3-side-rail.md +14 -14
  119. package/template/.claude/skills/hallmark/references/components/n4-hidden-behind-k.md +9 -9
  120. package/template/.claude/skills/hallmark/references/components/n5-floating-pill.md +28 -28
  121. package/template/.claude/skills/hallmark/references/components/n6-newspaper-masthead.md +24 -24
  122. package/template/.claude/skills/hallmark/references/components/n7-brutal-slab.md +22 -22
  123. package/template/.claude/skills/hallmark/references/components/n8-terminal-command.md +21 -21
  124. package/template/.claude/skills/hallmark/references/components/n9-edge-aligned-minimal.md +17 -17
  125. package/template/.claude/skills/hallmark/references/components/s1-left-margin-numbered.md +15 -15
  126. package/template/.claude/skills/hallmark/references/components/s2-hanging.md +13 -13
  127. package/template/.claude/skills/hallmark/references/components/s3-sticky-pinned.md +19 -19
  128. package/template/.claude/skills/hallmark/references/components/s4-inline-no-break.md +11 -11
  129. package/template/.claude/skills/hallmark/references/components/s5-bottom-anchored.md +13 -13
  130. package/template/.claude/skills/hallmark/references/components/t1-pull-quote-with-marginalia.md +12 -12
  131. package/template/.claude/skills/hallmark/references/components/t2-logo-wall-hairline.md +19 -19
  132. package/template/.claude/skills/hallmark/references/components/t3-single-huge-quote.md +11 -11
  133. package/template/.claude/skills/hallmark/references/components/t4-numbered-stat-strip.md +14 -14
  134. package/template/.claude/skills/hallmark/references/contract.md +24 -24
  135. package/template/.claude/skills/hallmark/references/copy.md +182 -182
  136. package/template/.claude/skills/hallmark/references/custom-craft.md +626 -626
  137. package/template/.claude/skills/hallmark/references/custom-theme.md +329 -329
  138. package/template/.claude/skills/hallmark/references/design-md.md +116 -116
  139. package/template/.claude/skills/hallmark/references/export-formats.md +328 -328
  140. package/template/.claude/skills/hallmark/references/floating-nav.md +89 -89
  141. package/template/.claude/skills/hallmark/references/genres/atmospheric.md +65 -65
  142. package/template/.claude/skills/hallmark/references/genres/editorial.md +70 -70
  143. package/template/.claude/skills/hallmark/references/genres/modern-minimal.md +67 -67
  144. package/template/.claude/skills/hallmark/references/genres/playful.md +65 -65
  145. package/template/.claude/skills/hallmark/references/hero-enrichment.md +474 -474
  146. package/template/.claude/skills/hallmark/references/imagery-kit.md +170 -170
  147. package/template/.claude/skills/hallmark/references/interaction-and-states.md +207 -207
  148. package/template/.claude/skills/hallmark/references/layout-and-space.md +111 -111
  149. package/template/.claude/skills/hallmark/references/macrostructures/01-bento-grid.md +35 -35
  150. package/template/.claude/skills/hallmark/references/macrostructures/02-long-document.md +34 -34
  151. package/template/.claude/skills/hallmark/references/macrostructures/03-marquee-hero.md +31 -31
  152. package/template/.claude/skills/hallmark/references/macrostructures/04-stat-led.md +32 -32
  153. package/template/.claude/skills/hallmark/references/macrostructures/05-workbench.md +32 -32
  154. package/template/.claude/skills/hallmark/references/macrostructures/06-conversational-faq.md +33 -33
  155. package/template/.claude/skills/hallmark/references/macrostructures/07-manifesto.md +32 -32
  156. package/template/.claude/skills/hallmark/references/macrostructures/08-photographic.md +34 -34
  157. package/template/.claude/skills/hallmark/references/macrostructures/09-quote-led.md +32 -32
  158. package/template/.claude/skills/hallmark/references/macrostructures/10-specimen.md +32 -32
  159. package/template/.claude/skills/hallmark/references/macrostructures/11-catalogue.md +23 -23
  160. package/template/.claude/skills/hallmark/references/macrostructures/12-letter.md +23 -23
  161. package/template/.claude/skills/hallmark/references/macrostructures/13-index-first.md +23 -23
  162. package/template/.claude/skills/hallmark/references/macrostructures/14-narrative-workflow.md +23 -23
  163. package/template/.claude/skills/hallmark/references/macrostructures/15-split-studio.md +23 -23
  164. package/template/.claude/skills/hallmark/references/macrostructures/16-feature-stack.md +23 -23
  165. package/template/.claude/skills/hallmark/references/macrostructures/17-type-specimen.md +23 -23
  166. package/template/.claude/skills/hallmark/references/macrostructures/18-portfolio-grid.md +23 -23
  167. package/template/.claude/skills/hallmark/references/macrostructures/19-map-diagram.md +23 -23
  168. package/template/.claude/skills/hallmark/references/macrostructures/20-ecosystem-index.md +23 -23
  169. package/template/.claude/skills/hallmark/references/macrostructures/21-component-playground.md +23 -23
  170. package/template/.claude/skills/hallmark/references/macrostructures.md +89 -89
  171. package/template/.claude/skills/hallmark/references/microinteractions.md +260 -260
  172. package/template/.claude/skills/hallmark/references/motion.md +109 -109
  173. package/template/.claude/skills/hallmark/references/preview-examples.md +49 -49
  174. package/template/.claude/skills/hallmark/references/responsive.md +138 -138
  175. package/template/.claude/skills/hallmark/references/slop-test.md +205 -205
  176. package/template/.claude/skills/hallmark/references/structure.md +164 -164
  177. package/template/.claude/skills/hallmark/references/study.md +511 -511
  178. package/template/.claude/skills/hallmark/references/typography.md +243 -243
  179. package/template/.claude/skills/hallmark/references/verbs/audit.md +25 -25
  180. package/template/.claude/skills/hallmark/references/verbs/redesign.md +269 -269
  181. package/template/.claude/skills/hallmark-loop/SKILL.md +105 -105
  182. package/template/.claude/skills/hallmark-loop/references/auditor-call.md +60 -60
  183. package/template/.claude/skills/hallmark-loop/references/capture.md +78 -78
  184. package/template/.claude/skills/hallmark-loop/references/loop-control.md +79 -79
  185. package/template/.claude/skills/handoff/SKILL.md +15 -15
  186. package/template/.claude/skills/knowledge-crunching/SKILL.md +94 -94
  187. package/template/.claude/skills/research/SKILL.md +69 -69
  188. package/template/.claude/skills/skill-creator/LICENSE.txt +201 -201
  189. package/template/.claude/skills/skill-creator/SKILL.md +154 -149
  190. package/template/.claude/skills/skill-creator/agents/analyzer.md +274 -274
  191. package/template/.claude/skills/skill-creator/agents/comparator.md +202 -202
  192. package/template/.claude/skills/skill-creator/agents/grader.md +223 -223
  193. package/template/.claude/skills/skill-creator/assets/eval_review.html +146 -146
  194. package/template/.claude/skills/skill-creator/eval-viewer/generate_review.py +471 -471
  195. package/template/.claude/skills/skill-creator/eval-viewer/viewer.html +1325 -1325
  196. package/template/.claude/skills/skill-creator/references/benchmark-optimization-guide.md +86 -86
  197. package/template/.claude/skills/skill-creator/references/distribution-guide.md +79 -79
  198. package/template/.claude/skills/skill-creator/references/eval-infrastructure-guide.md +129 -129
  199. package/template/.claude/skills/skill-creator/references/eval-schemas.md +121 -121
  200. package/template/.claude/skills/skill-creator/references/mcp-skills-integration.md +71 -71
  201. package/template/.claude/skills/skill-creator/references/metadata-quality-criteria.md +94 -94
  202. package/template/.claude/skills/skill-creator/references/plugin-marketplace-hosting.md +104 -104
  203. package/template/.claude/skills/skill-creator/references/plugin-marketplace-overview.md +89 -89
  204. package/template/.claude/skills/skill-creator/references/plugin-marketplace-schema.md +93 -93
  205. package/template/.claude/skills/skill-creator/references/plugin-marketplace-sources.md +103 -103
  206. package/template/.claude/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +76 -76
  207. package/template/.claude/skills/skill-creator/references/script-quality-criteria.md +106 -106
  208. package/template/.claude/skills/skill-creator/references/skill-anatomy-and-requirements.md +77 -77
  209. package/template/.claude/skills/skill-creator/references/skill-creation-workflow.md +152 -151
  210. package/template/.claude/skills/skill-creator/references/skill-design-patterns.md +75 -75
  211. package/template/.claude/skills/skill-creator/references/skillmark-benchmark-criteria.md +102 -102
  212. package/template/.claude/skills/skill-creator/references/structure-organization-criteria.md +114 -114
  213. package/template/.claude/skills/skill-creator/references/testing-and-iteration.md +78 -78
  214. package/template/.claude/skills/skill-creator/references/token-efficiency-criteria.md +74 -74
  215. package/template/.claude/skills/skill-creator/references/troubleshooting-guide.md +81 -81
  216. package/template/.claude/skills/skill-creator/references/validation-checklist.md +83 -83
  217. package/template/.claude/skills/skill-creator/references/writing-effective-instructions.md +88 -88
  218. package/template/.claude/skills/skill-creator/references/yaml-frontmatter-reference.md +92 -92
  219. package/template/.claude/skills/skill-creator/scripts/aggregate_benchmark.py +401 -401
  220. package/template/.claude/skills/skill-creator/scripts/encoding_utils.py +36 -36
  221. package/template/.claude/skills/skill-creator/scripts/generate_report.py +326 -326
  222. package/template/.claude/skills/skill-creator/scripts/improve_description.py +248 -248
  223. package/template/.claude/skills/skill-creator/scripts/init_skill.py +360 -360
  224. package/template/.claude/skills/skill-creator/scripts/package_skill.py +143 -143
  225. package/template/.claude/skills/skill-creator/scripts/quick_validate.py +110 -110
  226. package/template/.claude/skills/skill-creator/scripts/run_eval.py +310 -310
  227. package/template/.claude/skills/skill-creator/scripts/run_loop.py +332 -332
  228. package/template/.claude/skills/skill-creator/scripts/utils.py +47 -47
  229. package/template/.claude/skills/tdd/SKILL.md +142 -142
  230. package/template/.claude/skills/tdd/deep-modules.md +15 -15
  231. package/template/.claude/skills/tdd/interface-design.md +31 -31
  232. package/template/.claude/skills/tdd/mocking.md +59 -59
  233. package/template/.claude/skills/tdd/refactoring.md +10 -10
  234. package/template/.claude/skills/tdd/tests.md +61 -61
  235. package/template/.claude/statusline.cjs +0 -0
  236. package/template/.claude/skills/code-review/references/adversarial-review.md +0 -223
@@ -1,22 +1,22 @@
1
- ### N7 · Brutal slab
2
- A heavy, full-width nav with a 2 px solid border-bottom, all-caps wordmark and tracked uppercase link row, dense rhythm, no shadow, no rounded corners. Reads as Pentagram project pages, Liquid Death, brutalist-leaning agencies.
3
- *Use when:* the genre is playful (Brutal, Manifesto, Sport) or the brand voice is heavy / declarative.
4
- *Don't confuse with:* N1 Wordmark + 2 links (which is small and quiet).
5
-
6
- ```html
7
- <header class="nav-slab">
8
- <a class="slab-mark">STUDIO</a>
9
- <nav class="slab-nav" aria-label="Primary">
10
- <ul><li><a>CATALOG</a></li><li><a>VOICE</a></li><li><a>WORK</a></li></ul>
11
- </nav>
12
- <a class="cta-fill cta-fill--slab">GET</a>
13
- </header>
14
- ```
15
- ```css
16
- .nav-slab { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-sm) var(--page-gutter); border-bottom: 2px solid var(--color-ink); background: var(--color-paper); }
17
- .slab-mark { font-family: var(--font-display); font-weight: 800; letter-spacing: 0.04em; }
18
- .slab-nav ul { display: flex; gap: var(--space-md); list-style: none; padding: 0; margin: 0 0 0 auto; }
19
- .slab-nav a { text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--text-sm); font-weight: 600; }
20
- ```
21
-
22
- *Anti-pattern:* combining N7 with rounded corners, soft shadows, or backdrop-blur — those vocabularies fight. If you reach for blur, drop to N5; if you reach for round, drop to N1.
1
+ ### N7 · Brutal slab
2
+ A heavy, full-width nav with a 2 px solid border-bottom, all-caps wordmark and tracked uppercase link row, dense rhythm, no shadow, no rounded corners. Reads as Pentagram project pages, Liquid Death, brutalist-leaning agencies.
3
+ *Use when:* the genre is playful (Brutal, Manifesto, Sport) or the brand voice is heavy / declarative.
4
+ *Don't confuse with:* N1 Wordmark + 2 links (which is small and quiet).
5
+
6
+ ```html
7
+ <header class="nav-slab">
8
+ <a class="slab-mark">STUDIO</a>
9
+ <nav class="slab-nav" aria-label="Primary">
10
+ <ul><li><a>CATALOG</a></li><li><a>VOICE</a></li><li><a>WORK</a></li></ul>
11
+ </nav>
12
+ <a class="cta-fill cta-fill--slab">GET</a>
13
+ </header>
14
+ ```
15
+ ```css
16
+ .nav-slab { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-sm) var(--page-gutter); border-bottom: 2px solid var(--color-ink); background: var(--color-paper); }
17
+ .slab-mark { font-family: var(--font-display); font-weight: 800; letter-spacing: 0.04em; }
18
+ .slab-nav ul { display: flex; gap: var(--space-md); list-style: none; padding: 0; margin: 0 0 0 auto; }
19
+ .slab-nav a { text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--text-sm); font-weight: 600; }
20
+ ```
21
+
22
+ *Anti-pattern:* combining N7 with rounded corners, soft shadows, or backdrop-blur — those vocabularies fight. If you reach for blur, drop to N5; if you reach for round, drop to N1.
@@ -1,21 +1,21 @@
1
- ### N8 · Terminal command
2
- A nav formatted as a CLI prompt: `> studio --catalog --voice --get▮`. The "links" are command flags. The blinking cursor (`▮`) is allowed *only here* (it has purpose — signals "you'd type next"); never standalone elsewhere on the page. Reads as Vercel CLI docs landing, Charm, Mitchell Hashimoto's site.
3
- *Use when:* the page is a CLI tool, dev-tool docs, or carries the Terminal theme.
4
- *Don't confuse with:* N4 ⌘K-only (which is a palette, not a visible bar).
5
-
6
- ```html
7
- <header class="nav-term">
8
- <pre class="nav-term__line"><span class="prompt">&gt;</span> studio <a href="#catalog">--catalog</a> <a href="#voice">--voice</a> <a href="#get">--get</a><span class="caret" aria-hidden="true">▮</span></pre>
9
- </header>
10
- ```
11
- ```css
12
- .nav-term { padding: var(--space-sm) var(--page-gutter); border-bottom: var(--rule-hair) solid var(--color-rule); }
13
- .nav-term__line { font-family: var(--font-outlier, ui-monospace, "JetBrains Mono", monospace); font-size: var(--text-sm); margin: 0; }
14
- .nav-term__line .prompt { color: var(--color-accent); padding-right: 0.4ch; }
15
- .nav-term__line a { color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
16
- .caret { display: inline-block; width: 1ch; animation: blink 1.05s steps(2) infinite; color: var(--color-accent); }
17
- @keyframes blink { 50% { opacity: 0; } }
18
- @media (prefers-reduced-motion: reduce) { .caret { animation: none; opacity: 1; } }
19
- ```
20
-
21
- *Anti-pattern:* using `>` prompt vocabulary on a non-developer site (a wedding photographer's portfolio with a `> view --gallery` nav reads as set decoration). N8 belongs to genuine terminal / CLI brands only.
1
+ ### N8 · Terminal command
2
+ A nav formatted as a CLI prompt: `> studio --catalog --voice --get▮`. The "links" are command flags. The blinking cursor (`▮`) is allowed *only here* (it has purpose — signals "you'd type next"); never standalone elsewhere on the page. Reads as Vercel CLI docs landing, Charm, Mitchell Hashimoto's site.
3
+ *Use when:* the page is a CLI tool, dev-tool docs, or carries the Terminal theme.
4
+ *Don't confuse with:* N4 ⌘K-only (which is a palette, not a visible bar).
5
+
6
+ ```html
7
+ <header class="nav-term">
8
+ <pre class="nav-term__line"><span class="prompt">&gt;</span> studio <a href="#catalog">--catalog</a> <a href="#voice">--voice</a> <a href="#get">--get</a><span class="caret" aria-hidden="true">▮</span></pre>
9
+ </header>
10
+ ```
11
+ ```css
12
+ .nav-term { padding: var(--space-sm) var(--page-gutter); border-bottom: var(--rule-hair) solid var(--color-rule); }
13
+ .nav-term__line { font-family: var(--font-outlier, ui-monospace, "JetBrains Mono", monospace); font-size: var(--text-sm); margin: 0; }
14
+ .nav-term__line .prompt { color: var(--color-accent); padding-right: 0.4ch; }
15
+ .nav-term__line a { color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
16
+ .caret { display: inline-block; width: 1ch; animation: blink 1.05s steps(2) infinite; color: var(--color-accent); }
17
+ @keyframes blink { 50% { opacity: 0; } }
18
+ @media (prefers-reduced-motion: reduce) { .caret { animation: none; opacity: 1; } }
19
+ ```
20
+
21
+ *Anti-pattern:* using `>` prompt vocabulary on a non-developer site (a wedding photographer's portfolio with a `> view --gallery` nav reads as set decoration). N8 belongs to genuine terminal / CLI brands only.
@@ -1,17 +1,17 @@
1
- ### N9 · Edge-aligned minimal
2
- Wordmark hard-left, single CTA hard-right, vast empty space between, no link row at all. The *absence* is the design — Apple product pages, Carl Hauser, luxury sites.
3
- *Use when:* the page is luxury / quiet / Atelier / Salon and the brand earns the silence.
4
- *Don't confuse with:* N1 Wordmark + 2 links (which fills the middle).
5
-
6
- ```html
7
- <header class="nav-edge">
8
- <a class="wordmark">Studio</a>
9
- <a class="cta-outline">Get →</a>
10
- </header>
11
- ```
12
- ```css
13
- .nav-edge { display: flex; justify-content: space-between; align-items: center; padding: var(--space-md) var(--page-gutter); }
14
- .nav-edge .wordmark { font-family: var(--font-display); font-size: var(--text-md); }
15
- ```
16
-
17
- *Anti-pattern:* adding 4 inline links between the wordmark and CTA "to fill the space". The space *is* the design; if you fill it, you've made N1 with extra steps.
1
+ ### N9 · Edge-aligned minimal
2
+ Wordmark hard-left, single CTA hard-right, vast empty space between, no link row at all. The *absence* is the design — Apple product pages, Carl Hauser, luxury sites.
3
+ *Use when:* the page is luxury / quiet / Atelier / Salon and the brand earns the silence.
4
+ *Don't confuse with:* N1 Wordmark + 2 links (which fills the middle).
5
+
6
+ ```html
7
+ <header class="nav-edge">
8
+ <a class="wordmark">Studio</a>
9
+ <a class="cta-outline">Get →</a>
10
+ </header>
11
+ ```
12
+ ```css
13
+ .nav-edge { display: flex; justify-content: space-between; align-items: center; padding: var(--space-md) var(--page-gutter); }
14
+ .nav-edge .wordmark { font-family: var(--font-display); font-size: var(--text-md); }
15
+ ```
16
+
17
+ *Anti-pattern:* adding 4 inline links between the wordmark and CTA "to fill the space". The space *is* the design; if you fill it, you've made N1 with extra steps.
@@ -1,15 +1,15 @@
1
-
2
- ### S1 · Left-margin numbered
3
- A narrow left column holds `01 — LABEL.`; the wide right column holds the heading and content.
4
- *Use when:* the page is editorial / specimen.
5
- *Don't confuse with:* S5 Bottom-anchored (which puts the label *under* the section).
6
-
7
- ```html
8
- <header class="head-margin">
9
- <p class="num-label">01 — Foundations</p>
10
- <h2>…</h2>
11
- </header>
12
- ```
13
- ```css
14
- .head-margin { display: grid; grid-template-columns: 10rem 1fr; gap: var(--space-xl); align-items: baseline; }
15
- ```
1
+
2
+ ### S1 · Left-margin numbered
3
+ A narrow left column holds `01 — LABEL.`; the wide right column holds the heading and content.
4
+ *Use when:* the page is editorial / specimen.
5
+ *Don't confuse with:* S5 Bottom-anchored (which puts the label *under* the section).
6
+
7
+ ```html
8
+ <header class="head-margin">
9
+ <p class="num-label">01 — Foundations</p>
10
+ <h2>…</h2>
11
+ </header>
12
+ ```
13
+ ```css
14
+ .head-margin { display: grid; grid-template-columns: 10rem 1fr; gap: var(--space-xl); align-items: baseline; }
15
+ ```
@@ -1,13 +1,13 @@
1
- ### S2 · Hanging
2
- Heading floats above the section in negative space; no border, no rule.
3
- *Use when:* the content has a quiet, room-to-breathe energy.
4
- *Don't confuse with:* S3 Sticky-pinned (which moves with scroll).
5
-
6
- ```html
7
- <header class="head-hang">
8
- <h2>…</h2>
9
- </header>
10
- ```
11
- ```css
12
- .head-hang { padding-block: var(--space-3xl) var(--space-xl); }
13
- ```
1
+ ### S2 · Hanging
2
+ Heading floats above the section in negative space; no border, no rule.
3
+ *Use when:* the content has a quiet, room-to-breathe energy.
4
+ *Don't confuse with:* S3 Sticky-pinned (which moves with scroll).
5
+
6
+ ```html
7
+ <header class="head-hang">
8
+ <h2>…</h2>
9
+ </header>
10
+ ```
11
+ ```css
12
+ .head-hang { padding-block: var(--space-3xl) var(--space-xl); }
13
+ ```
@@ -1,19 +1,19 @@
1
- ### S3 · Sticky pinned
2
- Heading remains in viewport while content scrolls beneath. Orientation aid.
3
- *Use when:* the section is dense and the user benefits from always seeing where they are.
4
- *Don't confuse with:* S1 Left-margin (which doesn't move).
5
-
6
- ```html
7
- <header class="head-sticky">
8
- <p class="num-label">02</p>
9
- <h2>…</h2>
10
- </header>
11
- ```
12
- ```css
13
- /* If the page has a sticky top nav, offset by its height so the sticky
14
- head docks BENEATH it instead of bleeding over (slop-test gate 68).
15
- Use --z-sticky (in-page) so the nav's --z-sticky-nav out-paints it. */
16
- .head-sticky { position: sticky; top: var(--banner-height, 0px); background: var(--color-paper); padding-block: var(--space-sm); border-bottom: 1px solid var(--color-ink); z-index: var(--z-sticky); }
17
- ```
18
-
19
- **Sticky pairing rule:** if the page emits a sticky `<header>` / `<nav>` / `.banner` (anything with `position: sticky; top: 0`), you MUST also declare `--banner-height` (a px value matching the nav's height) and `--z-sticky-nav` (≥ 1 above `--z-sticky`) in `tokens.css`. The S3 recipe above pulls both. Without those tokens the section head paints over the nav during scroll — see slop-test gate 68.
1
+ ### S3 · Sticky pinned
2
+ Heading remains in viewport while content scrolls beneath. Orientation aid.
3
+ *Use when:* the section is dense and the user benefits from always seeing where they are.
4
+ *Don't confuse with:* S1 Left-margin (which doesn't move).
5
+
6
+ ```html
7
+ <header class="head-sticky">
8
+ <p class="num-label">02</p>
9
+ <h2>…</h2>
10
+ </header>
11
+ ```
12
+ ```css
13
+ /* If the page has a sticky top nav, offset by its height so the sticky
14
+ head docks BENEATH it instead of bleeding over (slop-test gate 68).
15
+ Use --z-sticky (in-page) so the nav's --z-sticky-nav out-paints it. */
16
+ .head-sticky { position: sticky; top: var(--banner-height, 0px); background: var(--color-paper); padding-block: var(--space-sm); border-bottom: 1px solid var(--color-ink); z-index: var(--z-sticky); }
17
+ ```
18
+
19
+ **Sticky pairing rule:** if the page emits a sticky `<header>` / `<nav>` / `.banner` (anything with `position: sticky; top: 0`), you MUST also declare `--banner-height` (a px value matching the nav's height) and `--z-sticky-nav` (≥ 1 above `--z-sticky`) in `tokens.css`. The S3 recipe above pulls both. Without those tokens the section head paints over the nav during scroll — see slop-test gate 68.
@@ -1,11 +1,11 @@
1
- ### S4 · Inline (no break)
2
- The heading is a small caps phrase that emerges *inside* the body flow; no spatial break.
3
- *Use when:* the page is prose-led; reading should be continuous.
4
- *Don't confuse with:* S2 Hanging (which separates with negative space).
5
-
6
- ```html
7
- <p>… <span class="head-inline">A small heading.</span> …</p>
8
- ```
9
- ```css
10
- .head-inline { font-variant-caps: all-small-caps; letter-spacing: 0.06em; font-weight: 500; }
11
- ```
1
+ ### S4 · Inline (no break)
2
+ The heading is a small caps phrase that emerges *inside* the body flow; no spatial break.
3
+ *Use when:* the page is prose-led; reading should be continuous.
4
+ *Don't confuse with:* S2 Hanging (which separates with negative space).
5
+
6
+ ```html
7
+ <p>… <span class="head-inline">A small heading.</span> …</p>
8
+ ```
9
+ ```css
10
+ .head-inline { font-variant-caps: all-small-caps; letter-spacing: 0.06em; font-weight: 500; }
11
+ ```
@@ -1,13 +1,13 @@
1
- ### S5 · Bottom-anchored
2
- The label or heading sits *below* the section's content. Inverts hierarchy.
3
- *Use when:* the content is the primary act and the label is a footer to it.
4
- *Don't confuse with:* S1 Left-margin (which leads with the label).
5
-
6
- ```html
7
- <section>
8
- <div class="content">…</div>
9
- <p class="num-label">— end of 02</p>
10
- </section>
11
- ```
12
-
13
- ---
1
+ ### S5 · Bottom-anchored
2
+ The label or heading sits *below* the section's content. Inverts hierarchy.
3
+ *Use when:* the content is the primary act and the label is a footer to it.
4
+ *Don't confuse with:* S1 Left-margin (which leads with the label).
5
+
6
+ ```html
7
+ <section>
8
+ <div class="content">…</div>
9
+ <p class="num-label">— end of 02</p>
10
+ </section>
11
+ ```
12
+
13
+ ---
@@ -1,12 +1,12 @@
1
-
2
- ### T1 · Pull-quote with marginalia
3
- A quote sits in the wide column; the attribution and source link float in the narrow margin column.
4
- *Use when:* the page already has a marginalia rhythm (Tufte-leaning, editorial).
5
- *Don't confuse with:* T3 Single huge quote (which is centered and dominates).
6
-
7
- ```html
8
- <aside class="proof-margin">
9
- <blockquote class="serif-italic">"…"</blockquote>
10
- <p class="attribution muted">— Name<br />Role, Company</p>
11
- </aside>
12
- ```
1
+
2
+ ### T1 · Pull-quote with marginalia
3
+ A quote sits in the wide column; the attribution and source link float in the narrow margin column.
4
+ *Use when:* the page already has a marginalia rhythm (Tufte-leaning, editorial).
5
+ *Don't confuse with:* T3 Single huge quote (which is centered and dominates).
6
+
7
+ ```html
8
+ <aside class="proof-margin">
9
+ <blockquote class="serif-italic">"…"</blockquote>
10
+ <p class="attribution muted">— Name<br />Role, Company</p>
11
+ </aside>
12
+ ```
@@ -1,19 +1,19 @@
1
- ### T2 · Logo wall (hairline)
2
- A row of customer logos, monochromatic, separated by hairline rules. No card boxes, no shadows.
3
- *Use when:* you have recognisable customers and want to surface them quietly.
4
- *Don't confuse with:* the AI-default 6-logo box grid; this version refuses card boxes.
5
-
6
- ```html
7
- <section class="logo-wall">
8
- <ul>
9
- <li><img src="" /></li>
10
- <li><img src="" /></li>
11
- <li><img src="" /></li>
12
- </ul>
13
- </section>
14
- ```
15
- ```css
16
- .logo-wall ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 0; }
17
- .logo-wall li { padding: var(--space-md); border-right: 1px solid var(--color-rule); display: grid; place-items: center; }
18
- .logo-wall img { filter: grayscale(1); opacity: 0.7; }
19
- ```
1
+ ### T2 · Logo wall (hairline)
2
+ A row of customer logos, monochromatic, separated by hairline rules. No card boxes, no shadows.
3
+ *Use when:* you have recognisable customers and want to surface them quietly.
4
+ *Don't confuse with:* the AI-default 6-logo box grid; this version refuses card boxes.
5
+
6
+ ```html
7
+ <section class="logo-wall">
8
+ <ul>
9
+ <li><img src="" /></li>
10
+ <li><img src="" /></li>
11
+ <li><img src="" /></li>
12
+ </ul>
13
+ </section>
14
+ ```
15
+ ```css
16
+ .logo-wall ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 0; }
17
+ .logo-wall li { padding: var(--space-md); border-right: 1px solid var(--color-rule); display: grid; place-items: center; }
18
+ .logo-wall img { filter: grayscale(1); opacity: 0.7; }
19
+ ```
@@ -1,11 +1,11 @@
1
- ### T3 · Single huge quote
2
- One quote, set big, centered, taking a whole section. No supporting text, no attribution boxes — attribution is a small caps line beneath.
3
- *Use when:* one quote is so good it earns the room.
4
- *Don't confuse with:* T1 Margin pull-quote (which is the *side* mate, not the *room*).
5
-
6
- ```html
7
- <section class="proof-room">
8
- <blockquote class="display-italic">"…"</blockquote>
9
- <p class="attribution"><span class="caps">— Name, Company</span></p>
10
- </section>
11
- ```
1
+ ### T3 · Single huge quote
2
+ One quote, set big, centered, taking a whole section. No supporting text, no attribution boxes — attribution is a small caps line beneath.
3
+ *Use when:* one quote is so good it earns the room.
4
+ *Don't confuse with:* T1 Margin pull-quote (which is the *side* mate, not the *room*).
5
+
6
+ ```html
7
+ <section class="proof-room">
8
+ <blockquote class="display-italic">"…"</blockquote>
9
+ <p class="attribution"><span class="caps">— Name, Company</span></p>
10
+ </section>
11
+ ```
@@ -1,14 +1,14 @@
1
- ### T4 · Numbered stat strip
2
- A horizontal strip of 3–5 stats (count + qualifier) running across one row. Tabular nums.
3
- *Use when:* you have multiple complementary metrics that work together.
4
- *Don't confuse with:* H4 Stat-led hero (which is one focal number, not several).
5
-
6
- ```html
7
- <section class="stat-strip tnum">
8
- <div><b>2.4M</b><span>users</span></div>
9
- <div><b>99.97%</b><span>uptime</span></div>
10
- <div><b>14</b><span>regions</span></div>
11
- </section>
12
- ```
13
-
14
- ---
1
+ ### T4 · Numbered stat strip
2
+ A horizontal strip of 3–5 stats (count + qualifier) running across one row. Tabular nums.
3
+ *Use when:* you have multiple complementary metrics that work together.
4
+ *Don't confuse with:* H4 Stat-led hero (which is one focal number, not several).
5
+
6
+ ```html
7
+ <section class="stat-strip tnum">
8
+ <div><b>2.4M</b><span>users</span></div>
9
+ <div><b>99.97%</b><span>uptime</span></div>
10
+ <div><b>14</b><span>regions</span></div>
11
+ </section>
12
+ ```
13
+
14
+ ---
@@ -1,24 +1,24 @@
1
- # Output contract & scope
2
-
3
- Loaded once per build, at handoff time.
4
-
5
- ## Output contract
6
-
7
- When producing new work:
8
-
9
- - Put design tokens in one place at the top of the stylesheet (`:root` custom properties) or in a `tokens.css` / `tokens.ts` file if the project uses one.
10
- - Name tokens by semantic role, not value. `--color-ink`, not `--color-black`.
11
- - If the project uses Tailwind, extend the theme; do not inline arbitrary values across components.
12
- - If the project uses a framework, match the framework's file conventions — don't reinvent them.
13
- - Include a short comment block at the top of the stylesheet naming the genre, the tone the user picked, the palette's anchor hue, and the structural fingerprint. This is the only comment you need.
14
-
15
- ## Scope and limits
16
-
17
- Hallmark is a *taste* skill. It will not:
18
-
19
- - Invent product copy. If the user hasn't given you the words, ask.
20
- - Pick a brand identity. It will follow one you give it.
21
- - Enforce a specific style (dark mode, glassmorphism, brutalism). It will execute whichever genre + tone the user committed to.
22
- - Build logic — state management, data fetching, business rules. It is a visual / interaction layer only.
23
-
24
- If a request falls outside taste — "build the auth flow", "wire up Stripe" — do the work, but apply Hallmark to the rendered surface.
1
+ # Output contract & scope
2
+
3
+ Loaded once per build, at handoff time.
4
+
5
+ ## Output contract
6
+
7
+ When producing new work:
8
+
9
+ - Put design tokens in one place at the top of the stylesheet (`:root` custom properties) or in a `tokens.css` / `tokens.ts` file if the project uses one.
10
+ - Name tokens by semantic role, not value. `--color-ink`, not `--color-black`.
11
+ - If the project uses Tailwind, extend the theme; do not inline arbitrary values across components.
12
+ - If the project uses a framework, match the framework's file conventions — don't reinvent them.
13
+ - Include a short comment block at the top of the stylesheet naming the genre, the tone the user picked, the palette's anchor hue, and the structural fingerprint. This is the only comment you need.
14
+
15
+ ## Scope and limits
16
+
17
+ Hallmark is a *taste* skill. It will not:
18
+
19
+ - Invent product copy. If the user hasn't given you the words, ask.
20
+ - Pick a brand identity. It will follow one you give it.
21
+ - Enforce a specific style (dark mode, glassmorphism, brutalism). It will execute whichever genre + tone the user committed to.
22
+ - Build logic — state management, data fetching, business rules. It is a visual / interaction layer only.
23
+
24
+ If a request falls outside taste — "build the auth flow", "wire up Stripe" — do the work, but apply Hallmark to the rendered surface.