Propose a recipe change (draft PR)
propose_recipe_changeDraft edits to files the app recipe allows as one pull request; dry run returns diffs and baseSha, confirm opens the draft PR without merging.
Instructions
Propose edits to files the app recipe allows (design tokens, budgets in mushi.recipe.json, .env.example declarations, store listing text under store.listingDir) as ONE draft pull request. Dry run by default: returns the diff of each file, with the baseSha it was taken against, and any path that is not writable (workflows, env files, lockfiles, generated exports and migrations never are) or whose new content would not parse (mushi.recipe.json, the inventory). Send each baseSha back on the confirm so a file that changed since is refused. confirm: true opens the draft PR; it stays a draft so the repo CI does not run until the owner marks it ready, and nothing is merged or published. Confirm with the user before confirm: true. Returns { dryRun, files, denied } or { jobId, status, prUrl }. Write.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| edits | Yes | ||
| title | No | ||
| confirm | No | true opens the draft PR; omitted or false is a dry run | |
| element | Yes | Which part of the recipe the edit belongs to | |
| projectId | No | Project UUID — defaults to the server-configured project when omitted (`project_id` is accepted too.) |