# OonCore SDK > O SDK para construir Centrais operacionais seguras, rápidas e padronizadas. SDK da Oon (OonDemand) para criar Centrais operacionais — sistemas internos orientados a dados — publicadas na Plataforma Oon. Versão atual: 0.7.43. O OonCore é distribuído como três pacotes npm coordenados: `@oondemand/oon-core-back` (runtime Express/Mongoose: CRUD, RBAC, manifestos, capabilities e delivery), `@oondemand/oon-core-front` (shell React: providers, roteamento, temas, componentes Core* e SDK REST) e `@oondemand/create-central-oon` (CLI: scaffold, docs para Agents, doctor, conformance, dev e example). Para começar: `npx @oondemand/create-central-oon minha-central`. Os links abaixo apontam para a versão Markdown de cada página; a versão HTML fica em https://sdk.oonapps.com/docs/. A documentação completa em um único arquivo está em https://sdk.oonapps.com/llms-full.txt. ## Introdução - [O que é o OonCore](https://sdk.oonapps.com/llms/docs/introducao/o-que-e-ooncore.md): A base para criar Centrais operacionais sob demanda — padronizadas, seguras e evolutivas — em que o seu código é apenas o domínio. - [Quickstart](https://sdk.oonapps.com/llms/docs/introducao/quickstart.md): Gere uma Central com o gerador oficial, rode localmente sem depender da plataforma e faça o primeiro cadastro. - [Estrutura do projeto](https://sdk.oonapps.com/llms/docs/introducao/estrutura-do-projeto.md): O que cada arquivo e pasta da Central gerada faz, o que é seu e o que pertence ao Core. - [Arquitetura](https://sdk.oonapps.com/llms/docs/introducao/arquitetura.md): Como a Central, o oon-core-back, o oon-core-front e a Plataforma Oon dividem responsabilidades — e por que a fonte de verdade é sempre o backend. - [Primeira jornada](https://sdk.oonapps.com/llms/docs/introducao/primeira-jornada.md): Uma pessoa abre uma página, executa uma ação e vê o resultado ou um erro útil — com endpoint privado, permissão e tratamento de erro. - [Desenvolvimento com IA/Agents](https://sdk.oonapps.com/llms/docs/introducao/desenvolvimento-com-agents.md): O OonCore distribui documentação canônica versionada em .ooncore/ para que Codex, Claude, ChatGPT, Kimi, Manus e outros Agents codifiquem dentro dos contratos. ## Tutoriais - [Tutorial: central de compras com aprovação](https://sdk.oonapps.com/llms/docs/tutoriais/central-de-compras.md): Do zero a uma central de compras com fornecedores, pedidos com total calculado, esteira de aprovação com campos bloqueados e permissões por perfil — só com manifestos e duas páginas. - [Tutorial: do commit à Produção](https://sdk.oonapps.com/llms/docs/tutoriais/do-commit-a-producao.md): O caminho completo de uma Central na Plataforma Oon — criar o App no Workspace, publicar em Desenvolvimento, homologar, promover para Produção, reverter e evoluir com novas versões. - [Tutorial: um App ao lado do ERP (clean core)](https://sdk.oonapps.com/llms/docs/tutoriais/app-ao-lado-do-erp.md): Mantenha o ERP no padrão e leve o processo específico para um App Oon — despesas com aprovação, credencial cifrada com core.secrets e lançamento idempotente no ERP por uma rota privada. ## Fundamentos - [Manifesto central.app.json](https://sdk.oonapps.com/llms/docs/fundamentos/manifesto-do-app.md): Referência completa do manifesto do App (schemaVersion 2) — identidade, arquitetura, módulos, capabilities, compatibilidade, ativação, autenticação, RBAC e métricas de uso. - [Tipos de App e tenancy](https://sdk.oonapps.com/llms/docs/fundamentos/tipos-de-app-e-tenancy.md): appKind, disponibilidade, modo de acesso e tenancy — a matriz canônica de arquiteturas do Ecossistema Oon. - [Runtime local](https://sdk.oonapps.com/llms/docs/fundamentos/runtime-local.md): Desenvolvimento desconectado em loopback, com sessão automática de até 30 dias, simulação de perfis e nenhuma dependência da Plataforma. - [Modos de runtime](https://sdk.oonapps.com/llms/docs/fundamentos/modos-de-runtime.md): As diferenças entre o runtime local desconectado e o runtime publicado na Plataforma. - [Ativação de instâncias](https://sdk.oonapps.com/llms/docs/fundamentos/ativacao-de-instancias.md): Como uma Central publicada se torna ativa na Plataforma Oon — estados, fluxo de ativação, campos de parametrização e variáveis injetadas pela publicação. - [Recursos nativos](https://sdk.oonapps.com/llms/docs/fundamentos/recursos-nativos.md): O que usar do Core para cada necessidade, o que continua no App e os limites reais de isolamento, auditoria e execução — com o exemplo instalável /recursos. ## Backend - [Models e CRUD](https://sdk.oonapps.com/llms/docs/backend/models-e-crud.md): defineModel registra schema Mongoose, metadata, permissões e um router REST completo — listagem paginada, busca, leitura, criação, atualização, exclusão, import e export. - [Campos (fields)](https://sdk.oonapps.com/llms/docs/backend/campos.md): As factories de campo do oon-core-back e os tipos equivalentes do manifesto de domínio, com metadata para o frontend. - [Manifesto de domínio](https://sdk.oonapps.com/llms/docs/backend/manifesto-de-dominio.md): central.domain.json declara models, campos, fórmulas e validações sem um arquivo JavaScript por model — o Core constrói schema, metadata, CRUD e regras protegidas. - [Fórmulas e validações](https://sdk.oonapps.com/llms/docs/backend/formulas-e-validacoes.md): Campos computed, a AST de expressões, validações entre campos e a prévia reativa nos formulários — uma única declaração, autoridade no backend. - [Esteiras e processos](https://sdk.oonapps.com/llms/docs/backend/esteiras-e-processos.md): central.process.json declara workflow, transições, bloqueios por etapa, bindings cross-model, proteção de exclusão e invariantes atômicas — executados pelo backend. - [Rotas privadas](https://sdk.oonapps.com/llms/docs/backend/rotas-privadas.md): defineRoutes registra endpoints próprios autenticados, com permissão declarada, auditoria opcional e omissão de corpo sensível nos logs. - [Validations e triggers](https://sdk.oonapps.com/llms/docs/backend/validations-e-triggers.md): defineValidation valida o estado consolidado antes de persistir; defineTrigger registra efeitos antes e depois da mutação. - [Escopo e accessContext](https://sdk.oonapps.com/llms/docs/backend/escopo-e-contexto.md): req.accessContext carrega a identidade verificada; os helpers de escopo aplicam isolamento de tenant e usuário em consultas e mutações próprias. - [Erros](https://sdk.oonapps.com/llms/docs/backend/erros.md): GenericError, o envelope de erro de domínio e como tratá-lo no frontend sem confundir 404 de proxy com sucesso vazio. - [Arquivos (GridFS)](https://sdk.oonapps.com/llms/docs/backend/arquivos.md): files grava arquivos no MongoDB do App (bucket oon_files), isolados por tenant e compartilhados entre réplicas. - [Métricas de uso](https://sdk.oonapps.com/llms/docs/backend/metricas-de-uso.md): Declare métricas no manifesto, registre consumo em lote com outbox resiliente e bloqueie operações quando o limite do plano for atingido. ## Frontend - [defineOonApp e bootstrap](https://sdk.oonapps.com/llms/docs/frontend/bootstrap.md): O contrato code-first do frontend — defineOonApp valida identidade, API, rotas, navegação e segurança; startOonApp monta providers, autenticação, tenant, shell e router. - [Rotas e navegação](https://sdk.oonapps.com/llms/docs/frontend/rotas-e-navegacao.md): defineOonRoutes e defineOonNavigation — rotas com guards de permissão, lazy loading, layouts por rota, rotas públicas, rotas reservadas e menu por seções. - [Shell e layouts](https://sdk.oonapps.com/llms/docs/frontend/shell-e-layouts.md): Variações do shell do Core, slots de layout, layouts por rota e páginas por blocos declarativos. - [Temas](https://sdk.oonapps.com/llms/docs/frontend/temas.md): createOonTheme, tokens semânticos, densidade, contraste e troca de tema em runtime com useOonTheme. - [Hooks e cliente HTTP](https://sdk.oonapps.com/llms/docs/frontend/hooks-e-api.md): useOonApi, useOonResource, useCoreMetadata, useModelSchema, useOonAuth, useOonTenant e o gating de permissões com Can. - [Coleções (CoreCollection)](https://sdk.oonapps.com/llms/docs/frontend/colecoes.md): Grid, busca, filtros, formulário derivado da metadata, ações por linha, import/export e modal de detalhe — como componente ou como view declarativa. - [Modal de detalhe e grids](https://sdk.oonapps.com/llms/docs/frontend/modal-de-detalhe.md): detailModal com abas summary, form, relatedGrid, readonlyGrid e customComponent; edição inline por linha; rowActions com interpolação, condições e refresh entre abas. - [Formulários e overrides](https://sdk.oonapps.com/llms/docs/frontend/formularios.md): Formulários derivados da metadata com overrides pontuais — checkbox com valores de domínio, grupos, opções remotas dependentes e filtros de referência. - [Esteiras (CorePipeline)](https://sdk.oonapps.com/llms/docs/frontend/esteiras.md): Quadro kanban e lista para models com etapas — filtros, inclusão, modal de ticket com abas, ações padrão de aprovação e status de trabalho, e ações próprias. - [Documentos e dashboards](https://sdk.oonapps.com/llms/docs/frontend/documentos-e-dashboards.md): CoreDocument em modo CRUD ou biblioteca, e CoreDashboard com agregações count, sum, groupCount e groupSum executadas no backend. - [UI Kit (Core*)](https://sdk.oonapps.com/llms/docs/frontend/ui-kit.md): Os componentes de interface do OonCore — status com vocabulário único, KPIs, tabela de dados responsiva, drawer de detalhe, confirmação, seções de formulário, estados e mais. ## Segurança e acesso - [Autenticação e RBAC](https://sdk.oonapps.com/llms/docs/seguranca/autenticacao-e-rbac.md): Como o backend autentica, resolve tenant e acesso, aplica o RBAC declarado e publica o catálogo de perfis — e o que o frontend faz (e não faz) com isso. - [Usuários e Acessos](https://sdk.oonapps.com/llms/docs/seguranca/usuarios-e-acessos.md): A gestão de usuários e convites que todo App member-central já traz — permissões nativas, quem convida, convites pela Central, página própria e endpoints. - [Fronteira de segurança local](https://sdk.oonapps.com/llms/docs/seguranca/fronteira-local.md): As garantias do runtime local — loopback, cookies HttpOnly, CSRF, códigos de uso único — e suas limitações explícitas. - [Boas práticas](https://sdk.oonapps.com/llms/docs/seguranca/boas-praticas.md): Regras obrigatórias de segurança, o checklist para Agents e o "faça / não faça" do OonCore. ## Capabilities - [Visão geral](https://sdk.oonapps.com/llms/docs/capabilities/visao-geral.md): O catálogo de capacidades do OonCore — o que é declarado em manifesto, o que roda localmente e o que é resolvido pela Plataforma. - [E-mail transacional](https://sdk.oonapps.com/llms/docs/capabilities/email-transacional.md): core.transactional-email — configuração protegida, templates versionados, preview, envio idempotente, fila com retentativas e painel administrativo. - [Renderização de PDF](https://sdk.oonapps.com/llms/docs/capabilities/pdf.md): capabilities.pdf.render transforma HTML em PDF sem conhecer endpoint, credencial ou implementação — com limites, cancelamento e erros com retryable. - [Segredos (core.secrets)](https://sdk.oonapps.com/llms/docs/capabilities/segredos.md): Credenciais de integrações cifradas com AES-256-GCM, com chave por runtime e ambiente — put, status, use e remove a partir do contexto autorizado. ## Operação - [Testes, doctor e conformance](https://sdk.oonapps.com/llms/docs/operacao/testes-e-conformance.md): Uma entrada de checks para o App — doctor reúne versões, lockfiles, manifestos, cache de docs e conformance — e o que cada prova cobre (e não cobre). - [Empacotamento da imagem](https://sdk.oonapps.com/llms/docs/operacao/empacotamento.md): O que vai (e o que não vai) para a imagem do Oon-App, como assets e dependências devem ser declarados e como a imagem é validada antes do deploy. - [Publicação e ambientes](https://sdk.oonapps.com/llms/docs/operacao/publicacao.md): Do commit ao ambiente de Dev pelo Workspace e pela Central de Ativações; promoção para HML e Produção, réplicas, domínios personalizados e diagnóstico. - [Atualizando o Core](https://sdk.oonapps.com/llms/docs/operacao/atualizacao-do-core.md): Atualização coordenada de oon-core-back, oon-core-front e create-central-oon — sempre juntos, com cache de docs, compatibilidade e validação. - [Contenção do MongoDB](https://sdk.oonapps.com/llms/docs/operacao/banco-de-dados.md): A política interna de pool e tempo de execução do Core, os erros DATABASE_POOL_BUSY e DATABASE_OPERATION_TIMEOUT e como recuperar sem repetir escritas. - [Troubleshooting](https://sdk.oonapps.com/llms/docs/operacao/troubleshooting.md): Sintomas comuns no desenvolvimento local e na publicação, com a verificação e a correção de cada um. ## Referência - [CLI](https://sdk.oonapps.com/llms/docs/referencia/cli.md): Referência dos comandos de create-central-oon, oonCore-back e oonCore-front. - [API oon-core-back](https://sdk.oonapps.com/llms/docs/referencia/api-backend.md): Todos os exports públicos de @oondemand/oon-core-back, agrupados por finalidade. - [API oon-core-front](https://sdk.oonapps.com/llms/docs/referencia/api-frontend.md): Todos os exports públicos de @oondemand/oon-core-front e de seus subpaths ui, routing, theme, hooks e testing. - [Endpoints /core](https://sdk.oonapps.com/llms/docs/referencia/endpoints.md): As rotas HTTP fornecidas pelo backend do Core — status, autenticação, ativação, runtime local, metadata, acesso e e-mail transacional. - [Códigos de erro](https://sdk.oonapps.com/llms/docs/referencia/codigos-de-erro.md): Todos os códigos de erro públicos do OonCore, agrupados por origem, com status HTTP e significado. - [Variáveis de ambiente](https://sdk.oonapps.com/llms/docs/referencia/variaveis-de-ambiente.md): As variáveis lidas pelo backend e pelo frontend — quais você configura localmente e quais são injetadas pela Plataforma. - [Glossário](https://sdk.oonapps.com/llms/docs/referencia/glossario.md): Os termos do OonCore e da Plataforma Oon. ## Opcional - [Versões e changelog](https://sdk.oonapps.com/versoes): releases do OonCore e matriz de compatibilidade. - [Exemplos e receitas](https://sdk.oonapps.com/exemplos): receitas por intenção com API pública e versão mínima. - [Plataforma Oon](https://sdk.oonapps.com/plataforma): publicação, homologação, operação e comercialização de Centrais. - [Oon](https://oonapps.com/): site comercial da Plataforma Oon. - [Código do OonCore](https://github.com/oondemand/oon-platform)