15
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

もう手作業に戻れない。IBM Bob で Liberty 開発を効率化するコマンドアセットを公開しました

15
Last updated at Posted at 2026-03-24

この記事の内容を動画でまとめたものはこちらです。
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パートナーです。
単なるコード補完ツールではなく、設計・実装・レビュー・運用まで、開発ライフサイクル全体を支援します。

image.png

30日間の無料トライアルでは、IBM Bob の利用に必要なクレジット”Bobコイン”を、40Bobコイン分ご利用いただけます。
お申し込みはこちらから行えます。
Bobコインの追加が必要な場合は、こちらから少額よりご購入いただけます。

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 に切り替えてから実行してください。

モード変更手順:

  1. Bob のチャット画面上部にあるモード選択をクリック
  2. 💻 Code または 🛠️ Advanced を選択
  3. その後、スラッシュコマンドを実行

使い始めるときのポイント

最初は、/liberty-doctor のような現状把握系から試すのがおすすめです。

こちらのリポジトリのREADME にもあるように、各アセットの詳細な使い方や引数は commands/ ディレクトリ配下の Markdown ファイルにまとまっています。
まずは README で全体像をつかみ、必要なアセットの定義を個別に見にいく流れが分かりやすいです。

おわりに

Liberty 開発では、設定・ログ・ソースコード・ビルド定義をまたいで確認したい場面が多くあります。
そのたびに手作業で見ていくのは大変ですが、Bob のスラッシュコマンドとして観点をまとめておくと、確認の入口をそろえやすくなり、作業の抜け漏れも減らしやすくなると感じました。

今回紹介した 6 つのアセットだけでも、起動診断、feature 整理、環境変数棚卸し、機能追加、DataSource 作成、REST API 可視化までかなり幅広くカバーできます。
さらに、今後は第2弾、第3弾として追加のコマンドを作成していく予定です。

Liberty を使っている方や、IBM Bob を日々の開発にもっと活かしたい方は、ぜひ一度試してみてください。

参考リンク

15
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?