Your GitHub Command Center
A powerful, self-hosted dashboard that bridges the gap between the cloud and your local machine.
Discover users, track releases, and time-travel through commit history - all in one unified workspace.
Note
Personal Project 🎯 I built this to bridge the gap between cloud and local development. Feel free to explore and learn from it!
Tip
Upgrading from v2.0.0? See MIGRATION.md for the complete upgrade guide.
Deep dive into any GitHub user's profile. Visualize statistics, filter repositories by language/topic, view contribution graphs, and download repos directly to your machine.
Never miss a release again. Build a watchlist of your favorite tools, get visual indicators when updates are available, and download assets directly - bypassing browser limitations.
"Time Travel" for your code. Add any Git repository, browse the complete commit history, and spin up isolated dev servers for any commit. Perfect for:
- Debugging regressions by comparing versions
- Demoing historical states to stakeholders
- Running multiple versions simultaneously
All data stays on your machine. SQLite database, local file storage, and encrypted secrets. No telemetry, no cloud dependencies.
# Clone the repository
git clone https://github.com/qtremors/git-nexus.git
cd git-nexus
# Backend Setup
cd backend
uv sync
uv run uvicorn main:app --reload
# API server starts at http://127.0.0.1:8000
# Frontend Setup (new terminal)
cd frontend
npm install
npm run dev
# UI available at http://127.0.0.1:5173Visit → http://127.0.0.1:5173
Create backend/.env for enhanced security:
# Generate with: uv run python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
FERNET_KEY=<your-generated-key>
# For higher GitHub API rate limits
GITHUB_TOKEN=<your-personal-access-token>| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind + Glassmorphism CSS |
| Backend | FastAPI (Python 3.11+), SQLAlchemy Async, Pydantic |
| Database | SQLite (aiosqlite) |
| External API | GitHub REST API v3 |
git-nexus/
├── backend/ # FastAPI async backend
│ ├── routers/ # API route handlers
│ ├── services/ # Business logic layer
│ ├── models/ # SQLAlchemy ORM models
│ ├── adapters/ # Runtime adapters (servers)
│ ├── utils/ # Crypto, security, logging
│ ├── data/ # SQLite database
│ └── main.py # Entry point
├── frontend/ # React SPA
│ ├── src/
│ │ ├── api/ # API client
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Route pages
│ │ └── store/ # State management
│ └── package.json
├── workspaces/ # Git worktrees for Replay
├── DEVELOPMENT.md # Developer documentation
├── CHANGELOG.md # Version history
├── MIGRATION.md # v2 → v3 upgrade guide
├── LICENSE.md # License terms
└── README.md
| Document | Description |
|---|---|
| DEVELOPMENT.md | Architecture, API reference, setup guide |
| CHANGELOG.md | Version history and release notes |
| MIGRATION.md | Upgrading from v2.0.0 |
| LICENSE.md | License terms and attribution |
# Backend Tests
cd backend
uv run pytest
# Frontend Tests
cd frontend
npm run test:run
# Frontend Build Check
cd frontend
npm run buildTremors Source License (TSL) - Source-available license allowing viewing, forking, and derivative works with mandatory attribution. Commercial use requires written permission.
See LICENSE.md for full terms.
Made with ❤️ by Tremors