rivet-design 0.12.4 → 0.13.0

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 (535) hide show
  1. package/README.md +50 -26
  2. package/README.npm.md +50 -26
  3. package/bin/rivet.js +39 -24
  4. package/dist/{mcp/agent-variants → agent-variants}/SessionStore.d.ts +11 -19
  5. package/dist/agent-variants/SessionStore.d.ts.map +1 -0
  6. package/dist/{mcp/agent-variants → agent-variants}/SessionStore.js +64 -79
  7. package/dist/agent-variants/SessionStore.js.map +1 -0
  8. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.d.ts +53 -21
  9. package/dist/agent-variants/WorktreeOrchestrator.d.ts.map +1 -0
  10. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.js +291 -49
  11. package/dist/agent-variants/WorktreeOrchestrator.js.map +1 -0
  12. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.testHelpers.d.ts +1 -9
  13. package/dist/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +1 -0
  14. package/dist/{mcp/agent-variants → agent-variants}/WorktreeOrchestrator.testHelpers.js +3 -18
  15. package/dist/agent-variants/WorktreeOrchestrator.testHelpers.js.map +1 -0
  16. package/dist/agent-variants/briefContent.d.ts.map +1 -0
  17. package/dist/agent-variants/briefContent.js.map +1 -0
  18. package/dist/{mcp/agent-variants → agent-variants}/contracts.d.ts +715 -721
  19. package/dist/agent-variants/contracts.d.ts.map +1 -0
  20. package/dist/{mcp/agent-variants → agent-variants}/contracts.js +2 -3
  21. package/dist/agent-variants/contracts.js.map +1 -0
  22. package/dist/agent-variants/createProjectArtifacts.d.ts.map +1 -0
  23. package/dist/agent-variants/createProjectArtifacts.js.map +1 -0
  24. package/dist/agent-variants/diffQa.d.ts.map +1 -0
  25. package/dist/agent-variants/diffQa.js.map +1 -0
  26. package/dist/{mcp/agent-variants → agent-variants}/elementRefToTarget.d.ts +1 -1
  27. package/dist/agent-variants/elementRefToTarget.d.ts.map +1 -0
  28. package/dist/agent-variants/elementRefToTarget.js.map +1 -0
  29. package/dist/agent-variants/errors.d.ts.map +1 -0
  30. package/dist/agent-variants/errors.js.map +1 -0
  31. package/dist/agent-variants/generatedDestination.d.ts +29 -0
  32. package/dist/agent-variants/generatedDestination.d.ts.map +1 -0
  33. package/dist/agent-variants/generatedDestination.js +59 -0
  34. package/dist/agent-variants/generatedDestination.js.map +1 -0
  35. package/dist/{mcp/agent-variants → agent-variants}/index.d.ts +3 -6
  36. package/dist/agent-variants/index.d.ts.map +1 -0
  37. package/dist/{mcp/agent-variants → agent-variants}/index.js +3 -6
  38. package/dist/agent-variants/index.js.map +1 -0
  39. package/dist/agent-variants/previewQa.d.ts.map +1 -0
  40. package/dist/agent-variants/previewQa.js.map +1 -0
  41. package/dist/agent-variants/runLabel.d.ts.map +1 -0
  42. package/dist/agent-variants/runLabel.js.map +1 -0
  43. package/dist/agent-variants/runPlan.d.ts.map +1 -0
  44. package/dist/agent-variants/runPlan.js.map +1 -0
  45. package/dist/agent-variants/sourceContext.d.ts.map +1 -0
  46. package/dist/agent-variants/sourceContext.js.map +1 -0
  47. package/dist/agent-variants/variantContext.d.ts.map +1 -0
  48. package/dist/agent-variants/variantContext.js.map +1 -0
  49. package/dist/cli/client.d.ts +43 -0
  50. package/dist/cli/client.d.ts.map +1 -0
  51. package/dist/cli/client.js +109 -0
  52. package/dist/cli/client.js.map +1 -0
  53. package/dist/cli/commandNames.d.ts +9 -0
  54. package/dist/cli/commandNames.d.ts.map +1 -0
  55. package/dist/cli/commandNames.js +24 -0
  56. package/dist/cli/commandNames.js.map +1 -0
  57. package/dist/cli/commands/auth.d.ts +10 -0
  58. package/dist/cli/commands/auth.d.ts.map +1 -0
  59. package/dist/cli/commands/auth.js +81 -0
  60. package/dist/cli/commands/auth.js.map +1 -0
  61. package/dist/cli/commands/elementSelector.d.ts +10 -0
  62. package/dist/cli/commands/elementSelector.d.ts.map +1 -0
  63. package/dist/cli/commands/elementSelector.js +41 -0
  64. package/dist/cli/commands/elementSelector.js.map +1 -0
  65. package/dist/cli/commands/evidence.d.ts +9 -0
  66. package/dist/cli/commands/evidence.d.ts.map +1 -0
  67. package/dist/cli/commands/evidence.js +85 -0
  68. package/dist/cli/commands/evidence.js.map +1 -0
  69. package/dist/cli/commands/mcpServe.d.ts +40 -0
  70. package/dist/cli/commands/mcpServe.d.ts.map +1 -0
  71. package/dist/cli/commands/mcpServe.js +440 -0
  72. package/dist/cli/commands/mcpServe.js.map +1 -0
  73. package/dist/cli/commands/open.d.ts +28 -0
  74. package/dist/cli/commands/open.d.ts.map +1 -0
  75. package/dist/cli/commands/open.js +280 -0
  76. package/dist/cli/commands/open.js.map +1 -0
  77. package/dist/cli/commands/reference.d.ts +8 -0
  78. package/dist/cli/commands/reference.d.ts.map +1 -0
  79. package/dist/cli/commands/reference.js +101 -0
  80. package/dist/cli/commands/reference.js.map +1 -0
  81. package/dist/cli/commands/serve.d.ts +9 -0
  82. package/dist/cli/commands/serve.d.ts.map +1 -0
  83. package/dist/cli/commands/serve.js +182 -0
  84. package/dist/cli/commands/serve.js.map +1 -0
  85. package/dist/cli/commands/shared.d.ts +31 -0
  86. package/dist/cli/commands/shared.d.ts.map +1 -0
  87. package/dist/cli/commands/shared.js +82 -0
  88. package/dist/cli/commands/shared.js.map +1 -0
  89. package/dist/cli/commands/status.d.ts +10 -0
  90. package/dist/cli/commands/status.d.ts.map +1 -0
  91. package/dist/cli/commands/status.js +61 -0
  92. package/dist/cli/commands/status.js.map +1 -0
  93. package/dist/cli/commands/stop.d.ts +8 -0
  94. package/dist/cli/commands/stop.d.ts.map +1 -0
  95. package/dist/cli/commands/stop.js +41 -0
  96. package/dist/cli/commands/stop.js.map +1 -0
  97. package/dist/cli/commands/variants.d.ts +4 -0
  98. package/dist/cli/commands/variants.d.ts.map +1 -0
  99. package/dist/cli/commands/variants.js +374 -0
  100. package/dist/cli/commands/variants.js.map +1 -0
  101. package/dist/cli/commands/wait.d.ts +10 -0
  102. package/dist/cli/commands/wait.d.ts.map +1 -0
  103. package/dist/cli/commands/wait.js +101 -0
  104. package/dist/cli/commands/wait.js.map +1 -0
  105. package/dist/cli/entry.d.ts +12 -0
  106. package/dist/cli/entry.d.ts.map +1 -0
  107. package/dist/cli/entry.js +61 -0
  108. package/dist/cli/entry.js.map +1 -0
  109. package/dist/cli/envelope.d.ts +60 -0
  110. package/dist/cli/envelope.d.ts.map +1 -0
  111. package/dist/cli/envelope.js +57 -0
  112. package/dist/cli/envelope.js.map +1 -0
  113. package/dist/cli/flags.d.ts +20 -0
  114. package/dist/cli/flags.d.ts.map +1 -0
  115. package/dist/cli/flags.js +72 -0
  116. package/dist/cli/flags.js.map +1 -0
  117. package/dist/cli/handoff.d.ts +54 -0
  118. package/dist/cli/handoff.d.ts.map +1 -0
  119. package/dist/cli/handoff.js +106 -0
  120. package/dist/cli/handoff.js.map +1 -0
  121. package/dist/cli/handoffStore.d.ts +24 -0
  122. package/dist/cli/handoffStore.d.ts.map +1 -0
  123. package/dist/cli/handoffStore.js +49 -0
  124. package/dist/cli/handoffStore.js.map +1 -0
  125. package/dist/cli/hostWorkNextAction.d.ts +45 -0
  126. package/dist/cli/hostWorkNextAction.d.ts.map +1 -0
  127. package/dist/cli/hostWorkNextAction.js +43 -0
  128. package/dist/cli/hostWorkNextAction.js.map +1 -0
  129. package/dist/cli/io.d.ts +17 -0
  130. package/dist/cli/io.d.ts.map +1 -0
  131. package/dist/cli/io.js +19 -0
  132. package/dist/cli/io.js.map +1 -0
  133. package/dist/cli/router.d.ts +23 -0
  134. package/dist/cli/router.d.ts.map +1 -0
  135. package/dist/cli/router.js +236 -0
  136. package/dist/cli/router.js.map +1 -0
  137. package/dist/cli/runnerSelection.d.ts +60 -0
  138. package/dist/cli/runnerSelection.d.ts.map +1 -0
  139. package/dist/cli/runnerSelection.js +93 -0
  140. package/dist/cli/runnerSelection.js.map +1 -0
  141. package/dist/cli/serverHandshake.d.ts +51 -0
  142. package/dist/cli/serverHandshake.d.ts.map +1 -0
  143. package/dist/cli/serverHandshake.js +144 -0
  144. package/dist/cli/serverHandshake.js.map +1 -0
  145. package/dist/index.d.ts +2 -14
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +84 -138
  148. package/dist/index.js.map +1 -1
  149. package/dist/install/allowlists.d.ts +65 -0
  150. package/dist/install/allowlists.d.ts.map +1 -0
  151. package/dist/install/allowlists.js +333 -0
  152. package/dist/install/allowlists.js.map +1 -0
  153. package/dist/install/codexGuidance.d.ts +11 -0
  154. package/dist/install/codexGuidance.d.ts.map +1 -0
  155. package/dist/install/codexGuidance.js +90 -0
  156. package/dist/install/codexGuidance.js.map +1 -0
  157. package/dist/install/harnesses.d.ts +37 -26
  158. package/dist/install/harnesses.d.ts.map +1 -1
  159. package/dist/install/harnesses.js +312 -502
  160. package/dist/install/harnesses.js.map +1 -1
  161. package/dist/install/legacyMcp.d.ts +26 -0
  162. package/dist/install/legacyMcp.d.ts.map +1 -0
  163. package/dist/install/legacyMcp.js +160 -0
  164. package/dist/install/legacyMcp.js.map +1 -0
  165. package/dist/install/mcpRegistration.d.ts +45 -0
  166. package/dist/install/mcpRegistration.d.ts.map +1 -0
  167. package/dist/install/mcpRegistration.js +215 -0
  168. package/dist/install/mcpRegistration.js.map +1 -0
  169. package/dist/mcp/changeBatchClassification.d.ts +18 -20
  170. package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
  171. package/dist/mcp/changeBatchClassification.js +41 -46
  172. package/dist/mcp/changeBatchClassification.js.map +1 -1
  173. package/dist/proxy-middleware/proxy-config.d.ts +6 -0
  174. package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
  175. package/dist/proxy-middleware/proxy-config.js +162 -5
  176. package/dist/proxy-middleware/proxy-config.js.map +1 -1
  177. package/dist/routes/agentVariants.d.ts +14 -2
  178. package/dist/routes/agentVariants.d.ts.map +1 -1
  179. package/dist/routes/agentVariants.js +321 -65
  180. package/dist/routes/agentVariants.js.map +1 -1
  181. package/dist/routes/cli.d.ts +31 -0
  182. package/dist/routes/cli.d.ts.map +1 -0
  183. package/dist/routes/cli.js +95 -0
  184. package/dist/routes/cli.js.map +1 -0
  185. package/dist/routes/git.d.ts +1 -0
  186. package/dist/routes/git.d.ts.map +1 -1
  187. package/dist/routes/git.js +2 -1
  188. package/dist/routes/git.js.map +1 -1
  189. package/dist/routes/inlineStartTracker.d.ts +23 -0
  190. package/dist/routes/inlineStartTracker.d.ts.map +1 -0
  191. package/dist/routes/inlineStartTracker.js +17 -0
  192. package/dist/routes/inlineStartTracker.js.map +1 -0
  193. package/dist/routes/mcp.d.ts +2 -12
  194. package/dist/routes/mcp.d.ts.map +1 -1
  195. package/dist/routes/mcp.js +4 -785
  196. package/dist/routes/mcp.js.map +1 -1
  197. package/dist/server.d.ts +24 -9
  198. package/dist/server.d.ts.map +1 -1
  199. package/dist/server.js +169 -33
  200. package/dist/server.js.map +1 -1
  201. package/dist/services/CommitMessageGenerator.d.ts +9 -1
  202. package/dist/services/CommitMessageGenerator.d.ts.map +1 -1
  203. package/dist/services/CommitMessageGenerator.js +4 -1
  204. package/dist/services/CommitMessageGenerator.js.map +1 -1
  205. package/dist/services/ComponentSearchService.d.ts +4 -1
  206. package/dist/services/ComponentSearchService.d.ts.map +1 -1
  207. package/dist/services/ComponentSearchService.js.map +1 -1
  208. package/dist/services/ConfigManager.d.ts +8 -0
  209. package/dist/services/ConfigManager.d.ts.map +1 -1
  210. package/dist/services/ConfigManager.js +9 -0
  211. package/dist/services/ConfigManager.js.map +1 -1
  212. package/dist/services/HistoryReplayService.d.ts +20 -9
  213. package/dist/services/HistoryReplayService.d.ts.map +1 -1
  214. package/dist/services/HistoryReplayService.js +99 -43
  215. package/dist/services/HistoryReplayService.js.map +1 -1
  216. package/dist/services/MCPVariantsTelemetry.d.ts +1 -1
  217. package/dist/services/MCPVariantsTelemetry.d.ts.map +1 -1
  218. package/dist/services/MCPVariantsTelemetry.js +1 -0
  219. package/dist/services/MCPVariantsTelemetry.js.map +1 -1
  220. package/dist/services/PRTitleGenerator.d.ts +10 -2
  221. package/dist/services/PRTitleGenerator.d.ts.map +1 -1
  222. package/dist/services/PRTitleGenerator.js +8 -2
  223. package/dist/services/PRTitleGenerator.js.map +1 -1
  224. package/dist/services/ProjectDetectionService.d.ts.map +1 -1
  225. package/dist/services/ProjectDetectionService.js +14 -4
  226. package/dist/services/ProjectDetectionService.js.map +1 -1
  227. package/dist/services/ProjectMetadataStore.d.ts +115 -0
  228. package/dist/services/ProjectMetadataStore.d.ts.map +1 -0
  229. package/dist/services/ProjectMetadataStore.js +336 -0
  230. package/dist/services/ProjectMetadataStore.js.map +1 -0
  231. package/dist/services/SessionBridgeService.d.ts +52 -224
  232. package/dist/services/SessionBridgeService.d.ts.map +1 -1
  233. package/dist/services/SessionBridgeService.js +97 -649
  234. package/dist/services/SessionBridgeService.js.map +1 -1
  235. package/dist/services/SessionService.d.ts +4 -1
  236. package/dist/services/SessionService.d.ts.map +1 -1
  237. package/dist/services/SessionService.js +7 -4
  238. package/dist/services/SessionService.js.map +1 -1
  239. package/dist/services/StaticFileService.d.ts.map +1 -1
  240. package/dist/services/StaticFileService.js +6 -0
  241. package/dist/services/StaticFileService.js.map +1 -1
  242. package/dist/services/TelemetryService.d.ts +16 -80
  243. package/dist/services/TelemetryService.d.ts.map +1 -1
  244. package/dist/services/TelemetryService.js +18 -94
  245. package/dist/services/TelemetryService.js.map +1 -1
  246. package/dist/services/VariantGenerationService.d.ts +52 -0
  247. package/dist/services/VariantGenerationService.d.ts.map +1 -0
  248. package/dist/services/VariantGenerationService.js +272 -0
  249. package/dist/services/VariantGenerationService.js.map +1 -0
  250. package/dist/services/VariantHistoryService.d.ts +37 -1
  251. package/dist/services/VariantHistoryService.d.ts.map +1 -1
  252. package/dist/services/VariantHistoryService.js +122 -1
  253. package/dist/services/VariantHistoryService.js.map +1 -1
  254. package/dist/services/VariantRunService.d.ts +25 -6
  255. package/dist/services/VariantRunService.d.ts.map +1 -1
  256. package/dist/services/VariantRunService.js +98 -4
  257. package/dist/services/VariantRunService.js.map +1 -1
  258. package/dist/services/VariantsRuntime.d.ts +1 -3
  259. package/dist/services/VariantsRuntime.d.ts.map +1 -1
  260. package/dist/services/VariantsRuntime.js +0 -1
  261. package/dist/services/VariantsRuntime.js.map +1 -1
  262. package/dist/services/WorktreeManager.d.ts +1 -1
  263. package/dist/services/WorktreeManager.d.ts.map +1 -1
  264. package/dist/services/createAgentVariantsOrchestrator.d.ts +2 -2
  265. package/dist/services/createAgentVariantsOrchestrator.d.ts.map +1 -1
  266. package/dist/services/createAgentVariantsOrchestrator.js +2 -3
  267. package/dist/services/createAgentVariantsOrchestrator.js.map +1 -1
  268. package/dist/services/projectMetadataMigrations.d.ts +59 -0
  269. package/dist/services/projectMetadataMigrations.d.ts.map +1 -0
  270. package/dist/services/projectMetadataMigrations.js +109 -0
  271. package/dist/services/projectMetadataMigrations.js.map +1 -0
  272. package/dist/types/change-request-types.d.ts +22 -0
  273. package/dist/types/change-request-types.d.ts.map +1 -1
  274. package/dist/utils/logger.d.ts +2 -1
  275. package/dist/utils/logger.d.ts.map +1 -1
  276. package/dist/utils/logger.js +3 -7
  277. package/dist/utils/logger.js.map +1 -1
  278. package/dist/utils/loopback.d.ts +3 -0
  279. package/dist/utils/loopback.d.ts.map +1 -0
  280. package/dist/utils/loopback.js +13 -0
  281. package/dist/utils/loopback.js.map +1 -0
  282. package/dist/utils/pid.d.ts +3 -0
  283. package/dist/utils/pid.d.ts.map +1 -0
  284. package/dist/utils/pid.js +15 -0
  285. package/dist/utils/pid.js.map +1 -0
  286. package/dist/utils/queueAccess.d.ts +7 -0
  287. package/dist/utils/queueAccess.d.ts.map +1 -1
  288. package/dist/utils/queueAccess.js +8 -1
  289. package/dist/utils/queueAccess.js.map +1 -1
  290. package/dist/utils/shouldRecordHostedDemoSessionAction.d.ts +3 -3
  291. package/dist/utils/shouldRecordHostedDemoSessionAction.d.ts.map +1 -1
  292. package/dist/utils/shouldRecordHostedDemoSessionAction.js +3 -19
  293. package/dist/utils/shouldRecordHostedDemoSessionAction.js.map +1 -1
  294. package/dist/utils/skillWriter.d.ts.map +1 -1
  295. package/dist/utils/skillWriter.js +12 -11
  296. package/dist/utils/skillWriter.js.map +1 -1
  297. package/dist/utils/skills/claude-skill.d.ts +7 -2
  298. package/dist/utils/skills/claude-skill.d.ts.map +1 -1
  299. package/dist/utils/skills/claude-skill.js +10 -83
  300. package/dist/utils/skills/claude-skill.js.map +1 -1
  301. package/dist/utils/skills/cli-guidance.d.ts +12 -0
  302. package/dist/utils/skills/cli-guidance.d.ts.map +1 -0
  303. package/dist/utils/skills/cli-guidance.js +57 -0
  304. package/dist/utils/skills/cli-guidance.js.map +1 -0
  305. package/dist/utils/skills/cursor-rules.d.ts +8 -2
  306. package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
  307. package/dist/utils/skills/cursor-rules.js +11 -80
  308. package/dist/utils/skills/cursor-rules.js.map +1 -1
  309. package/dist/utils/variantSessionStart.d.ts +1 -1
  310. package/dist/utils/variantSessionStart.d.ts.map +1 -1
  311. package/dist/utils/variantSessionStart.js +1 -1
  312. package/dist/utils/variantSessionStart.js.map +1 -1
  313. package/package.json +4 -4
  314. package/src/ui/dist/assets/main-BWOvFoal.js +419 -0
  315. package/src/ui/dist/assets/main-Dyos9I29.css +1 -0
  316. package/src/ui/dist/index.html +2 -2
  317. package/dist/mcp/agent-variants/SessionStore.d.ts.map +0 -1
  318. package/dist/mcp/agent-variants/SessionStore.js.map +0 -1
  319. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +0 -1
  320. package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +0 -1
  321. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.d.ts.map +0 -1
  322. package/dist/mcp/agent-variants/WorktreeOrchestrator.testHelpers.js.map +0 -1
  323. package/dist/mcp/agent-variants/areNaSourceContext.d.ts +0 -20
  324. package/dist/mcp/agent-variants/areNaSourceContext.d.ts.map +0 -1
  325. package/dist/mcp/agent-variants/areNaSourceContext.js +0 -118
  326. package/dist/mcp/agent-variants/areNaSourceContext.js.map +0 -1
  327. package/dist/mcp/agent-variants/briefContent.d.ts.map +0 -1
  328. package/dist/mcp/agent-variants/briefContent.js.map +0 -1
  329. package/dist/mcp/agent-variants/contracts.d.ts.map +0 -1
  330. package/dist/mcp/agent-variants/contracts.js.map +0 -1
  331. package/dist/mcp/agent-variants/createProjectArtifacts.d.ts.map +0 -1
  332. package/dist/mcp/agent-variants/createProjectArtifacts.js.map +0 -1
  333. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +0 -63
  334. package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +0 -1
  335. package/dist/mcp/agent-variants/createZeroToOneTool.js +0 -265
  336. package/dist/mcp/agent-variants/createZeroToOneTool.js.map +0 -1
  337. package/dist/mcp/agent-variants/diffQa.d.ts.map +0 -1
  338. package/dist/mcp/agent-variants/diffQa.js.map +0 -1
  339. package/dist/mcp/agent-variants/elementRefToTarget.d.ts.map +0 -1
  340. package/dist/mcp/agent-variants/elementRefToTarget.js.map +0 -1
  341. package/dist/mcp/agent-variants/errors.d.ts.map +0 -1
  342. package/dist/mcp/agent-variants/errors.js.map +0 -1
  343. package/dist/mcp/agent-variants/generatedDestination.d.ts +0 -75
  344. package/dist/mcp/agent-variants/generatedDestination.d.ts.map +0 -1
  345. package/dist/mcp/agent-variants/generatedDestination.js +0 -103
  346. package/dist/mcp/agent-variants/generatedDestination.js.map +0 -1
  347. package/dist/mcp/agent-variants/index.d.ts.map +0 -1
  348. package/dist/mcp/agent-variants/index.js.map +0 -1
  349. package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts +0 -38
  350. package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +0 -1
  351. package/dist/mcp/agent-variants/pendingChangesAdapter.js +0 -93
  352. package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +0 -1
  353. package/dist/mcp/agent-variants/pinterestSourceContext.d.ts +0 -23
  354. package/dist/mcp/agent-variants/pinterestSourceContext.d.ts.map +0 -1
  355. package/dist/mcp/agent-variants/pinterestSourceContext.js +0 -137
  356. package/dist/mcp/agent-variants/pinterestSourceContext.js.map +0 -1
  357. package/dist/mcp/agent-variants/previewQa.d.ts.map +0 -1
  358. package/dist/mcp/agent-variants/previewQa.js.map +0 -1
  359. package/dist/mcp/agent-variants/runLabel.d.ts.map +0 -1
  360. package/dist/mcp/agent-variants/runLabel.js.map +0 -1
  361. package/dist/mcp/agent-variants/runPlan.d.ts.map +0 -1
  362. package/dist/mcp/agent-variants/runPlan.js.map +0 -1
  363. package/dist/mcp/agent-variants/sourceContext.d.ts.map +0 -1
  364. package/dist/mcp/agent-variants/sourceContext.js.map +0 -1
  365. package/dist/mcp/agent-variants/tools.d.ts +0 -187
  366. package/dist/mcp/agent-variants/tools.d.ts.map +0 -1
  367. package/dist/mcp/agent-variants/tools.js +0 -1165
  368. package/dist/mcp/agent-variants/tools.js.map +0 -1
  369. package/dist/mcp/agent-variants/variantContext.d.ts.map +0 -1
  370. package/dist/mcp/agent-variants/variantContext.js.map +0 -1
  371. package/dist/mcp/auth/httpOAuthProvider.d.ts +0 -103
  372. package/dist/mcp/auth/httpOAuthProvider.d.ts.map +0 -1
  373. package/dist/mcp/auth/httpOAuthProvider.js +0 -735
  374. package/dist/mcp/auth/httpOAuthProvider.js.map +0 -1
  375. package/dist/mcp/auth/tools.d.ts +0 -39
  376. package/dist/mcp/auth/tools.d.ts.map +0 -1
  377. package/dist/mcp/auth/tools.js +0 -304
  378. package/dist/mcp/auth/tools.js.map +0 -1
  379. package/dist/mcp/branding.d.ts +0 -4
  380. package/dist/mcp/branding.d.ts.map +0 -1
  381. package/dist/mcp/branding.js +0 -8
  382. package/dist/mcp/branding.js.map +0 -1
  383. package/dist/mcp/hostedServer.d.ts +0 -27
  384. package/dist/mcp/hostedServer.d.ts.map +0 -1
  385. package/dist/mcp/hostedServer.js +0 -71
  386. package/dist/mcp/hostedServer.js.map +0 -1
  387. package/dist/mcp/httpServer.d.ts +0 -63
  388. package/dist/mcp/httpServer.d.ts.map +0 -1
  389. package/dist/mcp/httpServer.js +0 -602
  390. package/dist/mcp/httpServer.js.map +0 -1
  391. package/dist/mcp/instructions.d.ts +0 -25
  392. package/dist/mcp/instructions.d.ts.map +0 -1
  393. package/dist/mcp/instructions.js +0 -39
  394. package/dist/mcp/instructions.js.map +0 -1
  395. package/dist/mcp/integrations/tools.d.ts +0 -19
  396. package/dist/mcp/integrations/tools.d.ts.map +0 -1
  397. package/dist/mcp/integrations/tools.js +0 -101
  398. package/dist/mcp/integrations/tools.js.map +0 -1
  399. package/dist/mcp/server.d.ts +0 -214
  400. package/dist/mcp/server.d.ts.map +0 -1
  401. package/dist/mcp/server.js +0 -2536
  402. package/dist/mcp/server.js.map +0 -1
  403. package/dist/mcp/toolAnalytics.d.ts +0 -26
  404. package/dist/mcp/toolAnalytics.d.ts.map +0 -1
  405. package/dist/mcp/toolAnalytics.js +0 -95
  406. package/dist/mcp/toolAnalytics.js.map +0 -1
  407. package/dist/mcp/types.d.ts +0 -7
  408. package/dist/mcp/types.d.ts.map +0 -1
  409. package/dist/mcp/types.js +0 -3
  410. package/dist/mcp/types.js.map +0 -1
  411. package/dist/mcp/watchLoopResumePrompt.d.ts +0 -16
  412. package/dist/mcp/watchLoopResumePrompt.d.ts.map +0 -1
  413. package/dist/mcp/watchLoopResumePrompt.js +0 -21
  414. package/dist/mcp/watchLoopResumePrompt.js.map +0 -1
  415. package/dist/prompts/agentModPrompts.d.ts +0 -4
  416. package/dist/prompts/agentModPrompts.d.ts.map +0 -1
  417. package/dist/prompts/agentModPrompts.js +0 -34
  418. package/dist/prompts/agentModPrompts.js.map +0 -1
  419. package/dist/prompts/tokenWriterPrompts.d.ts +0 -4
  420. package/dist/prompts/tokenWriterPrompts.d.ts.map +0 -1
  421. package/dist/prompts/tokenWriterPrompts.js +0 -59
  422. package/dist/prompts/tokenWriterPrompts.js.map +0 -1
  423. package/dist/routes/comments.d.ts +0 -3
  424. package/dist/routes/comments.d.ts.map +0 -1
  425. package/dist/routes/comments.js +0 -113
  426. package/dist/routes/comments.js.map +0 -1
  427. package/dist/routes/components.d.ts +0 -7
  428. package/dist/routes/components.d.ts.map +0 -1
  429. package/dist/routes/components.js +0 -88
  430. package/dist/routes/components.js.map +0 -1
  431. package/dist/routes/controls.d.ts +0 -7
  432. package/dist/routes/controls.d.ts.map +0 -1
  433. package/dist/routes/controls.js +0 -50
  434. package/dist/routes/controls.js.map +0 -1
  435. package/dist/routes/design.d.ts +0 -2
  436. package/dist/routes/design.d.ts.map +0 -1
  437. package/dist/routes/design.js +0 -29
  438. package/dist/routes/design.js.map +0 -1
  439. package/dist/routes/modifications.d.ts +0 -10
  440. package/dist/routes/modifications.d.ts.map +0 -1
  441. package/dist/routes/modifications.js +0 -394
  442. package/dist/routes/modifications.js.map +0 -1
  443. package/dist/routes/tokens.d.ts +0 -2
  444. package/dist/routes/tokens.d.ts.map +0 -1
  445. package/dist/routes/tokens.js +0 -115
  446. package/dist/routes/tokens.js.map +0 -1
  447. package/dist/services/AgentSessionService.d.ts +0 -91
  448. package/dist/services/AgentSessionService.d.ts.map +0 -1
  449. package/dist/services/AgentSessionService.js +0 -282
  450. package/dist/services/AgentSessionService.js.map +0 -1
  451. package/dist/services/BridgeBatchPipeline.d.ts +0 -103
  452. package/dist/services/BridgeBatchPipeline.d.ts.map +0 -1
  453. package/dist/services/BridgeBatchPipeline.js +0 -295
  454. package/dist/services/BridgeBatchPipeline.js.map +0 -1
  455. package/dist/services/BridgeQueueStore.d.ts +0 -28
  456. package/dist/services/BridgeQueueStore.d.ts.map +0 -1
  457. package/dist/services/BridgeQueueStore.js +0 -88
  458. package/dist/services/BridgeQueueStore.js.map +0 -1
  459. package/dist/services/CSSTokenWriter.d.ts +0 -22
  460. package/dist/services/CSSTokenWriter.d.ts.map +0 -1
  461. package/dist/services/CSSTokenWriter.js +0 -116
  462. package/dist/services/CSSTokenWriter.js.map +0 -1
  463. package/dist/services/DesignTokenService.d.ts +0 -39
  464. package/dist/services/DesignTokenService.d.ts.map +0 -1
  465. package/dist/services/DesignTokenService.js +0 -100
  466. package/dist/services/DesignTokenService.js.map +0 -1
  467. package/dist/services/InlineVariantGenerationService.d.ts +0 -51
  468. package/dist/services/InlineVariantGenerationService.d.ts.map +0 -1
  469. package/dist/services/InlineVariantGenerationService.js +0 -475
  470. package/dist/services/InlineVariantGenerationService.js.map +0 -1
  471. package/dist/services/InterfaceGenerationService.d.ts +0 -12
  472. package/dist/services/InterfaceGenerationService.d.ts.map +0 -1
  473. package/dist/services/InterfaceGenerationService.js +0 -256
  474. package/dist/services/InterfaceGenerationService.js.map +0 -1
  475. package/dist/services/TailwindConfigWriter.d.ts +0 -24
  476. package/dist/services/TailwindConfigWriter.d.ts.map +0 -1
  477. package/dist/services/TailwindConfigWriter.js +0 -105
  478. package/dist/services/TailwindConfigWriter.js.map +0 -1
  479. package/dist/services/TerminalAgentRunner.d.ts +0 -65
  480. package/dist/services/TerminalAgentRunner.d.ts.map +0 -1
  481. package/dist/services/TerminalAgentRunner.js +0 -511
  482. package/dist/services/TerminalAgentRunner.js.map +0 -1
  483. package/dist/services/VisualVariantAgentRunner.d.ts +0 -20
  484. package/dist/services/VisualVariantAgentRunner.d.ts.map +0 -1
  485. package/dist/services/VisualVariantAgentRunner.js +0 -66
  486. package/dist/services/VisualVariantAgentRunner.js.map +0 -1
  487. package/dist/services/adapters/TailwindCSSTokenAdapter.d.ts +0 -35
  488. package/dist/services/adapters/TailwindCSSTokenAdapter.d.ts.map +0 -1
  489. package/dist/services/adapters/TailwindCSSTokenAdapter.js +0 -278
  490. package/dist/services/adapters/TailwindCSSTokenAdapter.js.map +0 -1
  491. package/dist/services/agent/AgentCore.d.ts +0 -126
  492. package/dist/services/agent/AgentCore.d.ts.map +0 -1
  493. package/dist/services/agent/AgentCore.js +0 -759
  494. package/dist/services/agent/AgentCore.js.map +0 -1
  495. package/dist/services/agent/AgentModService.d.ts +0 -98
  496. package/dist/services/agent/AgentModService.d.ts.map +0 -1
  497. package/dist/services/agent/AgentModService.js +0 -400
  498. package/dist/services/agent/AgentModService.js.map +0 -1
  499. package/dist/services/agent/index.d.ts +0 -2
  500. package/dist/services/agent/index.d.ts.map +0 -1
  501. package/dist/services/agent/index.js +0 -6
  502. package/dist/services/agent/index.js.map +0 -1
  503. package/dist/types/editor-interface-types.d.ts +0 -67
  504. package/dist/types/editor-interface-types.d.ts.map +0 -1
  505. package/dist/types/editor-interface-types.js +0 -12
  506. package/dist/types/editor-interface-types.js.map +0 -1
  507. package/dist/utils/elementRefToContext.d.ts +0 -4
  508. package/dist/utils/elementRefToContext.d.ts.map +0 -1
  509. package/dist/utils/elementRefToContext.js +0 -63
  510. package/dist/utils/elementRefToContext.js.map +0 -1
  511. package/dist/utils/skills/shared-variants-protocol.d.ts +0 -69
  512. package/dist/utils/skills/shared-variants-protocol.d.ts.map +0 -1
  513. package/dist/utils/skills/shared-variants-protocol.js +0 -292
  514. package/dist/utils/skills/shared-variants-protocol.js.map +0 -1
  515. package/src/ui/dist/assets/main-Dnah9pII.css +0 -1
  516. package/src/ui/dist/assets/main-plq7aT76.js +0 -656
  517. /package/dist/{mcp/agent-variants → agent-variants}/briefContent.d.ts +0 -0
  518. /package/dist/{mcp/agent-variants → agent-variants}/briefContent.js +0 -0
  519. /package/dist/{mcp/agent-variants → agent-variants}/createProjectArtifacts.d.ts +0 -0
  520. /package/dist/{mcp/agent-variants → agent-variants}/createProjectArtifacts.js +0 -0
  521. /package/dist/{mcp/agent-variants → agent-variants}/diffQa.d.ts +0 -0
  522. /package/dist/{mcp/agent-variants → agent-variants}/diffQa.js +0 -0
  523. /package/dist/{mcp/agent-variants → agent-variants}/elementRefToTarget.js +0 -0
  524. /package/dist/{mcp/agent-variants → agent-variants}/errors.d.ts +0 -0
  525. /package/dist/{mcp/agent-variants → agent-variants}/errors.js +0 -0
  526. /package/dist/{mcp/agent-variants → agent-variants}/previewQa.d.ts +0 -0
  527. /package/dist/{mcp/agent-variants → agent-variants}/previewQa.js +0 -0
  528. /package/dist/{mcp/agent-variants → agent-variants}/runLabel.d.ts +0 -0
  529. /package/dist/{mcp/agent-variants → agent-variants}/runLabel.js +0 -0
  530. /package/dist/{mcp/agent-variants → agent-variants}/runPlan.d.ts +0 -0
  531. /package/dist/{mcp/agent-variants → agent-variants}/runPlan.js +0 -0
  532. /package/dist/{mcp/agent-variants → agent-variants}/sourceContext.d.ts +0 -0
  533. /package/dist/{mcp/agent-variants → agent-variants}/sourceContext.js +0 -0
  534. /package/dist/{mcp/agent-variants → agent-variants}/variantContext.d.ts +0 -0
  535. /package/dist/{mcp/agent-variants → agent-variants}/variantContext.js +0 -0
