Claude Code: Entwicklungskonfiguration

Haben Sie diese Situationen schon einmal erlebt?

  • Jedes Mal, wenn Sie eine neue Sitzung öffnen, müssen Sie Claude die Namenskonventionen unseres Projekts erneut erklären
  • Claude führt plötzlich einen gefährlichen Befehl aus, z. B. das Löschen von Dateien
  • Sie bitten Claude um ein Code-Review, aber es packt das gesamte Projekt in den Kontext, langsam und teuer
  • Du hast sorgfältig eine Reihe von Claude-Nutzungsmustern ausgearbeitet, aber neue Kollegen haben keine Ahnung, wie sie sie wiederverwenden können

Diese Probleme lassen sich alle mit einer Struktur namens Agent Development Kit (ADK) lösen.

Ihr Kern sind 5 Ordner. Durch diese 5 Ordner können wir Claude Code in ein automatisiertes Entwicklungsteam mit Gedächtnis, Regeln, Arbeitsteilung und Reproduzierbarkeit verwandeln.

Gesamtstruktur:

你的项目/
├── CLAUDE.md/     ← 第一层:记忆
├── skills/        ← 第二层:知识
├── hooks/         ← 第三层:护栏
├── subagents/     ← 第四层:分工
└── plugins/       ← 第五层:复制

Ebene Verzeichnis / Datei Zweck Kernbedeutung Analogie
Ebene 1 CLAUDE.md/ Globale Regeln und Gedächtniszentrale für Agenten Definiert KI-Verhaltensnormen, Projektkontext und Entwicklungsvorgaben Betriebshandbuch für KI-Projekte
architecture.rules Definition der Architekturregeln Legt Codestruktur, Namenskonventionen und Verzeichnisdesign fest Coding-Standards des technischen Teams
global.md Globaler gemeinsamer Speicher Langfristige Regeln, die für alle Projekte gelten Langzeitgedächtnis der KI
project.md Aktuelles projektspezifisches Gedächtnis Geschäftlicher Hintergrund und besondere Anforderungen des aktuellen Repositorys Erweiterte Version der Projekt-README
Ebene 2 skills/ Verzeichnis des Skills-Moduls Fügt der KI professionelle Fähigkeiten hinzu Skill-Bibliothek der KI
SKILL.md Skill-Beschreibungsdatei Teilt der KI mit, wann dieser Skill aufgerufen werden soll Handbuch zur Skill-Spezifikation
scripts/ Verzeichnis für Skill-Skripte Speichert Automatisierungsskripte und Vorlagen Werkzeugkasten
context.md Skill-Kontext Stellt Hintergrundwissen bereit, das zur Laufzeit des Skills benötigt wird Professionelle Wissensdatenbank
Ebene 3 hooks/ Hook-System Fügt vor und nach der Ausführung automatisch Prüflogik ein Automatisiertes Sicherheitsaudit
PreToolUse.sh Pre-Tool-Ausführungs-Hook Validiert vor der Ausführung von Befehlen "Bestätigung gefährlicher Operationen"
PostToolUse.sh Post-Tool-Ausführungs-Hook Verarbeitet nach Abschluss der Ausführung automatisch Automatische Formatierung, Benachrichtigungen
SessionStart.sh Session-Start-Hook Initialisiert die Entwicklungsumgebung IDE-Startskript
Schicht 4 subagents/ Sub-Agent-Verzeichnis Teilt sich in verschiedene spezialisierte Agenten auf KI-Team-Kollaborationssystem
code-reviewer.md Code-Review-Agent Spezialisiert auf Code-Review Reviewer-Ingenieur
test-runner.md Test-Agent Führt automatisch Tests aus QA-Test-Ingenieur
explorer.md Explorations-Agent Analysiert die Codebasis-Struktur Technischer Forscher
Schicht 5 plugins/ Plugin-System Modularisiert und verteilt Fähigkeiten KI-App-Store
manifest.json Plugin-Konfigurationsmanifest Definiert Plugin-Metadaten npm package.json
marketplace.url Plugin-Marketplace-Adresse Portal zum Herunterladen und Teilen von Plugins App-Store
team.install Team-Installationsskript Ein-Klick-Synchronisierung der Team-Umgebung DevOps-Initialisierungsskript

Jede Ebene löst ein bestimmtes Problem; im Folgenden schlüsseln wir das auf.


Ebene 1:CLAUDE.md— Gib Claude ein Langzeitgedächtnis

Was ist das Problem?

Claude hat kein sitzungsübergreifendes Gedächtnis. Wenn du heute sagst, dass PascalCase für die Komponentenbenennung verwendet werden soll, vergisst Claude das morgen, wenn du eine neue Sitzung startest.

