EmDash は pnpm モノレポです。メインパッケージは 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 # required before first run -
デモを起動
cd demos/simple pnpm dev初回起動時にセットアップウィザードが自動的に実行されます。データベースの作成、マイグレーションの実行、管理者アカウントの作成を求められます。
サンプルコンテンツを入れるには:
pnpm seed -
管理画面を開く
http://localhost:4321/_emdash/admin にアクセスします
開発モードでは、バイパスエンドポイントを使用して passkey 認証をスキップできます:
http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin
開発ワークフロー
ウォッチモード
コアパッケージをデモと並行して開発するには、2つのターミナルを使用します:
# 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 (oxfmt, tabs)
テスト
すべてのテスト
pnpm test コアのみ
cd packages/core && pnpm test ウォッチモード
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # starts its own server テストは実際のインメモリ SQLite を使用します。モックは不要です。各テストは新しいデータベースを取得します。
受け付ける貢献
| 種類 | プロセス |
|---|---|
| バグ修正 | PR を直接提出してください。失敗するテストを含めてください。 |
| ドキュメント / タイポ | PR を直接提出してください。 |
| 翻訳 | PR を直接提出してください。EmDash の翻訳を参照してください。 |
| 新機能 | まず Discussion を開き、メンテナーの承認を待ってください。 |
| リファクタリング | まず Discussion を開いてください。 |
メンテナーの事前承認なしの機能 PR はクローズされます。
貢献ポリシー、changeset ガイド、リポジトリ構成、アーキテクチャの概要については、CONTRIBUTING.md を参照してください。