EmDash 是一個 pnpm monorepo。主要套件是 packages/core(發布為 emdash)——它包含 Astro 整合、REST API、資料庫層、schema 管理和外掛系統。管理介面位於 packages/admin。
完整的貢獻者參考資料——儲存庫佈局、架構、程式碼慣例、changeset 政策——請參閱 CONTRIBUTING.md。
本機設定
-
複製並安裝
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build # 首次執行前必需 -
啟動示範
cd demos/simple pnpm dev設定精靈會在首次啟動時自動執行——它會建立資料庫、執行遷移,並提示您建立管理員帳戶。
要填充範例內容:
pnpm seed -
開啟管理介面
造訪 http://localhost:4321/_emdash/admin
在開發模式下,您可以使用繞過端點跳過 passkey 認證:
http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin
開發工作流程
Watch 模式
要在示範旁邊迭代核心套件,執行兩個終端機:
# Terminal 1 — 更改時重建 packages/core
cd packages/core && pnpm dev
# Terminal 2 — 執行示範
cd demos/simple && pnpm dev
檢查
提交前執行這些指令(從儲存庫根目錄):
pnpm typecheck # TypeScript
pnpm lint # 完整的型別感知 lint
pnpm format # 自動格式化(oxfmt, tabs)
測試
所有測試
pnpm test 僅 Core
cd packages/core && pnpm test Watch 模式
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # 啟動自己的伺服器 測試使用真實的記憶體 SQLite——不模擬。每個測試都獲得一個全新的資料庫。
什麼會被接受
| 類型 | 流程 |
|---|---|
| Bug 修復 | 直接開啟 PR。包含一個失敗的測試。 |
| 文件 / 錯別字 | 直接開啟 PR。 |
| 翻譯 | 直接開啟 PR。參見翻譯 EmDash。 |
| 功能 | 開啟一個 Discussion 並等待維護者批准。 |
| 重構 | 先開啟一個 Discussion。 |
沒有事先獲得維護者批准的功能 PR 將被關閉。
完整的貢獻政策、changeset 指南、儲存庫佈局和架構概述,請參閱 CONTRIBUTING.md。