Skip to content

Harzva/RepoAtlas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RepoAtlas logo

RepoAtlas

A Rust desktop atlas for managing multiple GitHub accounts, local Git checkouts, sync drift, and repository context tags.

Release CI Windows macOS License: MIT GitHub Pages

Download | Website | Install Guide | Plugin TODO | Quick Start | Workflow

RepoAtlas dashboard preview

Why RepoAtlas

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.

Highlights

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.

Quick Start

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.

Download

  1. Open Latest Release.
  2. Windows: download RepoAtlas-vX.Y.Z-windows-x64.exe.
  3. macOS: download RepoAtlas-vX.Y.Z-macos-ARM64.tar.gz, extract it, and run ./RepoAtlas from Terminal.
  4. Sign in with GitHub CLI when you want live rescans:
gh auth login

Leave 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

Install Tutorial

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 --version works.
  • Confirm gh --version works.
  • Click Check in the RepoAtlas sidebar to verify authentication.
  • Click Login only when gh is installed but not authenticated.
  • Use custom gh.exe path when you carry a portable GitHub CLI.

Beginner Login Guide

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\Projects or D:\work\repos.
  • No token import inside RepoAtlas.

Local Development

git clone https://github.com/Harzva/RepoAtlas.git
cd RepoAtlas
cargo run

Build a release binary:

cargo build --release

Workflow

flowchart 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"]
Loading

Context Tabs

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.

Configuration

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.

Project Structure

.
|-- 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

Release Checklist

  • 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

License

MIT

About

RepoAtlas maps multiple GitHub accounts to local Git checkouts, context categories, sync drift, and desktop folder actions.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors