Expand description
§ssh-cli
CLI Rust full-stack que dá a uma LLM (Claude Code, Cursor, Windsurf) a capacidade de operar servidores remotos via SSH em um fluxo de subprocesso via stdin/stdout.
§Módulos
| Módulo | Responsabilidade |
|---|---|
cli | Definição de argumentos via clap derive e dispatcher |
vps | CRUD e persistência de registros de VPS (XDG + TOML + 0o600) |
ssh | Cliente SSH (stub nesta iteração; real via russh em v2+) |
i18n | Internacionalização com enum Mensagem bilíngue |
locale | Detecção e resolução de locale do sistema operacional |
platform | Ajustes de plataforma (UTF-8 Windows, detecção TTY) |
mascaramento | Mascaramento Unicode-safe de valores sensíveis |
erros | Tipos de erro estruturados via thiserror |
output | Único módulo autorizado a println! (formatação CRUD) |
paths | Validação e normalização de caminhos (anti-traversal, NFC) |
signals | Handler de Ctrl+C com flag de cancelamento via AtomicBool |
terminal | Detecção de TTY e escolha de cor via termcolor |
§Entry point
A função pública run é o ponto de entrada chamado por main.rs.
Modules§
- cli
- Definição de argumentos CLI via
clapderive e dispatcher. - erros
- Tipos de erro do ssh-cli.
- i18n
- Sistema de internacionalização do ssh-cli.
- locale
- Detecção e resolução de idioma cross-platform.
- mascaramento
- Mascaramento Unicode-safe de valores sensíveis (senhas, tokens).
- output
- Único módulo autorizado a emitir output em stdout para CRUD de VPS.
- paths
- Validação e normalização de caminhos de arquivo.
- platform
- Abstrações condicionais por sistema operacional.
- scp
- Transferência de arquivos via SCP sobre SSH.
- signals
- Tratamento de sinais do sistema operacional.
- ssh
- Motor SSH via
russh0.60.x (iteração 2). - terminal
- Configuração de output colorido e detecção de terminal interativo.
- tunnel
- Tunnel SSH (port-forward local).
- vps
- CRUD e persistência de registros de VPS.
Functions§
- run
- Executa o ssh-cli a partir dos argumentos da linha de comando.