opencode-ralph-loop-cli 0.1.0

Scaffolder CLI for OpenCode Ralph Loop plugin — one command setup
Documentation
# Changelog

> Este documento também está disponível em [English]CHANGELOG.md.

Todas as mudanças relevantes deste projeto estão documentadas aqui.
O formato segue Keep a Changelog 1.1.0 e adere ao Semantic Versioning 2.0.0.


## [Unreleased]


## [0.1.0] - 2026-04-17

### Adicionado
- Subcomando `init` gera a estrutura completa `.opencode/` em um único comando
- Subcomando `check` valida arquivos instalados contra templates embutidos via SHA-256
- Subcomando `uninstall` remove arquivos rastreados pelo manifest preservando personalizações do usuário
- Subcomando `list` exibe todos os templates embutidos com hashes SHA-256 e tamanhos em bytes
- Subcomando `doctor` diagnostica dependências de ambiente `bun`, `node` e `opencode`
- Subcomando `completions` gera scripts de shell para bash, zsh, fish, powershell e elvish
- Seis templates canônicos embutidos como bytes estáticos via `rust-embed`: `plugins/ralph.ts`, `commands/ralph-loop.md`, `commands/cancel-ralph.md`, `commands/ralph-help.md`, `package.json`, `.gitignore`
- Idempotência baseada em SHA-256 — arquivos sem alterações são sempre reportados como `SKIPPED`
- Inicialização em duas fases via `init`: todos os conflitos detectados antes de qualquer escrita em disco
- Escritas atômicas de arquivo via temp-arquivo-então-renomear para evitar escritas parciais
- Rastreamento por manifest em `.opencode/.manifest.json` com SHA-256, tamanho e ação por arquivo
- Formatos de saída texto, JSON, NDJSON e silencioso via `--output`
- Exit codes tipados: 0 (sucesso), 1 (genérico), 2 (uso), 3 (conflito), 4 (E/S), 5 (drift-strict), 6 (manifest ausente), 7 (config-parse), 130 (SIGINT)
- Flag `--dry-run` para simulação segura sem nenhuma escrita em disco
- Flag `--force` para sobrescrita autorizada de arquivos que diferem dos templates
- Flag `--plugin-version` para substituir a versão embutida do `@opencode-ai/plugin` (padrão `1.4.7`)
- Flags `--no-package-json` e `--no-gitignore` para pular arquivos de template individuais
- Flag `--keep-state` em `uninstall` para preservar `ralph-loop.local.md`
- Logs estruturados para stderr via `tracing` — stdout permanece sempre legível por máquina
- Suporte para Linux x86_64 e aarch64, macOS x86_64 e aarch64, Windows x86_64

[Unreleased]: https://github.com/daniloaguiarbr/opencode-ralph-loop-cli/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/daniloaguiarbr/opencode-ralph-loop-cli/releases/tag/v0.1.0