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
-
Clonar e instalar
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build # required before first run -
Iniciar a demo
cd demos/simple pnpm devO 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 -
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
| Tipo | Processo |
|---|---|
| Correções de bugs | Abra um PR diretamente. Inclua um teste que falhe. |
| Docs / erros de digitação | Abra um PR diretamente. |
| Traduções | Abra um PR diretamente. Consulte Traduzindo o EmDash. |
| Funcionalidades | Abra uma Discussion e aguarde a aprovação de um maintainer. |
| Refatorações | Abra 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.