Lösung

Lege eineCLAUDE.mdDatei im Projekt an und schreibe alles hinein, was du nicht wiederholen möchtest. Zu Beginn jeder Sitzung liest Claude sie automatisch.

Zwei Dateien, zwei Geltungsbereiche:

Dateispeicherort Geltungsbereich
~/.claude/CLAUDE.md Auf deinem Computeralle Projektewirksam
Projekt-Stammverzeichnis.claude/CLAUDE.md nur fürdieses eine Repositorywirksam

Was soll hineingeschrieben werden? Denke an die Dinge, die du Claude am häufigsten wiederholst:

# 项目:我的电商平台

## 技术栈
- 前端:Next.js 14(App Router)
- 样式:Tailwind CSS
- 数据库:PostgreSQL + Prisma

## 命名规范
- 组件文件:大驼峰,如 `UserCard.tsx`
- 工具函数:小驼峰,如 `formatPrice.ts`
- API 路由:短横线,如 `/api/user-profile`

## 注意事项
- 禁止使用 `any` 类型
- 所有异步函数必须有 try/catch
- 提交代码前必须通过 ESLint 检查
- 不要直接操作 `main` 分支

## 代码风格
- 缩进:2 个空格
- 引号:单引号
- 函数优先用箭头函数

Wirkung:Du musst nicht mehr zu Beginn jeder Unterhaltung eine lange Hintergrundeinführung einfügen.


Ebene 2:skills/— Speichere deine Erfahrung

Was ist das Problem?

Jedes Mal, wenn du Claude darum bittest, eine neue Komponente zu schreiben, kann es die Dinge jedes Mal anders machen – manchmal fügt es Tests hinzu, manchmal nicht; manchmal gibt es TypeScript-Typen, manchmal nicht.

Lösung

Schreibe die Standardpraktiken in Skill-Dateien und lege sie in einskills/Verzeichnis. Claude wird, basierend auf deiner Aufgabenbeschreibung,automatischdie entsprechende Fähigkeit abgleichen und aufrufen; du musst keine Befehle eingeben.

Verzeichnisstruktur:

skills/
├── SKILL.md              ← 技能索引(描述 + 触发条件)
├── create-component.md   ← 创建 React 组件的标准流程
├── write-api.md          ← 写接口的标准流程
└── fix-bug.md            ← 排查 Bug 的标准流程

Wie sieht eine Skill-Datei aus?

---
name: create-react-component
description: >
  当用户说"创建组件"、"新建页面"、"写一个 UI"时,
  自动调用此技能。
---

# 创建 React 组件的标准流程

## 步骤
1. 检查 `src/components/` 下是否已存在同名组件
2. 用大驼峰命名新建 `.tsx` 文件
3. 必须定义 TypeScript interface,不允许 any
4. 同步在 `src/stories/` 下新建对应的 Storybook 故事
5. 在 `__tests__/` 下新建单元测试文件

