Project Overview & Installation
Relevant source files
The following files were used as context for generating this wiki page:
Rebase provides a graphical user interface (GUI) for coding agents, allowing you to interface with multiple third-party agent subscriptions including Claude Code, Cursor, Codex, and Devin. It organizes agent activity into project-based sessions, providing dedicated tabs for conversations, Git worktrees, and file editing.
The system features "Pilots," which are experimental agents that operate across projects. Pilots maintain a persistent memory and execute scheduled tasks via an automation system. Rebase integrates directly with local development environments, supporting platform-specific installers for macOS, Linux, and Windows.
Sources: README.md:1-26, src/features/pilots/model/pilotFiles.ts:251-260
System Architecture
Rebase uses a hybrid architecture combining a React/Tauri production application with an experimental Rust + GPUI native preview. The backend, written in Rust, handles low-level system operations such as filesystem access, Git integration, and external service communication (e.g., GitLab).
Core Components
| Component | Description |
|---|---|
| Tauri Core | Manages the application lifecycle and bridges the frontend with the Rust backend. |
| Pilots | Agents with cross-project persistent memory stored in SOUL.md and MEMORY.md. |
| Skills | Portable Markdown-based instructions (SKILL.md) that define specific agent behaviors. |
| Automations | Scheduled tasks triggered by time or external events (GitHub/Linear) using templates. |
| Orchestration | Logic for breaking down complex requests into tasks assigned to specific worker models. |
Sources: README.md:46-60, src/features/pilots/model/pilotFiles.ts:9-20, src/features/skills/model/createSkill.ts:41-55, src/features/automations/model/automationTemplates.ts:28-44
Logic and Data Flow
The application coordinates between the user interface and the underlying agent harnesses. When a user sends a message, the system plans the agent context, incorporating identity rules (Soul) and historical facts (Memory).
The diagram shows how user input is enriched with Pilot identity and memory before being processed by the orchestration engine into specific tasks for agent harnesses.
Sources: src/features/pilots/model/pilotFiles.ts:162-180, src/features/orchestration/model/orchestrationPlan.ts:182-195
Installation and Setup
Prerequisites
Before installing Rebase, you must install and sign in to at least one supported agent provider (e.g., Claude, Cursor, or Codex).
- Node.js: Version 20+ (22+ for Native preview)
- Rust: Stable toolchain
- Bun: Package manager
Sources: README.md:28-30, README.md:73-82
Binary Installation
Official binaries are distributed via GitHub Releases.
- macOS: Download
.dmg, open, and drag to Applications. - Windows: Run the
.exeinstaller. - Linux: Install via
.deb,.rpm, orAppImage. Dependencies vary by distribution.
Sources: README.md:32-41
Building from Source
To build the production Tauri application:
bun install
bun run tauri dev
To build the experimental Native preview (macOS only):
bun run native:dev # Uses separate development database
bun run native:build # Uses production Rebase data
Sources: README.md:84-86, README.md:95-97
Integrated Services and Data Storage
External Integrations
Rebase integrates with version control and issue tracking services. For example, the GitLab module manages authentication and repository discovery.
- GitLab: Authenticates via
PRIVATE-TOKEN, supports custom URLs, and handles Merge Requests/Issues. - GitHub/Linear: Triggers automations based on events like
pull_request_openedorissue_created.
Sources: src-tauri/src/gitlab.rs:94-124, src/features/automations/model/automationTemplates.ts:114-120
Filesystem Layout
Rebase stores configuration and agent-specific data in the standard application data directory.
| Path | Purpose |
|---|---|
~/.agents/skills/ | Personal skills available across all projects. |
.agents/skills/ | Project-specific skills within a repository. |
rebase.db | Main application database shared between Tauri and Native versions. |
gitlab-config.json | Stores encrypted GitLab connection settings. |
Sources: src/features/skills/model/createSkill.ts:14-17, README.md:103-108, src-tauri/src/gitlab.rs:777-783
Pilot Context and Memory
Pilots utilize a specific "Soul" and "Memory" system to maintain consistency. The Soul defines the agent's core instructions, while the Memory stores facts learned over time.
The sequence illustrates how Pilots retrieve their state from the filesystem and inject it into the active conversation turn.
Sources: src/features/pilots/model/pilotFiles.ts:31-62, src/features/pilots/model/pilotFiles.ts:251-275
Summary
Rebase provides a unified interface for multiple coding agents, emphasizing project organization and persistent agent state. By leveraging a Rust backend and a web-based frontend, it delivers cross-platform support and high-performance Git and filesystem integrations. Users can extend the system through portable Skills and automated task templates, while the Orchestration engine ensures complex development workflows are handled efficiently across different AI models.
Sources: README.md:1-15, src/features/orchestration/model/orchestrationPlan.ts:182-190