{"id":44781250,"url":"https://github.com/rust142/geeto","last_synced_at":"2026-04-09T08:01:51.408Z","repository":{"id":339362138,"uuid":"1158867402","full_name":"rust142/geeto","owner":"rust142","description":"AI Git workflow automation — auto branch names, commit messages, releases, PRs, Trello integration","archived":false,"fork":false,"pushed_at":"2026-04-03T13:59:42.000Z","size":53072,"stargazers_count":9,"open_issues_count":12,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T14:40:28.771Z","etag":null,"topics":["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"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/geeto","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rust142.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2026-02-16T02:40:13.000Z","updated_at":"2026-02-26T04:38:19.000Z","dependencies_parsed_at":"2026-02-22T11:01:50.225Z","dependency_job_id":null,"html_url":"https://github.com/rust142/geeto","commit_stats":null,"previous_names":["rust142/geeto"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/rust142/geeto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust142%2Fgeeto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust142%2Fgeeto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust142%2Fgeeto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust142%2Fgeeto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rust142","download_url":"https://codeload.github.com/rust142/geeto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust142%2Fgeeto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31371647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2026-02-16T08:11:00.603Z","updated_at":"2026-04-09T08:01:51.401Z","avatar_url":"https://github.com/rust142.png","language":"TypeScript","readme":"# Geeto\n\n\u003e AI-Powered Git Workflow Automation\n\n[![Support Palestine](https://raw.githubusercontent.com/Safouene1/support-palestine-banner/master/banner-support.svg)](https://kitabisa.com/campaign/celenganwargapalestina)\n\n[![StandWithPalestine badge](https://raw.githubusercontent.com/Safouene1/support-palestine-banner/master/StandWithPalestine.svg)](https://s.id/standwithpalestine)\n[![npm version](https://badge.fury.io/js/geeto.svg)](https://badge.fury.io/js/geeto)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n\nGeeto automates your entire Git workflow — from staging to cleanup — with AI-powered branch naming, commit messages, release management, and Trello integration. Supports Gemini, Copilot, and OpenRouter.\n\n---\n\n## Highlights\n\n- **AI-Powered** — Branch names, commit messages, and release notes generated by Gemini, Copilot, or OpenRouter\n- **Full Git Workflow** — Stage → Branch → Commit → Push → Merge → Cleanup in one command\n- **Release Manager** — Semver bumping (stable + alpha/beta/rc), CHANGELOG.md, RELEASE.MD, GitHub/GitLab Releases, tag recovery\n- **Inline Editor** — Built-in terminal editor with syntax highlighting (no vim needed)\n- **Trello Integration** — Link branches to cards, generate AI agent task lists\n- **GitHub + GitLab** — Pull Requests / Merge Requests, Issues, repo settings, all from the terminal\n- **Git Toolkit** — Branch cleanup, switcher, compare, cherry-pick, stash, amend, undo, stats, history\n- **Checkpoint Recovery** — Resume interrupted workflows from any step\n- **Cross-Platform** — macOS, Linux, Windows\n\n---\n\n## Installation\n\n### Homebrew (macOS / Linux)\n\n```bash\nbrew tap rust142/geeto\nbrew install geeto\n```\n\n### APT (Debian / Ubuntu)\n\n```bash\ncurl -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\nsudo dpkg -i geeto.deb\nrm geeto.deb\n```\n\n### NPM / Bun\n\n```bash\nnpm install -g geeto\n# or\nbun install -g geeto\n```\n\n### Binary (manual)\n\nDownload from [Releases](https://github.com/rust142/geeto/releases/latest):\n\n| Platform    | Binary              |\n| ----------- | ------------------- |\n| macOS x64   | `geeto-mac`         |\n| macOS ARM   | `geeto-mac-arm64`   |\n| Linux x64   | `geeto-linux`       |\n| Linux ARM   | `geeto-linux-arm64` |\n| Windows x64 | `geeto-windows.exe` |\n\n```bash\ncurl -fsSL https://github.com/rust142/geeto/releases/latest/download/geeto-linux -o geeto\nchmod +x geeto\nsudo mv geeto /usr/local/bin/\n```\n\n#### Prerelease binary\n\nTo install a specific prerelease version (alpha, beta, or rc):\n\n```bash\n# Replace TAG with the version, e.g. v0.7.0-beta.1\ncurl -fsSL https://github.com/rust142/geeto/releases/download/TAG/geeto-linux -o geeto\nchmod +x geeto\nsudo mv geeto /usr/local/bin/\n```\n\nBrowse all prereleases at [Releases](https://github.com/rust142/geeto/releases).\n\n### From Source\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/rust142/geeto/main/tools/install.sh | bash\n```\n\nThe installer shows step-by-step progress, detects existing installs, and verifies the installation.\n\n\u003e **Prerequisites (depends on install method):**\n\u003e\n\u003e - **Homebrew / APT / Binary** — just Git ≥ 2.0 (runtime is bundled)\n\u003e - **NPM** — Node.js ≥ 18 + Git ≥ 2.0\n\u003e - **Bun / From Source** — Bun ≥ 1.0 + Git ≥ 2.0\n\n### Uninstall\n\nChoose **one** method based on how you installed:\n\n| Method   | Command                                                                                      |\n| -------- | -------------------------------------------------------------------------------------------- |\n| Homebrew | `brew uninstall geeto \u0026\u0026 brew untap rust142/geeto`                                           |\n| APT      | `sudo dpkg -r geeto`                                                                         |\n| NPM/Bun  | `npm uninstall -g geeto`                                                                     |\n| Binary   | `sudo rm /usr/local/bin/geeto`                                                               |\n| Source   | `curl -fsSL https://raw.githubusercontent.com/rust142/geeto/main/tools/uninstall.sh \\| bash` |\n\nThe uninstall script supports flags:\n\n- `--force` — skip confirmation prompt\n- `--purge` — also remove config directory (`~/.geeto/`)\n\n### Update\n\nChoose **one** method based on how you installed:\n\n| Method   | Command                                                                                   |\n| -------- | ----------------------------------------------------------------------------------------- |\n| Homebrew | `brew update \u0026\u0026 brew upgrade geeto`                                                       |\n| APT      | Re-download the latest `.deb` from Releases and run `sudo dpkg -i geeto.deb`              |\n| NPM/Bun  | `npm update -g geeto`                                                                     |\n| Binary   | Download the latest binary from [Releases](https://github.com/rust142/geeto/releases)     |\n| Source   | `curl -fsSL https://raw.githubusercontent.com/rust142/geeto/main/tools/update.sh \\| bash` |\n\nThe update script auto-detects your install method and guides you to the right upgrade path.\n\n---\n\n## Quick Start\n\n```bash\ngeeto\n```\n\n[![Geeto Demo](https://github.com/rust142/geeto/raw/main/images/demo.png)](https://asciinema.org/a/788604)\n\n[▶ Watch demo on asciinema](https://asciinema.org/a/788604)\n\nOn first run, Geeto guides you through AI provider setup:\n\n| Provider       | Setup                                                                           |\n| -------------- | ------------------------------------------------------------------------------- |\n| **Gemini**     | Enter API key from [Google AI Studio](https://makersuite.google.com/app/apikey) |\n| **OpenRouter** | Enter API key from [OpenRouter](https://openrouter.ai/keys)                     |\n| **Copilot**    | Auto-configured via [GitHub CLI](https://cli.github.com/)                       |\n\nAll config is saved locally in `.geeto/`.\n\n### How It Works\n\nGeeto walks you through **6 steps** in sequence:\n\n1. **Stage** — Select files to commit\n2. **Branch** — AI generates a branch name from your changes\n3. **Commit** — AI generates a conventional commit message\n4. **Push** — Push to remote with progress bar\n5. **Merge** — Merge to target branch\n6. **Cleanup** — Delete merged branches\n\nEach step can also be run individually.\n\n---\n\n## CLI Reference\n\n### Workflow\n\n| Command              | Description                     |\n| -------------------- | ------------------------------- |\n| `geeto`              | Full workflow (all 6 steps)     |\n| `geeto -s, --stage`  | Stage files interactively       |\n| `geeto -sa, -as`     | Stage all changes automatically |\n| `geeto -c, --commit` | Create commit with AI message   |\n| `geeto -b, --branch` | Create branch with AI name      |\n| `geeto -p, --push`   | Push current branch to remote   |\n| `geeto -m, --merge`  | Merge branches interactively    |\n\n### Git Tools\n\n| Command                    | Description                         |\n| -------------------------- | ----------------------------------- |\n| `geeto -cl, --cleanup`     | Clean up local \u0026 remote branches    |\n| `geeto -sw, --switch`      | Switch branches with fuzzy search   |\n| `geeto -cmp, --compare`    | Compare current branch with another |\n| `geeto -cp, --cherry-pick` | Cherry-pick from another branch     |\n| `geeto -lg, --log`         | View commit history with timeline   |\n| `geeto -sh, --stash`       | Manage stashes interactively        |\n| `geeto -am, --amend`       | Amend the last commit               |\n| `geeto -rw, --reword`      | Edit past commit messages           |\n| `geeto -u, --undo`         | Undo the last git action safely     |\n| `geeto -rv, --revert`      | Revert the last commit (soft reset) |\n| `geeto -al, --alias`       | Install shell aliases for geeto     |\n| `geeto -sts, --stats`      | Repository statistics dashboard     |\n| `geeto -st, --status`      | Pretty git status overview          |\n| `geeto -pl, --pull`        | Pull from remote interactively      |\n| `geeto -ft, --fetch`       | Fetch latest from remote            |\n| `geeto --abort`            | Abort in-progress operation         |\n| `geeto --prune`            | Remove stale remote branches        |\n\n### GitHub / GitLab\n\n| Command             | Description                                                      |\n| ------------------- | ---------------------------------------------------------------- |\n| `geeto -pr, --pr`   | Create a Pull Request (GitHub) or Merge Request (GitLab)         |\n| `geeto -i, --issue` | Create an Issue                                                  |\n| `geeto -t, --tag`   | Release \u0026 tag manager (semver + prerelease, changelog, Releases) |\n| `geeto -rp, --repo` | Update repo description, topics \u0026 homepage (AI-powered)          |\n\n### Trello\n\n| Command                        | Description                 |\n| ------------------------------ | --------------------------- |\n| `geeto -tr, --trello`          | Open Trello menu            |\n| `geeto -tl, --trello-list`     | List boards and lists       |\n| `geeto -tg, --trello-generate` | Generate AI agent task list |\n\n### Settings\n\n| Command                    | Description                  |\n| -------------------------- | ---------------------------- |\n| `geeto --setup-gemini`     | Configure Gemini AI          |\n| `geeto --setup-openrouter` | Configure OpenRouter AI      |\n| `geeto --setup-github`     | Configure GitHub token       |\n| `geeto --setup-gitlab`     | Configure GitLab token       |\n| `geeto --setup-trello`     | Configure Trello integration |\n| `geeto --change-model`     | Switch AI provider / model   |\n| `geeto --sync-models`      | Fetch latest model list      |\n| `geeto --separator`        | Set branch name separator    |\n\n### Editor \u0026 Options\n\n| Command                | Description                                         |\n| ---------------------- | --------------------------------------------------- |\n| `geeto \u003cfile\u003e`         | Open file in inline editor with syntax highlighting |\n| `geeto -f, --fresh`    | Start fresh (ignore checkpoint)                     |\n| `geeto -r, --resume`   | Resume from last checkpoint                         |\n| `geeto -dr, --dry-run` | Simulate commands without executing                 |\n| `geeto -v, --version`  | Show version                                        |\n| `geeto -h, --help`     | Show help                                           |\n\n---\n\n## Trello Integration\n\nGenerate task instruction files for AI coding agents:\n\n```bash\ngeeto --trello-generate\n```\n\nCreates `.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.\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/rust142/geeto.git\ncd geeto\nbun install\n\nbun run build          # Build\nbun run dev            # Development mode (run from source)\nbun run check:fast     # Quick lint\nbun run check:full     # Full typecheck + lint\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.\n\n---\n\n## Contributing\n\n1. Fork the repository\n2. Create a branch: `dev#your-feature`\n3. Make your changes\n4. Run checks: `bun run check:fast \u0026\u0026 bun run check:full`\n5. Submit a Pull Request to `develop` branch\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n---\n\n## Support\n\nIf Geeto helps your workflow, consider supporting:\n\n- ☕ [Buy me a coffee on Saweria](https://saweria.co/rust142)\n- ⭐ Star this repository\n- 🐛 [Report bugs or suggest features](https://github.com/rust142/geeto/issues)\n- 📢 Share with fellow developers\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE) for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust142%2Fgeeto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frust142%2Fgeeto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust142%2Fgeeto/lists"}