ð€ è€æ°AIãšãŒãžã§ã³ãérulesãã¡ã€ã«å ±æã®å®è·µïŒéçºæ¥èš No.079ïŒ
é¢é£ãªã³ã¯
ã¯ããã«
æšæ¥ã¯ãè€æ°ã®AIãšãŒãžã§ã³ãïŒCursor, Windsurf, ClineïŒéã§rulesãã¡ã€ã«ãå ±æããæ¹æ³ã«ã€ããŠæ€èšããŸããã仿¥ã¯ããã®èšèšã«åºã¥ããå®éã«å ±ææ©èœãå®è£ ããŠãããŸããç®æãã¯ãåãšãŒãžã§ã³ããæã€ç¹æ§ã掻ããã€ã€ãå¹ççã«ç¥èãå ±æã§ããç°å¢ã®æ§ç¯ã§ãïŒ
èæ¯ãšç®ç
è€æ°ã®AIãšãŒãžã§ã³ãã飿ºãããéãåãšãŒãžã§ã³ããåãã«ãŒã«ãç¥èãå ±æã§ããããšã¯éåžžã«éèŠã§ããããããåãšãŒãžã§ã³ãã¯ç°ãªããã¡ã€ã«åœ¢åŒãæ§é ãèŠæ±ãããããåçŽãªãã¡ã€ã«å ±æã ãã§ã¯ããŸããããŸãããããã§ãæšæ¥ã¯ãã¢ãŒãéžæååäžã¢ããã¿ãŒããšããèšèšãèæ¡ããŸããã仿¥ã¯ãã®èšèšãå®è£ ããå®éã«åãšãŒãžã§ã³ããå ±æã«ãŒã«ãå©çšã§ãããæ€èšŒããŸãã
æ€èšå 容
æšæ¥ã®èšèšã§ã¯ãåAIãšãŒãžã§ã³ãã«å¯ŸããŠã¢ããã¿ãŒãçšæããå ±éã®ã«ãŒã«ãã¡ã€ã«ãããããã®åœ¢åŒã«å€æããŠæäŸããŸããä»åã¯ã以äžã®3ã€ã®ã¢ããã¿ãŒãäœæããŸãã
- Cursorçšã¢ããã¿ãŒïŒ.mdc圢åŒïŒïŒããã³ããã¿ãŒã«å¯Ÿå¿
- Windsurfçšã¢ããã¿ãŒïŒ.md圢åŒïŒïŒããŒã¯ããŠã³åœ¢åŒ
- Clineçšã¢ããã¿ãŒïŒ.yaml圢åŒïŒïŒæ§é åããŒã¿åœ¢åŒ
ãŸããã¿ã¹ã¯å 容ã«å¿ããŠé©åãªã¢ãŒããèªåéžæããæ©èœãå®è£ ããŸããããã«ããããŠãŒã¶ãŒãæç€ºçã«ã¢ãŒããæå®ããªããŠããAIãšãŒãžã§ã³ããç¶æ³ã«å¿ããŠæé©ãªã¢ãŒããéžæã§ããããã«ãªããŸãã
å®è£ å 容
ãŸãã¯ãåAIãšãŒãžã§ã³ãçšã®ã¢ããã¿ãŒãã³ãã¬ãŒããäœæããŸããã
1. Cursorçšã¢ããã¿ãŒïŒ.mdc圢åŒïŒ
2. Windsurfçšã¢ããã¿ãŒïŒ.md圢åŒïŒ
3. Clineçšã¢ããã¿ãŒïŒ.yaml圢åŒïŒ
次ã«ãã·ã³ããªãã¯ãªã³ã¯ãäœæããã¹ã¯ãªãããäœæããå®è¡ããŸããããã®ã¹ã¯ãªããã¯ãåAIãšãŒãžã§ã³ãã®èšå®ãã£ã¬ã¯ããªã«ã¢ããã¿ãŒãã¡ã€ã«ãé 眮ããäžå 管çãããã«ãŒã«ãã¡ã€ã«ãåç §ããæ§é ãå®çŸããŸãã
# ã·ã³ããªãã¯ãªã³ã¯äœæã¹ã¯ãªãã (äŸ)
import os
agents = ["cursor", "windsurf", "cline"]
for agent in agents:
rules_dir = f".{agent}/rules"
adapter_file = f"{agent}_rules_adapter.{'mdc' if agent == 'cursor' else 'md' if agent == 'windsurf' else 'yaml'}"
os.makedirs(rules_dir, exist_ok=True)
os.symlink(f"../shared_rules/{adapter_file}", os.path.join(rules_dir, adapter_file))
ã¹ã¯ãªããå®è¡åŸãåãã£ã¬ã¯ããªã®ç¶æ ã確èªããŸããã
1. `.cursor/rules` - `cursor_rules_adapter.mdc` ãäœæãããŸãã
2. `.windsurf/rules` - `windsurf_rules_adapter.md` ãäœæãããŸãã
3. `.cline/rules` - `cline_rules_adapter.yaml` ãäœæãããŸãã
ã·ã³ããªãã¯ãªã³ã¯ãæ£åžžã«äœæãããåAIãšãŒãžã§ã³ãçšã®ãã£ã¬ã¯ããªæ§é ãæåŸ éãã«ãªã£ãŠããããšã確èªã§ããŸããã
æè¡çãªãã€ã³ã
ä»åã®å®è£ ã«ãããæè¡çãªãã€ã³ãã¯ã以äžã®3ç¹ã§ãã
-
ããŒã¹ã¢ãŒãã®æŠå¿µ:
mode_development_execution
ãäžå¿ãšããã¢ãŒã管çãè¡ãããµãã¿ã¹ã¯å®äºåŸã¯èªåçã«ããŒã¹ã¢ãŒãã«æ»ãããã«èšèšããŸãããããã«ãããã¿ã¹ã¯ã®åãæ¿ããã¹ã ãŒãºã«è¡ããŸãã - AIãšãŒãžã§ã³ãå¥ã®æé©å: åAIãšãŒãžã§ã³ããæ±ãã圢åŒïŒæ¡åŒµåããã©ãŒãããïŒã«åãããŠã¢ããã¿ãŒãäœæããŸãããCursorã«ã¯ããã³ããã¿ãŒå¯Ÿå¿ã®è©³çްãªã¬ã€ãã©ã€ã³ãWindsurfã«ã¯ããŒã¯ããŠã³åœ¢åŒã®è©³çްãªã¬ã€ãã©ã€ã³ãClineã«ã¯æ§é åããŒã¿ã«ããæç¢ºãªã«ãŒã«ãšãã¿ãŒã³å®çŸ©ãæäŸããŸãã
- èªåã¢ãŒãæ€åº: ã¿ã¹ã¯å 容ã«åºã¥ããŠé©åãªã¢ãŒããèªåéžæããæ©èœãå®è£ ããŸããããŠãŒã¶ãŒæç€ºã®ãã¿ãŒã³ãããã³ã°ã«ããã¢ãŒãåãæ¿ããå¯èœã§ãã
ææ
仿¥ã¯ãæšæ¥èããèšèšãå®éã«åœ¢ã«ããããšãã§ããŠãéææãæããŠããŸãïŒç¹ã«ãåAIãšãŒãžã§ã³ãã®ç¹æ§ã«åãããŠã¢ããã¿ãŒãäœæããéšåã§ã¯ãããããã®éããçè§£ããå¿ èŠããããå°ãèŠåŽããŸããããããããã®åãåãšãŒãžã§ã³ããæå€§éã«èœåãçºæ®ã§ãããããªç°å¢ãæ§ç¯ã§ããã®ã§ã¯ãªãããšæããŸãã
ãŸããèªåã¢ãŒãéžææ©èœã®å®è£ ã¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžã«å€§ããè²¢ç®ãããšæããŠããŸãããŠãŒã¶ãŒãæç€ºçã«ã¢ãŒããæå®ããªããŠããAIãšãŒãžã§ã³ããç¶æ³ã«å¿ããŠæé©ãªã¢ãŒããéžæããŠãããã®ã§ãããèªç¶ãªå¯Ÿè©±ãå¯èœã«ãªããŸãã
ä»åŸã®èª²é¡
ä»åŸã®èª²é¡ãšããŠã¯ã以äžã®ç¹ãæããããŸãã
- æ©èœæ¡åŒµ: æ°ããã¢ãŒããç¥èã远å ããéã®ã¯ãŒã¯ãããŒã確ç«ããå¿ èŠããããŸãããŸããã¢ãŒãéã®äŸåé¢ä¿ã®ç®¡çæ¹æ³ãæ¹åããŠããããã§ãã
- éçšé¢: å®éã®ãããžã§ã¯ãã§äœ¿çšæããã£ãŒãããã¯ããŠããããããã©ãŒãã³ã¹ã®æé©åããšã©ãŒãã³ããªã³ã°ã®åŒ·åãå³ãããã§ãã
- ããã¥ã¡ã³ããŒã·ã§ã³: æ°ããããŒã ã¡ã³ããŒåãã®ã¬ã€ãã©ã€ã³ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã¬ã€ããæŽåããå¿ èŠããããŸãã
ãŸãšã
仿¥ã¯ãè€æ°ã®AIãšãŒãžã§ã³ãéã§rulesãã¡ã€ã«ãå ±æããããã®ãã¢ãŒãéžæååäžã¢ããã¿ãŒãæ¹åŒãå®è£ ããŸãããåAIãšãŒãžã§ã³ãã®ç¹æ§ã«åãããŠã¢ããã¿ãŒãäœæããã·ã³ããªãã¯ãªã³ã¯ã䜿ã£ãŠäžå 管çãããã«ãŒã«ãã¡ã€ã«ãåç §ããæ§é ãå®çŸããŸããããŸããã¿ã¹ã¯å 容ã«å¿ããŠé©åãªã¢ãŒããèªåéžæããæ©èœãå®è£ ããŸããã
ãã®å®è£ ã«ãããè€æ°ã®AIãšãŒãžã§ã³ãéã§å¹ççã«ç¥èãšã¢ãŒããå ±æããªãããåãšãŒãžã§ã³ãã®ç¹æ§ã掻ãããå©çšãå¯èœã«ãªããŸããä»åŸã¯ãæ©èœæ¡åŒµãéçšé¢ã®æ¹åãããã¥ã¡ã³ããŒã·ã§ã³ã®æŽåãé²ããŠãããããšæããŸãã
Discussion