コード管理とは
⚠️
この機能は現在開発中であり、まだ公開されていません。記載内容は今後変更される可能性があります。
コード管理は、ベースマキナのアクションの設定をTypeScriptのコードとしてGitリポジトリで管理できる機能です。
設定内容をコードとして管理することで、以下のメリットがあります。
- コードレビュー: 設定変更をPull Requestでレビューできる
- 差分検出: 設定変更の差分をCI上で自動検出し、PRにコメントとして表示できる
- 環境別の反映: 開発環境から検証環境、本番環境へ段階的に反映できる
- 型安全な設定: TypeScriptの型システムにより、設定ミスをコードの記述時に検出できる
- 変更履歴: Gitの履歴で設定変更の経緯を追跡できる
対応する管理対象
現在、以下のアクション種別のコード管理に対応しています。
- gRPCアクション
- HTTP APIアクション
- JavaScriptアクション
- MySQLアクション
- PostgreSQLアクション
今後、対応するアクション種別は拡大予定です。
全体像
コード管理では、以下のツールを使用します。
| ツール | 説明 |
|---|---|
@basemachina/sdk (opens in a new tab) | @basemachina/sdk/oacからアクションの設定をTypeScriptで記述するためのSDK関数を提供 |
@basemachina/cli (opens in a new tab) | 設定の差分検出・反映や、Web管理アクションの取り込みを行なうCLIツール(bmコマンド) |
basemachina/bm-action (opens in a new tab) | OIDC認証・bm syncの実行・PRへのコメント投稿をまとめて扱うGitHub Actions用のComposite Action |
設定はTypeScriptファイル(basemachina.config.ts)に記述し、CLIコマンドbm syncで設定の差分検出や環境間の同期を行ないます。Web UIで作成した未取り込みのWeb管理アクションは、bm pullでリポジトリに取り込めます。GitHub Actionsと組み合わせることで、PRのマージをトリガーに自動で設定を反映できます。
始めるには
- 始め方に従ってプロジェクトをダウンロードし、リポジトリをセットアップする
- 設定ファイルを編集してアクションを定義する
- CLIコマンドで差分を確認し、反映する
- Web UIで作成したアクションがある場合は
bm pullで取り込む - CI/CDの設定でGitHub Actionsを構成する
- 運用例を参考に開発・運用を行なう
AIエージェントとの連携
basemachina/skills (opens in a new tab)リポジトリで、コード管理を扱うAgent Skill (opens in a new tab) bm-code-managementを公開しています。
このskillをClaude Code / Codex CLI / Cursor / GitHub Copilot CLI / Gemini CLIなどに導入すると、以下の作業をエージェントに任せられます。
defineAction/defineConfigの編集- JavaScriptアクションのコード本体の作成・編集
bm sync --dryでの差分プレビュー
たとえばnpx skillsを使ったインストールは以下の通りです。
# プロジェクトスコープで bm-code-management を導入
npx skills add basemachina/skills --skill bm-code-management --yesほかのインストール方法(gh skill installやClaude Code plugin marketplaceなど)や対応エージェント一覧は、basemachina/skillsのREADME (opens in a new tab)をご参照ください。