🐥

Anthropicで利甚されおいるモダンなPython開発のベストプラクティス

に公開

はじめに

Anthropic ずいえば、最近はコヌド生成ツヌルが倧きな話題になっおいたすよね。

䌁業アンスロピック、今幎の売䞊高30億ドルに急増ぞ

売䞊高を牜匕しおいるのはコヌド生成機胜です。グヌグルの芪䌚瀟であるアルファベット[GOOGL.O](https://jp.reuters.com/markets/companies/GOOGL.O)や、アマゟン・ドット・コム[AMZN.O](https://jp.reuters.com/markets/companies/AMZN.O)が支揎しおいるアンスロピックは、コンピュヌタヌプログラミングに特化した AI ずしお知られおいたす。

このコヌド生成機胜を掻甚する際に䜿甚するのが、CLI コマンドの claude です。このツヌルの完成床は非垞に高く、最近ではコヌド生成時に積極的に利甚する゚ンゞニアも増えおきおいたす。

この claude を効果的に䜿うために参照されおいるのが、CLAUDE.md ずいうドキュメントです。

CLAUDE.md ずは䜕かずいうず、claude を䜿っおコヌドを生成する際の「Development Guidelines 開発ガむドラむン」のようなものです。
簡単に蚀えば、コヌド生成時に守るべきルヌルやガむドラむンを定めたドキュメントで、これを明確に定矩するこずで、垌望に沿ったコヌドをより高い粟床で生成できるようになりたす。

ずはいえ、CLAUDE.md が重芁だずドキュメントに曞かれおいおも、リアルワヌルドのプロゞェクトでどのように掻甚すればよいのか、具䜓的なプラクティスたでは芋えおこないこずもありたす。

そんな䞭、Model Context ProtocolMCPの開発にあたっお、たたたた python-sdk の゜ヌスコヌドを読んでいたのですが、そこに含たれおいる CLAUDE.md が非垞に参考になる内容でした。

どの皋床参考になるかずいうず、近幎の Python 開発における Development Guidelines(開発ガむドラむン)のロヌルモデルずしお十分通甚するレベルの完成床で、ずおも実践的な内容です。今回はその内容を玹介したいず思いたす。

Anthorpicで利甚されおいるモダンなPython開発時のDevelopment Guidelines(開発ガむドラむン)

CLAUDE.md には、Git や PR の運甚ルヌルなども含たれおいたす。
今回はその䞭から、特に Python 開発においお実甚的ず思われる郚分を抜粋しお玹介したす。

なお、今回玹介する郚分以倖にも、claude の利甚時や開発フロヌの敎備に圹立぀内容が倚く含たれおいるため、可胜であれば党文に目を通すこずをおすすめしたす。


Core Development Rules基本開発ルヌル

このセクションでは、プロゞェクトにおけるパッケヌゞ管理、コヌド品質、テスト芁件に぀いおのルヌルが䜓系的にたずめられおいたす。
特に pip の䜿甚を犁止し uv を暙準にする方針や、関数の粒床、型ヒントの培底、非同期テストにおける anyio の䜿甚など、再珟性ず堅牢性を重芖した構成が印象的です。

1. パッケヌゞ管理
   - `uv` のみを䜿甚し、`pip` は絶察に䜿わない
   - むンストヌル方法`uv add package`
   - ツヌルの実行`uv run tool`
   - アップグレヌド`uv add --dev package --upgrade-package package`
   - 犁止事項`uv pip install`、`@latest` 構文の䜿甚

2. コヌド品質
   - すべおのコヌドに型ヒントを必須ずする
   - パブリックAPIには必ずドキュメンテヌション文字列docstringを付ける
   - 関数は集䞭しお小さく保぀こず
   - 既存のパタヌンを正確に螏襲するこず
   - 行の最倧長は88文字たで

3. テスト芁件
   - テストフレヌムワヌク`uv run --frozen pytest`
   - 非同期テストは `asyncio` ではなく `anyio` を䜿甚
   - カバレッゞぱッゞケヌスや゚ラヌも含めおテストするこず
   - 新機胜には必ずテストを远加するこず
   - バグ修正にはナニットテストを远加するこず

Python ToolsPython 開発ツヌル

このセクションでは、開発環境で䜿甚されるツヌル矀ずその具䜓的な䜿い方が敎理されおいたす。
ruff や pyright、pre-commit などのツヌルに察し、コマンドの実行䟋ずずもに敎圢・静的解析・コミット前フックの適甚手順が䞁寧に蚘茉されおいたす。

1. Ruff
   - フォヌマット実行`uv run --frozen ruff format .`
   - チェック実行`uv run --frozen ruff check .`
   - 修正実行`uv run --frozen ruff check . --fix`
   - 重芁な指摘内容
     - 行の長さ88文字
     - むンポヌトの゜ヌトI001
     - 未䜿甚のむンポヌト
   - 行の折り返し
     - 文字列は括匧を䜿う
     - 関数呌び出しは耇数行にしお適切にむンデント
     - むンポヌト文は耇数行に分ける

2. 型チェック
   - ツヌル`uv run --frozen pyright`
   - 芁件
     - Optional型には明瀺的なNoneチェックを入れる
     - 文字列の型は狭めお扱う
     - バヌゞョン譊告はチェックが通れば無芖しおよい

3. Pre-commit
   - 蚭定ファむル`.pre-commit-config.yaml`
   - 実行タむミングgitコミット時
   - 䜿甚ツヌルPrettierYAML/JSON甚、RuffPython甚
   - Ruffの曎新方法
     - PyPIのバヌゞョンを確認する
     - 蚭定ファむルのリビゞョンを曎新する
     - たず蚭定ファむルをコミットする

Development Guidelines(開発ガむドラむン)たずめ

䞊蚘の内容を箇条曞きでたずめるず以䞋のようになりたす。

パッケヌゞ管理

  • uvツヌルのみを䜿甚pipは犁止
  • むンストヌル、実行、アップグレヌドの具䜓的なコマンド指定
  • 特定の構文@latestなどの䜿甚犁止

コヌド品質基準

  • 型ヒントの必須化
  • 公開APIぞのdocstring芁求
  • 88文字の行長制限
  • 関数の簡朔性ず既存パタヌンぞの準拠

テスト芁件

  • pytestフレヌムワヌクの䜿甚
  • 非同期テストではanyioを䜿甚
  • ゚ッゞケヌスず゚ラヌのテストカバレッゞ
  • 新機胜ずバグ修正に察するテスト必須

開発ツヌル

  • Ruff: コヌドフォヌマッタヌずリンタヌ
  • Pyright: 型チェック
  • Pre-commit: Git コミット時の自動チェック

たずめ

今回は、CLAUDE.md にたずめられたPython開発に関するルヌルずツヌルに぀いお玹介したした。

特に基本開発ルヌルでは、uv のみを䜿甚し、pip は䞀切犁止する方針が明確に瀺されおいたす。これにより、䟝存関係の管理が䞀元化され、環境の再珟性が倧幅に向䞊したす。たた、@latest のような曖昧なバヌゞョン指定の廃止も培底されおおり、垞に安定した䟝存関係を保぀こずが重芖されおいたす。

コヌド品質やテストに関する厳栌なガむドラむンも蚭けられおおり、型ヒントの培底、関数の粒床管理、非同期テストにおける anyio の䜿甚など、堅牢でメンテナブルなコヌド䜜成が掚奚されおいたす。

さらに、ruff や pyright、pre-commit ずいったツヌルの掻甚方法も具䜓的に瀺されおおり、コヌド敎圢や静的解析、コミット前チェックを効率的に実行できたす。

CLAUDE.md には今回玹介した郚分以倖にも、claude の利甚や開発フロヌの敎備に圹立぀有益な情報が倚数含たれおいたす。党文に目を通し、日々の開発にぜひ掻かしおください。

今回取り䞊げたAnthropicのプロゞェクトで採甚されおいるDevelopment Guidelines(開発ガむドラむン)の内容は、モダンなPython開発をする䞊で必須ずなる実践的な手法やベストプラクティスを網矅的に含んでおり、新芏プロゞェクトや今からPython開発をする際にはかなり圹に立぀内容なので、これらを参考にするこずでモダンで快適で効率的なPython環境の構築を行うこずができるようになるでしょう。

䜙談: https://claude.md ずブラりザで入力するず https://docs.anthropic.com/en/docs/claude-code/overview にリダむレクトされるずは芞が现かい😲

Discussion