@tendrilapp/cli 0.1.51 → 0.1.52
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/tendril-mcp.js +41 -0
- package/dist/tendril.js +11234 -10048
- package/package.json +1 -1
package/dist/tendril-mcp.js
CHANGED
|
@@ -155,6 +155,47 @@ var TOOLS = [
|
|
|
155
155
|
...typeof i["portal"] === "string" ? ["--to", i["portal"]] : []
|
|
156
156
|
]
|
|
157
157
|
},
|
|
158
|
+
{
|
|
159
|
+
name: "tendril_design_system",
|
|
160
|
+
annotations: { readOnlyHint: true },
|
|
161
|
+
description: "Fetch the user's living DESIGN-SYSTEM.md \u2014 the portal-assembled file describing one design system: its components with their ruler verdicts, each component's prescribed API and poses, the captured variable vocabulary, the icon inventory, and a changelog. Call it with no arguments first to LIST the design systems and their ids, then again with `ds` to fetch one (pass `out` to write the file where a design agent will read it). The file is a PROJECTION the portal re-assembles fresh on every fetch \u2014 never edit it, re-fetch it. Needs a portal session (tendril_login); it is owner-only because the vocabulary and icons are the customer's design IP.",
|
|
162
|
+
schema: z.object({
|
|
163
|
+
ds: optStr("the design system id \u2014 omit to list them"),
|
|
164
|
+
out: optStr("write the markdown to this file instead of returning it inline"),
|
|
165
|
+
portal: optStr("portal origin override for self-hosted portals (defaults to the stored session's portal)")
|
|
166
|
+
}),
|
|
167
|
+
argv: (i) => [
|
|
168
|
+
"design-system",
|
|
169
|
+
...typeof i["ds"] === "string" ? ["--ds", i["ds"]] : [],
|
|
170
|
+
...typeof i["out"] === "string" ? ["--out", i["out"]] : [],
|
|
171
|
+
...typeof i["portal"] === "string" ? ["--to", i["portal"]] : []
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: "tendril_draft",
|
|
176
|
+
description: "Draft a NEW component from a design system's documented truth (its DESIGN-SYSTEM.md: variables, icons, published component APIs). THE OUTPUT IS A DRAFT BY CONSTRUCTION \u2014 no recording exists, no pixel is ever measured, and nothing about it is verified; say so in every report. Brief mode (name + ds) returns a payload to implement from; then `finish` stamps the draft and runs the quality checks (the only feedback a draft gets); then `push` puts it on the portal's separated drafts shelf, clearly marked uncertified. The certified path is different and better: record the design in Figma, generate from the recording, verify \u2014 the recorded component replaces the draft. Needs a portal session (tendril_login).",
|
|
177
|
+
schema: z.object({
|
|
178
|
+
name: optStr("the new component's name (brief mode; omit when finishing/pushing)"),
|
|
179
|
+
ds: str("the design system id (list them with tendril_design_system)"),
|
|
180
|
+
finish: optStr("path to a written draft directory \u2014 stamp it and run the quality checks"),
|
|
181
|
+
push: optStr("path to a finished draft directory \u2014 push it to the portal's drafts section"),
|
|
182
|
+
pull: optStr("a draft's name or id \u2014 download its files from the portal (the code\u2192Figma flow's first step)"),
|
|
183
|
+
out: optStr("brief mode: where to write the payload"),
|
|
184
|
+
portal: optStr("portal origin override for self-hosted portals (defaults to the stored session's portal)")
|
|
185
|
+
}),
|
|
186
|
+
argv: (i) => [
|
|
187
|
+
"draft",
|
|
188
|
+
...typeof i["name"] === "string" && typeof i["finish"] !== "string" && typeof i["push"] !== "string" ? [i["name"]] : [],
|
|
189
|
+
"--ds",
|
|
190
|
+
i["ds"],
|
|
191
|
+
...typeof i["finish"] === "string" ? ["--finish", i["finish"]] : [],
|
|
192
|
+
...typeof i["push"] === "string" ? ["--push", i["push"]] : [],
|
|
193
|
+
...typeof i["pull"] === "string" ? ["--pull", i["pull"]] : [],
|
|
194
|
+
...typeof i["name"] === "string" && (typeof i["finish"] === "string" || typeof i["push"] === "string") ? ["--name", i["name"]] : [],
|
|
195
|
+
...typeof i["out"] === "string" ? ["--out", i["out"]] : [],
|
|
196
|
+
...typeof i["portal"] === "string" ? ["--to", i["portal"]] : []
|
|
197
|
+
]
|
|
198
|
+
},
|
|
158
199
|
{
|
|
159
200
|
name: "tendril_record_next",
|
|
160
201
|
annotations: { readOnlyHint: true },
|