## 代码模板
\`\`\`tsx
interface Props {
  // 在这里定义 props
}

export const ComponentName: React.FC<Props> = ({ }) => {
  return <div>{/* 内容 */}</div>;
};
\`\`\`

Effekt:Du sagst „Erstelle mir eine Benutzerkarten-Komponente“, und Claude folgt automatisch dem Standardprozess deines Teams und deckt Tests, Typen und Dokumentation ab, ohne etwas auszulassen.

💡 Einfach ausgedrückt:Es ist wie das Schreiben eines Betriebshandbuchs für einen neuen Mitarbeiter; es folgt dem Handbuch, und du musst nicht jedes Mal ein Auge darauf haben.


Ebene 3:hooks/— Richte eine nicht umgehbare Schutzbarriere ein

Was ist das Problem?

KI führt manchmal Operationen aus, die du auf keinen Fall willst – wie das direkte Löschen einer Datenbank in der Produktion oder das Ausführen einesrm -rfBefehls. Sich auf Prompt-Anweisungen zu verlassen, solche Dinge nicht zu tun, ist unzuverlässig.

Lösung

Hooks sindShell-Skripte, die automatisch vor und nach jedem Claude-Tool-Aufruf ausgeführt werden. Sie sind reine Codelogik, werden deterministisch ausgeführt und können von der KI nicht umgangen werden.

Drei Kerndateien:

hooks/
├── PreToolUse.sh    ← 工具调用「之前」运行
├── PostToolUse.sh   ← 工具调用「之后」运行
└── SessionStart.sh  ← 会话「开始时」运行

PreToolUse.sh-Beispiel — Abfangen gefährlicher Befehle:

#!/bin/bash
# 检查 Claude 准备执行的命令

TOOL_INPUT="$2"

# 禁止执行 rm -rf /
if echo "$TOOL_INPUT" | grep -qE "rm\s+-rf\s+/"; then
  echo "已拦截:禁止执行破坏性删除命令" >&2
  exit 1
fi

# 禁止在没有确认的情况下操作生产数据库
if echo "$TOOL_INPUT" | grep -q "prod_db" && echo "$TOOL_INPUT" | grep -qE "DROP|DELETE"; then
  echo "已拦截:生产数据库的破坏性操作需要人工确认" >&2
  exit 1
fi

exit 0

PostToolUse.sh-Beispiel — automatische Formatierung nach dem Speichern einer Datei:

#!/bin/bash
# 每次 Claude 写完文件,自动跑 lint 和格式化

TOOL_NAME="$1"
FILE_PATH="$2"

if [ "$TOOL_NAME" = "write_file" ]; then
  case "$FILE_PATH" in
    *.ts|*.tsx|*.js|*.jsx)
      npx eslint --fix "$FILE_PATH"
      npx prettier --write "$FILE_PATH"
      echo "已自动格式化:$FILE_PATH"
      ;;
  esac
fi

Wirkung:

  • Nachdem Claude Code geschrieben hat, wird automatisch für Sie gelintet; Sie müssen es nicht manuell ausführen.
  • Gefährliche Befehle werden vor der Ausführung abgefangen; Sie müssen nicht einmal hinsehen.
  • Nachdem das Deployment-Skript fertig ist, wird automatisch eine Slack-Benachrichtigung an das Team gesendet.

💡 Einfach gesagt:Es ist wie ein Qualitätsprüfungsschritt am Fließband einer Fabrik. Produkte müssen ihn zwangsweise durchlaufen, bevor sie die Fabrik verlassen; diejenigen, die nicht den Spezifikationen entsprechen, werden direkt zurückgeschickt, ohne auf das persönliche Urteilsvermögen der Arbeiter zu vertrauen.


Ebene 4:subagents/— Lassen Sie Spezialisten spezialisierte Arbeit erledigen

Was ist das Problem?

Wenn Claude in einer einzigen Sitzung "Code-Review + Tests ausführen + Dokumentation schreiben" erledigen soll, wird der Kontext immer größer, immer langsamer, und die verschiedenen Aufgaben stören sich gegenseitig.

Lösung

Verteile verschiedene Aufgaben aufunabhängige Sub-Agenten. Jeder Sub-Agent hat sein eigenes unabhängiges Kontextfenster und eigene dedizierte Tool-Berechtigungen, erledigt nur eine Sache und meldet die Ergebnisse, wenn er fertig ist.

Verzeichnisstruktur:

subagents/
├── code-reviewer.md   ← 专门做代码审查
├── test-runner.md     ← 专门跑测试
└── doc-writer.md      ← 专门写文档

Beispiel für code-reviewer.md:

---
name: code-reviewer
description: PR 需要代码审查时调用此代理
tools:
  - read_file        # 只允许读文件
permissions:
  - read_only        # 只读权限,绝对不会误操作
---

# 代码审查专用代理

你是一名资深代码审查员。你只会收到 git diff,不需要了解整个项目。
你没有写入权限,只能阅读和分析。

## 审查清单
- [ ] 有没有硬编码的密钥或密码?
- [ ] 新函数有没有对应的单元测试?
- [ ] TypeScript 类型是否明确,有没有 any?
- [ ] 异步操作有没有错误处理?
- [ ] 有没有遗留的 console.log?

## 输出格式
1. **总体评价**:一句话说清楚
2. **必须修改**:阻塞合并的问题
3. **建议优化**:非阻塞的改进项
4. **结论**:可以合并 / 需要修改

Gesamter Ablauf:

你说:"帮我审查这个 PR 并运行测试"
          │
          ├──→ 调用 code-reviewer 子代理
          │         独立上下文,只看 diff,只读权限
          │         返回:结构化审查报告
          │
          ├──→ 调用 test-runner 子代理
          │         独立上下文,有执行测试的权限
          │         返回:测试通过/失败摘要
          │
          └──→ 主会话汇总结果,上下文始终保持干净

💡 Einfach ausgedrückt:Es ist wie ein Vorarbeiter. Er schreibt selbst keinen Code, aber er hat spezialisierte Elektriker, Maurer und Tischler unter sich. Jeder erledigt seine eigene Arbeit, ohne sich gegenseitig zu stören, und am Ende meldet der Vorarbeiter den Fortschritt einheitlich.


Ebene 5:plugins/— Mit einem Klick für das gesamte Team freigeben

Was ist das Problem?

Du hast mehrere Tage damit verbracht, alle vier oben genannten Ebenen einzurichten, aber wenn ein neuer Kollege dazukommt, woher soll er von diesem Setup erfahren? Soll er alles noch einmal konfigurieren?

Lösung

Verpacke das gesamte System in ein Plugin. Neue Mitglieder führen einen Befehl aus und haben sofort genau dieselbe Arbeitsumgebung von Claude Code wie du.

Verzeichnisstruktur:

plugins/
├── manifest.json    ← 描述插件包含什么
├── marketplace.url  ← 分享链接
└── team.install     ← 一键安装脚本

Beispiel für team.install:

#!/bin/bash
echo "&#x1f680; 正在安装团队 ADK 配置..."

# 安装项目级 CLAUDE.md
cp ./CLAUDE.md/project.md ./.claude/CLAUDE.md

# 安装所有技能
mkdir -p ./.claude/skills && cp -r ./skills/* ./.claude/skills/

# 安装钩子(记得加执行权限)
mkdir -p ./.claude/hooks && cp -r ./hooks/* ./.claude/hooks/
chmod +x ./.claude/hooks/*.sh

# 安装子代理
mkdir -p ./.claude/subagents && cp -r ./subagents/* ./.claude/subagents/

echo "安装完成!Claude Code 已配置为团队模式。"

Der erste Tag des neuen Kollegen:

bash plugins/team.install

Fertig. Er verwendet genau denselben Claude Code wie du.

💡 Einfach ausgedrückt:Es ist wie das "Computer-Einrichtungspaket für neue Mitarbeiter" des Unternehmens. Die IT-Abteilung erstellt ein Image, neue Mitarbeiter installieren es mit einem Klick, und ihre Umgebung ist identisch mit der von bestehenden Mitarbeitern — nichts muss manuell einzeln konfiguriert werden.

Vollständiges Flussdiagramm: Wie die 5 Schichten zusammenarbeiten

开发者输入任务
      │
      ▼
  CLAUDE.md        → 加载项目规范和背景知识
      │
      ▼
  skills/          → 匹配任务类型,调用对应工作流
      │
      ▼
  hooks/PreToolUse → 执行前检查,拦截危险操作
      │
      ▼
  subagents/       → 复杂任务拆分给专属子代理执行
      │
      ▼
  hooks/PostToolUse→ 执行后处理,自动格式化/通知
      │
      ▼
  plugins/         → 整套配置一键同步给所有团队成员

Zusammenfassung der von den 5 Schichten gelösten Probleme

Ebene Ordner Gelöstes Problem Analogie
Ebene 1 CLAUDE.md/ Claude vergisst jedes Mal die Projektkonventionen Mitarbeiterhandbuch
Ebene 2 skills/ Jedes Mal inkonsistente Vorgehensweise bei derselben Aufgabenart Betriebshandbuch
Ebene 3 hooks/ Gefährliche Operationen können nicht verhindert werden Qualitätsprüfung der Pipeline
Schicht 4 subagents/ Kontextaufblähung bei komplexen Aufgaben Spezialisierte Arbeitsteilung
Schicht 5 plugins/ Konfiguration kann nicht im Team wiederverwendet werden Onboarding-Paket für neue Mitarbeitende

Schnellstart: 3 Dinge, die du heute tun kannst

Wenn es dir zu komplex erscheint, alles auf einmal zu konfigurieren, beginne mit den Punkten mit dem größten Nutzen:

Schritt 1 (5 Minuten):Erstelle eineCLAUDE.md, und schreibe den gesamten Projektkontext hinein, den du Claude am häufigsten wiederholst.

Schritt 2 (10 Minuten):Erstelle einehooks/PreToolUse.sh, und füge einige Sperrregeln für gefährliche Befehle hinzu, die Claude keinesfalls ausführen soll.

Schritt 3 (30 Minuten):Nimm die Art von Aufgabe, die du am häufigsten machst (z. B. „Komponenten erstellen“), und schreibe sie als deine ersteskills/Datei, und baue damit eure Teamstandards auf.

Die übrigen Ebenen können nach und nach ausgefüllt werden – du musst nicht alles auf einmal vervollständigen.


Dieses System heißtAgent Development Kit(ADK). Fünf Ebenen, ein Stack.

Du brauchst nicht mehr Tools – nur 5 Ordner.

Weitere Erweiterungen