0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

1年運用して固まったCLAUDE.mdの型【コピペ用テンプレ・「廃止した方針」節つき】

0
Posted at

CLAUDE.mdを書き始めた頃、自分は、思いついたことを片っ端から足していました。規約も、注意点も、過去にやらかしたことも、全部。長ければ長いほど、賢く動いてくれる気がしていたからです。

結果は逆でした。長くなるほど、書いたはずのルールが効かなくなる。しかも、一度消した古い方針が、あとになって復活してくる。この2つに1年ふりまわされて、いまの形に落ち着きました。

削って、足して、また削って、残ったものを、そのままテンプレートとして置いておきます。コピーして、プロジェクトに合わせて中身を差し替えて使ってください。

そのままコピペできる型

# プロジェクト概要

- 何を作っているか(1〜2行)
- 技術スタック(言語 / フレームワーク / バージョン)
- 動作環境の制約(対応バージョン、依存するもの)

# 守ってほしい書き方

- 関数は◯行以内、ネストは◯段まで
- 命名の規則(prefix、接頭辞、ケース)
- エラー処理の方針(例外を投げるか、戻り値で返すか)
- テストの置き場所と、書き方の方針

# やらないこと

- 触ってはいけないファイル / ディレクトリ
- 使ってはいけない関数・ライブラリ(理由も一行で)
- 勝手にやらないでほしい操作(依存の追加、大規模なリファクタ、削除)

# 廃止した方針

<!-- 消さずに残す。古い方針が復活してきたときの、否定の根拠になる -->

- ~~Aの書き方~~ → 廃止(理由)。今後はBを使う。
  Aが出てきたら、それは古い指示です。
- ~~Cのディレクトリ構成~~ → 廃止(理由)。今後はDの構成。

# 作業の進め方

- 大きな変更の前に、方針を先に提示してほしい
- 変更したファイルの一覧を、最後に出してほしい
- 分からない前提があれば、勝手に決めずに聞いてほしい

以下、それぞれの節について、なぜこの形になったかを書きます。

「廃止した方針」を、消さずに残す

いちばん効いたのが、この節です。他のテンプレートではあまり見かけないと思うので、最初に書きます。

方針を変えたとき、普通は、古い記述を削除します。自分もそうしていました。でも、削除すると、手元からは消えるのに、振る舞いのほうには残っていることがある。しばらくして、「前にこうしましたよね」と、廃止したはずの書き方が戻ってくる。

そこで、削除する代わりに、廃止したと書き残すようにしました。取り消し線を引いて、理由を添えて、「これが出てきたら古い指示です」と明記しておく。こうしておくと、古いものが浮上してきたときに、否定する根拠が文書の側にあり続けます。

新しい方針を足すときも、黙って足しません。

❌ 「この処理はBの書き方でお願いします」だけ足す

✅ 「以前はAの書き方をしていましたが、(理由)のため廃止しました。
    今後はBを使ってください。Aが出てきたら、それは古い指示です」

上書きしたつもりで、実は追記になっている。そう捉えるようになってから、この書き方に変えました。見た目は、書き方の墓場みたいで、きれいではありません。ただ、巻き戻りは目に見えて減りました。

「やらないこと」は、理由を一行つける

禁止事項は、理由を書いたほうが守られます。

❌ - eval() を使わない
✅ - eval() を使わない(外部入力が混ざると任意コード実行になるため)

理由がないと、状況が少し変わったときに、例外扱いで破られることがあります。理由があると、その理由に当てはまるかどうかで判断してくれる。禁止のリストというより、判断基準を渡している感覚に近いです。

数字で書けるものは、数字で書く

抽象的な指示は、抽象的にしか効きませんでした。

❌ - 読みやすいコードを書いてください
✅ - 関数は20行以内、ネストは2段まで

「読みやすく」「適切に」「きれいに」は、こちらが思っている基準と、返ってくるものが、なかなか一致しません。行数、段数、命名の規則。機械的に判定できる形にすると、ぶれが減りました。

長くしすぎない

最後に、いちばん基本的なことを。

自分は一度、CLAUDE.mdを肥大化させて、痛い目を見ました。あれもこれも書いた結果、いちばん守ってほしかったルールが、その他大勢に埋もれた。長い文書の中では、一つひとつの記述の存在感が薄まります。

いまは、書くたびに「これは本当に毎回必要か」を考えるようにしています。特定の作業でだけ必要な指示は、CLAUDE.mdに常駐させず、そのときの依頼文で渡す。常駐させるのは、プロジェクトの間ずっと変わらないものだけ。この線引きをしてから、書いたルールが効く率が上がりました。

早見でまとめ

  • 「廃止した方針」を節として残す。削除せず、取り消し線+理由+「古い指示です」の明記
  • 新方針は、古い方針を名指しで否定してから渡す。黙って足すと古いほうが勝つことがある
  • 禁止事項には理由を一行。判断基準として渡すと守られやすい
  • 「読みやすく」より「20行以内」。機械的に判定できる形にする
  • 常駐させるのは、プロジェクト中ずっと変わらないものだけ。都度の指示は依頼文へ
  • 長くするほど、個々の記述の存在感は薄くなる

このテンプレートは、1年かけて足したり削ったりした結果の、いまの形です。プロジェクトによって必要なものは違うので、そのまま使うというより、削る出発点として使ってもらうのがいいと思います。役に立ったらストックして、新しいプロジェクトを始めるとき見返してください。


ふだんはraplsworks.comで、WordPressプラグイン開発やClaude Codeまわりのことを書いています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?