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

# Instalación

> Instala @fhiron/sdk y configura tu API key. Node 18+, ESM y CommonJS.

## Instalar

```bash theme={null}
npm install @fhiron/sdk
```

El paquete es zero-dependencies y trae el linter de CL Core embebido. Funciona en Node 18 o superior.

## API key

El SDK necesita una API key del tenant. Genérala en el [dashboard](https://fhiron.cl/dashboard) y pásala al constructor o expórtala en la env.

```ts theme={null}
import { Fhiron } from '@fhiron/sdk';

// Opción A: explícita
const fhiron = new Fhiron({ apiKey: 'fhi_xxx' });

// Opción B: desde la env (FHIRON_API_KEY)
const fhiron2 = new Fhiron();
```

<Warning>
  Nunca pongas la API key en el código versionado. Úsala desde una variable de entorno o tu gestor de secretos.
</Warning>

## ESM y CommonJS

Ambos estilos de import funcionan sin configuración extra:

```ts theme={null}
// ESM / TypeScript
import { Fhiron } from '@fhiron/sdk';
```

```js theme={null}
// CommonJS
const { Fhiron } = require('@fhiron/sdk');
```

## TypeScript

Los tipos vienen incluidos (`.d.ts`). No necesitas instalar `@types/...`. En un proyecto estricto:

```ts theme={null}
import { Fhiron, ValidateResult, Issue } from '@fhiron/sdk';

const fhiron = new Fhiron({ apiKey: process.env.FHIRON_API_KEY });
const result: ValidateResult = await fhiron.validate(resource);
```

## Configuración del cliente

```ts theme={null}
const fhiron = new Fhiron({
  apiKey: process.env.FHIRON_API_KEY,
  timeout: 10000,          // ms por petición (default 10000)
  clCoreVersion: '1.9.4',  // fija la versión de CL Core (opcional)
  language: 'es',          // 'es' (default) | 'en'
});
```

Para staging o desarrollo local puedes apuntar a otra base con `baseUrl` o la env `FHIRON_API_URL`.

## Próximo paso

Valida tu primer recurso con [validate](/sdk/validate).
