geminiのCLIちょっとつかった!!!
なので記事にしました。
解説とかできないくらいの理解度なので「こんな感じでキャッキャ作業したよ~」といった読み物にしました。
なお、セリフはログを元にした捏造です。
そして使い方を教えてくれ、一緒に並走してくれたのはすばら3の頻子さんです。
始まり

あきらんにgeminiのCLIを布教したいんだけど…個人サイトないし…なんか便利になるやつないかなあ~

足元のフォルダのやつ丸ごとどうこうしたいって用があればなあ~

足元のフォルダのtxt全部ユニコードからJISに変換したい~~~
※ネタバレ→失敗しました。

!!!!!!!! それだ ちょっとバックアップとりつつやってみません!?
頻子さんはいつも新しいおもちゃ技術が手に入ると、私にも共有してくれます。
そして技術講習会を行ってくれます。すごいよね。
(git未だに使いこなせて無くてすまんね!!!!!!)
そんな感じで今回はGeminiのCLIを使ってみることになりました。
なお、この記事を書いている時点でもどんなものを使ってたのか分かってません。
何らかの準備(Node.js導入編)

じゃあ早速cmd出して~!

おっけー任せてくれ!!
(cmdってなんか聞いたことあるけどなんだろうなぁ)
実際の所頻子さんは私の技術レベルを正確に把握しているためにこのような冗長なやり取りはなく初手でいきなり詳細な手順を投げてくれました。
理解者とは素晴らしい。
Node.jsを手に入れる
- cmdの出し方を教えてもらって出す
- 「node -v」と言う呪文を唱える。(必要な物が入ってるかの確認)(多分入ってない前提で一応の作業)
- 当然無かったのでNode.jsのサイトに行く
- 「WindowsInstaller.msi」を手に入れた!
言われた通り何らかのソフトウェアを導入します。
本当に1手1手大人しく言われた通りやっています。
もし頻子さんが悪意を持った攻撃者だった場合、この時点で私のPCは頻子さんの監視下に入り、毎日DLsiteを巡回し、おねーさんと年下男子のえっちな作品が無いか探している姿が把握されてしまうことでしょう。
そしておねーさんと年下男子の作品の少なさに衝撃を受け、自ら進んで新作を用意し放流してくれるに違いありません。
何の話でしたっけ??????
Node.jsのインストール


こんな感じの方針でインストールまで完了。
再びcmdを起動し、呪文「node -v」を唱えたらv22.18.0の文字が!
Nodeの召還に成功です。
余談

これ…noteにまとめようかな。あとで

あっ 元を取ろうとしてる。あとでリンクします

そなたはnoteで、私はWordPressで。共に書いたらリンクしよう
[追記]頻子さんの記事
やったーー!
頻子さんの記事も完成したよ!!!!!

気に入ってたので追記前のスクショを残しておきます。
Gemini cliなるもの
こちらが公式のクイックスタートガイド。
知らない言葉で書かれています。
アメリカ語にプログラムな単語は無理じゃ……
今回は一切目を通さず、頻子さんを信じてじゅもんを唱えます。


npm install -g @google/gemini-cli
―――――― インストール終了 ――――――


gemini!!!!!!
(杖を持った魔法使いのポーズ)




完璧~


やった~~~! 私って天才!! (グローバルインストールがわからないでやりきった顔)
多分居ないと思うのですが、この記事を見て導入している方がいたらまずいのでちょっとだけ補足すると、
- cmdの起動
- gemini-cliのグローバルインストール
- (インストール中はいろいろな文字が流れる)
- インストール後、入力行に「gemini」と打ち込み、geminiを呼び出す
と言う作業をしました。
閑話:失敗なお題
その後、納品やゲーム制作の都合上「フォルダ内のtxtの文字コードを一括で変更したい~~~!」ってタイミングが今年何度かあったのでそれに挑戦していました。
ですがこれに関しては失敗。




こんな感じの返答しかしてくれなくてにっちもさっちもいかなくなったのでした!
始める前から「理論上はできるんだけど日本語に弱いからうまくいかない可能性もある~~!」と言われていたお題なので何度かの失敗の末潔く諦めました。
「できなかった」というのも大事な情報なのでインターネット上に残しておきますね!


そそのかしてこれはもったいない


せっかくだから得意そうなことさせたいな
名前変換は得意?


超得意。
コマンドを内部で実行してくれるので置換もできるし、あるいは1行ずつ読み込んで地道にやって、でもいい


いいですね! 一旦これはなかったことにして別のフォルダで開いてチャレンジしましょう
Geminiくんに仕事をさせる
指定フォルダ以下の階層も含んでファイルをチェックして日本語ファイル名を半角英数字に変換する
新たに設定し直した目標はこちらになります。
作業意図としては「昔、特に海外やブラウザを意識しないで作ったために日本語ファイル名を使って作ってしまったゲームを楽に修正したい」というものです。
私が使っているウディタというゲームエンジンは大変良い子かつ作り始めた頃は日本語のwin環境で起動することしか考えてなかったので「日本語楽じゃん!」と制作していたのです。
ですが時代は変わり、英語版やらブラウザ版何かを作り始めると……日本語ファイル名が足かせになる!
修正しんどい!!!!
そういうわけですね。
作業したいフォルダを作る


