Local first
Workflows, Jobs e Pipelines vivem no IndexedDB do seu navegador. Sem conta, sem servidor, sem telemetria. Exporte o workspace inteiro como um JSON.
O Studio é uma aplicação de navegador que edita Jobs Sparquet num canvas de nós — um Job sendo um JSON de pipeline. Não é um produto separado com formato próprio: ele lê o JSON do pipeline e escreve o JSON do pipeline.
cd sparquet-studionpm installnpm run dev # http://localhost:5273Local first
Workflows, Jobs e Pipelines vivem no IndexedDB do seu navegador. Sem conta, sem servidor, sem telemetria. Exporte o workspace inteiro como um JSON.
Sem lock-in
O canvas compila para o arquivo que a CLI roda. Delete o Studio e todo Job continua funcionando.
Documentado no lugar
Todo campo carrega as mesmas notas desta referência, incluindo os comportamentos que normalmente vivem só no código-fonte do framework.
Runner opcional
Aponte para um pequeno serviço local e execute um Job — ou um Pipeline inteiro — pelo canvas, com contadores, validações e um preview dos dados.
| Área | O que faz |
|---|---|
| Palette (esquerda) | Toda fonte, transformação, validator e destino. Arraste para o canvas, ou clique para anexar após o último nó. |
| Canvas (centro) | O Job como nós conectados. Da esquerda para a direita é a ordem de execução. |
| Inspector (direita) | Os campos do nó selecionado, com ajuda, exemplos e gotchas. |
| JSON panel | O JSON do pipeline compilado, ao vivo. Também a superfície de import. |
| Issues panel | Resultados de lint enquanto você digita, cada um linkando o nó e o campo. |
| Run panel | Execução pelo runner local. |
| Status bar | Contagem de nós, validade, estado de salvamento. |
Os painéis compartilham uma coluna à direita, em abas e redimensionável — Ctrl/⌘+J, Ctrl/⌘+E, Ctrl/⌘+/ e Ctrl/⌘+Enter alternam entre eles.
O Studio aninha três coisas:
| Conceito | O que é | Onde vive |
|---|---|---|
| Workflow | O container. Geralmente um por domínio: Sales, Billing, CRM. |
/workflows/:id |
| Job | Um JSON de pipeline, desenhado no canvas de nós. | /jobs/:id |
| Pipeline | Um conjunto ordenado de Jobs, executados em sequência. | /pipelines/:id |
A tela de um Workflow tem duas abas. Jobs lista os Jobs que ele guarda, junto com os Pipelines montados a partir deles. Pipeline desenha como esses Jobs se conectam — inferido, somente leitura, pelos paths e temp views que compartilham — e é por onde você começa um Pipeline executável.
Tudo isso vive no seu navegador. Settings → Data exporta tudo como um único bundle JSON e o reimporta, que é como você move um workspace entre máquinas ou compartilha um conjunto de Jobs com um colega.
Duas regras definem todo o mapeamento:
A cadeia compartilhada é a principal. O que todo destino tem em comum vira o transformations de topo. Depois que o grafo se ramifica, cada branch vira o transformations daquele destino.
Um join ou union pega a segunda fonte do seu segundo input. A cadeia que alimenta aquele handle vira with mais with_transformations.
Todo o resto é campo de nó. Sticky notes nunca compilam; nós mutados são pulados.
Abra o painel JSON, mude para Edit, cole um JSON de pipeline e clique em Apply to canvas. O Studio o organiza automaticamente. Tipos de transformação desconhecidos — os customizados que você registrou — são preservados intactos no import e export.
O Studio traz suas próprias checagens:
npm run typecheck # TypeScript, zero erros esperadosnpm run test # testes unitários, incluindo round-trips do compilernpm run lint # eslintnpm run smoke # passada end-to-end num Chrome realO compiler é coberto por testes de round-trip sobre os pipelines de exemplo do próprio framework: importa cada um, compila de volta e compara. Esse teste é o que garante que o canvas nunca muda seu arquivo silenciosamente.