gwf 0.1.0

Git Workflow Automator - Streamline your Git workflows with ease
Documentation

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.