Plugins

Funcionalidades chegam como packages, não como features no core

Cada plugin é um workspace package: manifest + prisma + admin + bloco público. O app cliente decide quais instalar.

Como construir

Anatomia de um plugin Nexus

Um plugin Nexus é uma pasta no workspace pnpm com cinco partes. Veja o plugin-faq como referência — ele tem 600 linhas e implementa CRUD admin completo + bloco accordion.

  • manifest.ts

    Slug, nome, versão, ícone, itens de menu admin. Importado no nexus.config.ts do cliente.

  • prisma/<slug>.prisma

    Fragment Prisma com modelos do plugin. `build-schema.mjs` concatena com o core na hora do build.

  • server-actions.ts

    Next.js server actions com auth guard. CRUD via formData + Zod parse.

  • admin/*.tsx

    Páginas admin re-exportadas pelo cliente via `export { default } from "<package>/admin/list"`.

  • public/block.ts

    Definição do bloco com `defineBlock({ type, schema, component })`. Cliente adiciona no `blockRegistry`.

Tela com código TypeScript de um plugin

Tem uma ideia de plugin?

Fale com a Cognity. Plugins que beneficiam vários clientes são adotados no monorepo oficial.