← All repositories

hivevm/ocelli

View and edit Git repositories. A Git client that draws history as a lane graph, as desktop app (Tauri), terminal app or read-only remote server.

  • Rust
  • Tauri
  • Git
  • Web UI
Language
Rust · TypeScript
License
MIT
Commits
52 commits
Last update
Oct 2026
View on GitHub

01 / Overview

Ocelli draws a Git repository’s commit history as a graph, with each branch in its own lane and merges drawn as orthogonal edges, and lets you edit the repository from that view. It runs as a desktop app, a terminal app, or a remote server that serves the same interface to a browser.

Features include commit detail with SHA, message, author, parents, children and changed files; search over message, author, SHA and refs; lineage highlighting for a selected commit; keyboard navigation; dark and light themes; and background loading of history with virtual rendering for large repositories.

The project is driven by a written specification and Architecture Decision Records in docs/.

02 / Architecture

How it fits together

Desktop

Tauri app. Run it with bun run tauri dev, or build installers with bun run tauri build.

Terminal

ocelli-cli opens the repository at a path, defaulting to the current directory. An ASCII flag is available for terminals without box-drawing characters.

Server

ocelli-server serves the same interface to a browser. It only reads unless started with the allow-writes flag.

Lane graph

Each branch in its own lane, merges as orthogonal edges, with chips for branches, remotes and tags, plus stash and uncommitted-change rows.

03 / Decisions

Specifications and decisions

Written specifications and architecture decision records live next to the code, so the reasoning behind the design stays reviewable.

  • docs/Specification and Architecture Decision Records

04 / Getting started

Try it

Prerequisites and exact server options are in the README.

$ git clone https://github.com/hivevm/ocelli
$ cd ocelli
$ bun install --frozen-lockfile
$ bun run tauri dev
$ cargo run -p ocelli-cli -- .