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