gwf

Crates.iogwf
lib.rsgwf
version0.1.0
created_at2025-08-21 23:29:24.516038+00
updated_at2025-08-21 23:29:24.516038+00
descriptionGit Workflow Automator - Streamline your Git workflows with ease
homepagehttps://github.com/Nonanti/gwf-cli
repositoryhttps://github.com/Nonanti/gwf-cli
max_upload_size
id1805600
size116,502
Berkant (Nonanti)

documentation

https://github.com/Nonanti/gwf-cli

README

GWF - Git Workflow Automator

Streamline your Git workflows with powerful automation and best practices.

Build Status License: MIT Rust Version

Features

  • 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

Installation

Quick Install

From GitHub Releases (Recommended)

# 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 PATH

From Source

cargo install --git https://github.com/Nonanti/gwf-cli

Quick Start

# 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

Commands

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

Configuration

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"]

Workflow Examples

Feature Development

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 merge

Hotfix Deployment

gwf 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 release

Release Management

gwf 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 --tags

Shell Completions

Enable 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

Requirements

  • Git 2.0+
  • GitHub CLI (optional, for PR features)

Contributing

Contributions are welcome! Please check out the issues or submit a pull request.

License

MIT License - see LICENSE for details.


Built with Rust for speed and reliability.

Commit count: 15

cargo fmt