Skip to content

docs: adding-a-provider checklist (three cases) #173

Description

@cunninghamcard-bit

Part of #166; RFC-0033 §4.1 item 6.

There is no document that says how to add a provider. pi-ai's README has a seven-step "Adding a New Provider" checklist (packages/ai/README.md); aimux needs the equivalent, split by the three cases that actually occur.

docs/contributing/adding-a-provider.md

  1. OpenAI-compatible vendor: one row in provider_registry.json → run scripts/gen_provider_names.py and scripts/gen_providers_doc.py → derive a cassette with scripts/generate_thin_wrapper_cassettes.py (until B2 makes conformance_test.rs iterate registry rows) → the five conformance cases (streaming, tool call, abort, empty message, context overflow).
  2. New protocol: a new directory under aimux-providers/src/<protocol>/ implementing LanguageModel::do_generate / do_stream (the analogue of pi-ai src/api/<api-id>.ts), a registry row with protocol: <name> once B1 lands, cassettes recorded against the real API.
  3. Single-modality vendor: the RFC-0033 §8.2 executor pattern — implement only the request/response transform functions.

Also state the generator rule (do-not-edit header + CI --check) and the retirement conditions of the remaining scripts/ tools. Link from README.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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