Part of epic #3602.
Scope
Add a new menu option to zeph init's LLM provider selector that pre-fills a [[llm.providers]] type = \"compatible\" name = \"gonkagate\" entry.
Files to modify
src/init/llm.rs:45 — extend the providers array with \"Gonka (decentralized — via GonkaGate)\" at index 5; add a new match arm that:
- Sets
state.provider = Some(ProviderKind::Compatible)
- Sets
state.compatible_name = Some(\"gonkagate\".into())
- Sets
state.base_url = Some(\"https://api.gonkagate.com/v1\".into())
- Offers a model picker (default
Qwen/Qwen3-235B-A22B-Instruct-2507-FP8, plus custom... escape hatch)
- When
vault_backend != \"age\", prompts for the gp-... API key via Password
- When
vault_backend == \"age\", prints instructions to run zeph vault set ZEPH_COMPATIBLE_GONKAGATE_API_KEY gp-... after wizard completion
- Update the secrets-instructions printer to mention the gonkagate key.
Acceptance
- Running
cargo run --features full -- --init and selecting the new option produces a valid [[llm.providers]] block.
cargo +nightly fmt --check, cargo clippy --workspace --features full -- -D warnings, cargo nextest run --workspace --features full --lib --bins all green.
- Existing wizard tests in
src/init/ updated; one new unit test asserts the rendered TOML matches expectations.
CHANGELOG.md [Unreleased] updated.
Depends on
None.
Size
S (~1.5h)
Part of epic #3602.
Scope
Add a new menu option to
zeph init's LLM provider selector that pre-fills a[[llm.providers]] type = \"compatible\" name = \"gonkagate\"entry.Files to modify
src/init/llm.rs:45— extend theprovidersarray with\"Gonka (decentralized — via GonkaGate)\"at index 5; add a new match arm that:state.provider = Some(ProviderKind::Compatible)state.compatible_name = Some(\"gonkagate\".into())state.base_url = Some(\"https://api.gonkagate.com/v1\".into())Qwen/Qwen3-235B-A22B-Instruct-2507-FP8, pluscustom...escape hatch)vault_backend != \"age\", prompts for thegp-...API key viaPasswordvault_backend == \"age\", prints instructions to runzeph vault set ZEPH_COMPATIBLE_GONKAGATE_API_KEY gp-...after wizard completionAcceptance
cargo run --features full -- --initand selecting the new option produces a valid[[llm.providers]]block.cargo +nightly fmt --check,cargo clippy --workspace --features full -- -D warnings,cargo nextest run --workspace --features full --lib --binsall green.src/init/updated; one new unit test asserts the rendered TOML matches expectations.CHANGELOG.md[Unreleased]updated.Depends on
None.
Size
S (~1.5h)