{"id":51359994,"url":"https://github.com/webdeb/gogi","last_synced_at":"2026-07-02T22:34:20.847Z","repository":{"id":340272367,"uuid":"1165278992","full_name":"webdeb/gogi","owner":"webdeb","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-24T15:55:52.000Z","size":108,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T08:14:19.538Z","etag":null,"topics":["ai","assistant","cli","cli-assistant"],"latest_commit_sha":null,"homepage":"https://gogi.webdeb.de","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webdeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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}},"created_at":"2026-02-24T02:14:02.000Z","updated_at":"2026-02-24T20:59:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/webdeb/gogi","commit_stats":null,"previous_names":["webdeb/gogi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/webdeb/gogi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdeb%2Fgogi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdeb%2Fgogi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdeb%2Fgogi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdeb%2Fgogi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webdeb","download_url":"https://codeload.github.com/webdeb/gogi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdeb%2Fgogi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35065702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","assistant","cli","cli-assistant"],"created_at":"2026-07-02T22:34:19.979Z","updated_at":"2026-07-02T22:34:20.830Z","avatar_url":"https://github.com/webdeb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍖 Gogi CLI\n\nGogi is a lightweight, AI-powered terminal assistant built with Node.js. It runs locally on your machine and helps you accomplish tasks directly in your terminal by translating natural language into executable shell commands.\n\nUnlike other CLI assistants that require you to manage your own paid API keys, Gogi leverages the open-source `@mariozechner/pi-ai` library to implement **native Device-Code OAuth flows**. This means you can plug Gogi directly into your existing AI subscriptions (like ChatGPT Plus or GitHub Copilot)\n\n## ✨ Features\n\n**Natural Language to Shell**: Tell Gogi what you want to do \n`gogi how much space is left on my machine`\n\n**Safe Execution Loop**: Gogi intercepts the AI's proposed commands and explicitly asks for your permission (`Allow? (y/N)`) before running anything. It will capture the `stdout` and `stderr` and feed it back to the LLM so it can learn from mistakes or chain commands together.\n\n**Multi-Provider OAuth**: Sign in securely using your existing AI accounts. Supported providers include:\n  - `codex` (ChatGPT Plus/Pro subscription)\n  - `gemini` (Google Cloud)\n  - `github` (GitHub Copilot)\n\n**Auto-Generated System Context**: On first run, Gogi automatically profiles your machine (OS, architecture, shell) and generates a `~/.gogi/system.md` file. It injects this into the LLM's system prompt so the AI always knows what operating system and shell it's working with.\n\n---\n\n## 🚀 Installation\n\nInstall the package globally via npm:\n\n```bash\nnpm install -g @webdeb/gogi\n```\n\nYou can now use the `gogi` command from anywhere in your terminal!\n\n---\n\n## 🔑 Authentication\n\nBefore using Gogi, you must authenticate it with a provider.\n\n```bash\n# Login with ChatGPT (Default)\ngogi login\n\n# Or specify a provider: \ngogi login codex\ngogi login gemini\ngogi login github\n```\n\nThis will trigger a standard OAuth flow. Gogi will open your browser, ask you to log in, and then securely store the resulting `access_token` in `~/.gogi/config.json`.\n\nOnce you have logged into multiple providers, you can quickly switch the active provider being used for commands:\n\n```bash\ngogi provider gemini\ngogi provider codex\n```\n\n---\n\n## 💡 Usage\n\nSimply type `gogi` followed by your request:\n\n```bash\ngogi find all the .ts files in the current directory\n```\n\n\u003e **Tip:** If your prompt contains special shell characters like `?` or `*`, be sure to wrap your prompt in quotes so your shell doesn't try to evaluate it as a file glob:\n\u003e ```bash\n\u003e gogi \"what time is it?\"\n\u003e ```\n\n```bash\n🤔 Gogi is thinking...\n✔ Gogi wants to run:\n  \u003e find . -name \"*.ts\"\nAllow? Yes    \n\nRunning...\n./src/index.ts\n./src/config.ts\n./src/agent.ts\n./src/auth.ts\n```\n\nIf a command fails (e.g., a missing dependency), Gogi will read the error output and can automatically propose a follow-up command to fix the issue!\n\n---\n\n## ⚙️ Configuration\n\nGogi stores its configuration in your home directory at `~/.gogi/`:\n\n- `~/.gogi/config.json`: Stores your active provider and OAuth access tokens securely.\n- `~/.gogi/system.md`: A markdown file containing context about your machine (OS, CPU, Shell). You can edit this file to give Gogi additional context or permanent custom instructions (e.g., \"Always use fd instead of find\").\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdeb%2Fgogi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebdeb%2Fgogi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdeb%2Fgogi/lists"}