event-manual / modules

機能カタログ

新イベントは create-event-app --features=… で機能を選んで生成する。 以後の変更は src/event.config.ts の boolean を倒すだけ — nav と route が自動で追従する。

cms

コンテンツ CMS@event/cms実装済み

schema 駆動 admin。ResourceSchema を書くだけで一覧/編集/保存/CSV インポートが動く。locked フィールドは二層防御。

  1. event.config.ts で cms: true
  2. lib/cms.ts に ResourceSchema を宣言
  3. ADMIN_PASSWORD(+ 本番は GITHUB_TOKEN)
ch.12ch.13ch.14

sessionCard

セッションカード@event/session-card実装済みrequires: cms

1A–10A photo-first カード + 手動最終調整エディタ(DnD / 改行上書き / scale)。engine は元実装と挙動差分ゼロ。

  1. sessionCard: true
  2. FOURS_EVENT_SLUG + FOURS_PUBLIC_READ=1
  3. テーマは themes prop に CardTheme を登録
ch.18ch.19

surveys

サーベイ & リーダーボード@event/feedback実装済み

匿名アンケート(uaHash upsert・二段送信)+ IMDb 加重ランキング(校正済み・数値等価検証済み)+ live poll。

  1. surveys: true
  2. BLOB_READ_WRITE_TOKEN
  3. createSubmitHandler に resolveUnit を注入
ch.26ch.27ch.28

db

リレーショナル DB@event/crm-schema実装済み

MCP-first 二層 DB。固定コア(手書き SQL migration)+ 拡張レイヤ(meta jsonb + Field Manifest)。org/member/user/entity_lp/audit/compliance。

  1. db: true
  2. DATABASE_URL(Neon)
  3. migrations/0001_init.sql を pg で適用
ch.15

mcp

MCP 連携@event/mcp実装済み

この app を MCP server として公開。設定画面から URL・公開ツールを設定し stdio + HTTP 両方で接続可能。ツール: content(CMS 読み書き)/ fourS(照会)/ db(schema_addField=カラム追加・migration_propose=人間承認)。全 DB 書き込みに manifest ガード + 楽観ロック + audit。

  1. mcp: true
  2. MCP_BEARER_TOKEN(HTTP を使うなら)
  3. 設定画面 /admin/settings/mcp で URL・ツールを設定 → 接続 .mcp.json をコピー
ch.15

visuals

ビジュアル生成@event/visuals実装済み

SNS/印刷/会場ビジュアルの generator framework — EventBrand トークン(--vis-* 変数)+ TemplateRegistry + FormatRegistry(SNS + A1/A2/A3・√2 印刷拡大)+ chrome プリミティブ。capture は @event/asset-kit に構造互換で接続。

  1. visuals: true
  2. EventBrand を resolveBrand で定義
  3. defineTemplate でテンプレを登録 → asset-kit の exportPng/Pdf へ
ch.17ch.20ch.21ch.22

booking

予約 & 見積@event/booking実装済み

スロット制予約(capacity/waitlist・冪等 dedup・partial UNIQUE・kill-switch・IP rate-limit)+ 見積(basis-point tax・内税/外税・Blob|Neon driver)。resourceKey で booth/seat/table/session を汎用化。

  1. booking: true
  2. DATABASE_URL(予約テーブル)
  3. createReservationStore + createBookingActions を配線
ch.29ch.30

networking

マッチング & ディレクトリ@event/networking実装済み

entity-linking(Jaro-Winkler + Dice、多段照合 + decide ガード)+ PII 最小 registry factory + privacy trio(consent gating / whitelist 射影 / k-anonymity K=5)+ referral tier。

  1. networking: true
  2. createRegistrySchema({prefix}) でテーブル生成
  3. matchName + evaluateListingGrants + applyKAnonymity を配線
ch.32ch.33ch.34

spatial

マップ & タイムテーブル@event/spatial実装済み

SvgHotspotLayer(FloorMap/OverallMap/StartupZoneMap/FloorPlan の4コピー統合。inline SVG + overlay + hit-test + deep-link)+ lane-packing タイムテーブル + booth grid。

  1. spatial: true
  2. SpatialConfig に venue SVG + hotspot 座標
  3. SvgHotspotLayer / packTimeslots を配線
ch.35

mailer

メール@event/mailer実装済み

Resend transactional + branded shell(brand トークン駆動)+ template slot registry(invitation/otp/notify)+ Slack Block Kit。missing-key 挙動は noop/throw で選択。

  1. mailer: true
  2. RESEND_API_KEY(省略時は noop)
  3. createMailer({ from, brand }) で template を register
ch.36