lion-make 0.3.1 → 0.4.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.
@@ -28,6 +28,22 @@ Use these defaults for every design decision unless a prompt overrides them expl
28
28
 
29
29
  ---
30
30
 
31
+ ## Mandatory Bootstrap
32
+
33
+ **Every page must be wrapped in `<LionMakeProvider>`.** This component injects all design tokens (CSS custom properties), the Source Sans Pro font, and structural CSS for every component class. Without it, no tokens resolve, no layout works, and no font loads.
34
+
35
+ ```tsx
36
+ import { LionMakeProvider } from 'lion-make'
37
+
38
+ <LionMakeProvider>
39
+ {/* your entire page here */}
40
+ </LionMakeProvider>
41
+ ```
42
+
43
+ This is the very first thing to generate. Do not render any lion-make component outside of `<LionMakeProvider>`.
44
+
45
+ ---
46
+
31
47
  ## Non-Negotiable Principles
32
48
 
33
49
  1. **Zone lock.** Content types belong to exactly one zone. A hero component in the footer is invalid. Check `composition/zones.md` if unsure.
@@ -136,6 +136,8 @@ Common failure modes and how to avoid them:
136
136
 
137
137
  | Task | Where to look |
138
138
  |---|---|
139
+ | "How do I bootstrap the design system?" | Wrap everything in `<LionMakeProvider>` from `lion-make` — first, before anything else |
140
+ |---|---|
139
141
  | "What can I put in the hero?" | `guidelines/content-types/hero/overview.md` |
140
142
  | "Which hero type should I use?" | `guidelines/content-types/hero/overview.md` → decision tree |
141
143
  | "What props does CTAHeroBlock take?" | `guidelines/content-types/hero/cta-hero-block.md` + `src/components/hero/CTAHeroBlock.tsx` |
@@ -37,6 +37,26 @@ Or in CSS:
37
37
  @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700');
38
38
  ```
39
39
 
40
+ ## Required: LionMakeProvider
41
+
42
+ **Wrap every page in `<LionMakeProvider>` before rendering anything else.** It injects all CSS tokens, the Source Sans Pro font, and structural CSS automatically — no separate CSS imports needed in Figma Make.
43
+
44
+ ```tsx
45
+ import { LionMakeProvider } from 'lion-make'
46
+
47
+ export function Page() {
48
+ return (
49
+ <LionMakeProvider>
50
+ {/* everything else goes here */}
51
+ </LionMakeProvider>
52
+ )
53
+ }
54
+ ```
55
+
56
+ If you skip this, CSS custom properties will not resolve, the font will not load, and all components will render unstyled.
57
+
58
+ ---
59
+
40
60
  ## Import Components
41
61
 
42
62
  Components are organized by zone. Import only what you need.
@@ -91,6 +111,7 @@ import {
91
111
 
92
112
  ```tsx
93
113
  import {
114
+ LionMakeProvider,
94
115
  PageForehead,
95
116
  Section,
96
117
  Container,
@@ -111,6 +132,7 @@ import {
111
132
 
112
133
  export function Page() {
113
134
  return (
135
+ <LionMakeProvider>
114
136
  <PageForehead>
115
137
 
116
138
  <Section zone="header">
@@ -160,6 +182,7 @@ export function Page() {
160
182
  </Section>
161
183
 
162
184
  </PageForehead>
185
+ </LionMakeProvider>
163
186
  )
164
187
  }
165
188
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lion-make",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Zone-locked CMS design system for Figma Make — structured layout system with CSS design tokens and React component stubs.",
5
5
  "type": "module",
6
6
  "main": "./dist/lion-make.umd.cjs",