EmDashへの貢献

このページ

EmDashはpnpm monorepoです。メインパッケージはpackages/coreemdashとして公開)で、Astro統合、REST API、データベース層、スキーマ管理、プラグインシステムが含まれています。管理UIはpackages/adminにあります。

完全な貢献者リファレンス(リポジトリレイアウト、アーキテクチャ、コード規約、changeset ポリシー)については、CONTRIBUTING.mdを参照してください。

ローカルセットアップ

  1. クローンとインストール

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # 初回実行前に必要
  2. デモを起動

    cd demos/simple
    pnpm dev

    セットアップウィザードは初回起動時に自動的に実行され、データベースを作成し、マイグレーションを実行し、管理者アカウントの作成を促します。

    サンプルコンテンツを投入するには:pnpm seed

  3. 管理画面を開く

    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を参照してください。