CLIのツールくんたちは、きほんその作業フォルダしか弄れないから~そうじゃないとぶっこわされたりあぶないもんな~
とのこと。
それはそれとして色々察して作業フォルダを作ります。




こんな感じでガンガン下層にフォルダが有る感じです。


で、フォルダ内には日本語名のファイルが混在しています。
命令を考える


コマンドでやるのでたまーに絡まるので
①まずリストアップして
②こういうリネーム計画でいいですかって私に聞いて
って言って
③OK,それでやって。
にしてやろう
こういう作業指示の分割って才能、あるいは経験が必要ですよね。
私はgemini-cliの件に関してはレベル1経験値0の状態なのですが、ゲームを作っているのでちょっと言いたいことが分かります。
命令の分割を考えないといけないんですよね。
今回は頻子さんがくれたアドヴァイスを元にGeminiに指示していきます。
命令する


すきにやってくださいませ


ひとりでできるもんっ!のターンになってしまった……
1.リストアップ
このフォルダ内にある日本語ファイル名を半角英数字に直したいのでリストアップとリネーム計画を教えて
これが最初の指示です。
AIが勘違いしないように「日本語ファイル名」や「半角英数字」にしています。
(頻子さんとのチャットでは単に「名前」や「英語」などと言ってました)
とは言え、この命令は1つ残念な事があったので次回やるなら改善して指示する命令です。


実行させる
実行してください
端的!
変なファイルがリストアップされていなかったのでGOサインを出しました。


また、この手の質問が必要に応じて表示されます。
もちろんアメリカ語で書かれているので何言ってるかわからない……と思いきや!
プログラムに関するテキストはGPTちゃんが非常に強いので適当にコピーしてお聞きします。
特にUnityでゲーム作る時、エラー文を翻訳させるのにむちゃくちゃ助かったりですね。
翻訳だけじゃなくて「つまりこういうことなんですよ!」って1行でまとめてくれるし。
これがAI同士のキャッチボール。私がボールです(違)


必要に応じて「ren」ってなに?など聞いて進めます。


cmdのGeminiくんがぐるぐるする事数十秒……(200位ファイルある)


\ できた!!!!!!!!!!!! /
嘘つきを何とかする
で、終わったら良かったのですが、そうは問屋が卸さなかったようで……


因みにやり残しがあります


あるフォルダが全然変換されてません。


まだありそう。
こいつらサボってるから全部読んでって言わないと全部読まない


全部リストアップして作業して ってお願いするのだ




嘘つきがすごい(言葉を変えて何度か試す)
もう諦めてある程度区切って命令することに。
MapChipフォルダに日本語ファイルがないか見て


どのフォルダか指定することでやっと認めてくれました。
- AIはかなりサボりやすいので「全部」だということをしっかり指示しないとダメ
- 日本語ファイルが残ってるゲームはまだまだあり、同じ作業をする時は改善して頼む事を心に誓った
おまけの仕事
次はアンダーバー以外の記号が使われているファイル名を全てリストアップしてください
()や!や$は半角英数字に含まれるので変換漏れが残っていました。
これはこちらの命令漏れ……とは言え、一気に命令するのは良くないのでこれはどちらにしろ分割すべき命令だったと思います。


そして今回大事なのは「一部の記号は必要なもの」で「一部の記号は不要なものである」ということです。
というのもこの記号は、
・ファイル名の頭に”$”をつけることで、1キャラクター=1ファイルとして扱うことができます。
ツクール公式より https://rpgmakerofficial.com/product/mv/course/04.html
・ファイル名の頭に”!”をつけることで、6ドットずれる仕様が適用されなくなり、茂み属性による半透明処理の影響も受けなくなります。
主にドアや宝箱といったマップのオブジェクトタイプのキャラクターに使用します。
・特殊文字”$”と”!”は併用も可能です。
なので、リストアップの結果を見て追加の指示を出すことに。
$は変換しないでください


今回は無視してほしいのが1つだけだったのでこのような指示に。
これ、$の中でも変えてほしいのと欲しくないのあった場合どうしましょうね。
うまく条件分岐考えて命令しなきゃですね。




なにはともあれ無事に変えて欲しいファイルだけ変更してもらえました。


これでパソコンのなかに召使が増えたってわけよ
終わりに
と言う感じでなんとかリネームを完了することができたのでした!
できることの範囲がわからないのですが「リストアップ」「リネーム」だけでも地味にゲ制勢的にはお助かりだったりします。
サイトの編集が得意らしいですが、今現在私のサイトは全てWordPressなので……流石に編集しないかなああ!
あと出てたのはツールの作成……えっそれは流石に無理な気がする!!
とにかくファイル管理・編集で頑張っていってもらおうと思います!


それはそれとしてGeminiのCLIってなんなんだろうなあ……
クレジット代わりの紹介
※この下一部にアフェリエイトが入ってます※
スクショに写っていた素材






スクショに写っていたフォルダのゲーム
※一部開発中の別ゲームの素材


紹介ページ https://homeorawayplus.wew.jp/archives/107





※コメントは最大200文字、3回まで送信できます