トップ 追記 RSS feed

HsbtDiary


2025/11/27 (木) [長年日記]

copilot に commit メッセージを書かせるやつ

https://diary.hatenablog.jp/entry/2025/11/23/233725 を見て便利だなあと copilot に置き換えて使ってみたものの、stdout に実行後の統計情報が出て邪魔だな〜となっていたところに同僚が魔改造バージョンを社内で共有してくれたので、自分が必要な箇所だけピックアップした。

ac = "!f() { COMMITMSG=$(copilot -p 'Generate ONLY a one-line Git commit message in English, using imperative mood, summarizing what was changed and why, based strictly on the contents of `git diff --cached`. Do not add explanation or a body. Output only the commit summary line.' 2>/dev/null | sed '/^$/d' | tail -n 1); git commit -S -m \"$COMMITMSG\" -e; }; f"

要は最後の行だけを取り出すって感じで。大体のケースでこれでええやろ、ってメッセージが出るので、なんて書くかな、と1-2分悩むと言うことがなくなってめちゃくちゃ捗る。

copilot に pull-request の初回入力を書かせるやつ

これで git commit に情報を入れられるなら gh pr create にだってきるんじゃね?と調べたらできた。

function git-apr
  set -l target (git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | string replace 'refs/remotes/origin/' '')

  set -l title (copilot -p "Generate ONLY a concise English PR title (imperative mood) based on \`git diff origin/$target...HEAD\`. Output only the title line." 2>/dev/null | sed '/^$/d' | tail -n 1)

  set -l body (copilot -p "Generate a detailed English PR description in Markdown format, explaining 'What' and 'Why', based on \`git diff origin/$target...HEAD\`. Do not include the title." 2>/dev/null | string collect)

  gh pr create --web --title "$title" --body "$body"
end

fish 用なので bash にしたい人は LLM にでもやらせてください。body の prompt がイマイチで、いかにも AI に書かせたなあと言う人間が読む気がしない文章しか生成しないのでもうちょい簡潔にしやがれ、など入れるのが良さそう。

ただ、こんなレベルのものでも pr 画面を開いてから、「うーん」と3-5分悩むと言うことがなくなったのでめちゃくちゃ捗る。便利便利。

モンベルのフック付きカラビナが便利

https://www.gizmodo.jp/2025/07/306495.html で見かけていいな、と思っていたフックにもなるカラビナをモンベルの店舗に行ったらたまたま見かけたので妻の分も含めて一緒に買って使っている。

実際使ってみると、マシンを入れているような重さでもゴムで滑り止めしてちゃんと支えてくれるし、ついでに色々引っ掛けても良い、って感じで大変便利。今年のベストバイトップ5に入るかも、と言うくらい便利。

オンラインショップにはないっぽいので、店舗に行って見かけたら買う、で良さそう。


2025/11/26 (水) [長年日記]

RubyGems/Bundler 4.0.0.beta2 をリリースした

20日にリリースした beta1 に続いて、突貫であれこれマージしたり直した beta2 をリリースした。

https://blog.rubygems.org/2025/11/26/4.0.0.beta2-released.html

bundle up --bundler で beta バージョン使えないのなんで?と調べていたら実は bundle up --bundler=[version] で行けるようだった。なので beta2 について以下のような感じで動作チェックをしてもらえると助かります。

gem i bundler --pre
bundle up --bundler=4.0.0.beta2
bundle up --ruby
bundle lock --add-checksums
bundle up --all
rm Gemfile.lock
bundle i

bundle up --all した後と消してから bundle i したそれぞれの結果に差分がない、などだと完璧です。

heroku の buildpack に Bundler 4 対応を入れていた

細かすぎる変更ではあるのだが Bundler 4 では lockfile の微妙な修正を入れている。

  • なぜか space が 3 つのインデントを2つにした
  • patchlevel の削除

こんなのどうでもいいから放っておけ、ってのもあるのだが、Bundler 4 からは checksums を標準で使っていくことにしたので、どうせ lockfile を更新するなら一緒にどうぞ、って感じで直してしまった。

で、こう言う変更を入れると triple space 決めうちでパースしているようなライブラリがあって、壊れるわけなのだが heroku がまんまそれだったので直した。

https://github.com/heroku/heroku-buildpack-ruby/pull/1667

本当に辛い。schneems には連絡したのでマージしてくれるとは思うが、今は Holiday 休暇とのことなので、もう少し待ちましょう。

地球の歩き方 韓国 2026-2027 を読んだ

週末に韓国に行くのでちょうど先週くらいにセールで買った地球の歩き方韓国の最新バージョンを読んだ。ソウル、ではなく韓国版なので今回の旅行の対象としては広く浅くって感じだったかなあ。

仁川の名物料理の韓国風ジャージャー麺が知れたのは良かった。帰りに食べると良さそう。


https://www.amazon.co.jp/dp/B0FCF9W2NP


2025/11/25 (火) [長年日記]

Ruby office hour

nobu が入れた libatomic というライブラリへの依存が gcc を入れてない環境で ruby を実行すらできない、という問題があり、これはなんですか、というのを yhonda さんなどと話していた。

要はこのライブラリは arm 32bit などでだけ必要らしいのだが、それならそれで arm 32bit で ruby を動かすには gcc または libatomic パッケージを入れないと動きませんってのはよくないと思うのだよなあ。

https://github.com/zulip/zulip

あとは Zulip というチャットツールを見かけたのでこれは何?とかチューリップって読むの?とか雑い会話をして終わり。

Visual Studio 2026 buildtool を入れた

Visual Studio 2026 がリリースされたようなので、手元でも CLI だけが含まれる buildtool を探して入れた。

https://visualstudio.microsoft.com/ja/visual-cpp-build-tools/

insider でインストールパスが 18 と内部バージョンになっていて、これはそのうち 2026 になるのかな、と思いきや正式リリースバージョンでも 18 のままで、いきなり変えるんだ...となっていた。

PS V:\> cmd /k "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Auxiliary\Build\vcvars64.bat"

なので、nmake などを使う場合は上のパスの vcvars を呼ぶ。

Asakusa.rb 第841回

色々作業をしているうちにもうこんな時間...というのを繰り返していたので joker さんと今年のゲームが〜という話をしていた。

https://asakusarb.esa.io/posts/1276

Yotei のプラチナトロフィーとったんですよとか Expedition 33 実は面白そうなど。最近は夜になるともう寝ます、というくらいやることが詰まっているので21時ちょっと過ぎに離脱。お疲れ様でした。