EmDash への貢献

このページ

EmDash は pnpm モノレポです。メインパッケージは 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    # required before first run
  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

開発ワークフロー

ウォッチモード

コアパッケージをデモと並行して開発するには、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 を参照してください。