Git Sync

Git Sync

Espelhe um Space em uma pasta local de arquivos JSON pequenos: diffs legíveis no Git, sincronização bidirecional que atualiza registros em vez de duplicá-los e segredos fora do texto plano.

Fluxos de API fazem parte de um código-fonte. Eles mudam quando os endpoints mudam, diferem entre branches e merecem ser revisados. O Git Sync existe para que um Space possa viver ao lado do projeto que ele descreve, em um formato que o Git realmente consegue ler.

Não há servidor nem workspace hospedado envolvido. O Lumen Flow grava arquivos em uma pasta do seu Mac; o controle de versão é o seu.

Uma entidade, um arquivo pequeno

Um Space sincronizado é espelhado em uma pasta com layout previsível:

<pasta>/
├─ lumen-sync.json
├─ space.json
├─ flows/<nome>__<id>.json
├─ profiles/<nome>__<id>.json
└─ auth/<nome>__<id>.json

Cada flow, profile e credencial é um arquivo JSON próprio. Renomear um Flow muda o nome do arquivo, mas a identidade do registro é o id dentro dele — o nome está ali para que os diffs continuem legíveis.

Como a unidade é um arquivo pequeno por entidade, um pull request mostra o que de fato mudou: um header adicionado a uma chamada, uma validação mais rígida, uma variável de profile renomeada. Não um blob opaco reescrito de ponta a ponta.

Bidirecional e aditivo por princípio

A sincronização acontece nos dois sentidos:

  • Do app para o disco · quando você muda algo no Lumen Flow, a pasta é reescrita logo em seguida, agrupando edições rápidas em lote.
  • Do disco para o app · um observador percebe quando os arquivos mudam por baixo, que é o que acontece depois de um git pull ou de uma troca de branch, e faz a releitura.

Reler não é a mesma coisa que importar uma coleção. A importação de coleções sempre cria itens novos; o Git Sync usa os mesmos identificadores internos que já estão nos arquivos e, por isso, atualiza os registros existentes em vez de duplicá-los a cada ciclo. Há também controles manuais para forçar uma exportação ou uma releitura do disco quando você quiser ser explícito.

Segredos ficam fora da pasta

Por padrão, valores secretos não são gravados na pasta sincronizada. No lugar do segredo, o arquivo leva um marcador de redação, e o valor real permanece no Keychain do macOS.

Se você precisar que os segredos acompanhem o Space — entre as suas próprias máquinas, por exemplo — é possível configurar uma senha de cofre para ele. Os segredos passam então a ser gravados como envelopes cifrados, e não em texto plano; a senha em si fica no Keychain local e nunca é escrita na pasta. Sem ela, os valores cifrados não podem ser lidos de volta.

Lumen Flow

Pronto para transformar sua rotina com APIs?

Inscreva-se para receber acesso antecipado e seja avisado assim que estiver disponível para macOS.

Entrar na lista de espera

macOS 26 ou superior · Apple Silicon nativo