flowral.docs

Toolchain do Flowral — desenvolvimento moderno, leve e acessível

Especificação do ambiente, não implementação. Apps Flowral continuam em Rust + Slint; base Void glibc + runit + Swirl. Toolchain de desenvolvimento não é pacote obrigatório da ISO.

Função Ferramenta
Código/build Rust + Cargo
UI nativa Slint + slint-viewer
Hot reload Slint Live Preview
Testes visuais por agente Slint MCP, headless quando suportado
Check contínuo bacon
Comandos curtos just
Cache incremental sccache
Compositor/testes Swirl aninhado se viável
Virtualização QEMU/KVM + libvirt
Controle humano da VM virt-manager / virt-viewer
Controle por agente virsh, SSH por chave, rsync
Guest Void Linux x86_64 glibc + runit + Swirl
Build de pacotes/ISO xbps-src + void-mklive
CI e publicação GitHub Actions
Testes do site Playwright opcional em CI

Contrato futuro de comandos just

Não alegar que os comandos já existem. Cada receita terá detecção de ferramentas ausentes, erros curtos e nenhuma operação destrutiva por padrão.

Comando Ação prevista
just help lista de tarefas e pré-requisitos
just preview UI Slint em live preview
just test-ui testes Slint/MCP em ambiente isolado
just check fmt, clippy e testes baratos
just dev-shell Swirl nested somente se suporte validado
just vm-up iniciar guest já criado
just vm-view abrir console da VM
just vm-shot capturar screenshot do console
just vm-ssh conectar com usuário sem root
just iso construir imagem em ambiente de teste
just perf medir perfil documentado de RAM/CPU

Desenvolvimento com menos carga cognitiva

  • Usar uma receita por tarefa e logs concisos, sem dezenas de comandos manuais.
  • Mostrar a causa e o próximo passo quando um binário, backend ou serviço estiver ausente.
  • Criar mocks de Wi-Fi, Bluetooth, energia e MCPs para design de interface, sem modificar sistema hospedeiro.
  • Aplicar temas Sakura Light/Dark e demais famílias nas screenshots de regressão.
  • Navegação keyboard-only, elementos Slint introspectáveis, foco visível e movimento reduzido.
  • Evitar exigir LSP para trabalhar em Neovim; sintaxe e completions básicas suficientes; LSP opcional.

Regras de CI

  • PR Rust: cargo fmt --check, cargo clippy e cargo test quando houver workspace.
  • PR UI: snapshots reais, teste de teclado e verificação visual com Slint MCP.
  • PR shell: testes nested/VM somente quando runner dispõe de compositor/driver apropriado.
  • PR de ISO: build versionado, boots BIOS/UEFI em virtualização suportada, artefatos/hashes.
  • Benchmark real no ThinkPad: fora dos runners hospedados convencionais; não inventar memória/energia.
  • Não construir ISO inteira a cada mudança de documentação ou espaçamento Slint.

Segurança

MCP somente local e debug; não expor porta. VM isolada, sem partição host montada em escrita em testes não confiáveis. SSH por chave de desenvolvimento, sem root automático. Backup antes de operações perigosas; não compartilhar credenciais ou registros de Wi-Fi do usuário em screenshots, logs e artifacts.

Ver live preview e workflow de agentes.