Workflow
In Rover, a workflow defines a set of steps to complete a certain kind of task. They’re like templates that tell the agent how to work - for example, the Software Engineering / swe workflow guides the agent through software engineering tasks.
Each workflow is designed for a specific use case and guides AI coding agents to complete it autonomously. Currently, Rover includes the following workflows:
- Software Engineering (
swe): Guides the agent through software engineering tasks, such as writing code, fixing bugs, and implementing features. - Technical Writing (
tech-writer): Helps the agent create technical documentation, such as developer documentation, end-user guides, and tutorials.
You can check the available workflows by running the following command:
rover workflows list
# Rover (v1.4.1) · /home/angel/Workspace/rover# --------------------------------------------# Name Description Steps Inputs# ───────────────────────────────────────────────────────────────────────────────────────────────────# swe Complete software engineering workflow with ada... 6 description# tech-writer Write documentation and tutorials for your tech... 4 description, audience, formatTo use a specific workflow, you can specify it when creating a new task:
rover task --workflow tech-writerWorkflow Definition
Section titled “Workflow Definition”Workflows are defined using YAML files that specify:
- Inputs: The parameters required to start the workflow (e.g., description, audience, format)
- Outputs: The expected results of the workflow (e.g., documentation files)
- Configuration: Settings that control how the workflow operates (e.g., model settings, time limits)
- Steps: The sequence of actions the agent will take to complete the workflow (e.g., research, draft, review, finalize)
If you want to check a full workflow definition, checkout the Workflow File Reference.
Processing workflow
Section titled “Processing workflow”When you create a task, Rover copies the selected workflow into the task folder. Then, the Rover agent manager that runs in the sandboxed environment reads the workflow file and executes each step sequentially.
This tool ensures that the coding agent follows the defined process, using the specified inputs and producing the expected outputs. It validates each step’s completion before moving to the next one.
To check it, you can retrieve the task logs and check the different steps:
rover logs <task-id>
# =======================================# 🚀 Running Workflow# =======================================# Loading inputs from /inputs.json## Agent Workflow# ├── Name: tech-writer# └── Description: Write documentation and tutorials for your technical projects## User inputs# ├── title=Document rover.json and settings.json configuration files# ├── description=Create high-level documentation explaining the purpose ...# ├── audience=end users (default)# └── format=markdown (default)## Steps# ├── 0. Context Analysis# ├── 1. Outline# ├── 2. Draft# └── 3. Review## 🤖 Running Context Analysis > claude# ✓ Step 'Context Analysis' completed successfully## 📊 Step Results: Context Analysis# ├── ID: context# ├── Status: ✓ Success# ├── Duration: 171.34s# └── Outputs:# ├── context_file: /output/context.md# └── context_file_content: # Documentation Context...## 🤖 Running Outline > claude# ...Custom Workflows
Section titled “Custom Workflows”You can adapt workflows that are Rover built-in, or you can create workflows of your own. Custom workflows can either be saved to the global store, or local to current project. By default, workflows are added locally to the current project, but you can use the --global flag to refer to the global workflows when you are in a project.
Custom workflows are required to follow the Workflow YAML file format documented here.
If you want to start from an existing workflow, you can first dump its contents to a file in the filesystem:
rover workflows inspect swe --raw > improved-swe.yamlMake the changes you want on the improved-swe.yaml, and import it.
rover workflows add --name improved-swe improved-swe.yamlYou can now refer to this workflow normally, for example:
rover task --workflow improved-swe 'Improve the installation script to check that the user has root permissions'You can follow the Write workflows guide in order to create your own workflows that accomodate your custom use cases or needs.