-
Notifications
You must be signed in to change notification settings - Fork 0
Development
npm --prefix server install # 依存(server/ 配下)
npm test # node:test。Live 不要
npm run build # esbuild バンドル + .amxd 生成
npm run install-device # ビルドして User Library へ導入- Node 22 以上(
node:sqlite)。CI は Node 22 -
server/srcは CommonJS のみ(Node for Max 互換のため ESM 不可) -
device/code/live-bridge.jsは Max のjsオブジェクトで動くので ES5 で書く(Node API 不可)
server/test/*.test.js。Live の実機が無くても動くよう、ブリッジは偽物に差し替え、.als は最小のセットを組んで検証します。
| ファイル | 対象 |
|---|---|
bridge.test.js / live-bridge.test.js / http-server.test.js
|
ブリッジのプロトコルと HTTP サーバー |
amxd.test.js |
.amxd の読み書き(Live 同梱の純正デバイスをバイト単位で再生成できる) |
als.test.js / als-refs.test.js / als-generate.test.js / set-tools.test.js
|
.als の読み書き・Group 化・修復・生成・MCP ツール |
sample-meta.test.js / sample-kind.test.js / midi-file.test.js / set-name.test.js
|
名前の解釈、ループ / ワンショット判定、MIDI、セット名 |
loopcloud-survey.test.js / loopcloud-db.test.js
|
分類表、Loopcloud DB(偽の SQLite と tags.cache を組む。node:sqlite が無い Node ではスキップ) |
Live 依存の検証(生成した .als が開けるか、ツールが実機で通るか)は自動化できないため、PR の本文に「実機で確認した / 未検証」を必ず書きます。
.github/workflows/test.yml。main / develop への push と全 PR で npm ci → build → test。main / develop は保護ブランチで、CI 通過と PR 経由のマージが必須です。
Git Flow: main(リリース)/ develop(既定・統合)/ feature/<issue>-<slug> / fix/<issue>-<slug>。
- 変更が入る作業は先に Issue を立てる
- ブランチ名・コミットメッセージ(日本語)に Issue 番号を入れる
- PR は
developへ。squash マージ - 実装完了時に Issue へ要約をコメントし、コミットのリンクを残す
ラベル: mcp-tool / als / loopcloud / remote-script / roadmap / documentation
-
device/code/live-bridge.jsのhandleRequestにcase "<op>"を足し、LiveAPI を叩く関数を書く(ES5) -
server/src/tools.jsにserver.registerTool("live.<対象>.<動詞>", { description, inputSchema(zod) }, handler)を足す。handler はbridge.call("<op>", args)を呼ぶだけにする - 1 往復が 15 秒を超えそうな処理は、ツール側で分割して投げる(
create_audio_batch/drumrack.buildを手本に) -
server/test/に偽ブリッジでのテストを足す -
npm run install-device→ Live を再起動 → 実機で確認 - MCP ツール にも追記する
.als 系のツールは server/src/set-tools.js に置き、scripts/als*.js を呼びます。esbuild のバンドルでは templates/ が読めないので、bundle-entry.js がテンプレートを文字列として焼き込みます。
live.api.info で対象パスの型・プロパティ・関数一覧を実機から取り、live.api.raw で試してからツール化します。Remote Script 側から見える Song のメンバー(245 個)は M4L の LOM より多いので、M4L に無ければ Remote Script の経路を検討します。
Producer Pal(GPL-3.0)はコードの流用禁止。仕様参照のみです。