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.
Plugins oficiais
Mantidos pela Cognity, publicados em GitHub Packages.
Pages — @cognitysys/nexus-plugin-pages
Páginas estáticas hierárquicas com sistema de blocos. Marcado como `core: true` no manifest — sempre habilitado.
Saiba maisFAQ — @cognitysys/nexus-plugin-faq
Perguntas e respostas por categoria com bloco accordion. Primeiro plugin opcional publicado. Veja em /faq.
Saiba maisLocais — @cognitysys/nexus-plugin-locais
Locais geográficos hierárquicos (país → estado → cidade → venue) com categorias, geolocalização, fotos e filtros. Base associativa para serviços, vagas e eventos.
Saiba maisUsuários — @cognitysys/nexus-plugin-users
Perfil estendido do membro: avatar, bio, contato, cidade e página pública em /u/<slug>. Adiciona role MEMBER ao core e login Google dedicado em /conta/login.
Saiba maisServiços — @cognitysys/nexus-plugin-servicos
Catálogo de serviços prestados por members. Categorias hierárquicas, faixa de preço, contato direto (WhatsApp/telefone/email) e localização opcional. Listagem pública em /servicos.
Saiba maisEmpregos — @cognitysys/nexus-plugin-empregos
Vagas + candidaturas estilo Indeed. Company + Job + Resume + JobApplication com snapshot. Painel /conta para currículo, candidaturas e empresas. Listagem pública em /empregos.
Saiba maisEventos — @cognity-sistemas/nexus-plugin-eventos
Agenda de eventos vinculados a Locais: período, recorrência (RRULE), organizadores, séries, categorias coloridas, tags, custo e capacidade. Calendário público mês/dia/lista e export iCal (.ics). Veja em /eventos.
Saiba maisComo 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`.
Tem uma ideia de plugin?
Fale com a Cognity. Plugins que beneficiam vários clientes são adotados no monorepo oficial.