OpenSourceAGI

ask-git0

Guide to git0 (packages/git0-repo-downloader), the GitHub repo search-download-setup CLI — the g / gg / git0 / fm commands, searching by keyword vs downloading by URL or owner/repo, release binaries for your platform, automatic dependency install per project type, IDE launch, and GITHUB_TOKEN rate limits. Use when working with git0 or troubleshooting it — "API rate limit exceeded", searches returning nothing, downloads landing in a suffixed folder, dependency install or IDE launch not firing, or release assets missing for a platform.

OpenSourceAGI 38 6 Updated 4w ago
GitHub

Install

npx skillscat add opensourceagi/dev-tools-starter-agent/ask-git0

Install via the SkillsCat registry.

SKILL.md

Working With git0

The CLI in packages/git0-repo-downloader, published as git0. It replaces the clone → cd → install → open dance with one command: it downloads a repo tarball (no .git history, extracted while streaming, so faster than git clone), detects the project type, installs dependencies, and opens your editor.

Setup

npm install -g git0     # or: bun install -g git0
npx git0 facebook/react # or use it without installing

Four bins ship with it: git0, g, gg (all the same CLI) and fm.

Picking the right invocation

You want Command
A repo you know the URL of g https://github.com/facebook/react
A repo by owner/repo git0 facebook/react
To find one by keyword g react starter — fuzzy search, then pick from the list
A prebuilt binary instead of source run the search/download; when the repo has releases you're asked to choose binary, source, or both
A one-liner other people can paste npx git0 <owner/repo> — only Node required

Recipes

What happens after download — the folder lands in the current directory, project type is detected, dependencies install, the IDE opens (deferred ~500 ms so extraction finishes first), and for Node projects the dev server starts.

Project-type detection

Detected by Install step
package.json bun install, falling back to npm install
Dockerfile / docker-compose.yml docker-compose up -d or docker build
requirements.txt / setup.py virtualenv + pip install
Cargo.toml cargo build
go.mod go mod tidy

IDE launch order — Antigravity, Cursor, Windsurf, VS Code, VS Code Server web UI, Neovim, WebStorm; the first one found on PATH wins.

Raise the rate limit — unauthenticated GitHub search is 60 requests/hour. Export a token for 5,000:

export GITHUB_TOKEN=ghp_…

Name collisions — if the target directory exists, git0 appends a counter (react-2, react-3) rather than overwriting.

Troubleshooting

Symptom Cause → fix
API rate limit exceeded 60 req/h unauthenticated. Set GITHUB_TOKEN in your shell profile.
Search returns nothing for a repo you know exists Keyword search hits GitHub's search index, which excludes very new or low-signal repos. Pass owner/repo or the full URL to bypass search entirely.
Project ended up in name-2/ A directory with that name already existed — this is the conflict handling, not a bug. Remove or rename the old one first.
Dependencies didn't install No recognized manifest at the repo root (monorepo with everything under packages/, or a non-listed ecosystem). Run the install yourself in the right subdirectory.
Editor didn't open None of the supported editors are on PATH. Launch manually, or add your editor's CLI shim (VS Code: "Shell Command: Install 'code' command").
"No packages available for your platform" The release has assets, but none matching your OS/arch. Choose the source download instead.
Private repo 404s The token needs repo scope, and fine-grained tokens must grant access to that specific repository.
Downloaded tree has no git history By design — the tarball skips .git. Run git init (or git clone) if you need history.
command not found: g after global install The global bin dir isn't on PATH, or g collides with an existing alias/function in your shell. Use git0 explicitly.