@@ -1,98 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CLAUDE_SKILL_CONTENT = exports.CLAUDE_SKILL_FILENAME = exports.CLAUDE_SKILL_DIR = exports.CLAUDE_SKILL_VERSION = void 0;
4
- const shared_variants_protocol_1 = require("./shared-variants-protocol");
5
- exports.CLAUDE_SKILL_VERSION = 36;
4
+ const cli_guidance_1 = require("./cli-guidance");
5
+ /**
6
+ * Claude Code skill: CLI-first guidance written to
7
+ * `~/.claude/skills/rivet/SKILL.md` by `rivet install claude`. The version
8
+ * marker gates rewrites so user edits are only replaced by newer guidance.
9
+ */
10
+ exports.CLAUDE_SKILL_VERSION = 45;
6
11
  const CLAUDE_SKILL_VERSION_MARKER = `[//]: # (rivet-skill-version: ${exports.CLAUDE_SKILL_VERSION})`;
7
12
  exports.CLAUDE_SKILL_DIR = 'rivet';
8
13
  exports.CLAUDE_SKILL_FILENAME = 'SKILL.md';
9
- const AGENT_VARIANTS_SECTION = (0, shared_variants_protocol_1.buildAgentVariantsSection)({
10
- inChatEmphasis: 'IN THIS CHAT',
11
- step9: `**Run all code-gen items IN PARALLEL.** Spawn one \`Task\` tool call per work item in a single message — they execute concurrently. Use \`subagent_type: 'general-purpose'\` for every call. Do NOT pass a skill name (e.g. \`frontend-design:frontend-design\`) as \`subagent_type\` — skills are not agent types and Task will error with "Agent type … not found". If a relevant skill is installed (e.g. \`frontend-design\`), reference it in the sub-agent's prompt body instead. Each sub-agent:
12
- - Reads \`input.briefBody\` and \`input.target\`
13
- - When \`input.target\` is present, scope the change to that element/file/route and its immediate section — do not restyle the rest of the page.
14
- - Edits files in \`input.worktreePath\` (each variant has its own isolated worktree)
15
- - Verifies the worktree diff includes CSS or markup changes before calling \`report_work_item\` (kind \`status\`) with status \`'succeeded'\`
16
- - Calls \`report_work_item({ kind: 'status', sessionId, workItemId, leaseId, attempt, status: 'succeeded' })\` itself. On failure, status \`'failed'\` with error description.`,
17
- step11Suffix: `When changes arrive, call \`get_pending_changes({ sessionId })\` and you'll see a \`VariantChangeItem\` in \`changes[]\`.`,
18
- nativeGenLabel: 'Task sub-agents',
19
- });
20
- const CONCURRENT_REFINE_SECTION = (0, shared_variants_protocol_1.buildConcurrentRefineSection)({
21
- dispatchWorker: `**Spawn a background Worker** with the \`Task\` tool (\`run_in_background: true\`, \`subagent_type: 'general-purpose'\`), passing the batch's \`workItemIds\`, the \`sessionId\`, and the \`applyGuide\` in its prompt. You (the top-level session) are the only Coordinator — sub-agents can't reliably nest, so always dispatch workers from here, never from inside a worker.`,
22
- loopBack: `Then **immediately loop back to \`watch_for_changes\`** without waiting for the worker to finish — that's what lets the next change start generating while this one is still in flight.`,
23
- commonMistakes: `- Running the watch loop inside a sub-agent. The coordinator MUST be the top-level session — a sub-agent can't spawn workers, so it ends up generating inline and blocking. Watch from the top level; spawn workers as sub-agents.
24
- - Generating variant HTML in the watch thread. You are the coordinator; you never generate. Always hand the batch to a \`run_in_background\` worker.
25
- - Waiting for a worker to finish before re-calling \`watch_for_changes\`. Dispatch is fire-and-forget — loop back to watch IMMEDIATELY, or the next change just sits in the queue.
26
- - Letting the loop die. If you stop watching (to answer a question, or after an error/interruption), the queue stops draining. Re-arm \`watch_for_changes\` as soon as you're back, and drain \`pendingVariantRequests\` first.`,
27
- });
28
14
  exports.CLAUDE_SKILL_CONTENT = `---
29
15
  name: rivet
30
- description: Rivet — explore multiple design directions for your web app ("/rivet", "use rivet variants", "explore with rivet", "create variants of X", "show me options for X", "build me a settings page from scratch", "create a new Vite todo app", "scaffold a Next.js dashboard", "open rivet", "use rivet", "make a visual change"). Pick the flow based on the user's request — see "Picking the flow" below.
16
+ description: ${cli_guidance_1.CLI_GUIDANCE_DESCRIPTION}
31
17
  ---
32
18
 
33
19
  ${CLAUDE_SKILL_VERSION_MARKER}
20
+ [//]: # (rivet-cli-guidance-version: ${cli_guidance_1.CLI_GUIDANCE_VERSION})
34
21
  # Rivet
35
22
 
36
- Rivet helps you **explore multiple design directions** for your web app. It generates parallel variants you can compare side by side, refine with the comment tool, connect design references from Pinterest or Are.na, and share or implement the direction you choose.
37
-
38
- Rivet also has a **visual editor** flow for direct point-and-click changes to a web app (including empty or HTML-only folders, which open in static mode).
39
-
40
- ${shared_variants_protocol_1.RIVET_OVERVIEW}
41
-
42
- ${shared_variants_protocol_1.PICKING_THE_FLOW_TABLE}
43
-
44
- ---
45
-
46
- ${shared_variants_protocol_1.PROACTIVE_FIRST_DIRECTIONS_SECTION}
47
-
48
- ---
49
-
50
- ## Visual Editor flow
51
-
52
- ## Starting a session
53
-
54
- An **empty folder, HTML-only folder, or standalone HTML file is a valid target** — \`open_visual_editor\` detects the framework and starts the right preview backend. When the user asks for a visual / point-and-click change (or explicitly asks to just open the editor) in such a target, open the editor — do NOT refuse or reroute to variants because there's "no app yet." **First-run exception:** a bare "open rivet" / "use rivet here" with no change described, while the first-run onboarding block is present, goes to **Proactive first directions** above — propose first, do not open an empty editor.
55
-
56
- 1. Call \`open_visual_editor({ projectPath })\` — pass a specific HTML file as \`projectPath\` when the user names one; otherwise pass the folder. Do NOT pass \`startPort\` or any port unless the user provided a running server.
57
- 2. If \`opened: false\`, follow \`nextStep\` / \`nextAction\`; for \`entry_path_required\`, call \`open_visual_editor\` again with the target HTML file or \`entryPath\`.
58
- 3. Tell the user: "Rivet is ready — make your visual changes and click 'Send to Claude Code'."
59
- 4. Follow the structured \`nextAction\` immediately: call \`watch_for_changes({ sessionId })\` and keep the coordinator loop active until the user stops or closes the editor.
60
-
61
- ## Applying changes
62
-
63
- When \`watch_for_changes\` returns, **branch on \`response.kind\` first**:
64
-
65
- - \`kind: 'static_preview_refine'\` (the user tweaked / "Vary"'d static-preview variants in the editor) → this is the concurrent path: follow **"Handling in-editor changes concurrently"** below. Do NOT run the diff-apply steps or stop-and-ask here.
66
- - otherwise (a plain point-and-click diff batch) → run the diff-apply steps below.
67
-
68
- For a plain diff batch (or when the user asks manually):
69
-
70
- 1. \`watch_for_changes\` returns a **leased** apply batch (\`leaseId\`, \`kind: 'apply'\`). While waiting with no lease, status is \`WATCHING\` — not complete.
71
- 2. Apply the changes to the source files listed in \`sourceFiles\`
72
- 3. Call \`get_pending_changes({ sessionId, message: "summary of changes", refresh_git: true })\` to **ack the lease** and update the Rivet UI — only after edits land
73
- 4. Hot reload happens automatically after file changes
74
- 5. Tell the user what you changed
75
- 6. Immediately call \`watch_for_changes({ sessionId })\` again unless the user explicitly asks you to stop or close the editor
76
-
77
- ${shared_variants_protocol_1.DURABLE_BATCH_HANDOFF_SECTION}
78
-
79
- ## Ending a session
80
-
81
- When the user says they're done, call \`close_visual_editor({ sessionId })\`.
82
-
83
- ## Rules
84
-
85
- - Call \`open_visual_editor\` directly; it detects the project and starts the preview backend
86
- - **Always use \`watch_for_changes\`** to wait for user changes — do NOT use Monitor, background shell commands, or manual polling. After a successful open, the structured \`nextAction\` is required and immediate.
87
- - **Never auto-commit** after applying visual changes — let the user decide
88
- - The dev server stays running after \`close_visual_editor\`
89
-
90
- ---
91
-
92
- ${CONCURRENT_REFINE_SECTION}
93
-
94
- ---
95
-
96
- ${AGENT_VARIANTS_SECTION}
23
+ ${cli_guidance_1.CLI_GUIDANCE_BODY}
97
24
  `;
