> ## Documentation Index
> Fetch the complete documentation index at: https://officellm.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install officeLLM and set up your development environment

# Installation

Install officeLLM in your TypeScript or JavaScript project.

## Package Installation

```bash theme={null}
npm install officellm zod@^4.0.0
```

or

```bash theme={null}
yarn add officellm zod@^4.0.0
```

or

```bash theme={null}
pnpm add officellm zod@^4.0.0
```

## Peer Dependencies

officeLLM requires the following peer dependencies:

* **zod**: `^4.0.0` - For type validation and schemas
* **Node.js**: `>=18.0.0` - For ES modules support

## Provider SDKs (Optional)

To use real LLM providers instead of mock implementations, install the relevant SDKs:

```bash theme={null}
# For OpenAI
npm install openai

# For Anthropic
npm install @anthropic-ai/sdk

# For Google Gemini
npm install @google/generative-ai
```

<Note>
  The mock implementations work out of the box for testing and development. Real provider integrations require API keys and the corresponding SDKs.
</Note>

## TypeScript Setup

officeLLM is built with TypeScript and provides full type safety. Ensure your `tsconfig.json` includes:

```json theme={null}
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "ESNext",
    "moduleResolution": "node",
    "strict": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true
  }
}
```

## Environment Setup

Create a `.env` file in your project root:

```bash theme={null}
# At least one provider API key is required
OPENAI_API_KEY=sk-your-openai-key-here
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here
GEMINI_API_KEY=your-gemini-key-here
OPENROUTER_API_KEY=sk-or-v1-your-openrouter-key-here
```

## Next Steps

<CardGroup>
  <Card title="Quick Start" icon="play" href="/quick-start">
    Start building your first multi-agent system
  </Card>

  <Card title="Examples" icon="lightbulb" href="/examples/basic-usage">
    Explore example implementations
  </Card>
</CardGroup>
