Visão geral da arquitetura
O Fetchpier separa o shell desktop da camada de negócio para que app e CLI usem os mesmos formatos e pipeline.
Renderer (React) -> ponte IPC validada -> processo principal -> @fetchpier/core ^CLI fp -------------------------------------------------+ v arquivos + APIs remotasFronteira do desktop
Section titled “Fronteira do desktop”O renderer é Chromium no sandbox do sistema, sem Node.js ou acesso direto a disco/rede. Um preload expõe operações tipadas e restritas. O processo principal valida, gerencia janelas e diálogos e delega ao core. Contratos IPC usam dados serializáveis.
Camada de negócio compartilhada
Section titled “Camada de negócio compartilhada”@fetchpier/core controla descoberta/inicialização de workspaces, parse/serialização .http,
ambientes, valores locais e secretos, cookies, TLS, pipeline HTTP, histórico, importação e sandbox.
Recebe adaptadores de filesystem, transporte, chaves e eventos; Electron e CLI fornecem os seus.
Camada de linha de comando
Section titled “Camada de linha de comando”@fetchpier/cli resolve contexto, expande paths, executa em sequência, gera relatórios e mapeia
resultados para códigos de saída. Compartilha o workspace, não o estado privado do app; por isso não vê
certificados globais nem o ambiente selecionado no desktop.
Filesystem e rede
Section titled “Filesystem e rede”Não há banco embutido. Arquivos são a fonte de verdade e escritas do workspace usam substituição atômica. IDs estáveis preservam relações em renomes.
Conexões surgem de requisições, importações por URL ou verificação opcional de atualizações. CSP, guards, testes e auditorias impedem conteúdo remoto no renderer. Veja Privacidade e acesso à rede.
Extensões públicas são scripts fp.*, CLI/API e arquivos .http/JSON. Não há plugins; ampliações
internas devem preservar as invariantes de processos, filesystem e rede.