Manage and visualize Git repositories across multiple directories and workspaces
Repoflow is a powerful terminal user interface (TUI) tool that helps you manage Git repositories across multiple directories. It provides an intuitive interface for viewing repository status, managing workspaces, and performing Git operations efficiently.
- π₯οΈ Beautiful TUI - Modern terminal interface built with Bubble Tea
- π Multi-directory Support - Scan multiple directories simultaneously
- ποΈ Workspace Management - Save and organize your development environments
- π Git Operations - Stage, commit, and view diffs directly from the interface
- π Repository Overview - Quick status overview of all repositories
- β‘ Fast & Lightweight - Written in Go for optimal performance
- π§ Cross-platform - Works on macOS, Linux, and Windows
brew install njoshi22/tap/repoflowDownload the latest release for your platform from the releases page.
go install github.com/njoshi22/repoflow@latest# Scan current directory
repoflow
# Scan specific directory
repoflow ~/projects
# Scan multiple directories
repoflow -d ~/projects ~/work ~/personal
# Recursive search (up to 2 levels deep)
repoflow -r -d ~/projects# Create/save a workspace
repoflow -w frontend -d ~/web ~/mobile
# Load an existing workspace
repoflow -w frontend
# List all workspaces
repoflow list
# Show workspace details
repoflow show frontend
# Edit a workspace
repoflow edit frontend
# Delete a workspace
repoflow delete frontend| Key | Action |
|---|---|
β/β |
Navigate repositories |
Tab/Enter |
View file details |
l |
View git log |
a |
Stage all changes |
c |
Commit changes |
Esc |
Go back/Exit |
q |
Quit |
# Add the tap
brew tap njoshi22/tap
# Install repoflow
brew install repoflow- Go to the releases page
- Download the appropriate binary for your platform:
- macOS:
repoflow-darwin-amd64(Intel) orrepoflow-darwin-arm64(Apple Silicon) - Linux:
repoflow-linux-amd64orrepoflow-linux-arm64 - Windows:
repoflow-windows-amd64.exe
- macOS:
- Make it executable and move to your PATH:
# macOS/Linux
chmod +x repoflow-*
sudo mv repoflow-* /usr/local/bin/repoflow
# Windows
# Move repoflow-windows-amd64.exe to a directory in your PATHgo install github.com/njoshi22/repoflow@latest# Clone the repository
git clone https://github.com/njoshi22/repoflow.git
cd repoflow
# Build and install
make installRepoflow stores workspace configurations in ~/.config/repoflow/workspaces.json.
{
"workspaces": {
"frontend": {
"name": "frontend",
"directories": ["/home/user/web", "/home/user/mobile"],
"recursive": true
},
"backend": {
"name": "backend",
"directories": ["/home/user/api", "/home/user/services"],
"recursive": false
}
}
}- Go 1.21 or later
- Git
# Clone the repository
git clone https://github.com/njoshi22/repoflow.git
cd repoflow
# Install dependencies
go mod download
# Build for current platform
make build
# Build for all platforms
make build-all
# Run tests
make test
# Install locally
make install| Target | Description |
|---|---|
make build |
Build for current platform |
make install |
Install to /usr/local/bin |
make build-all |
Cross-compile for all platforms |
make test |
Run tests |
make lint |
Run linters |
make clean |
Clean build artifacts |
make help |
Show all available targets |
# Create a workspace for your web projects
repoflow -w webdev -d ~/projects/frontend ~/projects/backend ~/projects/shared
# Later, quickly access your web development environment
repoflow -w webdev
# Add a new directory to the workspace
repoflow -w webdev -d ~/projects/frontend ~/projects/backend ~/projects/shared ~/projects/mobile# Morning standup - check status of all work projects
repoflow -w work
# Switch to personal projects
repoflow -w personal
# Quick check of a specific directory
repoflow ~/urgent-fixContributions are welcome! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Bubble Tea for the TUI framework
- Inspired by tools like lazygit and gh-dash
- Thanks to the Go and open source community
- π Report bugs
- π‘ Request features
- π¬ Discussions
