<div align="center"><img src="https://avatars.githubusercontent.com/u/190006171?s=200&v=4" alt="LaissCodex logo"></div>

# LaissCodex

O LaissCodex é um assistente de terminal paracriar código. Ele faz o trabalho de ajudar a escrever código de forma simples e divertida.

## Começar

```bash
npm install --global --omit=dev laisscodex
```

Execute-o:

```bash
laisscodex
# Ou a forma abreviada:
laisscodex
```

## Sobre

O LaissCodex é um assistente de codificação pequeno que fala com qualquer API compatível com OpenAI ou Anthropic ou ainda com modelos LLM locais.

- **Zero telemetria** – o seu código permanece no seu local.
- Pode trocar de modelo a qualquer momento: funciona bem com GPT‑5, Claude 4, GLM‑4.5, Kimi K2 e com quaisquer outros modelos que você já tenha.
- Possui modelos de correção automática (disponíveis no Hub da Hugging Face) para lidar rapidamente com falhas em chamadas de ferramentas e na edição de código.
- Se quiser usar um modo mais livre, pode iniciar com `laisscodex --unchained` e pular todas as confirmações de ferramenta e edição.

## Demo

Assista ao LaissCodex em ação:

[![LaissCodex asciicast](https://raw.githubusercontent.com/laiss-labs/laisscodex/main/laisscodex-asciicast.svg)](https://asciinema.org/a/728456)

## Isolamento Docker

O LaissCodex suporta Docker direto no seu computador. Pode anexá‑lo a um contêiner já em execução ou iniciar um novo contêiner de Alpine:

```bash
# Conectar a um contêiner já em execução
laisscodex docker connect <nome-do-conteiner>

# Iniciar um novo contêiner Alpine e executar o LaissCodex dentro:
laisscodex docker run -- -d -i -t alpine /bin/sh
```

Todos os comandos shell, edições de arquivos e leitura são feitos dentro do contêiner, mas servidores MCP e chamadas HTTP continuam a ser feitos na máquina local.

## Configuração e Regras

O LaissCodex procura por arquivos de regras nos diretórios atuais e pai, até ao diretório home. Os arquivos reconhecidos são:

- `LAISSCODEX.md`
- `CLAUDE.md`
- `AGENTS.md`

Uso o primeiro arquivo encontrado, e arquivos adicionais são combinados para criar regras global e específicas do projeto.

## Conectar a Servidores MCP

Edite `~/.config/laisscodex/laisscodex.json5` para adicionar um servidor MCP, por exemplo linear:

```json5
mcpServers: {
  linear: {
    command: "npx",
    args: ["-y", "mcp-remote", "https://mcp.linear.app/sse"],
  },
}
```

## Usando LLMs locais

Para usuários avançados, pode configurar o LaissCodex para usar um servidor de LLM local. Siga o UI ou edite o arquivo config:

```json5
{
  nickname: "Meu LLM local",
  baseUrl: "http://localhost:3000",
  apiEnvVar: "VAR_VARIAVEL",
  model: "openai/gpt-oss-20b",
}
```

## Depurar

Para ver mensagens detalhadas, rode com a variável de ambiente `LAISSCODEX_VERBOSE` definida a qualquer valor "truthy":

```bash
LAISSCODEX_VERBOSE=1 laisscodex
```

Isso mostrará erros internos de APIs e falhas de chamadas de ferramentas.

## Contribuindo

Sinta‑se à vontade para abrir *issues* e *pull requests* no repositório do GitHub. Feedback é muito bem vindo!

## Licença

O LaissCodex está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
