npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

geeto

v0.14.5

Published

AI-powered Git workflow automation CLI with smart commit messages, branch naming, and Trello integration

Downloads

159

Readme

Geeto

npm version License: MIT TypeScript

Support Palestine

Stand with Palestine

A guided Git workflow for consistent branches, commits, reviews, releases, and cleanup.

Geeto turns working-tree changes into a clean, merged branch through one interactive CLI. It handles the repetitive Git steps, uses your preferred AI provider for suggestions, and keeps every action available as a standalone command when you need more control.

Stage → Branch → Commit → Push → Merge → Cleanup

Install

brew tap IDNCraft/geeto
brew trust --formula idncraft/geeto/geeto
brew install geeto

Or install from npm:

npm install -g geeto

Requires Git 2.0 or newer. npm installations also require Node.js 18 or newer. See all installation methods for Bun, APT, standalone binaries, and source builds.

Quick Start

Run Geeto inside a Git repository:

geeto

On the first run, choose an AI provider and follow the guided workflow. Geeto previews generated branch names, commit messages, and release notes before applying them.

Geeto terminal demo

Watch the terminal demo

Contents


Why Geeto

  • Finish the whole branch lifecycle — Move from local changes to a merged branch without manually chaining Git commands.
  • Keep humans in control — Review generated names, messages, and release notes before Geeto writes or publishes anything.
  • Use the provider you already trust — Choose Gemini, OpenRouter, Groq, OpenAI Codex, or OpenCode Zen.
  • Recover interrupted work — Resume a saved checkpoint instead of repeating completed steps.
  • Stay in one interface — Manage GitHub, GitLab, releases, Trello tasks, and everyday Git utilities from the terminal.

Workflow

Running geeto starts six guided steps:

  1. Stage — Review working-tree changes and choose what to stage.
  2. Branch — Generate, edit, or manually enter a branch name.
  3. Commit — Generate and approve a Conventional Commit message.
  4. Push — Push the working branch to its remote.
  5. Merge — Select a target branch and complete the merge.
  6. Cleanup — Remove merged branches when they are no longer needed.

Geeto saves progress between steps. Use geeto --resume after an interruption or geeto --fresh to ignore the saved checkpoint. Every workflow step is also available as a standalone command.

AI Providers

Geeto supports five provider integrations:

| Provider | Authentication | Runtime notes | | ---------------- | ---------------------------------------------------- | --------------------------------------------------- | | Gemini | Google AI Studio API key | Project-local or global config | | OpenRouter | OpenRouter API key | Project-local or global config | | Groq | Groq API key | Project-local or global config | | OpenAI Codex | OpenAI API key or Codex CLI OAuth with codex login | Generation runs with an isolated Geeto runtime home | | OpenCode Zen | Free access or OpenCode Zen API key | Runs in an isolated Geeto runtime environment |

Generated content remains reviewable before use. Change providers or model favorites from the interactive settings menu, or use geeto --change-model and geeto --sync-models directly.


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 -rw, --reword | Edit past commit messages | | geeto -u, --undo | Undo the last git action safely | | geeto -rv, --revert | Revert the last commit (soft reset) | | geeto -al, --alias | Install shell aliases for geeto | | geeto -sts, --stats | Repository statistics dashboard | | geeto -st, --status | Pretty git status overview | | geeto -pl, --pull | Pull from remote interactively | | geeto -ft, --fetch | Fetch latest from remote | | geeto -sm, --submodules | Manage Git submodules | | geeto --abort | Abort in-progress operation | | geeto --prune | Remove stale remote branches |

GitHub / GitLab

| Command | Description | | ---------------------------- | ----------------------------------------------------------------------- | | geeto -pr, --pr | Create a Pull Request (GitHub) or Merge Request (GitLab) | | geeto -rvp, --review-pr | Review and comment on a Pull Request or Merge Request with AI | | geeto -rvi, --review-issue | Review and comment on an Issue with AI | | geeto -i, --issue | Create an Issue | | geeto -t, --tag | Manage semver releases, changelogs, tags, and GitHub or GitLab Releases | | geeto -rp, --repo | Update repository description, topics, and homepage |

Trello

| Command | Description | | ------------------------------ | --------------------------- | | geeto -tr, --trello | Open Trello menu | | geeto -tg, --trello-generate | Generate AI agent task list |

Settings

| Command | Description | | -------------------------- | ----------------------------------------------- | | geeto --setup-gemini | Configure Gemini | | geeto --setup-openrouter | Configure OpenRouter | | geeto --setup-groq | Configure Groq | | geeto --setup-codex | Configure OpenAI Codex with an API key or OAuth | | geeto --setup-opencode | Configure free or API-key OpenCode Zen access | | geeto --setup-github | Configure GitHub access | | geeto --setup-gitlab | Configure GitLab access and instance URL | | geeto --setup-trello | Configure Trello access and board | | geeto --change-model | Switch AI provider or model | | geeto --sync-models | Refresh available provider models | | geeto --separator | Set the branch-name separator |

Options

| Command | Description | | ---------------------- | ----------------------------------- | | geeto -f, --fresh | Start fresh (ignore checkpoint) | | geeto -r, --resume | Resume from last checkpoint | | geeto -dr, --dry-run | Simulate commands without executing | | geeto -v, --version | Show version + update status | | geeto -h, --help | Show help |

Management

