Dev 525c7d45c8 fix: update gitignore and add main entry point
- Fix gitignore to only ignore root-level gitauto binary
- Add cmd/gitauto/main.go entry point
2025-09-11 17:03:10 +03:00

Git Automation CLI

A fast, practical Go CLI to automate frequent Git workflows. It provides utilities for branch management, commit helpers, sync operations, and integration with GitHub for pull requests and team coordination.

Features

  • Branch utilities (create, switch, list)
  • Commit helpers (with conventional commit support)
  • Sync with remote (fetch, rebase, push)
  • Clean local feature branches
  • GitHub integration (create, list, merge pull requests)
  • Configuration management
  • Version information

Installation

From Source

git clone https://github.com/iwasforcedtobehere/git-automation-cli.git
cd git-automation-cli
go build -o gitauto ./cmd/gitauto

Using Go Install

go install github.com/iwasforcedtobehere/git-automation-cli/cmd/gitauto@latest

Configuration

Before using GitHub integration features, you need to configure your GitHub token:

# Set your GitHub token
gitauto config set github.token YOUR_GITHUB_TOKEN

# Set default branch (optional, defaults to 'main')
gitauto config set default.branch main

# Set default remote (optional, defaults to 'origin')
gitauto config set default.remote origin

Usage

General Commands

# Show help
gitauto help

# Show version
gitauto version

# Show configuration
gitauto config list

Branch Management

# Create a new branch
gitauto branch create feature/new-feature

# Switch to an existing branch
gitauto branch switch main

# List all branches
gitauto branch list

Commit Helpers

# Create a commit with a message
gitauto commit create "feat: add new feature"

# Create a commit with a body
gitauto commit create "feat: add new feature" --body "This commit adds a new feature that allows users to..."

# Create a commit with sign-off
gitauto commit create "feat: add new feature" --signoff

Sync Operations

# Sync current branch with its upstream and push
gitauto sync

# Dry run to see what would be done
gitauto sync --dry-run

Clean Local Branches

# Clean local feature branches
gitauto clean

# Dry run to see what would be deleted
gitauto clean --dry-run

Pull Request Operations

# Create a new pull request
gitauto pr create "feat: add new feature"

# Create a draft pull request
gitauto pr create "feat: add new feature" --draft

# Create a pull request with a custom base branch
gitauto pr create "feat: add new feature" --base develop

# List open pull requests
gitauto pr list

# List closed pull requests
gitauto pr list --state closed

# Merge a pull request
gitauto pr merge 42

# Merge a pull request with squash method
gitauto pr merge 42 --method squash

Global Flags

All commands support the following global flags:

--dry-run   # Dry run mode (no changes made)
-v, --verbose  # Verbose output
-h, --help     # Help for the command

Requirements

  • Go 1.22+
  • Git installed and available in PATH
  • GitHub token for GitHub integration features

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT

Description
A fast, practical Go CLI to automate frequent Git workflows. It provides utilities for branch management, commit helpers, sync operations, and integration with GitHub for pull requests and team coordination.
Readme 66 KiB
Languages
Go 100%