| name | add-provider |
| description | Add support for a new LLM provider format to Lingua. Follow the test-first workflow with payload snapshots. |
Add Provider Skill
Add support for a new LLM provider to Lingua using a test-first approach.
Full documentation: crates/lingua/docs/ADDING_PROVIDER_FORMAT.md
Workflow Overview
1. Add payload snapshots → 2. Add ProviderFormat → 3. Create module → 4. Implement adapter → 5. Validate with coverage-report
Step 1: Add Payload Snapshots
Create test fixtures from real API calls in payloads/snapshots/:
payloads/snapshots/simpleRequest/myprovider/
├── request.json
├── response.json
├── response-streaming.json
├── followup-request.json
├── followup-response.json
└── followup-response-streaming.json
Quick manual capture:
mkdir -p payloads/snapshots/simpleRequest/myprovider
Using capture system (recommended):
cd payloads && pnpm capture --providers myprovider
Step 2: Add to ProviderFormat Enum
File: crates/lingua/src/capabilities/format.rs
pub enum ProviderFormat {
MyProvider,
Unknown,
}
Update Display and FromStr implementations.