この記事の内容を動画でまとめたものはこちらです。
https://video.ibm.com/recorded/134747842
2026/03/27追記:
BobのSkillsも試してみました:
https://qiita.com/ktgr/items/e410529f9ba930f265e1
はじめに
WebSphere Liberty の開発では、起動しない原因の切り分け、server.xml の feature 整理、環境変数の棚卸し、DataSource の作成、REST API の経路確認など、日々さまざまな確認作業が発生します。
こうした作業は重要ですが、設定ファイル・ログ・ソースコード等を確認する必要があり、どうしても手間がかかりがちです。
こういった課題に対して、IBM Bob で Liberty 開発を支援するコマンドアセットを公開しました。
IBM Bobとは?
IBM Bobは、開発者と一緒にコードベース上で作業し、高品質なソフトウェアをより迅速に構築するためのAIパートナーです。
単なるコード補完ツールではなく、設計・実装・レビュー・運用まで、開発ライフサイクル全体を支援します。
IBM Bobでできること
-
用途に応じたエージェントモードの活用
Plan、Code、Advanced、Ask、Orchestrator などのモードを使い分けることで、タスクに最適な形で開発を進められます。さらに、業務要件に合わせたカスタムモードも作成可能です。 -
自然言語での開発支援
チャットとエディターを行き来することなく、自然言語で要件を伝えるだけで、文脈に沿った実装を生成できます。
いわゆる Literate Coding により、開発体験をよりスムーズにします。 -
高度なコードレビュー
構文チェックだけでなく、ロジックの誤りや実装が意図に沿っているかまで確認可能です。
プルリクエスト前の品質向上に役立つ、最初の防衛線として機能します。 -
IDEだけでなくターミナルでも活用可能
Bob Shellを使うことで、AIの支援をIDE内だけでなくターミナル環境でも利用できます。 -
IBMのエンタープライズ・エコシステムとの連携
HashiCorp、Red Hat、Instana などのサービスへIDEから直接アクセスでき、アーキテクチャ、セキュリティ、モニタリングを含めたエンタープライズ開発を効率化します。
公式サイト:https://bob.ibm.com/
スラッシュコマンドとは?
スラッシュコマンドとは、チャット入力欄で / から始まるコマンドのことです。
例:/review、/mode code など
こちらを使用すると、よく行う作業(レビュー依頼、手順の定型化、チェックリスト実行など)を短いコマンド1つで呼び出せるようになります。
便利なところ
-
作業の自動化:複数ステップの依頼を「1コマンド」にまとめられる
- 例:セキュリティ観点レビュー、テスト前チェック、リリース前確認…など
-
チームで標準化:同じコマンドを使えば、やり方が揃う
- 毎回同じ「前提・制約・観点」をコマンド側に埋め込める(= コンテキストを固定できる)
- 探しやすい:補完・検索で瞬時に見つけられる
セットアップ
1. commands/ フォルダを配置する
以下のいずれかに、こちらのリポジトリの commands/ フォルダを配置してください。
.bob/commands/ # プロジェクト固有
~/.bob/commands/ # グローバル
- プロジェクト単位で使いたい場合は
.bob/commands/ - どのプロジェクトでも使いたい場合は
~/.bob/commands/
という使い分けがおすすめです。
2. Bob からコマンドを呼び出す
Bob のチャット入力欄で / を入力すると、利用可能なコマンド一覧が表示されます。
候補を選んだら、必要に応じて引数を付けて実行してください。
コマンド一覧
/liberty-doctor
Liberty プロジェクト全体を一発で健康診断するコマンドです。
設定、ビルド、ログ、起動失敗の原因候補までまとめてチェックします。
使い方
/liberty-doctor
/liberty-doctor path/to/server.xml
主な機能
-
server.xml/configDropinsなど設定の散らばりを可視化 - ビルドツール・プラグインの整合性チェック
- ポート競合やバインド系トラブルの確認
- よくある起動失敗原因の候補提示
- feature 最小化が必要そうな場合は
/liberty-feature-minへ誘導
/liberty-feature-min
generated-features.xml を生成・比較して、server.xml の feature を最小化するためのコマンドです。
使い方
/liberty-feature-min
/liberty-feature-min path/to/server.xml
/liberty-feature-min path/to/server.xml --force
主な機能
-
generated-features.xmlの自動生成(Maven / Gradle 対応) -
server.xmlとの feature 差分分析 - 削除候補・維持候補の分類
- 段階的に減らすためのプラン提示
- 動作確認用チェックリストの生成
/liberty-env-vars-audit
Liberty 構成内の ${...} 変数参照を棚卸しするコマンドです。
未定義、タイポ疑い、環境差分などを見つけやすくします。
使い方
/liberty-env-vars-audit
/liberty-env-vars-audit path/to/server.xml
主な機能
-
${...}形式の変数参照を一覧化 - 未定義変数・タイポ疑いの検出
-
local / dev / stg / prod間の差分可視化 - 秘匿値の直書き検出(値はマスク)
-
.env/server.envのテンプレート提案
/liberty-feature-add
必要な機能に応じて Liberty feature と依存関係を追加するコマンドです。
JPA や CDI、REST Client などを追加したいときに使えます。
使い方
/liberty-feature-add JPA
/liberty-feature-add REST Client
/liberty-feature-add CDI
主な機能
- Java EE / Jakarta EE 世代の自動判定
- 適切な Liberty feature の選択と追加
-
pom.xml/build.gradleへの依存関係追加 - 必要に応じて最小サンプルコードを提示
- 検証チェックリストの生成
/liberty-datasource-create
DataSource 設定をまとめて作成するコマンドです。
JDBC ドライバー追加から Liberty 設定、接続確認までを支援します。
使い方
/liberty-datasource-create postgres localhost:5432 mydb user env:DB_PASSWORD
/liberty-datasource-create mysql db.example.com mydb user prompt
/liberty-datasource-create oracle host:1521 service user env:ORACLE_PASSWORD
引数
-
<dbType>:postgres/mysql/mariadb/db2/oracle/mssql -
<host[:port]>: ホスト名とポート(省略時はデフォルトポート) -
<dbName>: データベース名 -
<user>: ユーザー名 -
<password>: パスワード-
env:VAR… 環境変数を参照 -
prompt… 対話入力
-
主な機能
- JDBC ドライバーの
pom.xml追加 -
server.xmlへのlibrary/jdbcDriver/dataSource追加 - 接続チェックの自動実行
- 環境変数参照の利用を推奨
/liberty-endpoint-map
JAX-RS リソースを走査して REST エンドポイント一覧を作るコマンドです。
404 / 405 の原因を探したいときにも便利です。
使い方
/liberty-endpoint-map
/liberty-endpoint-map src/
主な機能
-
@Pathアノテーションの検出 - HTTP メソッド / パス / セキュリティ情報の一覧化
-
contextRoot/applicationPathの自動判定 -
curl/httpieのサンプル生成 - 404 / 405 の原因候補提示
トラブルシューティング
Bob がコマンドを“実行”せず“実装”しようとする場合
Planモードの場合、Bob がスラッシュコマンドをそのまま実行せず、コマンドの中身を実装しようとしてしまうことがあります。
その場合は、Bob のモードを Code または Advanced に切り替えてから実行してください。
モード変更手順:
- Bob のチャット画面上部にあるモード選択をクリック
- 💻 Code または 🛠️ Advanced を選択
- その後、スラッシュコマンドを実行
使い始めるときのポイント
最初は、/liberty-doctor のような現状把握系から試すのがおすすめです。
こちらのリポジトリのREADME にもあるように、各アセットの詳細な使い方や引数は commands/ ディレクトリ配下の Markdown ファイルにまとまっています。
まずは README で全体像をつかみ、必要なアセットの定義を個別に見にいく流れが分かりやすいです。
おわりに
Liberty 開発では、設定・ログ・ソースコード・ビルド定義をまたいで確認したい場面が多くあります。
そのたびに手作業で見ていくのは大変ですが、Bob のスラッシュコマンドとして観点をまとめておくと、確認の入口をそろえやすくなり、作業の抜け漏れも減らしやすくなると感じました。
今回紹介した 6 つのアセットだけでも、起動診断、feature 整理、環境変数棚卸し、機能追加、DataSource 作成、REST API 可視化までかなり幅広くカバーできます。
さらに、今後は第2弾、第3弾として追加のコマンドを作成していく予定です。
Liberty を使っている方や、IBM Bob を日々の開発にもっと活かしたい方は、ぜひ一度試してみてください。
