rivet-design 0.13.0 → 0.13.2

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.
Files changed (49) hide show
  1. package/dist/agent-variants/SessionStore.d.ts +2 -1
  2. package/dist/agent-variants/SessionStore.d.ts.map +1 -1
  3. package/dist/agent-variants/SessionStore.js +10 -5
  4. package/dist/agent-variants/SessionStore.js.map +1 -1
  5. package/dist/agent-variants/WorktreeOrchestrator.d.ts +5 -4
  6. package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  7. package/dist/agent-variants/WorktreeOrchestrator.js +8 -8
  8. package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -1
  9. package/dist/agent-variants/contracts.d.ts +1 -1
  10. package/dist/agent-variants/contracts.js +2 -2
  11. package/dist/agent-variants/contracts.js.map +1 -1
  12. package/dist/cli/commands/mcpServe.d.ts.map +1 -1
  13. package/dist/cli/commands/mcpServe.js +50 -5
  14. package/dist/cli/commands/mcpServe.js.map +1 -1
  15. package/dist/cli/commands/variants.d.ts.map +1 -1
  16. package/dist/cli/commands/variants.js +78 -17
  17. package/dist/cli/commands/variants.js.map +1 -1
  18. package/dist/mcp/changeBatchClassification.d.ts +3 -1
  19. package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
  20. package/dist/mcp/changeBatchClassification.js +5 -0
  21. package/dist/mcp/changeBatchClassification.js.map +1 -1
  22. package/dist/routes/agentVariants.d.ts.map +1 -1
  23. package/dist/routes/agentVariants.js +46 -1
  24. package/dist/routes/agentVariants.js.map +1 -1
  25. package/dist/routes/static.d.ts.map +1 -1
  26. package/dist/routes/static.js +77 -8
  27. package/dist/routes/static.js.map +1 -1
  28. package/dist/services/VariantGenerationService.d.ts +0 -7
  29. package/dist/services/VariantGenerationService.d.ts.map +1 -1
  30. package/dist/services/VariantGenerationService.js +6 -64
  31. package/dist/services/VariantGenerationService.js.map +1 -1
  32. package/dist/services/VariantRunService.d.ts.map +1 -1
  33. package/dist/services/VariantRunService.js +2 -1
  34. package/dist/services/VariantRunService.js.map +1 -1
  35. package/dist/types/change-request-types.d.ts +10 -4
  36. package/dist/types/change-request-types.d.ts.map +1 -1
  37. package/dist/utils/skills/claude-skill.d.ts +2 -2
  38. package/dist/utils/skills/claude-skill.d.ts.map +1 -1
  39. package/dist/utils/skills/claude-skill.js +1 -1
  40. package/dist/utils/skills/cli-guidance.d.ts +2 -2
  41. package/dist/utils/skills/cli-guidance.d.ts.map +1 -1
  42. package/dist/utils/skills/cli-guidance.js +7 -5
  43. package/dist/utils/skills/cli-guidance.js.map +1 -1
  44. package/dist/utils/skills/cursor-rules.d.ts +2 -2
  45. package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
  46. package/dist/utils/skills/cursor-rules.js +1 -1
  47. package/package.json +1 -1
  48. package/src/ui/dist/assets/{main-BWOvFoal.js → main-BBHg643G.js} +3 -3
  49. package/src/ui/dist/index.html +1 -1
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VariantGenerationService = exports.parseDirectionPlan = void 0;
3
+ exports.VariantGenerationService = void 0;
4
4
  const crypto_1 = require("crypto");
5
5
  const index_core_1 = require("../index-core");
6
6
  const changeBatchClassification_1 = require("../mcp/changeBatchClassification");
7
7
  const generatedDestination_1 = require("../agent-variants/generatedDestination");
8
- const briefContent_1 = require("../agent-variants/briefContent");
9
8
  const variantContext_1 = require("../agent-variants/variantContext");
10
9
  const log = (0, index_core_1.createLogger)('VariantGenerationService');
11
10
  const hasWhitespace = (value) => /\s/.test(value);
@@ -43,68 +42,6 @@ const resolveSourceVariantId = (request) => {
43
42
  }
44
43
  return undefined;
45
44
  };
