新イベントはエンジンを書かない。機能を選んで生成し、デザインとコンテンツだけ差し替える。
1. 生成
monorepo root(C:/Users/akihi/projects/event-manual)で:
node packages/create-event-app/bin.mjs <name> \
--slug=<4s-event-slug> \
--features=cms,sessionCard \
--port=3402
<name>は kebab-case(例spring-fest)--featuresは選択機能(依存は自動補完: sessionCard→cms / mcp→db)- 生成物:
apps/<name>/(event.config.ts / .env.example / 一意な cookie 名・port)
2. インストールと env
yarn install
cp apps/<name>/.env.example apps/<name>/.env.local
.env.local を埋める(最小構成):
ADMIN_PASSWORD=<任意の強いパスワード>
FOURS_EVENT_SLUG=<4s-event-slug>
FOURS_PUBLIC_READ=1
3. 起動
yarn workspace <name> dev
→ http://localhost:<port> に LP、/admin に管理画面(dev はパスワード自動バイパス)。 /admin/card に 4S から取得した実セッションのカード一覧が出れば 4S 配線は成功。
4. デザインを差し替える(唯一のデザイン面)
apps/<name>/src/app/globals.cssの CSS 変数(--bg/--accent/ フォント)- セッションカードのテーマ:
SessionCard/SessionCardDesignerにthemesprop でCardTheme(--card-*変数)を渡す
5. コンテンツ
apps/<name>/content/.jsonを編集(or/admin/cms/から編集)- セッション/スピーカーは 4S がソース。CMS では card overlay(並び・改行・scale)だけ上書きする
機能を後から足す
apps/<name>/src/event.config.ts の boolean を倒すだけ。nav と route が追従する。 サーベイを足すなら recipe add-surveys、DB を足すなら add-database を参照。
4S ハンドオフ(ログインが要る機能を使う場合)
4S チームに この app の公開 origin(https://<公開ドメイン>。4s.link でも zfilms.jp でも可)を SESSION_HANDOFF_ALLOWED_ORIGINS へ登録依頼し、NEXT_PUBLIC_4S_LOGIN_URL=https://4s.link/ja/handoff/launch を env に足す。