| Command | Description | | --------------------- | ----------------------------------- | | geeto -up, --update | Update geeto to the latest version | | geeto --where | Show installation path & method | | geeto --uninstall | Uninstall geeto with auto-detection |


Trello Integration

Turn selected Trello cards into individual Markdown task files:

geeto --trello-generate

Geeto preserves each card's description and checklists, then writes one file per card to .geeto/tasks/.

The project-level .geeto/ directory is added to .gitignore automatically.


Configuration

Gemini, OpenRouter, Groq, GitHub, and GitLab support project and user-level configuration. Project-local config takes priority:

| Location | Scope | Priority | | ----------- | --------------------- | ----------------------------------- | | .geeto/ | Project-local | Higher — overrides global | | ~/.geeto/ | Global (all projects) | Fallback when no local config found |

Use global config for shared credentials, then override individual projects when needed. OpenAI Codex and OpenCode Zen access stays user-level. Trello, branch strategy, checkpoints, and model favorites stay project-local.

Run a --setup-* command for direct setup, or open Configure providers, integrations, and defaults from the main menu. Geeto adds project-local .geeto/ data to .gitignore; ~/.geeto/ remains outside the repository.

Config files

| File | Created by | Purpose | | ---------------------- | ------------------------- | ------------------------------------------------------------------------- | | gemini.toml | --setup-gemini | Gemini API key | | openrouter.toml | --setup-openrouter | OpenRouter API key | | groq.toml | --setup-groq | Groq API key | | codex.toml | --setup-codex | Global OpenAI Codex authentication state | | opencode-zen.toml | --setup-opencode | Global validated OpenCode Zen access state | | github.toml | --setup-github | GitHub personal access token | | gitlab.toml | --setup-gitlab | GitLab token + instance URL | | trello.toml | --setup-trello | Project-local Trello API key, token, and board ID | | branch-strategy.toml | --separator / first run | Branch separator char and last naming strategy (project-only, not global) |

State & cache files

These are always project-local — not read from ~/.geeto/.

| File | Created by | Purpose | | ------------------------- | --------------------------------- | ------------------------------------------------------------------------ | | geeto-state.json | Automatically | Checkpoint state for workflow recovery (-r, --resume) | | openrouter-model.json | --sync-models | Persisted OpenRouter model list (filtered, text/code only) | | gemini-model.json | --sync-models | Persisted Gemini model list | | groq-model.json | --sync-models | Persisted Groq model list | | codex-model.json | --setup-codex / --sync-models | Persisted OpenAI Codex model list | | opencode-model.json | --sync-models | Persisted OpenCode Zen model favorites | | last-ai-suggestion.json | Every AI call | Last raw AI response — inspect when branch/commit suggestions look wrong |


Installation

Choose the package that matches your environment:

Homebrew

brew tap IDNCraft/geeto
brew trust --formula idncraft/geeto/geeto
brew install geeto

If the legacy tap is still installed, remove it before installing Geeto:

brew untap rust142/geeto
brew install idncraft/geeto/geeto

npm or Bun

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

Debian or Ubuntu

Download the latest .deb package for amd64 or arm64 from GitHub Releases, then install it:

sudo dpkg -i geeto_<version>_<architecture>.deb

Standalone Binary

Download the matching binary from GitHub Releases:

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

On macOS or Linux, make the downloaded binary executable and move it into PATH:

chmod +x geeto-<platform>
sudo mv geeto-<platform> /usr/local/bin/geeto

From Source

git clone https://github.com/IDNCraft/geeto.git
cd geeto
bun install
bun run build
bun link

Requirements

| Installation method | Requirements | | ------------------- | ----------------------------- | | Homebrew / .deb | Git 2.0 or newer | | Standalone binary | Git 2.0 or newer | | npm | Node.js 18 or newer, Git 2.0+ | | Bun / source | Bun 1.0 or newer, Git 2.0+ |

Migrating from rust142

Geeto moved from rust142/geeto to IDNCraft/geeto. Existing .geeto/ project and user configuration remains compatible; do not delete it during migration.

Homebrew

Remove the legacy formula and tap, then install from IDNCraft:

brew uninstall geeto
brew untap rust142/geeto
brew tap IDNCraft/geeto
brew trust --formula idncraft/geeto/geeto
brew install idncraft/geeto/geeto

npm or Bun

The package name remains geeto, so reinstalling updates the existing global package:

npm install -g geeto@latest
# or
bun install -g geeto@latest

Source checkout

Point the existing clone at the new repository before pulling updates:

git remote set-url origin [email protected]:IDNCraft/geeto.git
git remote -v
git pull

Standalone binary or Debian package

Download the replacement binary or .deb from IDNCraft releases and install it over the previous version.

Verify the migrated installation:

geeto --version

Maintenance

Geeto detects the active installation method for updates, diagnostics, and removal:

geeto --update       # Install the latest available version
geeto --where        # Show binary, version, config path, and install method
geeto --uninstall    # Remove Geeto after confirmation

Use geeto --version to print the installed version and update status. During uninstall, Geeto asks separately whether it should remove configuration and shell aliases.


Development

git clone https://github.com/IDNCraft/geeto.git
cd geeto
bun install

bun run build          # Build
bun run dev            # Development mode (run from source)
bun run check:fast     # Formatting, TypeScript, Markdown, and YAML lint
bun run check:full     # Typecheck + production build

See 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 main branch

See CONTRIBUTING.md for details.


Support

If Geeto helps your workflow, consider supporting:


License

MIT — see LICENSE for details.