46
- /** The variant card subtitle (brief body) must stay ≤ 10 words. */
47
- const MAX_DIRECTION_BODY_WORDS = 10;
48
- const capWordsAtSource = (text, maxWords) => {
49
- const words = text.trim().split(/\s+/);
50
- return words.length <= maxWords
51
- ? text.trim()
52
- : words.slice(0, maxWords).join(' ');
53
- };
54
- /**
55
- * Parse a direction-plan response into briefs. Returns null (caller falls back
56
- * to the static directions) when the output is not a JSON array of at least
57
- * `count` well-formed `{label, body}` entries.
58
- */
59
- const parseDirectionPlan = (raw, count) => {
60
- const start = raw.indexOf('[');
61
- const end = raw.lastIndexOf(']');
62
- if (start === -1 || end === -1 || end <= start) {
63
- return null;
64
- }
65
- let parsed;
66
- try {
67
- parsed = JSON.parse(raw.slice(start, end + 1));
68
- }
69
- catch {
70
- return null;
71
- }
72
- if (!Array.isArray(parsed)) {
73
- return null;
74
- }
75
- const briefs = [];
76
- for (const entry of parsed) {
77
- if (!entry || typeof entry !== 'object') {
78
- continue;
79
- }
80
- const label = entry.label;
81
- const body = entry.body;
82
- if (typeof label !== 'string' || typeof body !== 'string') {
83
- continue;
84
- }
85
- const trimmedLabel = label.trim();
86
- const trimmedBody = body.trim();
87
- if (!trimmedLabel || !trimmedBody) {
88
- continue;
89
- }
90
- const normalized = (0, briefContent_1.normalizeBriefContent)({
91
- label: trimmedLabel,
92
- body: trimmedBody,
93
- });
94
- // The body renders as the variant card subtitle, which must stay ≤ 10 words
95
- // (matches the server's capSubtitleWords). Cap at the source so directions
96
- // read as clean short phrases instead of truncated sentences.
97
- briefs.push({
98
- ...normalized,
99
- body: capWordsAtSource(normalized.body, MAX_DIRECTION_BODY_WORDS),
100
- });
101
- }
102
- if (briefs.length < count) {
103
- return null;
104
- }
105
- return briefs.slice(0, count);
106
- };
107
- exports.parseDirectionPlan = parseDirectionPlan;
108
45
  const buildInlineVariantImageContextInputs = (images) => (images ?? []).map((dataUrl, index) => ({
109
46
  transport: 'upload',
110
47
  dataUrl,
@@ -143,6 +80,7 @@ class VariantGenerationService {
143
80
  }
144
81
  const comment = request.changes[0];
145
82
  const count = comment.variantRequest?.count;
83
+ const briefs = comment.variantRequest?.briefs;
146
84
  if (typeof count !== 'number') {
147
85
  this.bridge.reportFeedback('Inline variant request is missing a count.');
148
86
  this.bridge.setStatus('READY');
@@ -182,6 +120,7 @@ class VariantGenerationService {
182
120
  const startResult = await this.orchestrator.startUnified({
183
121
  prompt: comment.instruction,
184
122
  count,
123
+ ...(briefs ? { briefs } : {}),
185
124
  target: deriveTarget(comment.element),
186
125
  ...(sessionId ? { sessionId } : {}),
187
126
  requestId: request.agentRunId ?? request.traceId,
@@ -245,6 +184,9 @@ class VariantGenerationService {
245
184
  const startResult = await this.orchestrator.startUnified({
246
185
  prompt: args.comment.instruction,
247
186
  count: args.count,
187
+ ...(args.comment.variantRequest?.briefs
188
+ ? { briefs: args.comment.variantRequest.briefs }
189
+ : {}),
248
190
  requestId: args.requestId,
249
191
  projectContext: {
250
192
  kind: 'fresh',
@@ -1 +1 @@
1
- {"version":3,"file":"VariantGenerationService.js","sourceRoot":"","sources":["../../src/services/VariantGenerationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariantGenerationService.js","sourceRoot":"","sources":["../../src/services/VariantGenerationService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VariantRunService.d.ts","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;gBAErD,OAAO,EAAE,wBAAwB;IAW7C;;;OAGG;IACG,oBAAoB,CACxB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,iBAAiB;IAIrB;;;OAGG;IACG,gBAAgB,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+BjC;;;OAGG;IACG,wBAAwB,CAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAkEhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAI1D;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAInD,6EAA6E;IAC7E,WAAW,IAAI,cAAc;CAG9B"}
1
+ {"version":3,"file":"VariantRunService.d.ts","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,yBAAyB,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;gBAErD,OAAO,EAAE,wBAAwB;IAW7C;;;OAGG;IACG,oBAAoB,CACxB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,iBAAiB;IAIrB;;;OAGG;IACG,gBAAgB,CAAC,IAAI,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+BjC;;;OAGG;IACG,wBAAwB,CAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC;IAmEhC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAI1D;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAInD,6EAA6E;IAC7E,WAAW,IAAI,cAAc;CAG9B"}
@@ -95,10 +95,11 @@ class VariantRunService {
95
95
  ({ droppedRefinements, createdWorkItemIds } =
96
96
  this.orchestrator.beginStaticPreviewRefinements({
97
97
  sessionId,
98
- targets: targets.map(({ target, instruction, count, element, requestId }) => ({
98
+ targets: targets.map(({ target, instruction, count, briefs, element, requestId }) => ({
99
99
  variantId: target.variantId,
100
100
  instruction,
101
101
  count,
102
+ ...(briefs ? { briefs } : {}),
102
103
  element,
103
104
  requestId,
104
105
  })),
@@ -1 +1 @@
1
- {"version":3,"file":"VariantRunService.js","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariantRunService.js","sourceRoot":"","sources":["../../src/services/VariantRunService.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,12 @@ export interface StaticPreviewChangeTarget {
89
89
  variantId: string;
90
90
  }
91
91
  export type VariantRequestMode = 'existing' | 'zero_to_one';
92
+ /** AI-authored title and subtitle for one requested design direction. */
93
+ export interface VariantDirectionBrief {
94
+ label: string;
95
+ body: string;
96
+ visualReferenceUrl?: string;
97
+ }
92
98
  export type ChangeItem = StyleChangeItem | TextChangeItem | CommentChangeItem | ChatChangeItem | VariantChangeItem;
93
99
  /** A CSS property change with an exact before/after diff */
94
100
  export interface StyleChangeItem {
@@ -137,14 +143,14 @@ export interface CommentChangeItem {
137
143
  */
138
144
  resolvedReferences?: ResolvedCommentReference[];
139
145
  /**
140
- * Marks this comment as a request to run the MCP variants flow on the
141
- * targeted element instead of performing a direct apply. Undefined → standard
142
- * comment apply. When present, the MCP server skips beginApplyingRun and
143
- * routes the batch through propose_variants → approval → continue → commit.
146
+ * Marks this comment as a request to run the variants lifecycle on the
147
+ * targeted element instead of performing a direct apply. Undefined means a
148
+ * standard comment apply.
144
149
  */
145
150
  variantRequest?: {
146
151
  count: number;
147
152
  mode?: VariantRequestMode;
153
+ briefs?: VariantDirectionBrief[];
148
154
  };
149
155
  }
150
156
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"change-request-types.d.ts","sourceRoot":"","sources":["../../src/types/change-request-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-request-types.d.ts","sourceRoot":"","sources":["../../src/types/change-request-types.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  * `~/.claude/skills/rivet/SKILL.md` by `rivet install claude`. The version
4
4
  * marker gates rewrites so user edits are only replaced by newer guidance.
5
5
  */
6
- export declare const CLAUDE_SKILL_VERSION = 45;
6
+ export declare const CLAUDE_SKILL_VERSION = 47;
7
7
  export declare const CLAUDE_SKILL_DIR = "rivet";
8
8
  export declare const CLAUDE_SKILL_FILENAME = "SKILL.md";
9
- export declare const CLAUDE_SKILL_CONTENT = "---\nname: rivet\ndescription: Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.\n---\n\n[//]: # (rivet-skill-version: 45)\n[//]: # (rivet-cli-guidance-version: 12)\n# Rivet\n\nRivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Use `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace; use `--target` to Vary an existing direction. Returns a `workId` immediately, plus `nextAction` when the host agent should implement the variants.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its worktree.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. `rivet variants start --project <path> --instruction \"try three hero layouts\" --count 3 --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. The work items are independent: when your host supports subagents or parallel tasks, spawn one worker per item, each editing only its own `worktreePath` according to `briefLabel`, `briefBody`, target, and project context. Follow the item's `outputSchema`.\n4. As each worker finishes, run `rivet variants complete <workId> --project <path> --session <sessionId> --output '{\"worktreePath\":\"<worktreePath>\",\"changedFiles\":[\"relative/path\"]}'`. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, then `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --count 3 ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --count 2 ...`.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Prefer parallelism: use one subagent or parallel task per work item when the host supports it, because each item has an isolated worktree. Report each item with `rivet variants complete` or `rivet_variants` action `complete`.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.\n";
9
+ export declare const CLAUDE_SKILL_CONTENT = "---\nname: rivet\ndescription: Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.\n---\n\n[//]: # (rivet-skill-version: 47)\n[//]: # (rivet-cli-guidance-version: 14)\n# Rivet\n\nRivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--briefs <json>] [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Agent invocations MUST pass one AI-authored brief per direction; `briefs.length` sets the count. Use `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace; use `--target` to Vary an existing direction. Returns a `workId` immediately, plus `nextAction` when the host agent should implement the variants.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its worktree.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nBefore every agent-initiated variants start, author one or more direction briefs as `[{\"label\":\"\u2026\",\"body\":\"\u2026\"}]`. Each `label` is an AI-authored direction title: 1\u20135 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each `body` is a concise plain-English subtitle of at most 10 words describing that direction. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the `rivet_variants` `briefs` field or CLI `--briefs <json>`, and omit `--count` because the array length is authoritative. Human-direct CLI calls may omit briefs and use Rivet's deterministic fallback.\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. Author three distinct title/subtitle briefs, then call `rivet variants start --project <path> --instruction \"try three hero layouts\" --briefs '[{\"label\":\"Split hero\",\"body\":\"Moves supporting proof beside the primary call to action.\"},{\"label\":\"Layered hero\",\"body\":\"Stacks product imagery behind a compact centered headline.\"},{\"label\":\"Product-led hero\",\"body\":\"Lets the product preview dominate the opening composition.\"}]' --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. The work items are independent: when your host supports subagents or parallel tasks, spawn one worker per item, each editing only its own `worktreePath` according to `briefLabel`, `briefBody`, target, and project context. Follow the item's `outputSchema`.\n4. As each worker finishes, run `rivet variants complete <workId> --project <path> --session <sessionId> --output '{\"worktreePath\":\"<worktreePath>\",\"changedFiles\":[\"relative/path\"]}'`. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, author distinct briefs, then run `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --briefs '<json>' ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, author distinct briefs, then run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --briefs '<json>' ...`.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Prefer parallelism: use one subagent or parallel task per work item when the host supports it, because each item has an isolated worktree. Report each item with `rivet variants complete` or `rivet_variants` action `complete`.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.\n";
10
10
  //# sourceMappingURL=claude-skill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-skill.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/claude-skill.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,oBAAoB,q4OAUhC,CAAC"}
1
+ {"version":3,"file":"claude-skill.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/claude-skill.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,oBAAoB,2sRAUhC,CAAC"}
@@ -7,7 +7,7 @@ const cli_guidance_1 = require("./cli-guidance");
7
7
  * `~/.claude/skills/rivet/SKILL.md` by `rivet install claude`. The version
8
8
  * marker gates rewrites so user edits are only replaced by newer guidance.
9
9
  */
10
- exports.CLAUDE_SKILL_VERSION = 45;
10
+ exports.CLAUDE_SKILL_VERSION = 47;
11
11
  const CLAUDE_SKILL_VERSION_MARKER = `[//]: # (rivet-skill-version: ${exports.CLAUDE_SKILL_VERSION})`;
12
12
  exports.CLAUDE_SKILL_DIR = 'rivet';
13
13
  exports.CLAUDE_SKILL_FILENAME = 'SKILL.md';
@@ -5,8 +5,8 @@
5
5
  * states the same contract — because guidance files are softer than
6
6
  * registration: an agent can ignore them.
7
7
  */
8
- export declare const CLI_GUIDANCE_VERSION = 12;
9
- export declare const CLI_GUIDANCE_BODY = "Rivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Use `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace; use `--target` to Vary an existing direction. Returns a `workId` immediately, plus `nextAction` when the host agent should implement the variants.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its worktree.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. `rivet variants start --project <path> --instruction \"try three hero layouts\" --count 3 --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. The work items are independent: when your host supports subagents or parallel tasks, spawn one worker per item, each editing only its own `worktreePath` according to `briefLabel`, `briefBody`, target, and project context. Follow the item's `outputSchema`.\n4. As each worker finishes, run `rivet variants complete <workId> --project <path> --session <sessionId> --output '{\"worktreePath\":\"<worktreePath>\",\"changedFiles\":[\"relative/path\"]}'`. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, then `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --count 3 ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --count 2 ...`.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Prefer parallelism: use one subagent or parallel task per work item when the host supports it, because each item has an isolated worktree. Report each item with `rivet variants complete` or `rivet_variants` action `complete`.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.";
8
+ export declare const CLI_GUIDANCE_VERSION = 14;
9
+ export declare const CLI_GUIDANCE_BODY = "Rivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--briefs <json>] [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Agent invocations MUST pass one AI-authored brief per direction; `briefs.length` sets the count. Use `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace; use `--target` to Vary an existing direction. Returns a `workId` immediately, plus `nextAction` when the host agent should implement the variants.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its worktree.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nBefore every agent-initiated variants start, author one or more direction briefs as `[{\"label\":\"\u2026\",\"body\":\"\u2026\"}]`. Each `label` is an AI-authored direction title: 1\u20135 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each `body` is a concise plain-English subtitle of at most 10 words describing that direction. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the `rivet_variants` `briefs` field or CLI `--briefs <json>`, and omit `--count` because the array length is authoritative. Human-direct CLI calls may omit briefs and use Rivet's deterministic fallback.\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. Author three distinct title/subtitle briefs, then call `rivet variants start --project <path> --instruction \"try three hero layouts\" --briefs '[{\"label\":\"Split hero\",\"body\":\"Moves supporting proof beside the primary call to action.\"},{\"label\":\"Layered hero\",\"body\":\"Stacks product imagery behind a compact centered headline.\"},{\"label\":\"Product-led hero\",\"body\":\"Lets the product preview dominate the opening composition.\"}]' --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. The work items are independent: when your host supports subagents or parallel tasks, spawn one worker per item, each editing only its own `worktreePath` according to `briefLabel`, `briefBody`, target, and project context. Follow the item's `outputSchema`.\n4. As each worker finishes, run `rivet variants complete <workId> --project <path> --session <sessionId> --output '{\"worktreePath\":\"<worktreePath>\",\"changedFiles\":[\"relative/path\"]}'`. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, author distinct briefs, then run `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --briefs '<json>' ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, author distinct briefs, then run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --briefs '<json>' ...`.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Prefer parallelism: use one subagent or parallel task per work item when the host supports it, because each item has an isolated worktree. Report each item with `rivet variants complete` or `rivet_variants` action `complete`.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.";
10
10
  /** One-line description used in host frontmatter/description fields. */
11
11
  export declare const CLI_GUIDANCE_DESCRIPTION = "Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.";
12
12
  //# sourceMappingURL=cli-guidance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-guidance.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,iBAAiB,ygOA0Cmc,CAAC;AAEle,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,+PACsM,CAAC"}
1
+ {"version":3,"file":"cli-guidance.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,iBAAiB,+0QA4Cmc,CAAC;AAEle,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,+PACsM,CAAC"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.CLI_GUIDANCE_DESCRIPTION = exports.CLI_GUIDANCE_BODY = exports.CLI_GUIDANCE_VERSION = void 0;
11
- exports.CLI_GUIDANCE_VERSION = 12;
11
+ exports.CLI_GUIDANCE_VERSION = 14;
12
12
  exports.CLI_GUIDANCE_BODY = `Rivet helps you **explore multiple design directions** for a web app. You drive it by running \`rivet\` CLI commands. Every command prints exactly one JSON envelope on stdout (\`{ schemaVersion, ok, command, data | error }\`), routes progress to stderr, and never prompts for input.
13
13
 
14
14
  **Exit codes:** 0 ok · 1 operation failed (see \`error.code\`) · 2 usage error · 3 auth required · 4 no server for the project · 5 \`rivet wait\` timeout (work still pending or running — not a failure; the envelope's \`state\` says which).
@@ -24,7 +24,7 @@ exports.CLI_GUIDANCE_BODY = `Rivet helps you **explore multiple design direction
24
24
  ## Commands
25
25
 
26
26
  - \`rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]\` — start or attach the project's editor server (idempotent; returns \`editorUrl\`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard \`dev\`/\`start\`/\`serve\` script when possible. Omit \`--no-browser\` for interactive work so the UI opens for the user.
27
- - \`rivet variants start --project <path> --instruction <text> [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]\` — explore design directions. Use \`--fresh\` for prompt-only 0-to-1 generation in a blank/new workspace; use \`--target\` to Vary an existing direction. Returns a \`workId\` immediately, plus \`nextAction\` when the host agent should implement the variants.
27
+ - \`rivet variants start --project <path> --instruction <text> [--briefs <json>] [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]\` — explore design directions. Agent invocations MUST pass one AI-authored brief per direction; \`briefs.length\` sets the count. Use \`--fresh\` for prompt-only 0-to-1 generation in a blank/new workspace; use \`--target\` to Vary an existing direction. Returns a \`workId\` immediately, plus \`nextAction\` when the host agent should implement the variants.
28
28
  - \`rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]\` — report one host-agent work item complete after you edit its worktree.
29
29
  - \`rivet wait <workId> --project <path> [--timeout <seconds>]\` — bounded block until a work id settles (exit 5 on timeout; re-issue or check status).
30
30
  - \`rivet status --project <path> [--watch]\` — session, resolved runner, active run, and the variants snapshot. \`--watch\` streams NDJSON.
@@ -38,16 +38,18 @@ exports.CLI_GUIDANCE_BODY = `Rivet helps you **explore multiple design direction
38
38
 
39
39
  ## Typical flows
40
40
 
41
+ Before every agent-initiated variants start, author one or more direction briefs as \`[{"label":"…","body":"…"}]\`. Each \`label\` is an AI-authored direction title: 1–5 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each \`body\` is a concise plain-English subtitle of at most 10 words describing that direction. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the \`rivet_variants\` \`briefs\` field or CLI \`--briefs <json>\`, and omit \`--count\` because the array length is authoritative. Human-direct CLI calls may omit briefs and use Rivet's deterministic fallback.
42
+
41
43
  Existing app:
42
44
  1. \`rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>\` → note \`editorUrl\`, \`sessionId\`, and \`resolvedRunner\`.
43
- 2. \`rivet variants start --project <path> --instruction "try three hero layouts" --count 3 --caller-agent cursor --caller-model <model> --caller-session <id>\` → note \`workId\`.
45
+ 2. Author three distinct title/subtitle briefs, then call \`rivet variants start --project <path> --instruction "try three hero layouts" --briefs '[{"label":"Split hero","body":"Moves supporting proof beside the primary call to action."},{"label":"Layered hero","body":"Stacks product imagery behind a compact centered headline."},{"label":"Product-led hero","body":"Lets the product preview dominate the opening composition."}]' --caller-agent cursor --caller-model <model> --caller-session <id>\` → note \`workId\`.
44
46
  3. If the start response has \`nextAction.action="complete_host_variant_work"\`, execute it immediately. Otherwise poll \`rivet status --project <path>\` until that \`nextAction\` appears. The work items are independent: when your host supports subagents or parallel tasks, spawn one worker per item, each editing only its own \`worktreePath\` according to \`briefLabel\`, \`briefBody\`, target, and project context. Follow the item's \`outputSchema\`.
45
47
  4. As each worker finishes, run \`rivet variants complete <workId> --project <path> --session <sessionId> --output '{"worktreePath":"<worktreePath>","changedFiles":["relative/path"]}'\`. If a worker cannot complete it, use \`--status failed --error <message>\`.
46
48
  5. Show the user the \`editorUrl\` to compare directions; \`rivet variants commit <variantId> --project <path>\` when they pick one.
47
49
 
48
- Fresh 0-to-1: create or use an empty directory, run \`rivet open --project <path> ...\`, then \`rivet variants start --project <path> --fresh --instruction "build a SaaS landing page" --count 3 ...\`.
50
+ Fresh 0-to-1: create or use an empty directory, run \`rivet open --project <path> ...\`, author distinct briefs, then run \`rivet variants start --project <path> --fresh --instruction "build a SaaS landing page" --briefs '<json>' ...\`.
49
51
 
50
- Vary an existing direction: after status/list gives you \`sessionId\` and \`variantId\`, run \`rivet variants start --project <path> --target <sessionId>:<variantId> --instruction "make this calmer" --count 2 ...\`.
52
+ Vary an existing direction: after status/list gives you \`sessionId\` and \`variantId\`, author distinct briefs, then run \`rivet variants start --project <path> --target <sessionId>:<variantId> --instruction "make this calmer" --briefs '<json>' ...\`.
51
53
 
52
54
  Rivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When \`rivet variants start\`, \`rivet status\`, \`rivet_variants\`, or \`rivet_status\` returns \`nextAction.action="complete_host_variant_work"\`, complete those work items from the current host session. Prefer parallelism: use one subagent or parallel task per work item when the host supports it, because each item has an isolated worktree. Report each item with \`rivet variants complete\` or \`rivet_variants\` action \`complete\`.
53
55
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli-guidance.js","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ieA0Cgc,CAAC;AAEle,wEAAwE;AAC3D,QAAA,wBAAwB,GACnC,yOAAyO,CAAC"}
1
+ {"version":3,"file":"cli-guidance.js","sourceRoot":"","sources":["../../../src/utils/skills/cli-guidance.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ieA4Cgc,CAAC;AAEle,wEAAwE;AAC3D,QAAA,wBAAwB,GACnC,yOAAyO,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * (project scope is where Cursor reads rules files from; the user-scope
5
5
  * install writes the command allowlist instead).
6
6
  */
7
- export declare const CURSOR_RULES_VERSION = 44;
7
+ export declare const CURSOR_RULES_VERSION = 46;
8
8
  export declare const CURSOR_RULES_FILENAME = "rivet.mdc";
9
- export declare const CURSOR_RULES_CONTENT = "---\ndescription: Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.\nalwaysApply: false\n---\n<!-- rivet-rules-version: 44 -->\n<!-- rivet-cli-guidance-version: 12 -->\n# Rivet\n\nRivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Use `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace; use `--target` to Vary an existing direction. Returns a `workId` immediately, plus `nextAction` when the host agent should implement the variants.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its worktree.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. `rivet variants start --project <path> --instruction \"try three hero layouts\" --count 3 --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. The work items are independent: when your host supports subagents or parallel tasks, spawn one worker per item, each editing only its own `worktreePath` according to `briefLabel`, `briefBody`, target, and project context. Follow the item's `outputSchema`.\n4. As each worker finishes, run `rivet variants complete <workId> --project <path> --session <sessionId> --output '{\"worktreePath\":\"<worktreePath>\",\"changedFiles\":[\"relative/path\"]}'`. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, then `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --count 3 ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --count 2 ...`.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Prefer parallelism: use one subagent or parallel task per work item when the host supports it, because each item has an isolated worktree. Report each item with `rivet variants complete` or `rivet_variants` action `complete`.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.\n";
9
+ export declare const CURSOR_RULES_CONTENT = "---\ndescription: Rivet \u2014 explore multiple design directions for your web app (\"/rivet\", \"use rivet\", \"explore with rivet\", \"create variants of X\", \"show me options for X\", \"open rivet\", \"open the visual editor\"). Drive it with `rivet` CLI commands.\nalwaysApply: false\n---\n<!-- rivet-rules-version: 46 -->\n<!-- rivet-cli-guidance-version: 14 -->\n# Rivet\n\nRivet helps you **explore multiple design directions** for a web app. You drive it by running `rivet` CLI commands. Every command prints exactly one JSON envelope on stdout (`{ schemaVersion, ok, command, data | error }`), routes progress to stderr, and never prompts for input.\n\n**Exit codes:** 0 ok \u00B7 1 operation failed (see `error.code`) \u00B7 2 usage error \u00B7 3 auth required \u00B7 4 no server for the project \u00B7 5 `rivet wait` timeout (work still pending or running \u2014 not a failure; the envelope's `state` says which).\n\n**Identify yourself (handoff).** Add these flags to every invocation so Rivet can attribute work: `--caller-agent claude|codex|cursor`, `--caller-model <your model>`, and `--caller-session <your chat session id>` when you have one. Human-direct invocations omit handoff flags. Never wrap or chain `rivet` with other commands (`&&`, pipes) \u2014 plain invocations are what the host allowlist covers.\n\n**Project path.** Prefer explicit `--project <absolute path>` on every command so follow-up chats attach to the same workspace. For an existing app, pass its repo/app root. For a fresh app, create or use an empty directory first, then open Rivet there and start variants with `--fresh`.\n\n**Browser behavior.** For interactive user workflows, run `rivet open` without `--no-browser` so the Rivet UI opens in the browser. Use `--no-browser` only for headless/background automation, CI/e2e checks, or when the user explicitly asks not to open a browser; in those cases, report the returned `editorUrl`.\n\n**MCP tools (opt-in).** If this host has Rivet MCP tools registered (`rivet_status`, `rivet_variants`, `rivet_design_context` \u2014 the user opted in via `rivet install --mcp`), prefer them over shelling out for status, variants, and design-context work: they drive the same control plane and return the same JSON envelopes, without per-call process cost. Lifecycle and auth stay CLI-only on purpose \u2014 `rivet open`, `rivet stop`, `rivet wait`, and `rivet login` have no MCP tools. There is no blocking/watch tool either: start work with `rivet_variants`; if the result contains `nextAction.action=\"complete_host_variant_work\"`, execute it yourself with parallel subagents when available.\n\n## Commands\n\n- `rivet open [--project <path>] [--agent claude|codex|cursor] [--rivet-port N] [--user-port N] [--framework nextjs|vite|cra|remix|svelte|static] [--entry <path>] [--no-browser] [--no-git]` \u2014 start or attach the project's editor server (idempotent; returns `editorUrl`). It detects the app, attaches to an already-running dev server, or starts one from the app's standard `dev`/`start`/`serve` script when possible. Omit `--no-browser` for interactive work so the UI opens for the user.\n- `rivet variants start --project <path> --instruction <text> [--briefs <json>] [--count N] [--element <selector>] [--fresh] [--target <sessionId>:<variantId>]` \u2014 explore design directions. Agent invocations MUST pass one AI-authored brief per direction; `briefs.length` sets the count. Use `--fresh` for prompt-only 0-to-1 generation in a blank/new workspace; use `--target` to Vary an existing direction. Returns a `workId` immediately, plus `nextAction` when the host agent should implement the variants.\n- `rivet variants complete <workId> --project <path> [--session <sessionId>] [--status succeeded|failed|cancelled] [--output <json>] [--error <message>]` \u2014 report one host-agent work item complete after you edit its worktree.\n- `rivet wait <workId> --project <path> [--timeout <seconds>]` \u2014 bounded block until a work id settles (exit 5 on timeout; re-issue or check status).\n- `rivet status --project <path> [--watch]` \u2014 session, resolved runner, active run, and the variants snapshot. `--watch` streams NDJSON.\n- `rivet variants status --project <path>` / `rivet variants list --project <path> [--history]` \u2014 inspect live or past directions.\n- `rivet variants commit <variantId> --project <path> [--session <id>]` \u2014 send the chosen direction to the project.\n- `rivet variants cancel <sessionId> --project <path>` \u2014 cancel a running variants session.\n- `rivet evidence capture --url <url>` \u2014 rendered design evidence (root variables, element styles, fonts) for a reference URL.\n- `rivet reference fetch <url>` \u2014 Pinterest / Are.na reference data via the user's connected account.\n- `rivet auth status` \u2014 signed-in state. If `authenticated: false`, tell the user to run `rivet login` themselves \u2014 never run login for them.\n- `rivet stop [--project <path>]` \u2014 stop the CLI-owned server.\n\n## Typical flows\n\nBefore every agent-initiated variants start, author one or more direction briefs as `[{\"label\":\"\u2026\",\"body\":\"\u2026\"}]`. Each `label` is an AI-authored direction title: 1\u20135 plain-English words naming what that direction concretely changes, not a vibe or numbered placeholder. Each `body` is a concise plain-English subtitle of at most 10 words describing that direction. Use one brief for a single visualization when the user wants Rivet's visualization framework without divergent ideas. For multiple directions, make every brief meaningfully different. Pass the array through the `rivet_variants` `briefs` field or CLI `--briefs <json>`, and omit `--count` because the array length is authoritative. Human-direct CLI calls may omit briefs and use Rivet's deterministic fallback.\n\nExisting app:\n1. `rivet open --project <path> --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `editorUrl`, `sessionId`, and `resolvedRunner`.\n2. Author three distinct title/subtitle briefs, then call `rivet variants start --project <path> --instruction \"try three hero layouts\" --briefs '[{\"label\":\"Split hero\",\"body\":\"Moves supporting proof beside the primary call to action.\"},{\"label\":\"Layered hero\",\"body\":\"Stacks product imagery behind a compact centered headline.\"},{\"label\":\"Product-led hero\",\"body\":\"Lets the product preview dominate the opening composition.\"}]' --caller-agent cursor --caller-model <model> --caller-session <id>` \u2192 note `workId`.\n3. If the start response has `nextAction.action=\"complete_host_variant_work\"`, execute it immediately. Otherwise poll `rivet status --project <path>` until that `nextAction` appears. The work items are independent: when your host supports subagents or parallel tasks, spawn one worker per item, each editing only its own `worktreePath` according to `briefLabel`, `briefBody`, target, and project context. Follow the item's `outputSchema`.\n4. As each worker finishes, run `rivet variants complete <workId> --project <path> --session <sessionId> --output '{\"worktreePath\":\"<worktreePath>\",\"changedFiles\":[\"relative/path\"]}'`. If a worker cannot complete it, use `--status failed --error <message>`.\n5. Show the user the `editorUrl` to compare directions; `rivet variants commit <variantId> --project <path>` when they pick one.\n\nFresh 0-to-1: create or use an empty directory, run `rivet open --project <path> ...`, author distinct briefs, then run `rivet variants start --project <path> --fresh --instruction \"build a SaaS landing page\" --briefs '<json>' ...`.\n\nVary an existing direction: after status/list gives you `sessionId` and `variantId`, author distinct briefs, then run `rivet variants start --project <path> --target <sessionId>:<variantId> --instruction \"make this calmer\" --briefs '<json>' ...`.\n\nRivet owns orchestration; the host agent owns implementation. Do not wait for Rivet to spawn a separate agent. When `rivet variants start`, `rivet status`, `rivet_variants`, or `rivet_status` returns `nextAction.action=\"complete_host_variant_work\"`, complete those work items from the current host session. Prefer parallelism: use one subagent or parallel task per work item when the host supports it, because each item has an isolated worktree. Report each item with `rivet variants complete` or `rivet_variants` action `complete`.\n\n**Never cancel to unblock.** If `variants start` is rejected with `start_in_flight`, a start is still provisioning (status reports `variants.starting: true` \u2014 can take minutes); poll status and retry once it clears. If rejected with `active_session`, the user has live work: report the conflict and let them decide, or refine the active session with `--target`. Cancelling a session destroys the user's in-progress exploration \u2014 only do it when the user explicitly asks.\n";
10
10
  //# sourceMappingURL=cursor-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-rules.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/cursor-rules.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAGjD,eAAO,MAAM,oBAAoB,w4OAShC,CAAC"}
1
+ {"version":3,"file":"cursor-rules.d.ts","sourceRoot":"","sources":["../../../src/utils/skills/cursor-rules.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAGjD,eAAO,MAAM,oBAAoB,8sRAShC,CAAC"}
@@ -8,7 +8,7 @@ const cli_guidance_1 = require("./cli-guidance");
8
8
  * (project scope is where Cursor reads rules files from; the user-scope
9
9
  * install writes the command allowlist instead).
10
10
  */
11
- exports.CURSOR_RULES_VERSION = 44;
11
+ exports.CURSOR_RULES_VERSION = 46;
12
12
  exports.CURSOR_RULES_FILENAME = 'rivet.mdc';
13
13
  const CURSOR_RULES_VERSION_MARKER = `rivet-rules-version: ${exports.CURSOR_RULES_VERSION}`;
14
14
  exports.CURSOR_RULES_CONTENT = `---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rivet-design",
3
- "version": "0.13.0",
3
+ "version": "0.13.2",
4
4
  "description": "Local visual web development tool with AI-powered code modification",
5
5
  "main": "dist/index.js",
6
6
  "workspaces": [