98
25
  //# sourceMappingURL=claude-skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-skill.js","sourceRoot":"","sources":["../../../src/utils/skills/claude-skill.ts"],"names":[],"mappings":";;;AAAA,yEAOoC;AAEvB,QAAA,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,2BAA2B,GAAG,iCAAiC,4BAAoB,GAAG,CAAC;AAEhF,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,sBAAsB,GAAG,IAAA,oDAAyB,EAAC;IACvD,cAAc,EAAE,cAAc;IAC9B,KAAK,EAAE;;;;;kLAKyK;IAChL,YAAY,EAAE,2HAA2H;IACzI,cAAc,EAAE,iBAAiB;CAClC,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAA,uDAA4B,EAAC;IAC7D,cAAc,EAAE,kXAAkX;IAClY,QAAQ,EAAE,yLAAyL;IACnM,cAAc,EAAE;;;gOAG8M;CAC/N,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG;;;;;EAKlC,2BAA2B;;;;;;;EAO3B,yCAAc;;EAEd,iDAAsB;;;;EAItB,6DAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BlC,wDAA6B;;;;;;;;;;;;;;;EAe7B,yBAAyB;;;;EAIzB,sBAAsB;CACvB,CAAC"}
1
+ {"version":3,"file":"claude-skill.js","sourceRoot":"","sources":["../../../src/utils/skills/claude-skill.ts"],"names":[],"mappings":";;;AAAA,iDAIwB;AAExB;;;;GAIG;AAEU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,2BAA2B,GAAG,iCAAiC,4BAAoB,GAAG,CAAC;AAEhF,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAEnC,QAAA,oBAAoB,GAAG;;eAErB,uCAAwB;;;EAGrC,2BAA2B;uCACU,mCAAoB;;;EAGzD,gCAAiB;CAClB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared CLI-first agent guidance. Each host's install artifact (Claude
3
+ * skill, Cursor rules, Codex AGENTS.md section) wraps this body in its own
4
+ * frontmatter. The `rivet` binary is self-teaching too — `rivet --help`
5
+ * states the same contract — because guidance files are softer than
6
+ * registration: an agent can ignore them.
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.";
10
+ /** One-line description used in host frontmatter/description fields. */
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
+ //# sourceMappingURL=cli-guidance.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * Shared CLI-first agent guidance. Each host's install artifact (Claude
4
+ * skill, Cursor rules, Codex AGENTS.md section) wraps this body in its own
5
+ * frontmatter. The `rivet` binary is self-teaching too — `rivet --help`
6
+ * states the same contract — because guidance files are softer than
7
+ * registration: an agent can ignore them.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CLI_GUIDANCE_DESCRIPTION = exports.CLI_GUIDANCE_BODY = exports.CLI_GUIDANCE_VERSION = void 0;
11
+ exports.CLI_GUIDANCE_VERSION = 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
+
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).
15
+
16
+ **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) — plain invocations are what the host allowlist covers.
17
+
18
+ **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\`.
19
+
20
+ **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\`.
21
+
22
+ **MCP tools (opt-in).** If this host has Rivet MCP tools registered (\`rivet_status\`, \`rivet_variants\`, \`rivet_design_context\` — 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 — \`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.
23
+
24
+ ## Commands
25
+
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.
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
+ - \`rivet wait <workId> --project <path> [--timeout <seconds>]\` — bounded block until a work id settles (exit 5 on timeout; re-issue or check status).
30
+ - \`rivet status --project <path> [--watch]\` — session, resolved runner, active run, and the variants snapshot. \`--watch\` streams NDJSON.
31
+ - \`rivet variants status --project <path>\` / \`rivet variants list --project <path> [--history]\` — inspect live or past directions.
32
+ - \`rivet variants commit <variantId> --project <path> [--session <id>]\` — send the chosen direction to the project.
33
+ - \`rivet variants cancel <sessionId> --project <path>\` — cancel a running variants session.
34
+ - \`rivet evidence capture --url <url>\` — rendered design evidence (root variables, element styles, fonts) for a reference URL.
35
+ - \`rivet reference fetch <url>\` — Pinterest / Are.na reference data via the user's connected account.
36
+ - \`rivet auth status\` — signed-in state. If \`authenticated: false\`, tell the user to run \`rivet login\` themselves — never run login for them.
37
+ - \`rivet stop [--project <path>]\` — stop the CLI-owned server.
38
+
39
+ ## Typical flows
40
+
41
+ Existing app:
42
+ 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\`.
44
+ 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
+ 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
+ 5. Show the user the \`editorUrl\` to compare directions; \`rivet variants commit <variantId> --project <path>\` when they pick one.
47
+
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 ...\`.
49
+
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 ...\`.
51
+
52
+ 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
+
54
+ **Never cancel to unblock.** If \`variants start\` is rejected with \`start_in_flight\`, a start is still provisioning (status reports \`variants.starting: true\` — 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 — only do it when the user explicitly asks.`;
55
+ /** One-line description used in host frontmatter/description fields. */
56
+ exports.CLI_GUIDANCE_DESCRIPTION = 'Rivet — 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.';
57
+ //# sourceMappingURL=cli-guidance.js.map
@@ -0,0 +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,4 +1,10 @@
1
- export declare const CURSOR_RULES_VERSION = 35;
1
+ /**
2
+ * Cursor project rules: CLI-first guidance written to
3
+ * `<project>/.cursor/rules/rivet.mdc` when the editor opens a project
4
+ * (project scope is where Cursor reads rules files from; the user-scope
5
+ * install writes the command allowlist instead).
6
+ */
7
+ export declare const CURSOR_RULES_VERSION = 44;
2
8
  export declare const CURSOR_RULES_FILENAME = "rivet.mdc";
