EmDash は pnpm モノレポです。メインパッケージは packages/core で、emdash として公開されています。Astro 統合、REST API、データベースレイヤー、スキーマ管理、プラグインシステムを含みます。React 管理 UI は packages/admin にあります。
このページは、動作する開発環境への最短パスを提供します。CONTRIBUTING.md が、前提条件、リポジトリレイアウト、貢献ポリシー、必要なチェック、チェンジセット、プルリクエスト要件の正式な情報源です。
ローカルセットアップ
-
ワークスペースをクローン、インストール、ビルドする。
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
プライマリ開発デモを起動する。
cd demos/simple pnpm devデモは
http://localhost:4321で SQLite を使用した Node.js 上で実行されます。空のデータベースへの最初のリクエスト時に、seed/seed.jsonのサンプルコンテンツも適用されます。 -
管理パネルを開く。
最速のローカルセットアップには、開発バイパスを開きます。マイグレーションを実行し、開発管理者を作成し、サインインして管理パネルにリダイレクトします。
代わりにパスキーセットアップフローをテストするには、管理パネルを開きます。セットアップウィザードがデータベースを作成し、マイグレーションを実行し、管理者アカウントの作成を促します。
開発ワークフロー
ウォッチモード
デモ実行中に packages/core を変更する場合、パッケージが自動的にリビルドされるように 2 つのターミナルを使用します:
# ターミナル 1 — 変更時に packages/core をリビルド
cd packages/core && pnpm dev
# ターミナル 2 — デモを実行
cd demos/simple && pnpm dev
チェック
コミット前にリポジトリルートから必要なチェックを実行します:
pnpm typecheck # TypeScript
pnpm 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 に記載されています。