Skip to content

About

Chat-authored json-render pages and previews for EmDash

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

EmDash Plugins

Interactive Inc.のEmDashプラグイン集@interactive-inc/emdash-pluginsのモノレポです。 EmDash本体は変更せず、ネイティブプラグインとして組み込みます。現在のプラグインは、チャットからjson-renderのページを作るbuilderです。

packages/emdash-plugins/  配布パッケージ。プラグインごとにsrc/<name>/を持つ
apps/web/                 プラグインを利用するAstro + EmDashのサンプル
scripts/                  別プロジェクトへの導入検証・デプロイ
.docs/                    設計判断・デプロイ手順

サンプルを動かす

開発には.node-versionで指定したNode.js 24.22.1とVite+(vp)、Portlessを使います。リポジトリのルートで実行します。

vp install
vp run setup:local
vp run seed
portless

portlessはportless.jsonの設定でサンプルを起動します。起動時にプラグインもビルドします。vp run devはプロキシを使わない直接起動です。 停止はvp run dev:stop、状態確認はvp run dev:statusです。 プラグインのTypeScriptを変更した場合は、停止してportlessで再起動してください。 依存パッケージ・Astro設定・環境変数を変更するときも、先にこのアプリを完全に停止し、変更後に起動し直してください。EmDash 1.3.1は内部再起動後に古いランタイムを保持する場合があり、保存時にVite module runner has been closedが発生します。この場合はブラウザーの更新だけでは復旧せず、アプリのプロセス再起動が必要です。 ローカルDB・メディア・署名キーはapps/web/.data/とapps/web/.envに保存します。

サンプルの操作・MCP接続手順 · プラグインの導入方法と公開API

検査

vp run test              # 普段の検査。ビルド・サーバー不要、EmDash通信はモック
vp run test -- tests/builder/document.test.ts # 変更に関係するテストだけを指定(複数可)
vp run verify            # パッケージの型検査 + 普段のテスト
vp run test:integration  # 実EmDashの署名・設定、ハイドレーション、サンプルの検証
vp run release    # 全型検査・全テスト・Node/Cloudflareビルド・配布物の導入検査

普段のテストはソースを直接読み、DB・ネットワーク・開発サーバーを使いません。EmDashとの境界だけをモックし、JSON検証・データ解決・描画・権限判断は実装そのものを検査します。test:integrationはプラグインをビルドするため、起動中のサンプルを先にvp run dev:stopで止めてください。終了後はportlessで起動し直します。

PRとmainへのpushでは軽い型検査と普段のテストだけをCIで実行します。重い検査はRelease checksの手動実行またはv*タグへのpushで実行します。公開・デプロイは行いません。リリース前はその対象コミットでreleaseを通してください。検査の分担と限界も参照してください。

vp run test:allで普段のテストと結合テストをまとめて実行できます。既存のcheck(全型検査)、build(Node用ビルド)、build:cloudflare、test:packageは必要なときに個別実行できます。

test:packageは一時フォルダー内だけで導入用の圧縮ファイルと独立したEmDashホストを作成します。リポジトリに配布ファイルは残しません。インターネットから依存を取得する場合があります。 ルートは開発用のprivateワークスペースで、配布対象はpackages/emdash-pluginsだけです。 プラグインはMITライセンスで、publishConfig.access: publicを設定しています。パッケージ名は@interactive-inc/emdash-pluginsです。npmへの公開はpackages/emdash-pluginsでvp pm publishを実行する別の操作です。 .env、DB、セッション、サンプルのコンテンツは配布ファイルに含めません。

vp run smokeは起動中のローカルサンプルに対する追加の検査です。MCPクライアントの登録なしで、実際のMCPへ接続してツール一覧・作成・公開・プレビューを確認します。Portless以外で直接起動した場合はSMOKE_ORIGIN=http://127.0.0.1:4331 vp run smokeを使います。

本番実行

vp run build
HOST=127.0.0.1 PORT=4332 vp run start

ローカルはNode.js + SQLite、本番はCloudflare Workers + D1 + R2 + KVです。Cloudflare設定には各自のリソースを指定します。

vp run deploy:production

先にCloudflareの設定手順に従い、Git管理外のapps/web/wrangler.production.jsoncを用意してください。このコマンドはその設定でCloudflare用にビルドし、生成された設定でWorkerへ反映します。既存の本番DBをseedで上書きしません。Node用のビルドとは出力先を分けています。 ローカルの開発アプリは停止してから実行し、完了後にportlessで起動し直してください。 本番のorigin・秘密情報・永続化についてはサンプルの説明を参照してください。

ライセンス

MIT License。詳細はLICENSEを参照してください。

About

Chat-authored json-render pages and previews for EmDash

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages