概要
Gemini CLI のカスタムコマンド と Antigravity の Workflow を同期させる自分用のツールを作成してみました。
きっかけや背景
Googel AI Pro では、Gemini CLI と同時に Antigravity も利用できるため、Gemini CLI と Antigravity を併用してみるのも良いのかな?と思いました。
使ってみると、Antigravity には Workflow という機能があり、実質的には Gemini CLI のカスタムコマンドのようなものでした。(厳密には、それぞれのツールの思想が違うとは思っているのですが)
そこで、利用しているGemini CLi で利用している カスタムコマンドを Antigravity でも利用したいと思いました。
カスタムコマンドにおける Gemini CLI と Antigravity の 差分
/example というコマンド/ワークフローがある場合の例です。
ファイル形式比較
Gemini CLI では .gemini/commands/example.toml に TOML 形式で記述
description = "example"
prompt = """
{{args}}
prompt here
"""
Antigravity では .agent/workflow/example.md に markdown 形式で記述
---
description: example
---
[INPUT}
prompt here 差分まとめ
作ったツール
内容を見た結果、引数についてそこまでこだわらないようなコマンドだったら簡単に同期ができそうかも?!と思いツールの制作に取り掛かりました。
制作自体は1時間ほどで完了。
制作手順としては…
- perplexity に 上の問題や自分で調べた差分について共有。同期したいツールを作りたいと相談する。技術スタックなどを決定。
- そして、AIエージェントに実装させる手順書を markdown で書いてもらう
- その手順書を Gemini CLI へ貼り付け
- ほとんどレビューせずに7割方完成し、テストの追加や微調整を行う
- 動作確認をして完了
インストール方法
git clone git@github.com:izumiz-dev/gemini-gravity-sync.git && \\
cd gemini-gravity-sync && \\
pnpm install && \\
pnpm build && \\
pnpm link --global 使用方法
プロジェクト(リポジトリのroot)のディレクトリにて、実行してください。
gemini-gravity-sync 動作
初回時には、それぞれの commands / workflows が同期され
それ以降は、watchされ、ファイルの状態に基づいて同期されます。
対応が不十分なところ
Gemini CLI の Commands と Antigravity の Workflows には互換性があるわけではありません。
特に Gemini CLI で 引数 {{args}} をとるようなところなどについては [INPUT] としていたりします。
そのため、必ずしも動作は保証できていませんが、Gemini CLI で動かすコマンドを Antigravity でも気軽に動かしたいというところは叶えられるかと思います。
グローバルのコマンドやワークフローにはまだ対応できていないため、気分次第で実装するかもしれないです。