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
-
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 -
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 que você crie uma conta de administrador.
Para preencher com conteúdo de exemplo:
pnpm seed -
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
| 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. Veja Traduzindo EmDash. |
| Features | Abra uma Discussion e aguarde a aprovação de um mantenedor. |
| Refatorações | Abra 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.