synthesisui 0.16.61 → 0.16.62

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.
@@ -67,6 +67,23 @@ So if the file says \`"registry": "http://localhost:3000"\`, every command in th
67
67
  \`--registry http://localhost:3000\`. If it says production, pass nothing. The CLI now refuses a
68
68
  mismatch instead of letting the server reject it, but the point is not to reach that.
69
69
 
70
+ **Do this silently.** Which host you are pointed at and which flags follow from it is plumbing,
71
+ and narrating it - *"registry is production, so no --registry flag needed"* - spends the
72
+ person's attention on a decision that was never theirs (dono, 01/08). Say something only when
73
+ there is nothing to say to: no token, or the wrong host.
74
+
75
+ ## How to narrate
76
+
77
+ The person cares about **what you found in their code** and **what you are about to create**.
78
+ They do not care which flag you passed, which grep you ran, or what you checked and ruled out.
79
+
80
+ - Report findings, not mechanics. *"Their docs call Ocean the primary branding scale"* earns
81
+ its line. *"Let me check whether packages/ui exists"* does not.
82
+ - Every decision you make on their behalf belongs in **one** confirmation at the end, not
83
+ scattered through the work as fait accompli.
84
+ - Never end on a wall of prose that happens to contain a question. If you need an answer, the
85
+ last thing on screen is the question.
86
+
70
87
  ### 1. Measure
71
88
 
72
89
  **Always run from the project root, and always twice in a monorepo.** The root is where the
@@ -149,21 +166,43 @@ about which one is the page. Read a screen and see.
149
166
  **\`fonts\` and \`concept\`** - the voice, and one paragraph on what this product is. The concept
150
167
  feeds every recommendation downstream, so a real one beats a generic one by a wide margin.
151
168
 
152
- ### 3. Send it
169
+ ### 3. Confirm once, then send
170
+
171
+ You have made three decisions on their behalf by now - **where** you measured, **what** it will
172
+ be called, and **which values** carry which meaning. Put all three in one place and ask. Not a
173
+ report that contains a question at the bottom: a question.
174
+
175
+ Offer the alternatives you actually considered, so choosing is a choice and not a veto:
176
+
177
+ \`\`\`
178
+ I'd create a system from packages/ui, called SignalUI, opening dark.
179
+
180
+ from packages/ui 114 files, 47% of its values already named
181
+ (apps/web-dashboard, apps/web-review and apps/web-admin
182
+ are the consumers; measuring all of them gave 36%, which
183
+ is the average of a light app and two dark ones)
184
+ called SignalUI their own name, from Introduction.mdx
185
+ brand #059aed their docs call Ocean the primary scale
186
+ opens dark data-theme="dark" in the root layout
187
+
188
+ This creates it on your account. Go ahead, or change any of these?
189
+ \`\`\`
190
+
191
+ Then, and only after they answer:
153
192
 
154
193
  \`\`\`
155
- npx synthesisui import --census _synthesisui/census.json --name "<their name for it>" [--registry <the one from step 0>]
194
+ npx synthesisui import --census _synthesisui/census.json --name "<the name>" [--registry <from step 0>]
156
195
  \`\`\`
157
196
 
158
- **One real write, and it creates a system on their account.** Say what you are about to send
159
- and what it will be called before you run it.
197
+ **This is the one real write.** Everything before it is on their disk and costs nothing to redo.
160
198
 
161
- The CLI asks for a name unless \`--name\` is passed. It does **not** ask about the scheme when
162
- your reading already answered - a second question would only be a chance to contradict you.
199
+ The CLI asks for a name unless \`--name\` is passed, and it does **not** ask about the scheme when
200
+ your reading already answered - a second question would only be a chance to contradict you. So
201
+ if you skip the confirmation above, nobody is asked about the scope at all, and the first time
202
+ they learn where their system came from is when they open it.
163
203
 
164
- If it refuses, it will tell you which of the two problems it is: no session, an expired one, or
165
- a token issued by a different host than the one you are sending to. All three are recoverable
166
- from the census already on disk; none of them need a re-measure.
204
+ If it refuses, it says which of the three it is: no session, an expired one, or a token issued
205
+ by a different host. All are recoverable from the census on disk; none need a re-measure.
167
206
 
168
207
  ### 4. Tell them exactly what they have, and what is theirs to decide
169
208
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.61",
3
+ "version": "0.16.62",
4
4
  "description": "Bring SynthesisUI design systems into any project - tokens, typed components, whole pages and an agent-ready CLAUDE.md manifest.",
5
5
  "type": "module",
6
6
  "bin": {