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.

Aller à l'installation

Informations de source

Dépôt
hoangsonww/Forge-Agentic-Coding-CLI
Dernière activité de la source
20 avril 2026 à 21:15
Langue détectée de SKILL.md
anglais
Étoiles
22
Forks
9

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.
Voir sur GitHub