Skip to content

[P0][Installer UX] Um login, duas entradas: Desktop instala tudo; CLI usa o mesmo bootstrap #111

Description

@wesleysimplicio

Decisão pública de distribuição

O usuário escolhe o canal antes de instalar, na página de download:

  1. Desktop — recomendado
  2. CLI only

Depois disso não existe wizard perguntando Desktop, CLI, Runtime, PATH, banco, skills ou integrações.

Desktop download → abrir → login → auto-bootstrap → pronto
CLI bootstrap    → login → auto-bootstrap → pronto

Runtime implementation: wesleysimplicio/simplicio-runtime#4606.
Desktop UX: wesleysimplicio/simplicio-agent#1035.
Savings validation: wesleysimplicio/simplicio-runtime#4608.
Related public installer work: #87, #91 e #92.

Desktop — recomendado

O artefato Desktop instala o shell assinado da plataforma. No primeiro launch, a única ação interna do usuário é Entrar e configurar.

Após login, o profile recommended-desktop instala/verifica automaticamente:

  • Runtime oficial;
  • CLI simplicio no PATH do usuário;
  • daemon/sidecar aplicável;
  • banco neural/migrations/seeds;
  • skills/index;
  • integrações detectadas e suportadas;
  • updater/rollback/uninstall metadata;
  • quick validation de economia quando autorizada e comparável.

Desktop sempre inclui CLI. Não oferecer opção Desktop sem CLI no onboarding.

CLI only

O bootstrap público instala um launcher mínimo verificado e executa o fluxo canônico:

simplicio login
simplicio bootstrap apply --profile recommended-cli --auto

O wrapper pode ocultar o segundo comando, mas deve usar o mesmo contrato/receipts do Runtime. CLI-only não instala o shell Desktop.

Uma conta e um estado

Desktop e CLI compartilham:

  • identidade/entitlement;
  • component lock;
  • Runtime digest/version;
  • state directory por usuário/profile;
  • configuração;
  • banco neural e skills;
  • integrações managed;
  • updater/rollback;
  • uninstall ledger;
  • savings validation receipts.

Não manter instalações independentes que descubram ou atualizem runtimes diferentes.

UX pública

Página/download:

Get Simplicio

[ Download Desktop ]   Recommended
Everything installed after sign-in.

[ Install CLI only ]
For terminals and headless environments.

Primeiro launch Desktop:

Simplicio
Economize tokens sem mudar sua LLM ou IDE.

[ Entrar e configurar ]

Após login:

Preparando Simplicio…
Installing · Connecting · Optimizing · Validating

Não exibir stepper, cards de modo, tabelas de preflight ou terminal embutido no happy path.

Instalação per-user

  • preferir diretório/PATH do usuário;
  • evitar admin quando suportado;
  • respeitar prompts reais de Gatekeeper/SmartScreen/UAC;
  • nenhum bypass de segurança do OS;
  • path com espaços/Unicode;
  • idempotente;
  • proxy/offline cache suportado quando o asset já foi verificado;
  • layout reconhecido por update e uninstall.

Supply chain

Todos os canais derivam do mesmo release/component lock:

  • tag/version imutável;
  • target/arch canônico;
  • SHA-256;
  • assinatura/trust policy;
  • size;
  • Runtime protocol/capabilities;
  • provenance/SBOM refs;
  • rollback slot.

Nenhum stable installer baixa latest mutável, executa antes de verificar, compila sibling ou substitui uma instalação saudável após falha.

Login e consentimento

O botão/login deve apresentar texto curto declarando que o profile recomendado:

  • instala Runtime e CLI;
  • conecta ferramentas compatíveis detectadas;
  • prepara banco/skills;
  • pode executar uma validação curta com cap de tokens informado.

O login é a única ação de consentimento no app para esse profile versionado. Nenhuma chamada remota paga pode ocorrer fora do cap/consent revision.

Integrações

  • modificar somente software detectado;
  • patch managed e identificável;
  • backup/rollback;
  • não copiar tokens OAuth;
  • não habilitar dangerous/yolo;
  • não tocar chaves alheias;
  • verify after apply;
  • restore no uninstall/rollback.

Atualização e uninstall

  • Desktop e CLI atualizam Agent/Runtime/component lock como unidade compatível;
  • staging + verify + after-probe + atomic switch;
  • rollback automático;
  • uninstall --keep-data preserva conta/dados conforme policy;
  • uninstall --purge exige confirmação separada;
  • remover somente integrações managed;
  • reinstalação detecta estado preservado e reconcilia.

Acceptance criteria

  • Página oferece exatamente Desktop recomendado e CLI-only.
  • Desktop chega a ready após uma única ação interna: login.
  • Desktop profile instala/verifica a CLI automaticamente.
  • CLI-only usa a mesma bootstrap transaction/profile implementation.
  • Ambos resolvem o mesmo Runtime/component lock e state profile.
  • Não existem mode cards/stepper/preflight técnico no happy path.
  • Per-user install evita elevação onde suportado.
  • Download/verify/stage/apply/after-probe/rollback passam nos três OS.
  • Crash/restart retoma sem repetir efeitos.
  • Integrações são managed, reversíveis e não copiam credenciais.
  • Login/cap impede custo A/B oculto.
  • Update/rollback/uninstall preservam estado e não deixam config órfã.
  • Fresh install, existing install, N-1 upgrade, offline, tamper, permission denied e reinstall têm E2E reproduzível.

Evidência

Screenshots da página e login único, vídeo login→ready, install receipts, manifest/digest proof, network/redaction report, crash/rollback matrix e package smoke Windows/macOS/Linux.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions