コンテンツにスキップ

generate-bruno-files

ソースファイルを指すと、中に含まれるすべての HTTP リクエスト用に Bruno .bru ファイルを生成します — 適切な命名、連番、共有変数のコレクションへの吸い上げつきで。

お好みのパッケージマネージャでインストールしてください。

Terminal window
gh skill install oharu121/skills generate-bruno-files

Bruno を API クライアントとして使うプロジェクトでは .bruno/ ディレクトリにリクエストファイルが蓄積されます。これを手で作るのは地味に手間です — ソースから URL をコピーし、ヘッダーを整形し、ファイル名を考え、連番を決め、これを全エンドポイントで繰り返します。このスキルがソースを読んでくれます。

メソッド、URL、ヘッダー、クエリパラメータ、リクエストボディをコードから抽出。ユニークなエンドポイントごとに kebab-case の .bru ファイルを書き出します(URL パスではなく アクション ベースの命名 — list-users.bru であって get-api-v1-users.bru ではない)。次の連番を自動で付与し、シークレット・トークン・動的 ID は {{variable}} プレースホルダーにします(ハードコードしません)。

.bruno/collection.example.bru にまだない変数が必要になれば提案してくれます。ローカルの collection.bru(gitignore 対象)に値を入れることも忘れず案内してくれます。

  • プロジェクトに API クライアントを追加したので、手で 1 本ずつ書かずに Bruno ファイルを用意したいとき
  • 新メンバーのオンボーディングで「開いて Send 押すだけ」の .bruno/ コレクションを用意したいとき
  • クライアントモジュールをリファクタした後、Bruno ファイルを新しいエンドポイントに追従させたいとき
  1. API 呼び出しの抽出。 指定したソースファイルを読み、各 HTTP リクエストのメソッド、URL、ヘッダー、クエリ、ボディを抽出します。

  2. 重複チェック。 .bruno/ の既存 .bru ファイルを列挙。カバー済みのエンドポイントはスキップし、どれがスキップされたかを伝えます。

  3. 変数の棚卸し。 .bruno/collection.example.bru を読み、既に定義されている変数を把握。新規に必要な変数があればメモしておきます。

  4. .bru ファイル生成。 ユニークなエンドポイントごとに kebab-case 命名(verb-resource.bru)で meta、HTTP 動詞ブロック、任意の auth:bearer、headers、body:json を含むファイルを作成します。

  5. コレクション変数の更新。 新規変数は空値で collection.example.bru に追加。ローカルの collection.bru に値を入れるようリマインドします。

  6. サマリー出力。 作成したファイルとメソッド、エンドポイント、ソース位置を表で表示。

src/api/orders.ts に API クライアントがあるとします。

/generate-bruno-files src/api/orders.ts

スキルの出力:

ファイルメソッドエンドポイントソース
list-orders.bruGET/api/v1/ordersorders.ts:12
get-order.bruGET/api/v1/orders/{{order_id}}orders.ts:24
create-order.bruPOST/api/v1/ordersorders.ts:36

collection.example.bruorder_id を追加しました。ローカルの collection.bru に値を入れてください」というリマインドも付きます。

  • 名前 — kebab-case、アクション先頭(list-users.bru であって users-list.bruGET_users.bru ではない)
  • 連番 — コレクション内で次に空いている seq
  • 変数 — トークン、ID、シークレットは {{name}} — ハードコードしない
  • 認証 — Bearer トークンを使う場合は auth:bearer ブロックを追加
  • ヘッダー — 非標準ヘッダーのみ記載(Content-Type: application/json は Bruno が自動処理するため不要)
  • ボディ — POST/PUT/PATCH では、ソースのペイロード形状に合う現実的なサンプルを記載

SKILL.md を GitHub で見る — 抽出ルール、.bru ファイル形式、コレクション変数規約。