ð¡ïž Claude Code ã¬ãŒãã¬ãŒã«
September 12, 2025 · View on GitHub
ð¡ïž Claude Code ã¬ãŒãã¬ãŒã«
ããå®å šãªClaude Codeéçºã®ããã®ã¹ããŒãã¬ãŒãã¬ãŒã«ã·ã¹ãã
ð¥ ãã®ãããžã§ã¯ãã圹ã«ç«ã£ãããå³äžã® â ã¹ã¿ãŒãã¯ãªãã¯ããŠå¿æŽããŠãã ããïŒ
ðš ãã€ã³ãã€ã³ãïŒClaude Codeã®ãå±éºãªç¬éã
Vibe CodingãããŠããŠããããªã€ã©ã€ã©ããå Žé¢ã«ééããããšã¯ãããŸãããïŒ
â mainãã©ã³ããžã®çŽæ¥å€æŽ â äžã€ã®ãã¹ã§éèŠãªã³ãŒããäžæžãããã
â äžæãããå€æŽ â äžéææç©ã倱ãããç¹å®ã®ç¶æ
ã«ããŒã«ããã¯ã§ããªã
â æ··æ²ãšããè€æ°ã®å€æŽ â ã©ã®å€æŽããã°ãåŒãèµ·ãããã®ãåãããªã
â éèŠãªãã¡ã€ã«ã誀ã£ãŠåé€ â ã¿ã€ã ãªãŒãªã³ãããããªããã²ãŒã ãªãŒããŒ
â æå倿Žã®äžæžã â AIãã³ããããããŠããªãæå倿ŽãçŽæ¥äžæžããã³ãŒãã®æææš©ãåºå¥ã§ããªã
ð¡ 解決çïŒClaude Code ã¬ãŒãã¬ãŒã«
Claude Code Hookã«åºã¥ãã¬ãŒãã¬ãŒã«
3éã»ãã¥ãªãã£ã¡ã«ããºã : ð¡ïž æžã蟌ã¿åã®é®æã¢ã©ãŒã + ðž 粟å¯ãªã¹ãããã·ã§ããã³ããã + ð ã¹ããŒãããŒãžã¢ãŒã«ã€ã
â
ä¿è·ãã©ã³ãã®é®æ â mainãã©ã³ããžã®æžã蟌ã¿ãèªåçã«ãããã¯ããã£ãŒãã£ãŒãã©ã³ãã®äœæãææ¡
â
ã³ããããããŠããªã倿Žã®ä¿è· â æå倿Žãã³ããããããŠããªãå Žåã¯ãããã¯ãäžæžããé¿ããããå
ã«ã³ãããã匷å¶
â
ãã¡ã€ã«ã¬ãã«ã®ç²Ÿå¯ãªã¹ãããã·ã§ãã â å倿Žã§å€æŽããããã¡ã€ã«ã®ã¿ãã³ãããããã€ãºãåé¿
â
ã¹ããŒãããã¯ã¢ããã¡ã«ããºã â gitignoreãã¡ã€ã«å€æŽåã®èªåããã¯ã¢ãã
â
å®å
šãªå±¥æŽããŒãž â è€æ°ã®ãã§ãã¯ãã€ã³ããã¯ãªãŒã³ãªã¿ã¹ã¯ã³ãããã«ã€ã³ããªãžã§ã³ãã«ããŒãž
âš ã³ã¢æ©èœ
ð¡ïž äºéã»ãã¥ãªãã£ä¿è·
|
ðž 粟å¯ãªã¹ãããã·ã§ãã
|
ð ã¹ããŒãããã¯ã¢ãã
|
ðŠ å±¥æŽã®æŽç
|
ð§ å®ç§ãªäºææ§
- â
æ¢åã®Claude Code Hooksãäžæžãããªã -
.claude/settings.jsonãã€ã³ããªãžã§ã³ãã«ããŒãž - â ããã¯ã¢ãã + éè€æé€ + åªçæ§ - è€æ°ã€ã³ã¹ããŒã«ã§ãå®å š
- â ãŠãŒã¶ãŒããã¯ãšå ±å - æ¢åã®ã¯ãŒã¯ãããŒã«åœ±é¿ããªã
ð ä»ã®ãœãªã¥ãŒã·ã§ã³ãšã®æ¯èŒ
| ãœãªã¥ãŒã·ã§ã³ | åŸæ¥ã®ã¢ãããŒã | æåããã¯ã¢ãã | ð¡ïž ã¬ãŒãã¬ãŒã« |
|---|---|---|---|
| ãã©ã³ãä¿è· | â 人éã®èšæ¶ã«äŸå | â äºåŸã®ä¿®åŸ©æªçœ® | â èªå鮿ã¢ã©ãŒã |
| ããŒãžã§ã³è¿œè·¡ | â äžéç¶æ ã倱ã | â ïž æåã®ã³ããŒããŒã¹ã | â 粟å¯ãªèªåã¹ãããã·ã§ãã |
| å±¥æŽã®æŽç | â ä¹±éãªã³ãããèšé² | â 远跡äžå¯èœ | â ã¹ããŒãããŒãžã¢ãŒã«ã€ã |
| 䜿ãããã | â ïž çµéšãå¿ èŠ | â é¢åã§ãšã©ãŒãçºçãããã | â ã¯ã³ã¯ãªãã¯ã§ã€ã³ã¹ããŒã«ããŠäœ¿çš |
ð§° åææ¡ä»¶
-
Git ãã€ã³ã¹ããŒã«ããåæåãããŠããïŒ
user.name/user.emailãèšå®æžã¿ïŒ -
Claude Code ãã€ã³ã¹ããŒã«ãããŠããïŒHooksãš
PreToolUse exit=2ããããã³ã°ããµããŒãããããŒãžã§ã³ïŒ -
jqïŒHookå ¥åJSONãè§£æããããïŒ
- macOS:
brew install jq - Ubuntu:
sudo apt-get install -y jq
- macOS:
ð ã¯ã€ãã¯ã¹ã¿ãŒã
ð¯ ã€ã³ã¹ããŒã«æ¹æ³ãéžæ
ð æšå¥šïŒã¯ã³ã¯ãªãã¯ã€ã³ã¹ããŒã«ã¹ããŒãããŒãžãå®å šã§å¿é ãªã
|
ð æ¹æ³2ïŒæåã³ããŒçŽæçã§éæãå®å šå¶åŸ¡
|
âš ã€ã³ã¹ããŒã«ã¹ã¯ãªããã®æ©èœ
ð ã¹ããŒãããŒãž - æ¢åã®èšå®ãäžæžãããªã
ðŸ èªåããã¯ã¢ãã - 倿Žåã«settings.jsonãããã¯ã¢ãã
ð åªçæ§ã®å®å
šæ§ - è€æ°å®è¡ããŠãå¯äœçšãªã
ð§¹ éè€æé€ - éè€ããèšå®é
ç®ãåé¿
ðïž ã¢ã³ã€ã³ã¹ããŒã«
# ãããžã§ã¯ãã¬ãã«ã®ã¢ã³ã€ã³ã¹ããŒã«
curl -fsSL https://raw.githubusercontent.com/wangbooth/claude-code-guardrails/main/uninstall.sh | bash
# ã¹ã¯ãªãããã¡ã€ã«ãä¿æãsettings.jsonããã®ã¿åé€
curl -fsSL https://raw.githubusercontent.com/wangbooth/claude-code-guardrails/main/uninstall.sh | bash -s -- --keep-scripts
# ã°ããŒãã«ã¢ã³ã€ã³ã¹ããŒã«
curl -fsSL https://raw.githubusercontent.com/wangbooth/claude-code-guardrails/main/uninstall.sh | bash -s -- --global
ðïž ãã£ã¬ã¯ããªæ§é
.
ââ .claude/
â ââ settings.json # Hookãšã³ããªãŒãšãããã³ã°ã«ãŒã«ïŒãã³ãã¬ãŒãïŒ
â ââ hooks/
â ââ guardrails/
â â ââ guard-branch.sh # æžã蟌ã¿åãã©ã³ãã¬ãŒãïŒä¿è·ãã©ã³ãããããã³ã°ïŒ
â â ââ auto-commit.sh # 倿Žããšã®ç²Ÿå¯ã¹ãããã·ã§ããã³ããã
â â ââ squash-checkpoints.sh # Stop/Compactã¹ããŒãžã®å®å
šãªããŒãž
ââ install.sh # ã¯ã³ã¯ãªãã¯ã€ã³ã¹ããŒã«ïŒããŒãž/ããã¯ã¢ãã/éè€æé€/åªçæ§ïŒ
ââ uninstall.sh # ã¯ã³ã¯ãªãã¯ã¢ã³ã€ã³ã¹ããŒã«ïŒã¹ã¯ãªããä¿æå¯èœïŒ
ââ README.md
ââ LICENSE # MIT
ðº 广ã®ãã¢
ð¬ ã¯ãŒã¯ãããŒã®æŠèŠ
graph LR
A[ð Claude Codeãæžã蟌ã¿ã詊è¡] --> B{ð¡ïž ãã©ã³ããã§ãã¯}
B -->|ä¿è·ãã©ã³ã| C[â ãããã¯ããŠã¢ã©ãŒã]
C --> D[ð¡ vibeãã©ã³ãã®äœæãææ¡]
B -->|å®å
šãªãã©ã³ã| E{ð ã³ããããããŠããªããã§ãã¯}
E -->|ã³ããããããŠããªã| F[â å
ã«ã³ãããã匷å¶]
F --> G[ðŸ æå倿Žã®ä¿åãä¿ã]
E -->|ã³ããããããŠããªã倿Žãªã| H[â
æžã蟌ã¿ãèš±å¯]
H --> I[ðž èªåãã§ãã¯ãã€ã³ã]
I --> J[ðŸ 倿Žããããã¡ã€ã«ãæ£ç¢ºã«ã³ããã]
J --> K[ð ã»ãã·ã§ã³çµäº]
K --> L[ðŠ ã¿ã¹ã¯ã³ãããã«ã¹ããŒãããŒãž]
style B fill:#ff9999
style E fill:#ffcc99
style I fill:#99ff99
style L fill:#9999ff
𧪠䜿çšäŸ
ã·ããªãª1ïŒä¿è·ãã©ã³ãã®é®æ
ä¿è·ãã©ã³ãã§æžã蟌ã¿ãè©Šè¡ â ãããã¯ããŠã¢ã©ãŒããã¿ãŒããã«ãvibeãã©ã³ãã®äœæãææ¡ïŒ
â ïž Branch 'main' is protected.
Current branch 'main' is protected.
It's recommended to create/switch to a vibe branch before making changes:
建议å建/åæ¢å° vibe 忝åä¿®æ¹ïŒäŸåŠïŒ
git checkout -b vibe/20250811142530-claude
ã·ããªãª2ïŒã³ããããããŠããªã倿Žã®ä¿è·
ã³ããããããŠããªãæå倿Žãæ€åº â ãããã¯ããŠå ã«ã³ããããä¿ãïŒ
â ïž Detected uncommitted changes in the repository.
æ£æµå°ä»åºäžææªæäº€çæŽæ¹ã
There are uncommitted changes that may be lost if AI overwrites them.
ååšæªæäº€çæŽæ¹ïŒåŠæè¢« AI èŠçå¯èœå¯ŒèŽä»£ç 䞢倱ã
Consider committing these changes first:
建议å
æäº€è¿äºæŽæ¹ïŒ
git add .
git commit -m "Save work in progress"
ã·ããªãª3ïŒéåžžã®ã¯ãŒã¯ãããŒ
vibeãã©ã³ãã«åãæ¿ããŠäœæ¥ãç¶ç¶ â åWrite/Edit/MultiEditåŸã«èªåãã§ãã¯ãã€ã³ãïŒ
checkpoint: Write src/LoginForm.tsx - 14:25
checkpoint: Edit src/types.ts - 14:26
gitignoreãã¡ã€ã«ã倿Žããå Žåãããã¯ã¢ãããªãã€ã³ããŒãåãåããŸãïŒ
ðŠ Backup Notice: '.env' is a gitignored file. A backup has been saved to '.claude/backups/.env.20250811-142530' before claude code modification.
ðŠ å€ä»œæé: '.env' æ¯ gitignore æä»¶ïŒclaude code ä¿®æ¹åå·²å€ä»œå° '.claude/backups/.env.20250811-142530'
ã·ããªãª4ïŒã»ãã·ã§ã³çµäºã®æŽç
ã»ãã·ã§ã³çµäºstop / compactããªã¬ãŒ â è€æ°ã®ãã§ãã¯ãã€ã³ããèªåçã«1ã€ã®ã¿ã¹ã¯ã³ãããã«ããŒãžïŒ
task: modify LoginForm.tsx, types.ts - 2025-08-11
ð¡ïž ã»ãã¥ãªãã£æŠç¥ãšãã¹ããã©ã¯ãã£ã¹
- ãã©ã³ãä¿è·: ããã©ã«ãã§
main|master|dev|release*ãä¿è·ãguard-branch.shã§èª¿æŽå¯èœã - å ¬éå±¥æŽãå£ããªã: ä¿è·ãã©ã³ãã§ã¯ã¹ã«ãã·ã¥ããªãïŒãã¢ããã¹ããªãŒã ãªããŸãã¯ahead>0ãã®å Žåã®ã¿ãã§ãã¯ãã€ã³ããããŒãžã
- ã³ã©ãã¬ãŒã·ã§ã³æšå¥š: ãªã¢ãŒããã©ã³ãä¿è·ïŒåŒ·å¶ããã·ã¥ãªã/PRå¿ é ïŒãšçµã¿åããããšããå®å®ã
ð§ ã«ã¹ã¿ãã€ãºã¬ã€ã
- ã³ãããã¡ãã»ãŒãžèŠå:
auto-commit.shãchore(checkpoint): ...ã«å€æŽïŒStopã¹ããŒãžã¯vibe/fix/...ã¿ã€ããåºåïŒConventional CommitsïŒã - ãã峿 Œãªæžã蟌ã¿ãã¹: ãçŽæ¥ãã¡ã€ã«æžã蟌ã¿ããŒã«ããå®å
šã«é²ãã«ã¯ã
PreToolUseã§ã«ã¹ã¿ã MCPæžã蟌ã¿ããŒã«ã®ã¿ãèš±å¯ããæ±çšçãªWrite|Edit|MultiEditããããã¯ã - å€éšçµ±å:
PostToolUseãŸãã¯Stopã§CLI/APIãåŒã³åºãïŒãã±ãããPRãã¡ãã»ãŒãžéç¥ãªã©ïŒã
â ãããã質åïŒFAQïŒ
Q: æ¢åã®ããã¯ãäžæžãããŸããïŒ
A: ããããã€ã³ã¹ããŒã«ã¹ã¯ãªããã¯jqã䜿çšããŠ.claude/settings.jsonãããŒãžããåãmatcherã«å¯ŸããŠè¿œå ãšéè€æé€ã®ã¿ãè¡ããŸãïŒæžãæ»ãåã«.bak.*ããã¯ã¢ãããçæããŸãã
Q: æåã§ã³ãŒãã倿ŽããããŸã ã³ãããããŠããªãå ŽåãClaude Codeã¯äœæ¥ãç¶ããããšãã§ããŸããïŒ
A: ããããguard-branch.shã¯ã³ããããããŠããªã倿Žãæ€åºããŠæäœããããã¯ããå ã«ã³ãããããããä¿ããŸããããã«ãããAIãæå倿Žãäžæžãããããšãé²ããã³ãŒãã®æææš©ãæç¢ºã§è¿œè·¡å¯èœã«ãªããŸãã
Q: è€æ°ã®ããã¯ã¯é çªã«å®è¡ãããŸããïŒ
A: åãã€ãã³ãã«ãããããè€æ°ã®ããã¯ã¯äžŠåã§å®è¡ãããŸãïŒå³å¯ãªé åºãå¿ èŠãªå Žåã¯ãåãã¹ã¯ãªããã«è€æ°ã®ã³ãã³ããèšè¿°ããŠã·ãªã¢ã«å®è¡ããŸãã
Q: WindowsããµããŒãããŠããŸããïŒ
A: ã¹ã¯ãªããã¯POSIXã·ã§ã«ããŒã¹ã§ããWindowsãŠãŒã¶ãŒã¯WSLãŸãã¯Unixç³»ç°å¢ã®äœ¿çšãæšå¥šããŸãã
ð ã³ãã¥ããã£ãµããŒã
ð 圹ã«ç«ã¡ãŸãããïŒãµããŒãããŠãã ããïŒ
â¡ ããªãã«ã¢ã¯ã·ã§ã³: ã¹ã¿ãŒ â + ãã©ãŒã¯ ðŽ + ã·ã§ã¢ ð¢
ð€ è²¢ç®
|
ð ãã°ãèŠã€ãã
|
ð¡ æ©èœææ¡
|
ð ã³ãŒãè²¢ç®
|
ð ãããžã§ã¯ãçµ±èš
ð ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ãã¯MITã©ã€ã»ã³ã¹ã®äžã§ã©ã€ã»ã³ã¹ãããŠããŸãã詳现ã¯LICENSEãã¡ã€ã«ãåç §ããŠãã ãã
â ãã®ãããžã§ã¯ãã圹ã«ç«ã£ãããã¹ã¿ãŒãã¯ãªãã¯ããŠå¿æŽããŠãã ããïŒ â
ð¡ïž Chase the vibe, but honor the craft. ð¡ïž