fayzfayz sdk

02 · Explorar a anatomia

Antes de mudar qualquer coisa, entenda as quatro peças que fazem o app funcionar: o manifesto, o mapa de plugins gerado, o registry de código custom e o AGENTS.md. Depois deste passo você sabe onde tocar para cada tipo de mudança.

app.manifest.json — o centro de tudo

É o arquivo que descreve o app inteiro. Recém-criado, um app admin se parece com isto:

{
  "manifestVersion": 2,
  "id": "minha-loja",
  "name": "minha-loja",
  "backend": { "provider": "mock" },
  "locale": {
    "default": "pt-BR",
    "supported": ["pt-BR", "en"],
    "currency": "BRL"
  },
  "theme": { "brand": "violet" },
  "surfaces": {
    "admin": {
      "scaffold": "admin",
      "plugins": [{ "id": "dashboard" }],
      "pages": []
    }
  }
}

Três blocos importam mais do que os outros:

  • surfaces — cada surface é uma face do app (admin, storefront, member). Ela declara um scaffold (o layout do shell), a lista de plugins e pages extras. A navegação é derivada dos plugins: você liga um plugin e as rotas e o menu aparecem — você não escreve rotas à mão.
  • plugins — dentro da surface, cada item é só { "id": "..." }. É assim que você adiciona uma capacidade (passo 04).
  • backend{ "provider": "mock" } roda com dados de exemplo e zero configuração. No passo 05 você troca para "supabase".

src/plugins.generated.ts — o mapa dos plugins

// Generated by 'fayz create'. Maps manifest plugin ids → platform-bundled plugin factories.
export {}

Esse arquivo liga os ids do manifesto aos factories reais dos plugins. Hoje ele vem vazio porque os plugins do catálogo são resolvidos pelo bundle da plataforma. Trate-o como gerado: você não edita à mão — o manifesto é a fonte da verdade.

src/registry.tsx — o seu código

//   import { registerBlock } from './lib/fayz-runtime'
//   registerBlock('custom:my-block', MyBlock)
export {}

É o ponto onde você registra blocos, páginas e componentes próprios (níveis 5–7 da escada de personalização) e depois os referencia no manifesto pelo id custom:. Enquanto você só configura, ele fica vazio.

AGENTS.md — o manual para um agente

O scaffold inclui um AGENTS.md descrevendo a estrutura, a checklist de personalização e o passo a passo do Supabase. A ideia é concreta: você pode abrir este app com um agente de IA e ele já sabe que "personalizar = editar o manifesto, não escrever código novo", onde ficam os arquivos e como conectar um banco real. É documentação para a máquina, versionada junto com o app.

Ver também: Conecte seu agente — como apontar o Claude Code, o Cursor ou o Codex para o AGENTS.md e o llms.txt.

✓ Você deve ver: abrindo o app.manifest.json, o bloco surfaces.admin.plugins com um único { "id": "dashboard" }. Guarde esse lugar — os próximos passos editam exatamente ele.


← Anterior: 01 · Criar o app · Próximo: 03 · Tema e marca →