O EmDash é um monorepo pnpm. O pacote principal é packages/core, publicado como emdash; ele contém a integração Astro, a API REST, a camada de banco de dados, o gerenciamento de esquema e o sistema de plugins. A interface de administração React fica em packages/admin.
Esta página oferece o caminho mais rápido para um ambiente de desenvolvimento funcional. 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 request.
Configuração local
-
Clonar, instalar e compilar o workspace.
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
Iniciar a demo de desenvolvimento principal.
cd demos/simple pnpm devA demo roda em Node.js com SQLite em
http://localhost:4321. Na primeira requisição para um banco de dados vazio, ela também aplica o conteúdo de exemplo deseed/seed.json. -
Abrir o painel de administração.
Para a configuração local mais rápida, abra o bypass de desenvolvimento. Ele executa migrações, cria um administrador de desenvolvimento, faz seu login e redireciona para o painel de administração.
Para testar o fluxo de configuração com passkey, abra o painel de administração. O assistente de configuração cria o banco de dados, executa migrações e solicita que você crie uma conta de administrador.
Fluxo de trabalho de desenvolvimento
Modo observação
Quando você altera packages/core enquanto executa a demo, use dois terminais para que o pacote seja reconstruído automaticamente:
# Terminal 1 — reconstruir packages/core ao mudar
cd packages/core && pnpm dev
# Terminal 2 — executar a demo
cd demos/simple && pnpm dev
Verificações
Execute as verificações obrigatórias a partir da raiz do repositório antes de fazer commit:
pnpm typecheck # TypeScript
pnpm lint # lint completo com reconhecimento de tipos
pnpm format # auto-formatação com oxfmt e Prettier
Testes
Todos os testes
pnpm test Apenas Core
cd packages/core && pnpm test Modo observação
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # inicia seu próprio servidor Os testes usam bancos de dados SQLite em memória reais em vez de mocks. Cada teste recebe um banco de dados limpo.
Escolha um caminho de contribuição
Correções de bugs, documentação e traduções podem ir diretamente para um pull request. Correções de bugs devem incluir um teste que falha e reproduz o problema. Contribuições de tradução seguem o fluxo de trabalho de tradução.
Funcionalidades e refatorações exigem uma Discussão aprovada por um mantenedor antes da implementação. Pull requests de funcionalidades sem essa aprovação são fechados. Leia a política de contribuição completa antes de iniciar o trabalho para saber qual caminho se aplica.
Alterações na documentação também devem seguir o guia de estilo da documentação.
Para os caminhos de execução principais através do EmDash, leia Arquitetura (internos). Padrões e invariantes no nível do código estão documentados em AGENTS.md.