為 EmDash 做貢獻

本頁內容

EmDash 是一個 pnpm monorepo。主套件是 packages/core,以 emdash 發布;它包含 Astro 整合、REST API、資料庫層、結構描述管理和外掛程式系統。React 管理 UI 位於 packages/admin

本頁為您提供通往可運作開發環境的最快路徑。CONTRIBUTING.md 是先決條件、儲存庫佈局、貢獻政策、必需檢查、變更集和拉取請求要求的權威來源。

本機設定

  1. 複製、安裝和建置工作區。

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build
  2. 啟動主要開發示範。

    cd demos/simple
    pnpm dev

    示範在 http://localhost:4321 上使用 SQLite 的 Node.js 執行。在對空資料庫的第一次請求時,它還會套用 seed/seed.json 中的範例內容。

  3. 開啟管理面板。

    對於最快的本機設定,開啟開發繞過。它會執行遷移、建立開發管理員、登入並重新導向到管理面板。

    要測試密碼金鑰設定流程,請開啟管理面板。設定精靈會建立資料庫、執行遷移並提示您建立管理員帳戶。

開發工作流程

監視模式

在執行示範的同時變更 packages/core 時,使用兩個終端機使套件自動重建:

# 終端機 1 — 變更時重建 packages/core
cd packages/core && pnpm dev

# 終端機 2 — 執行示範
cd demos/simple && pnpm dev

檢查

提交前從儲存庫根目錄執行必需的檢查:

pnpm typecheck    # TypeScript
pnpm lint         # 完整的型別感知 lint
pnpm format       # 使用 oxfmt 和 Prettier 自動格式化

測試

所有測試

pnpm test

僅 Core

cd packages/core && pnpm test

監視模式

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # 啟動自己的伺服器

測試使用真實的記憶體內 SQLite 資料庫而不是資料庫模擬。每個測試獲得一個全新的資料庫。

選擇貢獻路徑

錯誤修復、文件和翻譯可以直接提交拉取請求。錯誤修復必須包含一個能重現問題的失敗測試。翻譯貢獻遵循翻譯工作流程

功能和重構在實作前需要維護者批准的討論。沒有該批准的功能拉取請求會被關閉。在開始工作前閱讀完整的貢獻政策,以便了解哪條路徑適用。

文件變更還必須遵循文件風格指南

有關 EmDash 的主要執行路徑,請閱讀架構(內部結構)。程式碼層級的模式和不變條件記錄在 AGENTS.md 中。