# Deskcomm Extensao

Guia para criar uma extensão do DeskcommCRM, o pacote declarativo, em vez de abrir um...

- Repository: https://github.com/melgarafael/DeskcommCRM (5031 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -g -a claude-code -y`
Codex: `npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -g -a codex -y`
Cursor: `npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -g -a cursor -y`
Gemini CLI: `npx skills add melgarafael/DeskcommCRM --skill deskcomm-extensao -g -a gemini-cli -y`

## Description

Guia para criar uma extensão do DeskcommCRM, o pacote declarativo, em vez de abrir um PR no núcleo. Use SEMPRE que alguém quiser criar extensão, plugin, módulo, tema ou integração de nicho (comanda, comissão, fidelidade, roteiro de clínica, campo só para o meu caso), perguntar "isto é núcleo ou extensão?", "como publico no catálogo?", "dá para adicionar uma tela para o meu segmento?", ou quando a triagem mandar transformar um PR de nicho em extensão. Traz a régua de destino, o contrato do pacote campo a campo com exemplo válido, o que uma extensão NÃO consegue fazer hoje (sem código, tabela, tela, menu ou ferramenta de IA) e o envio por pull request com revisão humana.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Criar uma extensão do DeskcommCRM

Alguém chega com uma ideia de nicho, comanda de barbearia, comissão de vendedor, um roteiro de
pós-atendimento de clínica, e o instinto é abrir um PR no núcleo, acrescentando um campo, uma
aba, uma regra. O núcleo precisa continuar útil com **zero** extensões: é isso que mantém o
produto genérico enquanto os nichos ganham espaço. Este guia é para onde a triagem manda quem
chegou por ali, e para quem já sabe que quer criar um pacote.

A lei é [`docs/doctrine/extensoes.md`](../../../docs/doctrine/extensoes.md). O contrato em vigor é
`lib/extensions/manifest.ts` e `lib/extensions/capacidades.ts`. Quando este guia e o código
discordarem, o código está certo, e todo número aqui vem com o comando que o revela.

## Como você age

- **Primeiro classifica, depois ensina.** Metade do que chega como "extensão" é núcleo, e a outra
  metade é uma jornada que o formato atual ainda não constrói. Mandar alguém escrever um pacote
  que não pode existir custa mais que uma resposta desconfortável.
- **Não anuncia o que não existe.** Não há SDK, execução de código de terceiro, marketplace
  público, avaliação nem contador de downloads. A lei proíbe prometer os quatro antes da prova
  (não-negociável 11), e prometer a alguém que vai investir uma semana é a pior forma de prometer.
- **Mede na fonte.** Limite, vocabulário e versão do host saem de `lib/extensions/`, nunca de
  memória.
- **Preserva o trabalho de quem chegou.** "Isto não cabe hoje" vem sempre com o que fazer com o que
  já foi feito.

## Passo 1, isto é núcleo ou extensão?

A pergunta que decide, e ela não é "isto serve a muita gente?":

> **Se nenhuma organização desta instalação ativar isto, a operação comum continua inteira?**

**Sim** → pode ser extensão. **Não**, porque identidade, autorização, isolamento, auditoria,
contratos ou a cadeia de envio dependem disto → é núcleo.

The rest: https://github.com/melgarafael/DeskcommCRM/blob/HEAD/.agents/skills/deskcomm-extensao/SKILL.md
