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

# Empaquetar Copilot CLI

> Explica cómo empaquetar Copilot CLI como dependencia de npm dentro del proyecto Laravel para controlar de forma estricta su versión.

## Incluir Copilot CLI en el proyecto

Si quieres controlar de forma estricta la versión de Copilot CLI, puedes incluirlo en el proyecto como paquete npm.

Por lo general basta con instalar Copilot CLI por separado en el despliegue.\
Consulta también [Uso en Laravel Cloud](/es/packages/laravel-copilot-sdk/laravel-cloud) y [Uso en GitHub Actions](/es/packages/laravel-copilot-sdk/github-actions).

## Requisitos previos

El proyecto Laravel tiene `package.json` y el servidor de producción cuenta con un entorno Node.js, por lo que puedes instalar paquetes npm.

## Configuración

### 1. Instala el paquete npm

Instala `@github/copilot` en `dependencies`.

```shell theme={null}
npm install @github/copilot
```

Tras la instalación, puedes ejecutar Copilot CLI directamente con esta ruta:

```shell theme={null}
node node_modules/@github/copilot/npm-loader.js --version
```

A partir de Copilot CLI 1.0.64, `index.js` solo está incluido en los paquetes específicos de cada plataforma. Si quieres usar `index.js`, hazlo según tu entorno:

```shell theme={null}
node node_modules/@github/copilot-linux-x64/index.js --version
```

### 2. Configura `.env`

En `COPILOT_CLI_PATH`, indica la ruta completa hasta `npm-loader.js`.

```dotenv theme={null}
COPILOT_CLI_PATH=/path/to/project/node_modules/@github/copilot/npm-loader.js
```

Si quieres definir la ruta dinámicamente con `base_path()`, edita directamente `config/copilot.php`:

```php theme={null}
'cli_path' => base_path('node_modules/@github/copilot/npm-loader.js'),
```

## Despliegue

Al desplegar en producción, después de compilar los assets, reinstala excluyendo `devDependencies`. Como `@github/copilot` está en `dependencies`, permanece.

```shell theme={null}
npm install
npm run build
npm install --omit=dev
```

`npm install --omit=dev` elimina los paquetes de `devDependencies` y deja en `node_modules` únicamente los de `dependencies`, incluidos `@github/copilot`.

## Ventajas y consideraciones

| Ventajas                                               | Consideraciones                     |
| ------------------------------------------------------ | ----------------------------------- |
| Permite controlar de forma estricta la versión del CLI | Aumenta el tamaño de `node_modules` |
| Puedes fijar la versión en `package.json`              | Debes actualizar el CLI manualmente |
| Todo el equipo usa la misma versión                    | Necesitas un entorno Node.js        |

## Autenticación

El método de autenticación es el mismo independientemente de cómo lo instales. Configura `COPILOT_GITHUB_TOKEN` en `.env`.

```dotenv theme={null}
COPILOT_GITHUB_TOKEN=your-token
```

Para más detalles consulta [Autenticación](/es/packages/laravel-copilot-sdk/auth).

<Info>
  Consulta la información más reciente en el [repositorio de GitHub](https://github.com/invokable/laravel-copilot-sdk).
</Info>


## Related topics

- [Laravel Boost Custom Agent for GitHub Copilot CLI](/es/packages/laravel-boost-copilot-cli.md)
- [Laravel LSP — Extensión de funciones de IDE con Language Server Protocol](/es/blog/laravel-lsp-introduction.md)
- [Plugin Directories](/es/packages/laravel-copilot-sdk/plugin-directories.md)
- [Frontend](/es/frontend.md)
- [Primeros pasos - GitHub Copilot SDK for Laravel](/es/packages/laravel-copilot-sdk/getting-started.md)
