{"id":51621190,"url":"https://github.com/gonkagate/kilo-setup","last_synced_at":"2026-07-12T20:01:04.766Z","repository":{"id":351362124,"uuid":"1210343796","full_name":"GonkaGate/kilo-setup","owner":"GonkaGate","description":"Install GonkaGate for Kilo Code with one npx command. Secure setup CLI for Kilo/KiloCode custom provider config, OpenAI-compatible AI models, and safe API key storage.","archived":false,"fork":false,"pushed_at":"2026-07-06T15:23:39.000Z","size":46366,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-06T17:11:36.159Z","etag":null,"topics":["ai-cli","ai-coding","ai-models","api-key","cli","coding-agent","custom-provider","developer-tools","gonkagate","kilo","kilo-code","kilocode","llm","model-discovery","npx","openai-api","openai-compatible","secure-setup","typescript"],"latest_commit_sha":null,"homepage":"https://gonkagate.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GonkaGate.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-14T10:18:44.000Z","updated_at":"2026-06-25T13:17:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/GonkaGate/kilo-setup","commit_stats":null,"previous_names":["gonkagate/kilo-setup"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/GonkaGate/kilo-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GonkaGate%2Fkilo-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GonkaGate%2Fkilo-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GonkaGate%2Fkilo-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GonkaGate%2Fkilo-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GonkaGate","download_url":"https://codeload.github.com/GonkaGate/kilo-setup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GonkaGate%2Fkilo-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35401732,"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-12T02:00:06.386Z","response_time":87,"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-cli","ai-coding","ai-models","api-key","cli","coding-agent","custom-provider","developer-tools","gonkagate","kilo","kilo-code","kilocode","llm","model-discovery","npx","openai-api","openai-compatible","secure-setup","typescript"],"created_at":"2026-07-12T20:01:00.862Z","updated_at":"2026-07-12T20:01:04.756Z","avatar_url":"https://github.com/GonkaGate.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kilo-setup\n\nSet up local `kilo` to use GonkaGate in one `npx` command.\n\n```bash\nnpx @gonkagate/kilo-setup\n```\n\n![Package](https://img.shields.io/badge/package-%40gonkagate%2Fkilo--setup-6E63FF?style=flat-square)\n![Node](https://img.shields.io/badge/node-%3E%3D22.14.0-4DA2FF?style=flat-square)\n![Kilo](https://img.shields.io/badge/kilo-%3E%3D7.2.0-35D6FF?style=flat-square)\n![License](https://img.shields.io/badge/license-Apache--2.0-2A2A2A?style=flat-square)\n\n[![Website](https://img.shields.io/badge/Website-gonkagate.com-111827?style=flat-square)](https://gonkagate.com/en?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=kilo_setup\u0026utm_content=readme_badge_website)\n[![Docs](https://img.shields.io/badge/Docs-API%20Guides-2563EB?style=flat-square)](https://gonkagate.com/en/docs?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=kilo_setup\u0026utm_content=readme_badge_docs)\n[![API%20Key](https://img.shields.io/badge/API%20Key-Dashboard-F97316?style=flat-square)](https://gonkagate.com/en/register?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=kilo_setup\u0026utm_content=readme_badge_api_key)\n[![Telegram](https://img.shields.io/badge/Telegram-%40gonkagate-229ED9?style=flat-square\u0026logo=telegram\u0026logoColor=white)](https://t.me/gonkagate)\n[![X](https://img.shields.io/badge/X-%40gonkagate-000000?style=flat-square\u0026logo=x\u0026logoColor=white)](https://x.com/gonkagate)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-GonkaGate-0A66C2?style=flat-square\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/company/gonkagate)\n\n## See It In Action\n\nFrom API key to a working `kilo` setup in one short walkthrough:\n\n[![See the installer in action](https://raw.githubusercontent.com/GonkaGate/kilo-setup/main/.github/assets/gonkagate-kilo-setup-demo.gif)](https://raw.githubusercontent.com/GonkaGate/kilo-setup/main/.github/assets/gonkagate-kilo-setup-demo.mp4)\n\nNeed an API key first? [Get one on GonkaGate](https://gonkagate.com/en/register?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=kilo_setup\u0026utm_content=readme_api_key_cta).\n\n## Overview\n\n`@gonkagate/kilo-setup` is for people who already have Kilo installed and want\nthe shortest safe path to GonkaGate without hand-editing Kilo config, putting\nsecrets into a repository, or learning Kilo provider internals first.\n\nPrefer product links first? The resource buttons above jump to the website,\ndocs, API-key dashboard, Telegram updates, X, and LinkedIn.\n\n## Why This Exists\n\nThis installer configures an existing local `kilo` or `kilocode` install to\nuse GonkaGate, writes the minimum safe config, verifies the effective result,\nand then sends you back to plain `kilo`.\n\nWhat it does for you:\n\n- keeps the secret out of repo-local config by default\n- preserves unrelated Kilo settings instead of replacing whole files\n- supports interactive and non-interactive setup\n- verifies the intended Kilo result instead of assuming file writes worked\n- keeps the public contract narrow and honest\n\nWhat it does not do:\n\n- it does not install Kilo itself\n- it does not install or pin Kilo versions for you\n- it does not claim GonkaGate `responses` support today\n- it does not claim native Windows production support yet\n\n## Before You Start\n\nYou need:\n\n- Node `\u003e=22.14.0`\n- local `kilo` installed and available on `PATH`, or the fallback `kilocode`\n  command\n- local Kilo matching the minimum accepted floor: `@kilocode/cli \u003e=7.2.0`\n- a GonkaGate API key in the usual `gp-...` format from the\n  [dashboard](https://gonkagate.com/en/register?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=kilo_setup\u0026utm_content=readme_api_key_cta)\n\nCurrent public baseline:\n\n- package: `@gonkagate/kilo-setup`\n- primary command after setup: `kilo`\n- current transport target: `chat/completions`\n- model source of truth: `GET https://api.gonkagate.com/v1/models` after safe\n  API-key intake\n- Kilo's OpenCode-style `/models` picker receives every fetched GonkaGate model\n- installer-managed `limit.output = 8192` for each fetched model entry\n- no native Windows production claim yet\n\n## Shortest Start Path\n\n### Interactive setup\n\nUse this when you are setting up your own machine:\n\n```bash\nnpx @gonkagate/kilo-setup\n```\n\nThe installer will:\n\n1. detect `kilo`, or fall back to `kilocode`\n2. verify local Kilo is at least `@kilocode/cli \u003e=7.2.0`\n3. collect your API key through a hidden prompt\n4. fetch the live GonkaGate model catalog from `/v1/models`\n5. show the live model choices\n6. write the fetched GonkaGate provider model catalog for Kilo's `/models`\n   picker\n7. choose the recommended scope automatically:\n   - inside a git repository: `project`\n   - outside a repository: `user`\n8. write the managed config and verify the result\n9. return you to normal `kilo` usage\n\nOn interactive reruns, the installer asks about scope only if the last\ninstaller-managed scope differs from the new recommendation.\n\nIf you launch the installer from inside an active `kilo` terminal session, the\ndurable install can still succeed while that specific shell remains overridden\nby Kilo runtime config until you exit the session and return to plain `kilo`.\n\n### Non-interactive setup\n\nUse this for scripts, automation, or repeatable local setup:\n\n```bash\nnpx @gonkagate/kilo-setup --scope project --yes\n```\n\nOptional Kilo UI-model cache cleanup:\n\n```bash\nnpx @gonkagate/kilo-setup --scope project --clear-kilo-model-cache --yes\n```\n\nWith a key from the environment:\n\n```bash\nGONKAGATE_API_KEY=\"$GONKAGATE_API_KEY\" npx @gonkagate/kilo-setup --scope user --yes\n```\n\nWith a key through stdin:\n\n```bash\nprintf '%s' \"$GONKAGATE_API_KEY\" | npx @gonkagate/kilo-setup --api-key-stdin --scope project --yes --json\n```\n\nIf you run non-interactively, pass `--scope` or `--yes`. Inside a git\nrepository, the recommended default is usually `project`; outside a repo, it\nis usually `user`.\n\n## `user` vs `project` Scope\n\nUse `user` when you want GonkaGate available on this machine in general.\n\n- writes the provider definition and activation into user-level Kilo config\n- good default outside a repository\n\nUse `project` when you want this repository to activate GonkaGate by default.\n\n- keeps the provider definition and secret binding in user config\n- writes only activation settings into `.kilo/kilo.jsonc`\n- good default inside a git repository\n- the installer also warns when Kilo's global UI model cache could make another\n  repository reopen on the last selected GonkaGate model\n\nImportant limit:\n\n`project` scope is commit-safe by default, but it is not self-sufficient on a\nbrand-new machine. Each participating machine still needs a compatible\nuser-level `provider.gonkagate` definition, usually by running the installer on\nthat machine too.\n\n## Safe Ways To Pass The API Key\n\nSupported inputs:\n\n- hidden interactive prompt\n- `GONKAGATE_API_KEY`\n- `--api-key-stdin`\n\nIntentionally not supported:\n\n- plain `--api-key`\n- `.env` generation\n- shell profile mutation\n- repository-local secret storage\n- direct writes to Kilo `auth.json`\n\nThe installer will never accept plain `--api-key`.\n\nThe installer never prints the GonkaGate key.\n\n## Where Files Go\n\nCurrent managed locations:\n\n- user-level secret: `~/.gonkagate/kilo/api-key`\n- durable global config target: `~/.config/kilo/kilo.jsonc`\n- durable project config target: `.kilo/kilo.jsonc`\n\nScope rules:\n\n- `user` scope writes provider and activation into user config\n- `project` scope keeps the provider definition in user config and writes only\n  activation into project config\n- project config stays secret-free by default\n\n## Current Honest Limits\n\nThis repository intentionally stays narrow today:\n\n- minimum accepted Kilo floor: `@kilocode/cli \u003e=7.2.0`\n- current transport target: `chat/completions`\n- model availability comes from authenticated `GET /v1/models`\n- if no explicit model is selected, setup uses the API-provided default when\n  present, otherwise the first returned model\n- real-path Kilo verification is not the production default\n- native Windows production support is not claimed yet\n- future Kilo releases are not pre-blocked by version, but observed\n  compatibility breaks still need fixes\n- new transport flows are not implied just because this package exists\n\nThe shipped runtime treats effective Kilo config as the real success gate. It\nuses the local resolver as the durable verifier and keeps the XDG-isolated\n`kilo debug config` oracle as a compatibility check with fake secrets. Inside\nthat sandbox, mirrored global Kilo config is written into the sandbox XDG\nconfig tree so Kilo loads the same user-level provider layer the local\nresolver inspected. The oracle sandbox is created in temporary storage outside\nthe repository and is cleaned up after verification, so setup should not leave\n`home/`, `xdg/`, `npm-cache`, or mirrored `workspace/` trees in git.\n\n## Need More Detail?\n\n- [User guide](https://github.com/GonkaGate/kilo-setup/blob/main/docs/user-guide.md)\n- [How it works](https://github.com/GonkaGate/kilo-setup/blob/main/docs/how-it-works.md)\n- [Security notes](https://github.com/GonkaGate/kilo-setup/blob/main/docs/security.md)\n- [Troubleshooting](https://github.com/GonkaGate/kilo-setup/blob/main/docs/troubleshooting.md)\n- [Release and publishing runbook](https://github.com/GonkaGate/kilo-setup/blob/main/docs/publishing.md)\n\n## Development\n\n```bash\nnpm install\nnpm run ci\n```\n\nUseful commands:\n\n```bash\nnpm run build\nnpm run typecheck\nnpm test\nnpm run format:check\nnpm run package:check\nnode bin/gonkagate-kilo.js --help\nnode bin/gonkagate-kilo.js --json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgonkagate%2Fkilo-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgonkagate%2Fkilo-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgonkagate%2Fkilo-setup/lists"}