Skip to content

feat(configure): guide fresh installs to a usable provider configuration #4

Description

@Audacity88

Summary

A fresh Zoder installation leaves the CLI without a usable provider and does not offer a direct guided setup command. The installed model corpus suggests models are available, but the only provider is the built-in placeholder.

Reproduction

After installing the prebuilt trio with the documented installer:

zoder providers

Output:

default    https://api.example.com/v1    kind=openai-chat  billing=free  auth=MISSING

A free routing preview then fails:

zoder exec --oneshot --dry-run --tier strong --require-free "test"
zoder: error: no free model has a configured provider on this host — configure a provider, pin a backed model, or pass -m <backed-model>

This remains true when a standard provider credential such as OPENROUTER_API_KEY is already available, because no provider profile references it.

Current behavior

The README documents manual config.<vendor>.toml overlays, but zoder configure does not provide a provider-setup workflow. A new user must infer and write the provider TOML before the first useful exec, route, or model test.

Suggested improvement

Provide one or both of:

  1. A guided non-interactive command, for example:

    zoder configure provider openrouter \
      --base-url https://openrouter.ai/api/v1 \
      --key-env OPENROUTER_API_KEY
  2. A post-install diagnostic that detects the placeholder-only state and prints an exact setup command or starter profile.

Standard environment-variable discovery could remain explicit and safe: detect that a known credential exists, but require confirmation or a setup command before writing a provider profile.

Why this matters

The current failure is technically accurate, but it makes a successful installation look broken and obscures the path from “binary installed” to “first routed call.”

Environment

  • zoder 0.2.1
  • macOS arm64
  • Installed with the documented prebuilt installer

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions