BaseMachina コード管理
コマンド、flag、設定 field は コード管理の公式ドキュメント とインストール済み SDK の型定義で確認する。変更されうる詳細を記憶だけで書かない。
作業領域を選ぶ
依頼に必要な reference だけを読む。
| 作業 | reference |
|---|---|
basemachina.config.ts、defineAction、defineView、defineConfigの編集、ID変更、bm pull・bm syncの確認 |
references/ts-config.md |
executeAction、createActionJob、wait、ResultErrorなどを使うJavaScriptアクションコードの編集 |
references/js-action.md |
| コードエディター・ビジュアルエディターのビュー、外部から取得するビューコードの編集 | references/view-code.md |
複数領域にまたがる変更では、該当するreferenceをすべて読む。
Pre-flight
basemachina.config.tsを探す。カレントディレクトリにない場合は--config <path>を使うかproject rootへ移動するpackage.json#packageManager、次にlockfileからpackage managerを1つに決める。情報が食い違う場合はユーザーに確認する@basemachina/sdkと@basemachina/cliを確認する。JavaScriptアクションでは@basemachina/action、ビューでは@basemachina/view、react、@types/react、JSX設定も確認する- 設定 field の追加・変更前にインストール済みSDKの型を読む
- dependencyの追加・更新は事前にユーザーへ確認する
Package managerコマンド
| 操作 | npm | Yarn | pnpm | Bun |
|---|---|---|---|---|
| dev dependency追加 | npm i -D <pkg> |
yarn add -D <pkg> |
pnpm add -D <pkg> |
bun add -d <pkg> |
| dependency更新 | npm i <pkg>@latest |
yarn add <pkg>@latest |
pnpm add <pkg>@latest |
bun add <pkg>@latest |
| dev dependency更新 | npm i -D <pkg>@latest |
yarn add -D <pkg>@latest |
pnpm add -D <pkg>@latest |
bun add -d <pkg>@latest |
| 更新確認 | npm outdated <pkg> |
yarn outdated <pkg> |
pnpm outdated <pkg> |
bun outdated <pkg> |
| TypeScript実行 | npx tsc |
yarn tsc |
pnpm exec tsc |
bunx tsc |
Yarn Berryには同等の標準outdated workflowがない。利用中のrepoでは別のpackage managerへ切り替えず、更新確認をskipしたことを報告する。
Guardrail
bm syncは必ず--dryを付ける。development・staging・productionを問わず、非dry-run syncを実行しない- disableの確認には
bm sync --dry --with-disableを使う。--with-disableなしでは、configから消えたaction・viewは変更されない - 環境間previewでは
--dryを維持し、target、--from、--with-disable、--pin-versionをユーザーと確認する - JavaScriptアクション・ビューのsourceは
git diffでも確認する。dry-runではcode本文の差分が省略されることがある - 実反映はreview済みCIまたはユーザーの明示操作に委ねる
- testを含め、BaseMachina actionを実行しない
bm pull
- configにまだないWeb管理action・viewを取り込む
- action定義は
src/actions/、view定義はsrc/views/、code本文は各生成directoryに作成され、config、src/bm-refs.ts、type.d.tsも更新される - action・view定義とcode本文は新規作成のみ。既存definitionへ後続のWeb UI変更を上書きしない
- コード取得設定が有効なコードエディターviewは対象外で、Web UIと外部code取得workflowで管理を続ける
- 書き込み前に対話確認がある。実行前にユーザーへ確認し、生成ファイルをすべてreviewする
詳細はbm pullを確認する。
認証
local dry-runまたはpullで認証を求められた場合は、ユーザーにbm loginの実行を依頼する。browserを使う対話flowは自動化しない。CIではlocal credentialをコピーせず、公式のOIDC・service account手順に従う。
引き渡し
以下を報告する。
- 変更file
- 影響するaction・view ID
- validation commandと結果
- dry-run summary
- disable、ID変更、同期元環境、version pinの意図
- CIまたはユーザーへ残した実反映手順
主なsource
- コード管理
- 設定ファイル
defineActiondefineViewdefineConfigreadFilebm pullbm sync- CI/CD
- SDK型定義:
node_modules/@basemachina/sdk/dist/oac/index.d.ts - JavaScript action runtime型:
node_modules/@basemachina/action/dist/*.d.ts