Contribuir para o EmDash

Nesta página

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

Para a referência completa de contribuidores — layout do repositório, arquitetura, convenções de código, política de changesets — veja CONTRIBUTING.md.

Configuração Local

  1. Clonar e instalar

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # necessário antes da primeira execução
  2. Iniciar a demo

    cd demos/simple
    pnpm dev

    O assistente de configuração é executado automaticamente na primeira inicialização — ele cria o banco de dados, executa as migrações e solicita que você crie uma conta de administrador.

    Para preencher com conteúdo de exemplo: pnpm seed

  3. Abrir o painel de administração

    Visite http://localhost:4321/_emdash/admin

    No modo de desenvolvimento, você pode pular a autenticação passkey com o endpoint de bypass:

    http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin

Fluxo de Trabalho de Desenvolvimento

Modo Watch

Para iterar nos pacotes core junto com a demo, execute dois terminais:

# Terminal 1 — reconstruir packages/core em mudanças
cd packages/core && pnpm dev

# Terminal 2 — executar a demo
cd demos/simple && pnpm dev

Verificações

Execute estes comandos antes de commitar (da raiz do repositório):

pnpm typecheck    # TypeScript
pnpm lint         # lint completo com reconhecimento de tipos
pnpm format       # formatação automática (oxfmt, tabs)

Testes

Todos os testes

pnpm test

Apenas Core

cd packages/core && pnpm test

Modo watch

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # inicia seu próprio servidor

Os testes usam SQLite real em memória — sem mocking. Cada teste recebe um banco de dados limpo.

O Que É Aceito

TipoProcesso
Correções de bugsAbra um PR diretamente. Inclua um teste que falhe.
Docs / erros de digitaçãoAbra um PR diretamente.
TraduçõesAbra um PR diretamente. Veja Traduzindo EmDash.
FeaturesAbra uma Discussion e aguarde a aprovação de um mantenedor.
RefatoraçõesAbra uma Discussion primeiro.

PRs de features sem aprovação prévia do mantenedor serão fechados.

Para a política completa de contribuição, guia de changesets, layout do repositório e visão geral da arquitetura, veja CONTRIBUTING.md.