Skip to content

vicheanath/gitk-rs

Repository files navigation

gitk-rs logo

GitK-RS

A modern Git visualization tool written in Rust with a React frontend, built with Tauri.

Build Status License Tauri Rust React

GitK-RS Demo Screenshot
GitK-RS commit graph and UI demo


πŸš€ Features

  • Commit Graph Visualization: Interactive DAG visualization with zoom, pan, and node selection
  • Branch Management: View, create, checkout, and delete branches
  • Tag Browsing: Explore repository tags
  • Commit Details: View commit metadata, changed files, and diffs
  • Search: Search commits by message
  • Keyboard Shortcuts: Navigate efficiently with keyboard
  • Dark/Light Theme: Toggle between themes
  • Cross-platform: Works on Linux, macOS, and Windows

πŸ“¦ Prerequisites

  • Node.js (v18 or later)
  • Rust (latest stable)
  • Git (for the repository you want to visualize)

πŸ› οΈ Installation

  1. Clone the repository:
    git clone https://github.com/vicheanath/gitk-rs.git
    cd gitk-rs
  2. Install dependencies:
    npm install
  3. Build the application:
    npm run tauri build

πŸ‘©β€πŸ’» Development

To start the development server:

npm run tauri dev

This will start the Vite dev server and launch the Tauri application.

πŸ§‘β€πŸŽ¨ Usage

  1. Launch the application
  2. Click Open Repository and select a Git repository
  3. Explore the commit graph, branches, and tags
  4. Click on commits to view details and diffs
  5. Use keyboard shortcuts for quick navigation

⌨️ Keyboard Shortcuts

Shortcut Action
/ Focus search bar
b Toggle sidebar
q Quit application
Arrow keys Navigate commits (coming soon)

πŸ“ Project Structure

gitk-rs/
β”œβ”€β”€ src-tauri/          # Rust backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ git_engine/ # Git operations
β”‚   β”‚   β”œβ”€β”€ app_core/   # State management
β”‚   β”‚   └── commands.rs # Tauri commands
β”‚   └── Cargo.toml
β”œβ”€β”€ src/                # React frontend
β”‚   β”œβ”€β”€ components/     # UI components
β”‚   β”œβ”€β”€ hooks/          # React hooks
β”‚   β”œβ”€β”€ types/          # TypeScript types
β”‚   └── styles/         # CSS styles
└── package.json

🧰 Technologies

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A modern Git visualization tool written in Rust with a React frontend, built with Tauri.

Topics

Resources

License

Stars

Watchers

Forks

Contributors