Practice of Programming

プログラム とか Linuxとかの話題

AIによるChrome拡張の改善

前回、Claude Codeを使って、Chrome拡張を作ってみましたが、使ってみると色々修正したいところが出てきます。

今回、どのように改善していったかを書いていきます。

CLAUDE.mdを書く

GitHubにおいているとおりですが、2つのルールを設定しました。ざっくり以下のようなものです。本来、アーキテクチャとかも書いたほうが良いのでしょうか、コードが少ないのでなくても問題がなさそうです。

改善の仕方

do improvement と言ったら下記を行う。

  1. improvement 以下にある .mdファイルに書かれている内容を一つずつやる
  2. 毎回現在のブランチから新しいブランチを作る
  3. ファイルがなくなるまで続ける
  4. ドキュメント更新を行う

ドキュメントの更新の仕方

update docs と言ったら下記を行う。

  1. docs/.current-docs-sha に書かれているコミットハッシュから差分を見る
  2. 差分に従ってドキュメントを書く
  3. commit後に、最新のコミットハッシュをdocs/.current-docs-shaに書く
  4. commitして終わり

改善の仕方

ルール通りですね。簡単な指示を、improvement/*.md に記載して、後は、claude コマンドから、do improvement っていうだけです。

動作確認して追加でやってほしい内容があったら、プロンプトから指示したりしますが、たまにあるくらいで、あんまりないです。

ただ、指示自体が実現不可能だったりしても、「実装してしまう」ことや、「実装方針が間違っている」ということはありました。

例えば、今回のものだと、popup.htmlからのボタンクリックで、gather.townのHTML内から直接クリックイベントを起こそうとしたのですが、できなかったので、別の方法で行うように指示をしたりしました。

ですが、そういう機会はあまりなく、大抵のケースは、Markdownを書いて、do improvement と言うだけで済みました。

また、ちょっとびっくりしたのですが、プロンプトで質問したところ、自分で、improvement/15.md を作ってくれました。

偉すぎでは...?

終わり

CLAUDE.mdに書いた英語がだいぶ怪しいんですが、こちらの意図通りに動いていますね。

しかし、マジで仕様を考える以外にやることないなぁ...(Makefileは手で書いたけど、それくらい)。