# MuxCode CLI

AI coding assistant CLI — fork do Claude Code, distribuído via npm.

## Instalação

```bash
npm install -g @muxcodecli/cli
```

Funciona em **Windows, Linux e macOS** com o mesmo comando.

## Distribuição cross-platform

O pacote é único para todas as plataformas. O npm trata as diferenças automaticamente:

- **Nativos por plataforma**: `@opentui/core-win32-x64`, `core-linux-x64`, `core-darwin-arm64`, etc. são `optionalDependencies` — o npm instala só o correto para o OS atual
- **Windows**: o `postinstall.mjs` move a `opentui.dll` para `%APPDATA%\muxcode\opentui\` fora do `node_modules`, evitando EPERM no update (DLL bloqueada pelo processo). O `bin/muxcode` repete esta lógica no arranque como fallback
- **Linux/macOS**: o `postinstall.mjs` sai imediatamente, nenhum tratamento especial necessário

## Build e publicação

```bash
bun run script/build-npm.ts   # compila dist/index.js + worker
npm publish --access public   # publica @muxcodecli/cli
```

O build embute as **migrações SQLite** (`MUXCODE_MIGRATIONS`) e o **channel** (`latest`) diretamente no bundle, sem dependências externas.

## Auto-update

O CLI verifica o npm registry 1 segundo após arrancar. Para patch updates (`1.x.y` → `1.x.z`) instala automaticamente em background. O utilizador vê uma notificação `UpdateAvailable` sempre que há versão nova.

Para desativar: `"autoupdate": false` no `muxcode.json`.

## Desenvolvimento local

```bash
bun install
bun run --cwd packages/muxcode --conditions=browser src/index.ts
```
