figura-cli 0.7.0 → 0.8.1

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "figura-cli",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "description": "Command-line client for the Figura visualization SaaS",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -74,7 +74,8 @@ keeping the brand tokens and overall structure stable.
74
74
  bunx figura-cli brand --json
75
75
  ```
76
76
 
77
- This returns `{ name, appDescription, tokensBlock, isCustom }`.
77
+ This returns `{ name, appDescription, tokensBlock, forbidden, surfaces, isCustom }`
78
+ (`forbidden` is a string, `surfaces` is a string[]).
78
79
 
79
80
  - If **`isCustom: true`** — use the returned `tokensBlock` as the ground-truth design
80
81
  system (palette, type, spacing, icon language) and render for `name` / `appDescription`.
@@ -83,6 +84,17 @@ This returns `{ name, appDescription, tokensBlock, isCustom }`.
83
84
  `reference/brand-tokens.md` (next to this file). It is a clean, brand-neutral baseline —
84
85
  understated and professional, NOT any specific company's look.
85
86
 
87
+ **Honor the team's guardrails and surfaces** (they complete the brand the same way the
88
+ engine's own generator does):
89
+
90
+ - **`forbidden`** (when non-empty) — treat it as **HARD BRAND GUARDRAILS — never do these**.
91
+ Whatever it lists, never violate it in the generated HTML. These override any default
92
+ styling instinct; if a guardrail conflicts with the request, keep the guardrail.
93
+ - **`surfaces`** (when non-empty) — the product's known surface/IA list (e.g.
94
+ `feed, settings, onboarding`). Use it to ground the fig in the product's real structure
95
+ instead of inventing an unrelated information architecture; prefer the surface that matches
96
+ the requested screen/area.
97
+
86
98
  **Pick the platform** from the request:
87
99
 
88
100
  - **`mobile`** (default) — an iPhone-framed app screen.