Rivets
Documentation

Pull requests and merging

The Checks tab in a task’s inspector is where work gets published. One button carries the task from branch to merge, changing as the pull request moves along. Pull requests need a repository connected through the GitHub App.

The one button

The button sits at the top right of the inspector, or in the task header while the inspector is hidden. It shows the next step:

Button When What one click does
Create PR No pull request yet Writes any missing title, description, and commit message, commits, pushes, and opens the pull request.
Push changes The pull request has new local work Commits and pushes it.
Checks running or Checks failed Required checks are pending or failing Opens Checks.
Resolve The branch conflicts with its base, or a Rivets merge is unfinished Merges the base locally, asks the agent to resolve conflicts, verifies, finishes the merge, and pushes.
Mark ready The pull request is a draft Marks it ready for review.
Merge Checks passed and nothing blocks merging Merges the reviewed head.
Review required or PR #N Another merge blocker Opens Checks.

Its menu also has Create draft PR, Commit and push, Open on GitHub, Merge PR (Merge anyway… while something blocks the merge), and Mark ready or Convert to draft.

Title, description, and commit message

The pull request title and description sit at the top of Checks as editable text. Leave them empty and Create PR writes them. You can also choose Write with AI to draft them first. When there are uncommitted changes, a commit message is written too.

Generation runs on the worker with your own agent, on its smallest model. The prompts are customizable under Settings › Prompts as Pull requests and Commit messages. See Custom prompts.

Rivets autosaves a draft of the title and description. Autosaving does not edit GitHub. For an open pull request, choose Save changes to update it on GitHub. If someone else edits the text in another client or on GitHub, Rivets tells you under the fields.

Git status

Below the draft, Git status lists one line per fact, each with its action:

Line Action
No PR open Create PR
N uncommitted changes Commit and push (Commit without a GitHub connection)
N unpushed commits Push
N commits behind main Pull

Push only pushes committed work and never adds uncommitted edits. Pull fetches the selected base and merges it locally. These actions never force-push, rebase, silently stash, or discard work.

Conflicts

When the branch conflicts with its base, choose Resolve. Rivets commits local work, merges the base locally, and asks the agent to resolve the conflicts. A file that still contains conflict markers counts as unresolved, even when staged. The agent gets one retry. If conflicts remain, Rivets stops and tells you.

While a Rivets merge is in progress, you can inspect the conflicted files or send the resolution to an agent. Then choose:

  • Continue to verify the index and branch and finish the merge.
  • Abort to undo the merge Rivets started. It refuses to discard edits made afterwards.

Stop a running agent before changing git state.

Checks

The Checks view lists, for the current head:

  • Check runs and deployments, each linking to its source on GitHub.
  • The review decision.
  • Unresolved review threads. Choose Fix on a thread to send it to the agent.
  • A merge line: Ready to merge with Merge, Draft PR with Mark ready, or the reason merging is blocked.

Missing permissions or evidence never count as passing. A check GitHub does not classify counts as required.

Merge anyway

When checks fail, stall, or never report, the blocked merge line offers Merge anyway. After you confirm, Rivets merges the reviewed head regardless of the readiness gate. It still requires write access, an open pull request, and no other git action running. GitHub’s branch protection still has the final say.

Merge method

Owners set the default merge method under Settings › Git workflow › Merge method:

  • Squash and merge
  • Create a merge commit
  • Rebase and merge

To override it for one repository, use Repository override in the same section, or open Repository settings from the project’s menu on Home.

Auto-archive

Under Settings › Git workflow › Auto-archive, Archive a workspace when its pull request is merged archives the task after a merge, including merges completed on GitHub. Rivets learns about merges through GitHub webhooks.

Reading the changes

  • Changes lists every changed file with line counts. Open a file to see its diff in Unified or Split layout.
  • Files shows the worktree as it is on disk, including ignored files and build output. Folders load as you open them.

Limits

  • Rivets publishes to a branch with the same name on origin in the same repository.
  • Pull requests from forks, alternate push remotes, and mismatched origins are not supported. Rivets rejects them with an explanation.
  • Repositories added as credential-free or file:// remotes can commit but cannot open pull requests.

Type to search the docs.