Contribuindo com o EmDash

Nesta página

O EmDash é um monorepo pnpm. O pacote principal é packages/core, publicado como emdash; ele contém a integração com o Astro, a API REST, a camada de banco de dados, o gerenciamento de esquemas e o sistema de plugins. A interface de administração em React fica em packages/admin.

Esta página mostra o caminho mais rápido até um ambiente de desenvolvimento funcional. O CONTRIBUTING.md é a fonte canônica para pré-requisitos, estrutura do repositório, política de contribuição, verificações obrigatórias, changesets e requisitos de pull requests.

Configuração local

  1. Clone, instale e compile o workspace.

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build
  2. Inicie a demo de desenvolvimento principal.

    cd demos/simple
    pnpm dev

    A demo roda no Node.js com SQLite em http://localhost:4321. Na primeira requisição, ela aplica o esquema de seed/seed.json; o bypass de desenvolvimento do próximo passo também adiciona seu conteúdo de exemplo.

  3. Abra o painel de administração.

    Para a configuração local mais rápida, abra o bypass de desenvolvimento. Ele executa as migrações, cria um administrador de desenvolvimento, faz o login por você e redireciona para o painel de administração.

    Para testar em vez disso o fluxo de configuração com passkey, abra o painel de administração. O assistente de configuração cria o banco de dados, executa as migrações e pede que você crie uma conta de administrador.

Fluxo de trabalho de desenvolvimento

Modo watch

Quando você alterar packages/core com a demo em execução, use dois terminais para que o pacote seja recompilado automaticamente:

# Terminal 1 — rebuild packages/core on change
cd packages/core && pnpm dev

# Terminal 2 — run the demo
cd demos/simple && pnpm dev

Verificações

Execute as verificações obrigatórias a partir da raiz do repositório antes de fazer o commit:

pnpm typecheck    # TypeScript
pnpm lint         # full type-aware lint
pnpm format       # auto-format with oxfmt and Prettier

Testes

Todos os testes

pnpm test

Somente o núcleo

cd packages/core && pnpm test

Modo watch

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # starts its own server

Os testes usam bancos de dados SQLite reais em memória em vez de mocks de banco de dados. Cada teste recebe um banco de dados novo.

Escolher um caminho de contribuição

Correções de bugs, documentação, testes, traduções, tarefas de manutenção e refatorações ou mudanças de desempenho que preservam o comportamento podem ir direto para um pull request de implementação. Uma funcionalidade precisa de um plano de funcionalidade ou RFC aceito antes da implementação. Leia a política de contribuição completa antes de começar a trabalhar, para saber qual caminho se aplica.

O CONTRIBUTING.md também aponta para as políticas canônicas de governança, roadmap, triagem, revisão, propostas e IA.

As alterações na documentação também devem seguir o guia de estilo da documentação.

Para os principais caminhos de execução do EmDash, leia Arquitetura (internos). Os padrões e invariantes em nível de código estão documentados em AGENTS.md.