An open API service indexing awesome lists of open source software.

https://github.com/rust142/geeto

AI Git workflow automation — auto branch names, commit messages, releases, PRs, Trello integration
https://github.com/rust142/geeto

ai automation branch-naming changelog cli commit conventional-commits developer-tools gemini git git-workflow github-copilot openrouter pull-request release-manager semver trello typescript workflow

Last synced: 17 days ago
JSON representation

AI Git workflow automation — auto branch names, commit messages, releases, PRs, Trello integration

Awesome Lists containing this project

README

          

# Geeto

> AI-Powered Git Workflow Automation

[![Support Palestine](https://raw.githubusercontent.com/Safouene1/support-palestine-banner/master/banner-support.svg)](https://kitabisa.com/campaign/celenganwargapalestina)

[![StandWithPalestine badge](https://raw.githubusercontent.com/Safouene1/support-palestine-banner/master/StandWithPalestine.svg)](https://s.id/standwithpalestine)
[![npm version](https://badge.fury.io/js/geeto.svg)](https://badge.fury.io/js/geeto)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)

Geeto automates your entire Git workflow — from staging to cleanup — with AI-powered branch naming, commit messages, release management, and Trello integration. Supports Gemini, GitHub Copilot, and OpenRouter.

---

## Highlights

- **AI-Powered** — Branch names, commit messages, and release notes generated by Gemini, Copilot, or OpenRouter
- **Full Git Workflow** — Stage → Branch → Commit → Push → Merge → Cleanup in one command
- **Release Manager** — Semver bumping, CHANGELOG.md, RELEASE.MD, GitHub Releases, tag recovery
- **Inline Editor** — Built-in terminal editor with syntax highlighting (no vim needed)
- **Trello Integration** — Link branches to cards, generate AI agent task lists
- **GitHub Integration** — Pull Requests, Issues, repo settings, all from the terminal
- **Git Toolkit** — Branch cleanup, switcher, compare, cherry-pick, stash, amend, undo, stats, history
- **Checkpoint Recovery** — Resume interrupted workflows from any step
- **Cross-Platform** — macOS, Linux, Windows

---

## Installation

### Homebrew (macOS / Linux)

```bash
brew tap rust142/geeto
brew install geeto
```

### APT (Debian / Ubuntu)

```bash
curl -fsSL "https://github.com/rust142/geeto/releases/latest/download/geeto_$(curl -s https://api.github.com/repos/rust142/geeto/releases/latest | grep tag_name | cut -d '"' -f4 | tr -d v)_amd64.deb" -o geeto.deb
sudo dpkg -i geeto.deb
rm geeto.deb
```

### NPM / Bun

```bash
npm install -g geeto
# or
bun install -g geeto
```

### Binary (manual)

Download from [Releases](https://github.com/rust142/geeto/releases/latest):

| Platform | Binary |
| ----------- | ------------------- |
| macOS x64 | `geeto-mac` |
| macOS ARM | `geeto-mac-arm64` |
| Linux x64 | `geeto-linux` |
| Linux ARM | `geeto-linux-arm64` |
| Windows x64 | `geeto-windows.exe` |

```bash
curl -fsSL https://github.com/rust142/geeto/releases/latest/download/geeto-linux -o geeto
chmod +x geeto
sudo mv geeto /usr/local/bin/
```

### From Source

```bash
curl -fsSL https://raw.githubusercontent.com/rust142/geeto/main/tools/install.sh | bash
```

The installer shows step-by-step progress, detects existing installs, and verifies the installation.

> **Requirements:** Bun ≥ 1.0, Git ≥ 2.0

### Uninstall

Choose **one** method based on how you installed:

| Method | Command |
| -------- | -------------------------------------------------------------------------------------------- |
| Homebrew | `brew uninstall geeto && brew untap rust142/geeto` |
| APT | `sudo dpkg -r geeto` |
| NPM/Bun | `npm uninstall -g geeto` |
| Binary | `sudo rm /usr/local/bin/geeto` |
| Source | `curl -fsSL https://raw.githubusercontent.com/rust142/geeto/main/tools/uninstall.sh \| bash` |

The uninstall script supports flags:

- `--force` — skip confirmation prompt
- `--purge` — also remove config directory (`~/.geeto/`)

### Update

Choose **one** method based on how you installed:

| Method | Command |
| -------- | ----------------------------------------------------------------------------------------- |
| Homebrew | `brew update && brew upgrade geeto` |
| APT | Re-download the latest `.deb` from Releases and run `sudo dpkg -i geeto.deb` |
| NPM/Bun | `npm update -g geeto` |
| Binary | Download the latest binary from [Releases](https://github.com/rust142/geeto/releases) |
| Source | `curl -fsSL https://raw.githubusercontent.com/rust142/geeto/main/tools/update.sh \| bash` |

The update script auto-detects your install method and guides you to the right upgrade path.

---

## Quick Start

```bash
geeto
```

[![Geeto Demo](https://github.com/rust142/geeto/raw/main/images/demo.png)](https://asciinema.org/a/788604)

[▶ Watch demo on asciinema](https://asciinema.org/a/788604)

On first run, Geeto guides you through AI provider setup:

| Provider | Setup |
| -------------- | ------------------------------------------------------------------------------- |
| **Gemini** | Enter API key from [Google AI Studio](https://makersuite.google.com/app/apikey) |
| **OpenRouter** | Enter API key from [OpenRouter](https://openrouter.ai/keys) |
| **Copilot** | Auto-configured via [GitHub CLI](https://cli.github.com/) |

All config is saved locally in `.geeto/`.

### How It Works

Geeto walks you through **6 steps** in sequence:

1. **Stage** — Select files to commit
2. **Branch** — AI generates a branch name from your changes
3. **Commit** — AI generates a conventional commit message
4. **Push** — Push to remote with progress bar
5. **Merge** — Merge to target branch
6. **Cleanup** — Delete merged branches

Each step can also be run individually.

---

## CLI Reference

### Workflow

| Command | Description |
| -------------------- | ------------------------------- |
| `geeto` | Full workflow (all 6 steps) |
| `geeto -s, --stage` | Stage files interactively |
| `geeto -sa, -as` | Stage all changes automatically |
| `geeto -c, --commit` | Create commit with AI message |
| `geeto -b, --branch` | Create branch with AI name |
| `geeto -p, --push` | Push current branch to remote |
| `geeto -m, --merge` | Merge branches interactively |

### Git Tools

| Command | Description |
| -------------------------- | ----------------------------------- |
| `geeto -cl, --cleanup` | Clean up local & remote branches |
| `geeto -sw, --switch` | Switch branches with fuzzy search |
| `geeto -cmp, --compare` | Compare current branch with another |
| `geeto -cp, --cherry-pick` | Cherry-pick from another branch |
| `geeto -lg, --log` | View commit history with timeline |
| `geeto -sh, --stash` | Manage stashes interactively |
| `geeto -am, --amend` | Amend the last commit |
| `geeto -u, --undo` | Undo the last git action safely |
| `geeto -st, --stats` | Repository statistics dashboard |

### GitHub

| Command | Description |
| ------------------- | ---------------------------------------------------------- |
| `geeto -pr, --pr` | Create a Pull Request |
| `geeto -i, --issue` | Create an Issue |
| `geeto -t, --tag` | Release & tag manager (semver, changelog, GitHub Releases) |
| `geeto -rp, --repo` | Update repo description, topics & homepage (AI-powered) |

### Trello

| Command | Description |
| ------------------------------ | --------------------------- |
| `geeto -tr, --trello` | Open Trello menu |
| `geeto -tl, --trello-list` | List boards and lists |
| `geeto -tg, --trello-generate` | Generate AI agent task list |

### Settings

| Command | Description |
| -------------------------- | ---------------------------- |
| `geeto --setup-gemini` | Configure Gemini AI |
| `geeto --setup-openrouter` | Configure OpenRouter AI |
| `geeto --setup-github` | Configure GitHub token |
| `geeto --setup-trello` | Configure Trello integration |
| `geeto --change-model` | Switch AI provider / model |
| `geeto --sync-models` | Fetch latest model list |
| `geeto --separator` | Set branch name separator |

### Editor & Options

| Command | Description |
| --------------------- | --------------------------------------------------- |
| `geeto ` | Open file in inline editor with syntax highlighting |
| `geeto -f, --fresh` | Start fresh (ignore checkpoint) |
| `geeto -r, --resume` | Resume from last checkpoint |
| `geeto -v, --version` | Show version |
| `geeto -h, --help` | Show help |

---

## Trello Integration

Generate task instruction files for AI coding agents:

```bash
geeto --trello-generate
```

Creates `.github/instructions/tasks.instructions.md` with structured task lists from your Trello cards — including step-by-step instructions, implementation checklists, and per-task confirmation flows.

---

## Development

```bash
git clone https://github.com/rust142/geeto.git
cd geeto
bun install

bun run build # Build
bun run dev # Development mode (run from source)
bun run check:fast # Quick lint
bun run check:full # Full typecheck + lint
```

See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.

---

## Contributing

1. Fork the repository
2. Create a branch: `dev#your-feature`
3. Make your changes
4. Run checks: `bun run check:fast && bun run check:full`
5. Submit a Pull Request to `develop` branch

See [CONTRIBUTING.md](CONTRIBUTING.md) for details.

---

## Support

If Geeto helps your workflow, consider supporting:

- ☕ [Buy me a coffee on Saweria](https://saweria.co/rust142)
- ⭐ Star this repository
- 🐛 [Report bugs or suggest features](https://github.com/rust142/geeto/issues)
- 📢 Share with fellow developers

---

## License

MIT — see [LICENSE](LICENSE) for details.