3
- export declare const CURSOR_RULES_CONTENT: string;
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";
4
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":"AASA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAuBjD,eAAO,MAAM,oBAAoB,QAkEhC,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,w4OAShC,CAAC"}
@@ -1,93 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CURSOR_RULES_CONTENT = exports.CURSOR_RULES_FILENAME = exports.CURSOR_RULES_VERSION = void 0;
4
- const shared_variants_protocol_1 = require("./shared-variants-protocol");
5
- exports.CURSOR_RULES_VERSION = 35;
4
+ const cli_guidance_1 = require("./cli-guidance");
5
+ /**
6
+ * Cursor project rules: CLI-first guidance written to
7
+ * `<project>/.cursor/rules/rivet.mdc` when the editor opens a project
8
+ * (project scope is where Cursor reads rules files from; the user-scope
9
+ * install writes the command allowlist instead).
10
+ */
11
+ exports.CURSOR_RULES_VERSION = 44;
6
12
  exports.CURSOR_RULES_FILENAME = 'rivet.mdc';
7
13
  const CURSOR_RULES_VERSION_MARKER = `rivet-rules-version: ${exports.CURSOR_RULES_VERSION}`;
8
- const AGENT_VARIANTS_SECTION = (0, shared_variants_protocol_1.buildAgentVariantsSection)({
9
- inChatEmphasis: 'in chat',
10
- step9: `**Run all code-gen items IN PARALLEL** via parallel tool calls in a single response. For each:
11
- - Read \`input.briefBody\` and \`input.target\`
12
- - When \`input.target\` is present, scope the change to that element/file/route and its immediate section — do not restyle the rest of the page.
13
- - Edit files in \`input.worktreePath\` (each variant has its own isolated worktree)
14
- - Verify the worktree diff includes CSS or markup changes before calling \`report_work_item\` (kind \`status\`) with status \`'succeeded'\` — empty or deletion-only diffs fail QA.
15
- - Call \`report_work_item({ kind: 'status', sessionId, workItemId, leaseId, attempt, status: 'succeeded' })\`. On failure, status \`'failed'\` with error description.`,
16
- step11Suffix: `When \`hasChanges: true\`, you'll see a \`VariantChangeItem\` in \`changes[]\`.`,
17
- nativeGenLabel: 'Task tool',
18
- });
19
- const CONCURRENT_REFINE_SECTION = (0, shared_variants_protocol_1.buildConcurrentRefineSection)({
20
- dispatchWorker: `Cursor has no backgroundable sub-agents, so act as the Worker inline: lease the batch via \`continue_variants({ action: 'request_work', workItemIds })\` and generate its items via parallel tool calls in one response, following \`applyGuide\`.`,
21
- loopBack: `Then loop back to \`watch_for_changes\` for the next batch. Per-batch \`workItemIds\` leasing keeps concurrent batches isolated even though you generate one batch at a time — never lease with a bare count, which would greedily grab another batch's work.`,
22
- commonMistakes: `- Leasing with a bare count instead of the batch's \`workItemIds\`. That greedily grabs another batch's work and breaks isolation — always lease the exact \`workItemIds\`.
23
- - Forgetting to loop back to \`watch_for_changes\` after a batch. Cursor generates one batch at a time (no background sub-agents), so the loop is the only thing that picks up the next change — return to watch as soon as the batch is reported.
24
- - Going idle after answering an unrelated question. Re-arm \`watch_for_changes\` whenever you return to the session, and drain any \`pendingVariantRequests\` first.`,
25
- });
26
14
  exports.CURSOR_RULES_CONTENT = `---
27
- description: Rivet — explore multiple design directions for your web app ("/rivet", "use rivet variants", "explore with rivet", "create variants", "show me options for X", "build me X from scratch", "create a new Y app", "open rivet", "open the visual editor")
15
+ description: ${cli_guidance_1.CLI_GUIDANCE_DESCRIPTION}
28
16
  alwaysApply: false
29
17
  ---
30
18
  <!-- ${CURSOR_RULES_VERSION_MARKER} -->
19
+ <!-- rivet-cli-guidance-version: ${cli_guidance_1.CLI_GUIDANCE_VERSION} -->
31
20
  # Rivet
32
21
 
33
- Rivet helps you **explore multiple design directions** for your web app. It generates parallel variants you can compare side by side, refine with the comment tool, connect design references from Pinterest or Are.na, and share or implement the direction you choose.
34
-
35
- Rivet also has a **visual editor** flow for direct point-and-click changes to a web app (including empty or HTML-only folders, which open in static mode).
36
-
37
- > Tip: type \`@rivet.mdc\` in chat to invoke this rule manually.
38
-
39
- ${shared_variants_protocol_1.RIVET_OVERVIEW}
40
-
41
- ${shared_variants_protocol_1.PICKING_THE_FLOW_TABLE}
42
-
43
- ---
44
-
45
- ${shared_variants_protocol_1.PROACTIVE_FIRST_DIRECTIONS_SECTION}
46
-
47
- ---
48
-
49
- ## Visual Editor flow
50
-
51
- ## Starting a session
52
-
53
- An **empty folder, HTML-only folder, or standalone HTML file is a valid target** — \`open_visual_editor\` detects the framework and starts the right preview backend. When the user asks for a visual / point-and-click change (or explicitly asks to just open the editor) in such a target, open the editor — do NOT refuse or reroute to variants because there's "no app yet." **First-run exception:** a bare "open rivet" / "use rivet here" with no change described, while the first-run onboarding block is present, goes to **Proactive first directions** above — propose first, do not open an empty editor.
54
-
55
- 1. Call \`open_visual_editor({ projectPath })\` — pass a specific HTML file as \`projectPath\` when the user names one; otherwise pass the folder. Do NOT pass \`startPort\` or any port unless the user provided a running server.
56
- 2. If \`opened: false\`, follow \`nextStep\` / \`nextAction\`; for \`entry_path_required\`, call \`open_visual_editor\` again with the target HTML file or \`entryPath\`.
57
- 3. Tell the user: "Rivet is ready — make your visual changes and click 'Send to Cursor'."
58
- 4. Follow the structured \`nextAction\` immediately: call \`watch_for_changes({ sessionId })\` and keep the loop active until the user stops or closes the editor.
59
-
60
- ## Watching and applying
61
-
62
- 1. Call \`watch_for_changes({ sessionId })\` — blocks until the user clicks "Send to Cursor". Bridge status becomes \`WATCHING\` while waiting — that is **not** round complete.
63
- 2. If it times out (\`hasChanges: false\`), call it again to keep waiting
64
- 3. **Branch on \`response.kind\`:** \`kind: 'static_preview_refine'\` (static-preview variant tweaks / "Vary"s) → follow **"Handling in-editor changes concurrently"** below instead of the steps here. Otherwise (plain point-and-click diff) → continue with step 4.
65
- 4. When \`hasChanges: true\`, you received a **leased** batch (\`leaseId\`, \`kind: 'apply'\`). Apply the changes to the source files listed in \`sourceFiles\`
66
- 5. Call \`get_pending_changes({ sessionId, message: "summary of changes", refresh_git: true })\` to **ack the lease** and update the Rivet UI — do this only after edits land
67
- 6. Hot reload happens automatically after file changes
68
- 7. Tell the user what you changed
69
- 8. Immediately call \`watch_for_changes({ sessionId })\` again unless the user explicitly asks you to stop or close the editor
70
-
71
- ${shared_variants_protocol_1.DURABLE_BATCH_HANDOFF_SECTION}
72
-
73
- ## Ending a session
74
-
75
- When the user says they're done, call \`close_visual_editor({ sessionId })\`.
76
-
77
- ## Rules
78
-
79
- - Call \`open_visual_editor\` directly; it detects the project and starts the preview backend
80
- - **Always use \`watch_for_changes\`** to wait for user changes — do NOT use Monitor, background shell commands, or manual polling. After a successful open, the structured \`nextAction\` is required and immediate.
81
- - **Never auto-commit** after applying visual changes — let the user decide
82
- - For Cursor/Codex-style hosts without background workers, process each scoped batch inline, then immediately call \`watch_for_changes\` again
83
- - The dev server stays running after \`close_visual_editor\`
84
-
85
- ---
86
-
87
- ${CONCURRENT_REFINE_SECTION}
88
-
89
- ---
90
-
91
- ${AGENT_VARIANTS_SECTION}
22
+ ${cli_guidance_1.CLI_GUIDANCE_BODY}
92
23
  `;
