EmDashはpnpm monorepoです。メインパッケージはpackages/core(emdashとして公開)で、Astro統合、REST API、データベース層、スキーマ管理、プラグインシステムが含まれています。管理UIは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モード
デモと並行してコアパッケージを反復開発するには、2つのターミナルを実行します:
# 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を使用します(モッキングなし)。各テストは新しいデータベースを取得します。
受け入れられるもの
| タイプ | プロセス |
|---|---|
| バグ修正 | 直接PRを開いてください。失敗するテストを含めてください。 |
| ドキュメント / タイプミス | 直接PRを開いてください。 |
| 翻訳 | 直接PRを開いてください。EmDashの翻訳を参照してください。 |
| 機能 | Discussionを開き、メンテナーの承認を待ってください。 |
| リファクタリング | まずDiscussionを開いてください。 |
メンテナーの事前承認なしの機能PRはクローズされます。
完全な貢献ポリシー、changesetガイド、リポジトリレイアウト、アーキテクチャ概要については、CONTRIBUTING.mdを参照してください。