Skip to main content

add-provider

Scaffold a new model provider for Forge — class, registry wiring, providerEnum entry, local-catalog classification, router check, and a unit test with mocked transport.

Quellinformationen

Repository
hoangsonww/Forge-Agentic-Coding-CLI
Letzte Quellaktivität
20. April 2026 um 21:15
Erkannte Sprache von SKILL.md
Englisch
Sterne
24
Forks
9

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
add-provider
description
Scaffold a new model provider for Forge — class, registry wiring, providerEnum entry, local-catalog classification, router check, and a unit test with mocked transport.
Copy the shape of an existing provider (`src/models/ollama.ts`, `src/models/openai.ts`, `src/models/anthropic.ts`). Do not invent a new shape. ## 1. `src/models/<name>.ts` - Match the existing provider interface (availability probe, chat/complete, token count, streaming). - Availability probe ≤ 1.5 seconds. Long timeouts break REPL cold-start budget. - HTTP via `undici` (already a dependency). No `axios`, no `node-fetch`. - Redact credentials via `src/security/redact.ts` before any log call. - Map transport errors to `ForgeRuntimeError` with the right `retryable` flag and a `recoveryHint` where possible. ## 2. `src/models/registry.ts` - Add the id to `providerEnum`. - Register the class in `initProviders`. - If local (runs on the user's machine), add it to `isLocalProvider`. ## 3. `src/models/local-catalog.ts` - Add model id → family classification here. Do **not** write ad-hoc regex in the provider for capability detection. ## 4. `src/models/router.ts` - Verify routing reaches the new provider via standard rules. If routing changes, update `test/unit/adapter.test.ts`. ## 5. Unit test Mock the transport (see `test/unit/adapter.test.ts`). Cover: - availability probe success and failure, - chat/complete happy path, - 429 retry behaviour, - auth failure surfaces a non-retryable structured error. ## 6. Docs Update the provider table in `docs/ARCHITECTURE.md` §6, bump the README "At a glance" count, and add a one-line setup note to `docs/SETUP.md`. Finish with the `verify` skill.
Auf GitHub ansehen