Skip to content

Global Store

Rover maintains a global store for configuration, task metadata, workspaces, and logs. Each project has its own separate folder. This guide explains the directory structure, files, and how to troubleshoot common issues.

The global store location depends on your operating system:

PlatformLocation
macOS~/.rover
Linux~/.rover
Windows%APPDATA%\Rover

The global store is created automatically the first time you run a Rover command. All directories are created with restricted permissions (mode 0700) to protect your data.

To verify your global store exists:

Terminal window
# macOS/Linux
ls -la ~/.rover
# Windows (PowerShell)
Get-Item "$env:APPDATA\Rover"

Use the rover info command to view information about your global store and all registered projects:

Terminal window
rover info
# Rover Store Information
# -----------------------
# · Store Path: /home/user/.rover/data
# · Registered Projects: 2
#
# Projects
# --------
#
# user/my-app
# ├── ID: user-my-app-a1b2c3d4
# ├── Path: /home/user/projects/my-app
# └── Tasks: 5
#
# user/api-server
# ├── ID: user-api-server-e5f6g7h8
# ├── Path: /home/user/work/api-server
# └── Tasks: 3

The command displays:

  • Store Path: Location of the global data directory
  • Registered Projects: Total number of projects Rover is tracking
  • Per-project details: ID, filesystem path, and task count for each project

For scripting and automation, use the --json flag to get machine-readable output:

Terminal window
rover info --json

The global store contains three main directories:

  • Directory~/.rover/
    • Directoryconfig/ Global configuration
      • rover.json Main configuration file
    • Directorydata/ Task and project data
      • Directoryprojects/ Per-project storage
        • Directory<project-id>/ Individual project folders
          • Directorytasks/ Task metadata
          • Directoryworkspaces/ Git worktrees
          • Directorylogs/ Execution logs
    • Directorycache/ Temporary cached data
DirectoryPurpose
config/Global configuration including registered projects and user preferences
data/Project data including tasks, workspaces, and logs
cache/Temporary data that can be safely deleted

Note: On Windows, the cache directory is stored separately at %LOCALAPPDATA%\Rover\cache.

The config/ directory contains Rover’s global configuration file and other elements like workflows. The files in this folder applies to all the projects in your system.

  • rover.json: the main configuration file containing user preferences and project registrations.
  • workflows: folder that contains global workflows for all projects.

This directory is created on first Rover CLI use, along with a default rover.json file.

The rover.json file is the central configuration file for Rover. It stores user preferences, AI agent settings, and the registry of all projects you’ve used with Rover. This file is auto-generated and managed by the Rover CLI, so you don’t need to edit it.

If you want to customize a specific project, create a Project Configuration file.

Each project you use with Rover is registered. Registration happens automatically when you run Rover commands in a project directory.

Project IDs use the format: <clean-name>-<hash>

  • clean-name: Repository name with invalid filename characters replaced by hyphens
  • hash: First 8 characters of SHA256 hash of the project path

This ensures unique IDs even for projects with the same name as long as they are in different locations.

Example:

  • Project path: /Users/developer/projects/my-app
  • Repository name: my-app
  • Generated ID: my-app-a1b2c3d4

The data/ directory stores all runtime data for your projects, including tasks, Git worktrees, and logs.

  • Directory~/.rover/data/
    • Directoryprojects/
      • Directory<project-id>/
        • Directorytasks/
        • Directoryworkspaces/
        • Directorylogs/

Each registered project has its own subdirectory under data/projects/, named using the project ID:

SubdirectoryPurpose
tasks/Task metadata (description.json files)
workspaces/Git worktrees for isolated task execution
logs/Execution logs for each task

Each task is stored in its own numbered folder under tasks/:

  • Directory~/.rover/data/projects/<project-id>/tasks/
    • Directory1/
      • description.json
      • Directoryiterations/
        • Directory1/
        • Directory2/
    • Directory2/
      • description.json
      • Directoryiterations/
    • Directory3/
      • description.json

Task IDs are sequential integers starting from 1 for each project.

The cache directory stores temporary data that Rover uses to improve performance. This data can be safely deleted without losing important information.

PlatformLocation
macOS/Linux~/.rover/cache
Windows%LOCALAPPDATA%\Rover\cache

To clear the cache:

Terminal window
# macOS/Linux
rm -rf ~/.rover/cache
# Windows (PowerShell)
Remove-Item -Recurse "$env:LOCALAPPDATA\Rover\cache"