synthesisui 0.16.502 → 0.16.503
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/dist/claude-md.js +1 -1
- package/dist/commands/read.js +13 -2
- package/package.json +1 -1
package/dist/claude-md.js
CHANGED
|
@@ -10,7 +10,7 @@ import { readResponsiveForm, responsiveLine } from "./responsive-form.js";
|
|
|
10
10
|
* A LEITURA - o caminho do sistema desde a fase 1 (18/10). Escrita uma vez e usada nos dois contratos: o de quem já tem
|
|
11
11
|
* sistema sem `rules.json` e o de quem chegou pela porta e ainda não tem sistema nenhum (fase 2).
|
|
12
12
|
*/
|
|
13
|
-
const READ_THE_PAGE = "**Once the first screen is done, offer to read it - once.** If their next message does not take the offer up, do not offer it again; they can still ask. When the person asks you to read their page - or right after the creation of the first screen ends (with impeccable, once it has written `DESIGN.md`; never while it still asks for another round) - run `npx synthesisui read` with the dev server up, tell them in a few lines the system it found, then ask the questions in `_synthesisui/reading.json`
|
|
13
|
+
const READ_THE_PAGE = "**Once the first screen is done, offer to read it - once.** If their next message does not take the offer up, do not offer it again; they can still ask. When the person asks you to read their page - or right after the creation of the first screen ends (with impeccable, once it has written `DESIGN.md`; never while it still asks for another round) - run `npx synthesisui read` with the dev server up, tell them in a few lines the system it found, then ask ALL the questions in `_synthesisui/reading.json` TOGETHER, in one call of your question tool (up to 4 per call; more go in a second call), in plain words and quoting the text on the page each one is about (the first option is the default). Save their answers as `{ \"<question id>\": <option index> }` and run `npx synthesisui read --confirm <that file>`: their answers become the roles and breaks this project keeps.";
|
|
14
14
|
/** A frase do revisor depois da criação - ver o comentário em `renderRegion`, junto dos papéis. */
|
|
15
15
|
const REVIEWER_AFTER_CREATION = "\n\n**How a change closes here.** The visual world is decided - the roles and breaks above. From here on SynthesisUI's check closes a change (`check_file`, and the end-of-turn check). Impeccable's reviewer is for creating: spawn `impeccable-finish-reviewer` or run `impeccable detect` only when the person asks for a new visual direction or a large new surface with its own look - never as the routine close of a change, and never its degraded self-review in its place.";
|
|
16
16
|
const START = "<!-- synthesisui:start -->";
|
package/dist/commands/read.js
CHANGED
|
@@ -174,6 +174,17 @@ function homeOf(root, files, t) {
|
|
|
174
174
|
* "5-8 perguntas por projeto, não 300"). As quebras vêm primeiro: dizer sim à própria assinatura é o caminho feliz. A
|
|
175
175
|
* primeira opção é sempre a padrão, e é o que vale quando a pessoa não responde.
|
|
176
176
|
*/
|
|
177
|
+
/**
|
|
178
|
+
* O TEXTO QUE A PESSOA VÊ NA PÁGINA - o juízo dele (19/10): "O título de capa passa bem acima da escala (180px contra
|
|
179
|
+
* 70px)" pede que ela ache sozinha qual título é. Com o texto ("TRILHO 07") ela reconhece na hora. `seen` vem como
|
|
180
|
+
* "rota: texto"; até 40 caracteres.
|
|
181
|
+
*/
|
|
182
|
+
function quoted(seen) {
|
|
183
|
+
const t = seen?.[0]?.replace(/^[^:]*:\s*/, "").trim();
|
|
184
|
+
if (!t)
|
|
185
|
+
return "this";
|
|
186
|
+
return `"${t.length > 40 ? `${t.slice(0, 39)}…` : t}"`;
|
|
187
|
+
}
|
|
177
188
|
/** O nome que a pessoa entende - nunca o rótulo interno da classificação ("h3 de cartão", "número"). */
|
|
178
189
|
function plainRole(role) {
|
|
179
190
|
if (role === "número")
|
|
@@ -184,10 +195,10 @@ function plainRole(role) {
|
|
|
184
195
|
return "block";
|
|
185
196
|
return nameOf(role);
|
|
186
197
|
}
|
|
187
|
-
function questionsFor(breaks, drift) {
|
|
198
|
+
export function questionsFor(breaks, drift) {
|
|
188
199
|
const qs = breaks.map((b) => ({
|
|
189
200
|
id: `break:${b.rule}:${b.role}:${b.px}`,
|
|
190
|
-
text: `Is
|
|
201
|
+
text: `Is ${quoted(b.seen)} on purpose? The ${plainRole(b.role)} ${b.rule === "Q2" ? "is tilted off the grid" : b.rule === "Q3" ? "is a big motif, outside the headings" : "goes above the heading scale"} (${b.what}).`,
|
|
191
202
|
options: ["Yes, it is part of my design", "No, make it follow the scale"],
|
|
192
203
|
}));
|
|
193
204
|
const groups = new Map();
|
package/package.json
CHANGED