開発中の機能
コード管理
コード管理とは

コード管理とは

⚠️

この機能は現在開発中であり、まだ公開されていません。記載内容は今後変更される可能性があります。

コード管理は、ベースマキナのアクションの設定を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のマージをトリガーに自動で設定を反映できます。

始めるには

  1. 始め方に従ってプロジェクトをダウンロードし、リポジトリをセットアップする
  2. 設定ファイルを編集してアクションを定義する
  3. CLIコマンドで差分を確認し、反映する
  4. Web UIで作成したアクションがある場合はbm pullで取り込む
  5. CI/CDの設定でGitHub Actionsを構成する
  6. 運用例を参考に開発・運用を行なう

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)をご参照ください。