A Rust desktop atlas for managing multiple GitHub accounts, local Git checkouts, sync drift, and repository context tags.
Download | Website | Install Guide | Plugin TODO | Quick Start | Workflow
GitHub becomes a real context layer only when remote repositories, local folders, account boundaries, and project context tabs are visible in one place. RepoAtlas connects those layers so you can see what exists online, what is cloned locally, what has drifted, and which repositories belong to contexts such as Agents, Memory, Skills, MCP, Workflow, Rules, and Hooks.
| Capability | What it gives you |
|---|---|
| Multi-account inventory | Scan one or many GitHub accounts or account-router aliases in the same atlas. |
| Local bridge | Match github.com/owner/repo remotes to local Git folders and open them from the app. |
| Context tabs | Automatically tag repositories as Agents, Memory, Skills, MCP, Workflow, Rules, Hooks, or Other. A repo can carry multiple tabs. |
| Local context evidence | Scan local Agents/Memory/Skills/MCP/Workflow/Rules/Hooks markers, attach matched evidence to repositories, and keep unlinked contexts in a secondary panel. |
| Drift signals | Show synced, behind, ahead, diverged, dirty, no-upstream, and no-local-copy. |
| Themeable dashboard | Switch between Atlas, Midnight, Paper, and Aurora themes. |
| Guided login | Check GitHub CLI status, launch browser login, or set a custom gh.exe path from the app. |
| Login+ account access | Add scan accounts, trigger browser auth, or pass a one-time token to GitHub CLI without storing it in RepoAtlas. |
| GitHub live details | Open a repository card to see Issues, Pull Requests, Releases, Pages, Deployments, and Packages with links back to GitHub. |
| Progress feedback | Scan and login operations show visible progress steps instead of a completion-only toast. |
| Portable reports | Export live JSON, CSV, and Markdown reports from the local app. |
| Cross-platform releases | GitHub Actions builds Windows exe and macOS tar.gz assets. |
Important
RepoAtlas is a Rust WebView desktop app. Windows users may need the Microsoft Edge WebView2 Runtime; live rescans also require Git and GitHub CLI. If the app opens a blank window or the Login button cannot start authentication, install WebView2 Runtime, Git, and GitHub CLI first.
- Open Latest Release.
- Windows: download
RepoAtlas-vX.Y.Z-windows-x64.exe. - macOS: download
RepoAtlas-vX.Y.Z-macos-ARM64.tar.gz, extract it, and run./RepoAtlasfrom Terminal. - Sign in with GitHub CLI when you want live rescans:
gh auth loginLeave the account field empty to scan the current gh login. Enter multiple accounts or local router aliases on separate lines to merge them into one atlas:
Harzva
saihao
| Step | Windows | macOS | Source build |
|---|---|---|---|
| 1. Download | Get RepoAtlas-vX.Y.Z-windows-x64.exe from the latest release. |
Get RepoAtlas-vX.Y.Z-macos-ARM64.tar.gz and extract it. |
git clone https://github.com/Harzva/RepoAtlas.git |
| 2. Prepare | Install Git, GitHub CLI, and WebView2 Runtime if the window is blank. | Install Git and GitHub CLI. macOS uses system WebKit. | Install stable Rust, Git, GitHub CLI, and platform WebView dependencies. |
| 3. Login | Click Login in RepoAtlas or run gh auth login --web. |
Click Login in RepoAtlas or run gh auth login --web. |
Run gh auth login --web before cargo run for live scans. |
| 4. Scan | Add accounts and scan roots, then click Refresh. |
Run ./RepoAtlas, add accounts and scan roots, then click Refresh. |
Run cargo run, then use the same in-app scan flow. |
Recommended first-run checklist:
- Confirm
git --versionworks. - Confirm
gh --versionworks. - Click
Checkin the RepoAtlas sidebar to verify authentication. - Click
Loginonly whenghis installed but not authenticated. - Use custom
gh.exepath when you carry a portable GitHub CLI.
RepoAtlas does not provide its own GitHub OAuth screen and does not store GitHub secrets. It runs local gh commands and reads the result.
| Method | Best for | How it works |
|---|---|---|
| In-app Login button | Most desktop users | Click Login, finish the browser flow, then RepoAtlas verifies gh auth status. |
| Login+ | Multi-account users | Add an account alias, start browser auth, or pass a one-time token to GitHub CLI. |
| GitHub CLI web login | Terminal users | Run gh auth login --web, finish the browser flow, then refresh RepoAtlas. |
Current gh login |
Single-account users | Leave the app's GitHub accounts field empty. |
| Multiple account aliases | Users with account routing | Put one account or router alias per line, for example Harzva and saihao. |
| Custom gh path | Portable CLI users | Set the path to gh.exe in the sidebar before login or scan. |
| Token/headless login | Automation or locked-down machines | Configure gh auth login --with-token or GH_TOKEN outside the app. |
A new user only needs:
- Git installed.
- GitHub CLI installed and authenticated with
gh auth login. - Optional GitHub account names or local router aliases.
- Optional scan roots such as
C:\Users\you\ProjectsorD:\work\repos. - No token import inside RepoAtlas.
git clone https://github.com/Harzva/RepoAtlas.git
cd RepoAtlas
cargo runBuild a release binary:
cargo build --releaseflowchart LR
A["GitHub CLI accounts"] --> B["Remote repositories"]
C["Scan roots"] --> D["Local Git repositories"]
C --> J["Local context evidence"]
D --> E["Remote URL normalization"]
B --> F["Repository key map"]
E --> F
F --> G["Sync status + local paths"]
J --> H["Context tabs + Git scope"]
G --> H
H --> I["RepoAtlas dashboard + reports"]
RepoAtlas ships with automatic context inference so a repository collection can become a usable agent-context map without stopping being repository-centered. Repositories can carry multiple tabs, so an AGENTS.md project can appear under both Agents and Rules, while a local MCP skill pack can appear under both Skills and MCP.
| Tab | Typical signals |
|---|---|
| Agents | .codex/, .claude/, .agents/, agents/, AGENTS.md, CLAUDE.md, agent/codex/claude naming. |
| Memory | memory/, memories/, memory-bank/, knowledge/, MEMORY.md, RAG/vector/knowledge wording. |
| Skills | Codex skills, agent skills, local .codex/skills style projects. |
| MCP | MCP servers, connectors, model-context-protocol tooling. |
| Workflow | .github/workflows/, workflow(s), GitHub Actions, CI/CD wording. |
| Rules | .cursor/rules/, .cursorrules, rules/, RULES.md, AGENTS.md, CLAUDE.md. |
| Hooks | .githooks/, hooks/, .pre-commit-config.yaml, pre-push/webhook tooling. |
| Other | Repositories without a confident context signal. |
| Variable | Purpose |
|---|---|
REPO_ATLAS_ACCOUNTS |
Optional comma/semicolon/newline separated account or router aliases. |
REPO_ATLAS_ACCOUNT |
Backward-compatible single account alias. |
REPO_ATLAS_SCAN_ROOTS |
Scan roots separated by the OS path delimiter. |
REPO_ATLAS_MAX_DEPTH |
Directory depth for local Git discovery. Default: 10. |
REPO_ATLAS_DATA |
Writable inventory JSON path. |
REPO_ATLAS_NO_FETCH=1 |
Skip git fetch during scans. |
.
|-- Cargo.toml # Rust application manifest
|-- src/main.rs # WebView shell, local API, scanner
|-- public/ # Embedded dashboard UI
|-- data/seed-inventory.json # Empty seed inventory for first launch
|-- docs/ # GitHub Pages site
|-- assets/ # README visuals
`-- .github/workflows/ # CI, Release, and Pages automation
- CI:
cargo fmt --all -- --check,cargo check --locked,node --check public/app.js - Release: push a
v*tag to build Windows and macOS assets - Pages: deploys from
/docs - Keep generated inventories free of credentials and private local paths before committing
MIT