Navigate Git Projects at Light Speed
Transform your workflow from 6 tedious steps to a single command. Clone, search, and jump to any project instantly.
? Select repository:
❯ kjuulh/gitnow
butikkaerlighilsen/api
HermansenDump/website
Cloning into ~/git/git.kjuulh.io/kjuulh/gitnow...
✓ Ready to code!
Built for Developer Velocity
Stop wasting time on repetitive git operations. Focus on what matters: writing code.
Lightning Fast
Jump to any project in seconds. No more navigating directories or remembering clone URLs.
Fuzzy Search
Find projects instantly with intelligent fuzzy matching across all your configured repositories.
Multi-Forge Support
Connect GitHub, Gitea, GitLab, and more. Manage all your repositories from one place.
Smart Caching
Already cloned? Instantly navigate there. Need to clone? It happens automatically.
Customizable
Configure post-clone hooks, update commands, and organize projects exactly how you want.
Shell Integration
Works seamlessly with bash, zsh, and more. One command to rule them all: git now
Get Started in 60 Seconds
Install gitnow and transform your development workflow immediately.
1 Install gitnow
Using Cargo:
cargo install gitnow
Or download the binary:
curl -sSL https://git.kjuulh.io/kjuulh/gitnow/releases/latest/download/gitnow-linux-amd64 -o gitnow
chmod +x gitnow
sudo mv gitnow /usr/local/bin/
2 Shell Integration
For zsh (add to ~/.zshrc):
eval "$(gitnow init zsh)"
For bash (add to ~/.bashrc):
eval "$(gitnow init bash)"
3 Configure Your Forges
Create ~/.config/gitnow/gitnow.toml and add your git forges:
[[providers.github]]
access_token = { env = "GITHUB_ACCESS_TOKEN" }
current_user = "yourusername"
users = ["yourusername"]
organisations = ["yourorg"]
[[providers.gitea]]
url = "https://git.example.com/api/v1"
access_token = { env = "GITEA_ACCESS_TOKEN" }
current_user = "yourusername"
You're Ready!
Start using gitnow with these commands:
# Use the full command
git-now
# Or the short alias
git now
# Or even shorter
gn
Advanced Configuration
Customize gitnow to perfectly fit your workflow with powerful configuration options.
Post-Clone Hooks
Automatically run commands after cloning a repository:
[settings]
# Run these after cloning any repository
post_clone_command = [
"git pull",
"npm install",
"jj git init --colocate"
]
Post-Update Commands
Keep your local repositories up to date automatically:
[settings]
# Run these when navigating to existing repos
post_update_command = [
"git pull",
"jj git fetch"
]
Cache Configuration
Control caching behavior for faster repository discovery:
[settings.cache]
# Custom cache location
location = "$HOME/.cache/gitnow"
# Cache duration (in seconds)
duration = 3600
Multiple Forge Support
Connect all your git forges in one configuration:
# GitHub configuration
[[providers.github]]
access_token = { env = "GITHUB_ACCESS_TOKEN" }
current_user = "yourusername"
users = ["user1", "user2"]
organisations = ["org1", "org2"]
# Gitea configuration
[[providers.gitea]]
url = "https://git.company.com/api/v1"
access_token = { env = "GITEA_ACCESS_TOKEN" }
current_user = "yourusername"
users = ["team-member1", "team-member2"]
organisations = ["company-org"]
# GitLab configuration
[[providers.gitlab]]
url = "https://gitlab.company.com"
access_token = { env = "GITLAB_ACCESS_TOKEN" }
current_user = "yourusername"
Environment Variables
Set up your access tokens securely:
# Add to your shell profile
export GITHUB_ACCESS_TOKEN="ghp_your_token_here"
export GITEA_ACCESS_TOKEN="your_gitea_token"
export GITLAB_ACCESS_TOKEN="your_gitlab_token"
Ready to Accelerate Your Workflow?
Join developers who've transformed their git workflow with gitnow.