EmDash 是一個 pnpm monorepo。主套件是 packages/core,以 emdash 的名稱發佈;它包含 Astro 整合、REST API、資料庫層、結構描述管理和外掛系統。React 管理後台 UI 位於 packages/admin。
本頁為你提供建立可用開發環境的最快路徑。CONTRIBUTING.md 是先決條件、儲存庫結構、貢獻政策、必要的檢查、changeset 以及提取請求要求的權威來源。
本機設定
-
複製、安裝並建置工作區。
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
啟動主要的開發示範。
cd demos/simple pnpm dev該示範執行於 Node.js 上,使用 SQLite,位址為
http://localhost:4321。在第一次請求時,它會套用seed/seed.json中的結構描述;下一步中的開發繞過還會加入它的範例內容。 -
開啟管理後台。
若要獲得最快的本機設定,請開啟開發繞過。它會執行遷移、建立一個開發用管理員、讓你登入,並重新導向到管理後台。
如果想改為測試通行金鑰(passkey)的設定流程,請開啟管理後台。設定精靈會建立資料庫、執行遷移,並提示你建立管理員帳戶。
開發工作流程
監看模式
在執行示範的同時修改 packages/core 時,請使用兩個終端機,這樣套件會自動重新建置:
# Terminal 1 — rebuild packages/core on change
cd packages/core && pnpm dev
# Terminal 2 — run the demo
cd demos/simple && pnpm dev
檢查
在提交之前,請在儲存庫根目錄執行必要的檢查:
pnpm typecheck # TypeScript
pnpm lint # full type-aware lint
pnpm format # auto-format with oxfmt and Prettier
測試
所有測試
pnpm test 僅核心
cd packages/core && pnpm test 監看模式
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # starts its own server 測試使用真實的記憶體內 SQLite 資料庫,而不是資料庫模擬。每個測試都會獲得一個全新的資料庫。
選擇貢獻路徑
錯誤修復、文件和翻譯可以直接提交提取請求。錯誤修復必須包含一個能夠重現該問題的失敗測試。翻譯貢獻請遵循翻譯工作流程。
功能和重構需要先有經維護者核准的 Discussion,才能開始實作。沒有獲得核准的功能提取請求會被關閉。開始工作之前,請閱讀完整的貢獻政策,以便了解適用哪條路徑。
文件的變更還必須遵循文件風格指南。
若要了解貫穿 EmDash 的主要執行路徑,請閱讀架構(內部結構)。程式碼層面的模式和不變量記錄在 AGENTS.md 中。