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.

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 mais

FAQ — @cognitysys/nexus-plugin-faq

Perguntas e respostas por categoria com bloco accordion. Primeiro plugin opcional publicado. Veja em /faq.

Saiba mais

Locais — @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 mais

Usuá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 mais

Serviç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 mais

Empregos — @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 mais

Eventos — @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 mais

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.