Streamline your Git workflows with powerful automation and best practices.
- Smart Branch Management - Create and manage feature, hotfix, and release branches
- Automated Workflows - Streamline common Git operations with single commands
- Conventional Commits - Interactive commit creation following best practices
- Branch Synchronization - Keep branches up-to-date with configurable strategies
- Cleanup Automation - Remove merged branches safely
- Multi-Platform - Works on Linux, macOS, and Windows
- Repository Analytics - View commit statistics and contributor data
- Interactive Undo - Safely revert recent Git operations
- Version Tagging - Semantic versioning support
# Linux
curl -LO https://github.com/Nonanti/gwf-cli/releases/latest/download/gwf-linux-amd64.tar.gz
tar xzf gwf-linux-amd64.tar.gz
sudo mv gwf /usr/local/bin/
# macOS
curl -LO https://github.com/Nonanti/gwf-cli/releases/latest/download/gwf-macos-amd64.tar.gz
tar xzf gwf-macos-amd64.tar.gz
sudo mv gwf /usr/local/bin/
# Windows (PowerShell)
Invoke-WebRequest -Uri https://github.com/Nonanti/gwf-cli/releases/latest/download/gwf-windows-amd64.zip -OutFile gwf.zip
Expand-Archive gwf.zip -DestinationPath .
# Add gwf.exe to your PATHcargo install gwf# Initialize in your repository
gwf init
# Create a feature branch
gwf feature awesome-feature
# Make changes and commit
gwf commit
# Create a pull request
gwf pr
# Clean up after merge
gwf cleanup| Command | Description | Example |
|---|---|---|
init |
Initialize GWF in repository | gwf init |
feature |
Create feature branch | gwf feature user-auth |
hotfix |
Create hotfix branch | gwf hotfix security-patch |
release |
Create release branch | gwf release 1.2.0 |
commit |
Create conventional commit | gwf commit |
sync |
Sync with remote | gwf sync |
cleanup |
Remove merged branches | gwf cleanup |
pr |
Create pull request | gwf pr |
standup |
Generate standup report | gwf standup |
config |
Manage configuration | gwf config --edit |
completions |
Generate shell completions | gwf completions bash |
GWF uses .gwf.toml for configuration:
[workflows]
feature_branch_prefix = "feature/"
hotfix_branch_prefix = "hotfix/"
release_branch_prefix = "release/"
main_branch = "main"
[commits]
conventional = true
sign_commits = false
[sync]
strategy = "rebase" # or "merge"
auto_stash = true
[cleanup]
delete_merged = true
protect_branches = ["main", "master", "develop"]gwf feature new-feature # Create feature branch
# ... make changes ...
gwf commit # Interactive commit
gwf sync # Sync with upstream
gwf pr # Create pull request
gwf cleanup # Clean up after mergegwf hotfix critical-fix # Create hotfix branch
# ... fix issue ...
gwf commit -m "fix: resolve critical issue"
gwf pr --target main
gwf release patch --tag # Create patch releasegwf release minor # Create release branch
gwf commit -m "chore: bump version"
gwf pr --title "Release v1.2.0"
# After merge
git tag v1.2.0 && git push --tagsEnable auto-completion for your shell:
# Bash
gwf completions bash > ~/.bash_completion.d/gwf
# Zsh
gwf completions zsh > ~/.zfunc/_gwf
# Fish
gwf completions fish > ~/.config/fish/completions/gwf.fish
# PowerShell
gwf completions powershell | Out-String | Invoke-Expression- Git 2.0+
- GitHub CLI (optional, for PR features)
- PR creation only works with GitHub CLI currently
gwf bisectautomated mode may not work with all test scripts- Remote sync sometimes fails with large repositories
- Stats command can be slow on repos with 10k+ commits
- GitLab and Bitbucket support for PR creation
- Interactive rebase helper
- Commit message templates
- Hook management system
- Plugin architecture
Contributions are welcome! Please check out the issues or submit a pull request.
MIT License - see LICENSE for details.
Built with Rust for speed and reliability.