93
24
  //# sourceMappingURL=cursor-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-rules.js","sourceRoot":"","sources":["../../../src/utils/skills/cursor-rules.ts"],"names":[],"mappings":";;;AAAA,yEAOoC;AAEvB,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAC1B,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACjD,MAAM,2BAA2B,GAAG,wBAAwB,4BAAoB,EAAE,CAAC;AAEnF,MAAM,sBAAsB,GAAG,IAAA,oDAAyB,EAAC;IACvD,cAAc,EAAE,SAAS;IACzB,KAAK,EAAE;;;;;0KAKiK;IACxK,YAAY,EAAE,iFAAiF;IAC/F,cAAc,EAAE,WAAW;CAC5B,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAA,uDAA4B,EAAC;IAC7D,cAAc,EAAE,oPAAoP;IACpQ,QAAQ,EAAE,+PAA+P;IACzQ,cAAc,EAAE;;qKAEmJ;CACpK,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG;;;;OAI7B,2BAA2B;;;;;;;;;EAShC,yCAAc;;EAEd,iDAAsB;;;;EAItB,6DAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BlC,wDAA6B;;;;;;;;;;;;;;;;EAgB7B,yBAAyB;;;;EAIzB,sBAAsB;CACvB,CAAC"}
1
+ {"version":3,"file":"cursor-rules.js","sourceRoot":"","sources":["../../../src/utils/skills/cursor-rules.ts"],"names":[],"mappings":";;;AAAA,iDAIwB;AAExB;;;;;GAKG;AAEU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAC1B,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACjD,MAAM,2BAA2B,GAAG,wBAAwB,4BAAoB,EAAE,CAAC;AAEtE,QAAA,oBAAoB,GAAG;eACrB,uCAAwB;;;OAGhC,2BAA2B;mCACC,mCAAoB;;;EAGrD,gCAAiB;CAClB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { ActiveSnapshot } from '../mcp/agent-variants';
1
+ import type { ActiveSnapshot } from '../agent-variants';
2
2
  export declare const isVariantSessionStartBlocked: (snapshot: ActiveSnapshot | undefined) => boolean;
3
3
  //# sourceMappingURL=variantSessionStart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variantSessionStart.d.ts","sourceRoot":"","sources":["../../src/utils/variantSessionStart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,eAAO,MAAM,4BAA4B,GACvC,UAAU,cAAc,GAAG,SAAS,KACnC,OAA4E,CAAC"}
1
+ {"version":3,"file":"variantSessionStart.d.ts","sourceRoot":"","sources":["../../src/utils/variantSessionStart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,eAAO,MAAM,4BAA4B,GACvC,UAAU,cAAc,GAAG,SAAS,KACnC,OAA4E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isVariantSessionStartBlocked = void 0;
4
- const contracts_1 = require("../mcp/agent-variants/contracts");
4
+ const contracts_1 = require("../agent-variants/contracts");
5
5
  const isVariantSessionStartBlocked = (snapshot) => snapshot?.active === true && !contracts_1.TERMINAL_STAGES.has(snapshot.stage);
6
6
  exports.isVariantSessionStartBlocked = isVariantSessionStartBlocked;
7
7
  //# sourceMappingURL=variantSessionStart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variantSessionStart.js","sourceRoot":"","sources":["../../src/utils/variantSessionStart.ts"],"names":[],"mappings":";;;AACA,+DAAkE;AAE3D,MAAM,4BAA4B,GAAG,CAC1C,QAAoC,EAC3B,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,2BAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAFnE,QAAA,4BAA4B,gCAEuC"}
1
+ {"version":3,"file":"variantSessionStart.js","sourceRoot":"","sources":["../../src/utils/variantSessionStart.ts"],"names":[],"mappings":";;;AACA,2DAA8D;AAEvD,MAAM,4BAA4B,GAAG,CAC1C,QAAoC,EAC3B,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,2BAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAFnE,QAAA,4BAA4B,gCAEuC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rivet-design",
3
- "version": "0.12.4",
3
+ "version": "0.13.0",
4
4
  "description": "Local visual web development tool with AI-powered code modification",
5
5
  "main": "dist/index.js",
6
6
  "workspaces": [
@@ -13,7 +13,7 @@
13
13
  "rivet": "./bin/rivet.js"
14
14
  },
15
15
  "scripts": {
16
- "build": "tsc && npm run build:assets && npm run build:ui && npm run build:bin",
16
+ "build": "npm run clean && tsc && npm run build:assets && npm run build:ui && npm run build:bin",
17
17
  "build:assets": "mkdir -p dist/services/templates/designmd && cp src/services/templates/designmd/*.md dist/services/templates/designmd/",
18
18
  "build:ui": "cd src/ui && vite build",
19
19
  "storybook:ui": "yarn workspace @rivet/ui storybook",
@@ -43,8 +43,8 @@
43
43
  "bench:review": "tsx benchmarks/review/server.ts",
44
44
  "bench:review:hosted": "BENCH_REVIEW_HOSTED=true BENCH_REVIEW_OPEN=false tsx benchmarks/review/server.ts --hosted",
45
45
  "bench:list": "tsx benchmarks/list.ts",
46
- "smoke:mcp": "node scripts/smoke-mcp-tools.mjs",
47
- "smoke:bridge-lease": "node scripts/bridge-lease-smoke.mjs",
46
+ "smoke:cli": "node scripts/smoke-cli.mjs",
47
+ "perf:cli": "node scripts/bench-cli.mjs",
48
48
  "check:pre-commit": "npx lint-staged && yarn build && cd src/ui && yarn typecheck && cd ../.. && cd src/proxy && yarn build && cd ../.. && cd desktop/renderer && yarn build && cd ../..",
49
49
  "check:pre-push": "yarn test",
50
50
  "desktop": "yarn build && cd desktop && yarn dev",