Skip to main content

Providers

DevDocs Forge Agent supports mock mode by default and can connect to OpenAI, Anthropic, or Gemini with environment variables. All providers use native fetch — no external AI SDK packages are installed.

Mock provider

No API key required. Returns structured placeholder markdown — perfect for development, demos, and CI.

.env
DEVDOCS_PROVIDER=mock
SettingValue
API key requiredNo
Best forLocal demos, contributors, CI/CD
OutputDeterministic placeholder docs

Run npm run demo to see full output generated in mock mode.

OpenAI

Get a key at platform.openai.com/api-keys.

.env
DEVDOCS_PROVIDER=openai
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-4.1-mini
ModelNotes
gpt-4.1-miniFast and cost-effective for docs generation
gpt-4.1Higher quality, slower and more expensive
o4-miniBest reasoning — use for complex tech docs

Anthropic

Get a key at console.anthropic.com.

.env
DEVDOCS_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL=claude-3-5-sonnet-latest
ModelNotes
claude-3-5-sonnet-latestStrong technical writing and structured output
claude-3-5-haiku-latestFaster, cheaper drafts
claude-opus-4-5Highest capability

Google Gemini

Get a key at aistudio.google.com.

.env
DEVDOCS_PROVIDER=gemini
GEMINI_API_KEY=...
GEMINI_MODEL=gemini-2.0-flash
ModelNotes
gemini-2.0-flashFast and cost-effective generation
gemini-1.5-proMore capable long-context generation

Provider selection

Switch between providers with one environment variable:

.env
DEVDOCS_PROVIDER=mock # default — no key needed
DEVDOCS_PROVIDER=openai
DEVDOCS_PROVIDER=anthropic
DEVDOCS_PROVIDER=gemini
ProviderEnvironment variableAPI key required
MockDEVDOCS_PROVIDER=mockNo
OpenAIDEVDOCS_PROVIDER=openaiYes
AnthropicDEVDOCS_PROVIDER=anthropicYes
GeminiDEVDOCS_PROVIDER=geminiYes

List available providers

List providers
npm run providers

Adding a new provider

Each provider implements a simple interface:

src/providers/example.provider.ts
export interface Provider {
readonly name: string;
readonly model: string;
generate(options: GenerateOptions): Promise<string>;
}

To add a provider (e.g., Ollama):

  1. Create src/providers/ollama.provider.ts
  2. Implement the Provider interface using native fetch
  3. Register it in src/providers/provider-registry.ts
  4. Add OLLAMA_BASE_URL and OLLAMA_MODEL to .env.example

See GitHub Issue #1 — Ollama support is a good first issue.

No SDK packages

All providers use Node.js 18+ native fetch. There are no openai, anthropic, or @google/generativeai packages in the dependency tree.