Metadata-Version: 2.4
Name: shakk-code
Version: 0.3.0
Summary: Cliente oficial de terminal do Shakk Code, por Fluqxo
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: requests<3,>=2.31
Requires-Dist: rich<15,>=13.7
Requires-Dist: textual<9,>=8.2

# Shakk Code

O Shakk no terminal, conectado à arquitetura atual do produto Shakk (por
Fluqxo). Não usa Ollama nem qualquer modelo legado como alternativa — fala
sempre com o backend oficial do Shakk.

## Instalação simples

```bash
./install.sh
shakk configurar
```

Também é possível instalar com `pipx install .` ou `python3 -m pip install .`.

## Uso

```bash
shakk                          # aplicativo de terminal em tela única
shakk chat "resuma este texto"
shakk configurar               # assistente de configuração
shakk diagnostico              # testa o ambiente e o serviço
shakk atualizar                # verifica e instala atualização com checksum
shakk --version                # mostra a versão instalada
shakk status                   # mostra as escolhas atuais
```

O aplicativo mantém cabeçalho, conversa, configurações e campo de mensagem na
mesma tela, sem empilhar a saída de cada comando. Use `Ctrl+,` para abrir as
configurações, `Ctrl+L` para começar uma nova conversa, `Shift+Tab` para alternar
o modo de trabalho e `F1` para a ajuda (os comandos de configuração permanecem
como fallback em terminais que não enviam Shift+Tab).
Na conversa interativa, `/ajuda` apresenta os comandos em linguagem simples.
As conversas ficam em `~/.local/state/shakk-code/conversas` e a configuração
em `~/.config/shakk-code`, sempre com permissões privadas.

## Conectar ao site

No site Shakk, abra **Agente → Parear CLI**, gere o código e execute:

```bash
shakk parear 123456
shakk
```

O primeiro comando cria a conexão segura. Ao abrir `shakk`, você conversa no
terminal e o computador também fica disponível para solicitações enviadas pelo
site. Para deixar somente o atendimento remoto aberto, sem a interface, use
`shakk agente`.

O modo (Rápido, Autônomo ou Profundo) escolhido no site acompanha cada
pedido. O modo de trabalho também acompanha o pedido e pode ser alterado no
site ou com `/trabalho` dentro do CLI:

- **Manual:** confirma edições e comandos.
- **Aceitar edições:** edita arquivos automaticamente e confirma comandos.
- **Planejar:** oferece somente leitura e planejamento, sem alterações.
- **Automático:** executa autonomamente as ações normais necessárias ao objetivo,
  inclusive shell completo. Um Risk Interceptor determinístico separa os poucos
  efeitos excepcionalmente perigosos ou fora do escopo.

Respostas já concluídas possuem identificação idempotente e não são processadas
novamente quando o CLI é reiniciado.

## Ferramentas e segurança

O Runtime expõe 21 ferramentas para filesystem, patch, processos, Git, LSP com
fallback, pesquisa web, Skills, plano e interação estruturada com o usuário.
No modo manual, mutações relevantes pedem autorização. Em aceitar edições,
mudanças de arquivo são automáticas. Em automático, shell funcional (pipes,
redirecionamentos, encadeamentos e subprocessos) é permitido dentro do objetivo;
o Risk Interceptor bloqueia ou eleva apenas riscos excepcionais, mantendo trilha
de auditoria e grants persistentes por tarefa.

## Variáveis opcionais

- `SHAKK_CODE_URL`: endereço de uma instalação própria do Shakk.
- `SHAKK_CODE_CONFIG_DIR`: pasta alternativa de configuração.
- `SHAKK_CODE_STATE_DIR`: pasta alternativa para o histórico local.
Cada computador mantém uma identidade própria. Você pode parear várias máquinas,
selecionar o destino no Chat Web/PWA e desconectar apenas uma instância.

Requisitos: Python 3.10+, Windows 10/11, macOS 11+ ou Linux com suporte ao Python.
O wheel é `py3-none-any`, sem dependência de AVX/AVX2; x86_64, arm64/aarch64 e
arquiteturas que executem as dependências Python puras seguem pelo mesmo caminho leve.
