Contribuindo para 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 Astro, API REST, camada de banco de dados, gerenciamento de schemas e sistema de plugins. A interface de administração está em packages/admin.

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

Configuração local

  1. Clonar e instalar

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # required before first run
  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 a criação de uma conta de administrador.

    Para popular com conteúdo de exemplo: pnpm seed

  3. Abrir o painel de administração

    Acesse 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 de observação

Para iterar nos pacotes principais junto com a demo, use dois terminais:

# 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 estes comandos antes de commitar (na raiz do repositório):

pnpm typecheck    # TypeScript
pnpm lint         # full type-aware lint
pnpm format       # auto-format (oxfmt, tabs)

Testes

Todos os testes

pnpm test

Apenas core

cd packages/core && pnpm test

Modo de observação

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # starts its own server

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

O que aceitamos

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. Consulte Traduzindo o EmDash.
FuncionalidadesAbra uma Discussion e aguarde a aprovação de um maintainer.
RefatoraçõesAbra primeiro uma Discussion.

PRs de funcionalidades sem aprovação prévia de um maintainer serão fechados.

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