Claude Code CLI Team-Automatisierung: Hooks, CLAUDE.md & MCP

Ein häufiges Problem bei der Einführung von AI-Coding-Agenten in Entwicklungsteams ist, dass „die Qualität der Ergebnisse von Person zu Person extrem variiert“. Während ein Entwickler sauber strukturierten Code erhält, der allen Richtlinien entspricht, generiert ein anderer Einweg-Code, der die Projektkonventionen völlig ignoriert. Dies liegt nicht an den Grenzen des AI-Modells, sondern am Fehlen von Kontext-Engineering und automatisierten Hook-Systemen auf Teamebene.
Claude Code CLI von Anthropic ist nicht bloß ein Werkzeug zum Chatten im Terminal. Es ist eine AI-Ausführungslaufzeit für Teams, die über Custom Hooks auf Basis von .claude/settings.json, eine CLAUDE.md zur automatischen Injektion des Projektkontextes und einen MCP-Layer (Model Context Protocol) zur Anbindung von Datenbanken, Jira und GitHub verfügt.
Dieser Artikel behandelt die drei Hauptsäulen zur Etablierung von Claude Code CLI als Team-Standard-Entwicklungsumgebung—das Custom-Hooks-Ökosystem, CLAUDE.md Kontext-Engineering und das Einrichten gemeinsamer MCP-Pipelines—im Detail anhand von praxisnahen Codebeispielen.
Wichtige Zusammenfassung
- Kontext-Engineering > Prompt-Engineering: 90 % der AI-Halluzinationen entstehen nicht durch mangelhafte Prompts, sondern durch das Fehlen von Kontext. Sie sollten eine
CLAUDE.mdim Projekt-Root erstellen, um Architekturregeln automatisch bereitzustellen.- Rolle von Custom Hooks: Steuern Sie das Verhalten der AI deterministisch mit Hooks wie
PreToolUse(Sicherheit/Validierung vor Dateiänderungen),PostToolUse(automatisches Linting/Prettier nach Änderungen) undSessionStart(Umgebungsinitialisierung).- Gemeinsames MCP-Setup: Committen Sie
.claude/settings.jsonin Git, damit das gesamte Team dieselben MCP-Server (PostgreSQL, GitHub, Figma) und Sicherheits-Hooks teilt.- Sicherheitspipeline: Automatisieren Sie das Blockieren von
.env-Zugriffen, das Verweigern gefährlicher Befehle wierm -rfund die Überprüfung auf Secret-Leaks auf Gateway-Ebene über Hooks.
1. Paradigmenwechsel vom Prompt-Engineering zum Kontext-Engineering
Bis 2024 drehte sich alles um die Frage, „wie lang und ausgefeilt ein Prompt geschrieben werden muss“. Im Jahr 2026 ergibt sich die zentrale Produktivität von Teams in LLM-Umgebungen (Large Language Models) jedoch aus dem „Kontext-Engineering (Context Engineering)“.
[구형 프롬프트 엔지니어링]
개발자 ──(매번 500자 프롬프트 작성)──► AI 에이전트 ──► 규칙 미준수 코드 생성
[2026 컨텍스트 엔지니어링]
개발자 ──(간결한 명령)──► [CLAUDE.md + Custom Hooks + MCP] ──► AI 에이전트 ──► 컨벤션 100% 준수 코드
Wenn die AI die Projektarchitektur, Paketversionen, den Codestil und Verbote bereits kennt, kann der Entwickler mit einem einzigen Befehl wie „Füge User-Login-Funktion hinzu“ Code in Produktionsqualität erhalten.
Standard-Spezifikation zur Strukturierung von CLAUDE.md
Die im Projekt-Root platzierte Datei CLAUDE.md ist die primäre Kontextdatei, die Claude Code zu Beginn einer Session als Erstes liest. Das folgende Beispiel entspricht den empfohlenen Spezifikationen der offiziellen Claude Code Dokumentation.
# 프로젝트 아키텍처 & 개발 컨벤션
## 기술 스택
- Framework: Next.js 15 (App Router), React 19
- Styling: Tailwind CSS v4, shadcn/ui
- State: TanStack Query v5, Zustand
- Test: Vitest, Playwright
## 코드 스타일 규칙
- 모든 아티팩트는 TypeScript Strict Mode를 준수한다 (`any` 사용 금지).
- 컴포넌트는 `src/components/` 하위에 목적별로 분리하며, `export default` 대신 Named Export를 사용한다.
- 데이터 패칭은 반드시 Server Actions 또는 `useQuery` 커스텀 훅을 통해 수행한다.
## 금지 사항 (Strict Rules)
- `.env` 및 `.env.local` 파일 내용을 읽거나 수정하지 않는다.
- `node_modules` 하위 파일을 직접 수정하지 않는다.
- `git push --force` 명령을 실행하지 않는다.
## 자주 쓰는 명령어
- Build: `npm run build`
- Test: `npm run test`
- Lint: `npx eslint . --fix`
2. Custom Hooks: Deterministische Steuerung von AI-Agenten
Während CLAUDE.md Regeln „deklarativ“ vorschreibt, sind Custom Hooks eine erzwingbare Sandbox-Pipeline, die verhindert, dass die AI gegen diese Regeln verstößt.
Lifecycle-Events der Hook-Ausführung
| 훅 이벤트 | 실행 시점 | 주요 활용 사례 |
|---|---|---|
SessionStart |
Claude Code 세션 시작 시 | 환경 변수 검증, 임시 파일 정리, 최신 마스터 브랜치 동기화 |
PreToolUse |
도구(파일 쓰기, 명령 실행 등) 호출 전 | 위험 명령 차단, 민감 파일 접근 거부, 보안 검사 |
PostToolUse |
도구 실행 완료 직후 | ESLint / Prettier 자동 교정, 생성된 코드의 타입 체크 |
SessionEnd |
세션 종료 시 | 작업 로그 기록, 임시 브랜치 정리 |
.claude/settings.json 실전 설정 코드
팀 프로젝트에 적용할 수 있는 .claude/settings.json 설정 파일 구조다. 이 파일을 Git 레포지토리에 커밋하면 팀원 전원에게 동일한 보안 훅과 자동화가 적용된다.
{
"hooks": {
"PreToolUse": [
{
"type": "command",
"command": "node .claude/hooks/security-guard.js"
}
],
"PostToolUse": [
{
"type": "command",
"command": "npx prettier --write \"$CLAUDE_CHANGED_FILE\" && npx eslint --fix \"$CLAUDE_CHANGED_FILE\""
}
]
}
}
보안 검사 훅 구현 예시 (.claude/hooks/security-guard.js)
AI가 .env 파일을 읽으려 하거나 rm -rf 같은 파괴적인 시도를 할 때 훅 스크립트가 exit code 1을 반환하여 차단한다.
// .claude/hooks/security-guard.js
const input = JSON.parse(process.env.CLAUDE_TOOL_INPUT || '{}');
const toolName = process.env.CLAUDE_TOOL_NAME;
// 1. 민감 파일 접근 차단
if (input.path && (input.path.includes('.env') || input.path.includes('id_rsa'))) {
console.error('❌ [보안 위반] 민감한 파일에 접근할 수 없습니다:', input.path);
process.exit(1);
}
// 2. 위험 파괴 명령 차단
if (toolName === 'Bash' && input.command) {
const dangerousCmds = ['rm -rf /', 'git reset --hard', 'drop database'];
if (dangerousCmds.some(cmd => input.command.includes(cmd))) {
console.error('❌ [보안 위반] 위험한 명령어 실행이 금지되었습니다:', input.command);
process.exit(1);
}
}
process.exit(0);
Mit diesem Hook-System lassen sich Versehentliches Löschen von Datenbanken oder Secret-Leaks durch die AI zu 100 % im Vorfeld verhindern.
3. Aufbau einer gemeinsamen MCP-Pipeline (Model Context Protocol) für das Team
MCP fungiert als Standard-USB-C-Port, über den Claude Code mit externen Datenbanken, Issue-Trackern und Design-Tools kommuniziert. Wenn jeder Entwickler MCP individuell konfiguriert, wird die Schlüsselverwaltung mühsam; wird jedoch ein gemeinsames MCP auf Teamebene eingerichtet, steigt die Effizienz der Zusammenarbeit explosiv an.
[Claude Code CLI]
│
├─► [Figma MCP] ─────► 디자인 토큰 & 컴포넌트 레이아웃 수신
├─► [Postgres MCP] ──► 실제 DB 스키마 & 타입 자동 인스펙션
└─► [GitHub MCP] ────► PR 생성 & 리뷰 이력 자동 참조
Team-MCP-Konfigurationsdatei (.claude/mcp-config.json)
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"]
}
}
}
Wenn diese Konfiguration eingebunden ist und ein Entwickler anfragt: „Aktualisiere das DB-Schema passend zu Issue #142 und erstelle einen PR“, führt Claude den gesamten Workflow von Prüfen des Jira/GitHub-Issues ➔ Erfassen des Postgres-Schemas ➔ Code-Anpassung ➔ PR-Erstellung autonom aus. In Kombination mit den zustandsbehafteten Agentenmustern aus dem Cloudflare Agents SDK Leitfaden entsteht eine Automatisierung auf Enterprise-Niveau.
4. Team-Standardisierung von Prompt-Konventionen und Custom Commands (Slash Commands)
Wiederkehrende Befehle, die von Teammitgliedern häufig genutzt werden, können als benutzerdefinierte Slash Commands registriert werden. Dazu müssen Sie lediglich Markdown-Dateien im Verzeichnis .claude/commands/ definieren.
Automatisierungsbefehl zur PR-Erstellung (.claude/commands/make-pr.md)
---
description: "현재 브랜치의 변경사항을 분석하여 표준 양식의 GitHub PR을 작성합니다."
---
다음 절차에 따라 PR을 작성해줘:
1. `git diff main...HEAD`를 수행하여 변경된 모든 파일과 로직을 분석한다.
2. 커밋 메시지와 변경 내용을 바탕으로 PR 제목과 본문을 작성한다.
3. PR 본문에는 [주요 변경사항], [테스트 방법], [영향 범위] 섹션을 포함한다.
4. `gh pr create` 명령을 사용하여 PR을 생성한다.
Entwickler müssen im Terminal lediglich eine einzige Zeile /make-pr eingeben, um sofort einen PR zu erstellen, der den Teamkonventionen zu 100 % entspricht.
5. Leitfaden für die Team-Einführung: 3-Stufen-Migrations-Roadmap
| Phase | Zeitraum | Hauptaufgaben | Erwarteter Effekt |
|---|---|---|---|
| Stufe 1: Kontext vereinheitlichen | Woche 1 | CLAUDE.md erstellen & im Repo committen, Codedesign-Konventionen festlegen |
50 % Verringerung der Qualitätsschwankungen beim Code |
| Stufe 2: Sicherheitsnetz aufbauen | Woche 2 | Custom Hooks (Sicherheits-Hooks + Prettier/ESLint-Hooks) anbinden | 0 Datei-/Befehlsvorfälle, einheitliche Formatierung |
| Stufe 3: Pipeline-Integration | Woche 3–4 | Gemeinsame Team-MCPs (GitHub, DB, Figma) & Custom Commands registrieren | Automatisierung von PR-Erstellung und DB-Migrationen |
Häufig gestellte Fragen
Sinkt die Performance, wenn die Datei CLAUDE.md zu lang wird?
Ja, sie sinkt. Wenn CLAUDE.md zu überladen wird, verbraucht sie übermäßig viele Tokens im Kontextfenster und Kernregeln können verloren gehen. Es wird empfohlen, die Datei innerhalb von 150–300 Zeilen zu halten. Detaillierte Design-Guides sollten wie im Claude Design-Tool Leitfaden über MCPs oder separate Dokumentationsdateien ausgelagert werden, sodass sie nur bei Bedarf referenziert werden.
Funktionieren Custom Hooks in einer Windows-Umgebung ebenso?
Wenn Sie Bash-Befehle direkt in das Feld command von .claude/settings.json schreiben, funktionieren diese unter Windows (cmd/PowerShell) möglicherweise nicht. Wenn Sie Hook-Skripte als plattformübergreifende Node.js-Dateien (node .claude/hooks/script.js) schreiben, laufen diese unabhängig vom Betriebssystem identisch.
Besteht das Risiko, dass Teammitglieder versehentlich private API-Keys in Git hochladen?
Wenn Sie ein Skript zur Überprüfung gestagter Git-Dateien an das PreToolUse-Event von Custom Hooks anbinden, wird Code, der .env oder API-Schlüssel beginnend mit sk- enthält, noch vor dem Schritt git commit blockiert.
Was eignet sich besser für Team-Umgebungen: Claude Code CLI oder Cursor?
Für die Anbindung an terminalorientierte CI/CD-Pipelines, strenge Steuerung durch Custom Hooks und umfassendes Refactoring über mehrere Dateien hinweg ist Claude Code CLI deutlich im Vorteil. Wenn der Schwerpunkt hingegen auf Echtzeit-Inline-Autovervollständigung und visuellem Editieren liegt, ist Cursor komfortabler. Führende Teams nutzen heute beide Tools parallel und verwalten sowohl .claude/settings.json als auch .cursorrules gemeinsam.