zeroclaw-setup
Install GonkaGate for ZeroClaw with one npx command. Setup and verify CLI for custom OpenAI-compatible provider config, live model checks, and hidden API key setup.
Links
README
From the repo.
zeroclaw-setup
Set up local ZeroClaw to use GonkaGate in one npx command.
npx zeroclaw-setup
Overview
Onboarding-first ZeroClaw utility for configuring GonkaGate as the primary custom provider.
The repository is still intentionally narrow: it owns only the GonkaGate
provider contract, delegates persistence to ZeroClaw-native seams, and stays
on the audited stable ZeroClaw v0.6.9 config contract.
Follow-up verification command:
npx zeroclaw-setup verify
Current status:
- repository infrastructure is ready for active development and publishing
- install now performs real Phase 2 mutation work on audited ZeroClaw
v0.6.9 - first-run setup uses a proven two-step native path:
zeroclaw onboard --quick --provider custom:https://api.gonkagate.com/v1 --model <model-id>followed by the hidden nativezeroclaw props set api-keyprompt - first-run mutation stays intentionally limited to that hidden native prompt
path; stdin-fed secret transport remains blocked because it is not part of
the shipped proof on audited
v0.6.9 - existing-config updates use a split native write seam:
default-provideranddefault-modelgo throughzeroclaw props set --no-interactive, whileapi-keystays on the hidden nativezeroclaw props set api-keypath - after hidden GonkaGate key entry, install calls
GET https://api.gonkagate.com/v1/models, validates the response shape, and uses the returned live model IDs for model prompts,--modelvalidation, and ZeroClaw config mutation - empty or malformed live model catalogs block setup before any ZeroClaw config mutation
- install refuses mutation when the runtime is active or ambiguous, when the
config contains unknown top-level keys, or when the installed ZeroClaw
runtime is missing, unparseable, or older than
v0.6.9 verifynow performs the shipped Phase 3 read-only verdict flow: minimum version gating, active config resolution, saved-config contract checks, runtime summary throughzeroclaw status, and advisoryzeroclaw doctoroutputverifyreturns explicitpass,warn-shadowed, andfailresults, with the exact warningsaved config is correct but inactivewhen env overrides shadow an otherwise-correct saved GonkaGate contract
Quick Start
npm install
npm run ci
npm run dev -- --help
Development entrypoints:
npm run devnpm run dev -- verifynpm run buildnpm run lintnpm testnpm run ci
What Is Already Set Up
- TypeScript ESM project structure with separate typecheck and build configs
- ESLint + Prettier wired into local scripts and CI
- packaged CLI binary at
zeroclaw-setup - GitHub Actions for CI, release-please, and npm publish
- release metadata files aligned with sibling
*-setuprepositories - mirrored
.agentsand.claudeskill packs copied fromopencode-setup - starter docs under
docs/ - node:test coverage for version gating, config resolution, first-run proof, native write sequencing, restore boundaries, live model catalog, docs, and package metadata
Repository Layout
bin/ packaged CLI entrypoint
docs/ docs, security notes, implementation plan, specs mirror
scripts/ repository utility scripts
src/constants/ fixed provider data
src/install/ install and verify runtime seams
test/ fast node:test coverage for install, verify, and repo contracts
.agents/skills/ mirrored local skill pack for agent workflows
.claude/skills/ mirrored local skill pack for Claude-compatible workflows
Product Contract Seeded In Code
The code hard-codes the GonkaGate contract from the PRD:
- provider base URL:
https://api.gonkagate.com/v1 - provider key:
custom:https://api.gonkagate.com/v1 - managed config fields:
default_providerapi_keydefault_model
- shipped first-run path:
zeroclaw onboard --quick --provider custom:https://api.gonkagate.com/v1 --model <model-id>- hidden native
zeroclaw props set api-key - first-run mutation stays blocked when the API key would need stdin or another unproven transport
- shipped existing-config path:
zeroclaw props set --no-interactive default-provider custom:https://api.gonkagate.com/v1zeroclaw props set --no-interactive default-model <model-id>- hidden native
zeroclaw props set api-key - runtime-quiesced sequencing with non-secret restore after pre-secret and post-secret failures
- explicit secret remediation because stable native read-back does not expose
the prior
api-key - saved-config confirmation uses
api_keyset/unset evidence only; literal secret read-back is not part of the wrapper contract
- chosen v1 verify shadowing behavior:
- explicit
saved config is correct but inactivewarning when env overrides mask the saved GonkaGate contract
- explicit
- shipped verify evidence split:
zeroclaw statusinforms the effective runtime verdictzeroclaw doctorremains advisory troubleshooting context
- live model catalog gate:
- endpoint:
GET https://api.gonkagate.com/v1/models - auth:
Authorization: Bearer <gp-...> - response trust boundary: root object with a
dataarray of objects whoseidfields are non-empty strings and optional stringnamefields - duplicate live model IDs are deduped
- install fails cleanly on empty or malformed live catalogs before model selection or native writes
- the selected live model ID is written directly to
default_model
- endpoint:
- public install flag surface:
- optional
--model <id>validated against the fetched live catalog
- optional
- env override checks:
ZEROCLAW_PROVIDERZEROCLAW_MODEL_PROVIDERMODEL_PROVIDERPROVIDERZEROCLAW_MODELMODELZEROCLAW_API_KEYAPI_KEY
- ZeroClaw runtime gate:
- minimum supported version: audited stable ZeroClaw
v0.6.9 - newer versions are not blocked solely because they are newer
- minimum supported version: audited stable ZeroClaw
CLI Status
The package exposes these public commands:
npx zeroclaw-setup
npx zeroclaw-setup verify
Current shipped behavior:
npx zeroclaw-setupperforms real Phase 2 install mutation when the installed ZeroClaw runtime is at least auditedv0.6.9and read-only gating passes- install asks for a hidden GonkaGate API key after the chosen mutation path is
known and the runtime quiesce gate has passed, checks the live
GET /v1/modelscatalog, then prompts for a live model when--modelis omitted in an interactive terminal - non-interactive/default installs without
--modeluse the first valid live model returned by/v1/models - the wrapper-collected key is used for the live catalog check; public native
storage paths still let ZeroClaw collect the persisted
api-keythroughzeroclaw props set api-key, so first-run stdin secret persistence remains blocked - first-run install is shipped only when ZeroClaw can collect the secret
through its hidden native
zeroclaw props set api-keyprompt - install does not place the GonkaGate API key on argv in the shipped happy path
npx zeroclaw-setup verifynow performs shipped read-only verification, including finalpass/warn-shadowed/failverdicts- verify and saved-config confirmation use
api_keyset/unset evidence only; they do not claim literal saved secret read-back
Docs
- docs/README.md current-truth documentation index
- docs/how-it-works.md
- docs/implementation-plan.md historical execution record
- docs/prd-task-breakdown.md historical planning checklist
- docs/security.md
- docs/troubleshooting.md
- docs/specs/zeroclaw-setup-prd/spec.md
Release Flow
The repository follows the same release automation pattern as neighboring GonkaGate CLI utilities:
CIruns on push and pull requestRelease Pleaseopens and updates release PRs from conventional commits- tags dispatch
Publish (npm)with OIDC-based provenance publishing
License
Apache-2.0
Collected info
- ★ 0 stars
- Language: TypeScript
- Source updated: 7/6/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.