Configuration de développement de Claude Code

Avez-vous déjà rencontré ces situations ?

  • Chaque fois que vous ouvrez une nouvelle session, vous devez réexpliquer les conventions de nommage de notre projet à Claude
  • Claude exécute soudainement une commande dangereuse, comme la suppression de fichiers
  • Vous demandez à Claude de faire une revue de code, mais il entasse tout le projet dans le contexte, ce qui est lent et coûteux
  • Vous avez soigneusement conçu un ensemble de modèles d'utilisation de Claude, mais vos nouveaux collègues n'ont aucune idée de la façon de les réutiliser

Tous ces problèmes peuvent être résolus grâce à une structure appelée Agent Development Kit (ADK).

Son cœur repose sur 5 dossiers. Grâce à ces 5 dossiers, nous pouvons transformer Claude Code en une équipe de développement automatisée avec mémoire, règles, répartition du travail et reproductibilité.

Structure globale :

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

Couche Répertoire / Fichier Objectif Signification essentielle Analogie
Couche 1 CLAUDE.md/ Règles globales et centre de mémoire pour les agents Définit les normes de comportement de l'IA, le contexte du projet et les contraintes de développement Manuel d'exploitation du projet d'IA
architecture.rules Définition des règles d'architecture Spécifie la structure du code, les conventions de nommage et la conception des répertoires Normes de codage de l'équipe technique
global.md Mémoire partagée globale Règles à long terme qui s'appliquent à tous les projets Mémoire à long terme de l'IA
project.md Mémoire spécifique au projet actuel Contexte métier et exigences particulières du dépôt actuel Version améliorée du README du projet
Couche 2 skills/ Répertoire du module de compétences Injecte des capacités professionnelles dans l'IA Bibliothèque de compétences de l'IA
SKILL.md Fichier de description des compétences Indique à l'IA quand invoquer cette compétence Manuel de spécification de compétence
scripts/ Répertoire des scripts de compétence Stocke les scripts et modèles d'automatisation Boîte à outils
context.md Contexte de compétence Fournit les connaissances de base nécessaires lors de l'exécution de la compétence Base de connaissances professionnelle
Couche 3 hooks/ Système de hooks Insère automatiquement la logique de vérification avant et après l'exécution Audit de sécurité automatisé
PreToolUse.sh Hook d'exécution pré-outil Valide avant l'exécution des commandes "Confirmation des opérations dangereuses"
PostToolUse.sh Hook d'exécution post-outil Gère automatiquement après la fin de l'exécution Formatage automatique, notifications
SessionStart.sh Hook de démarrage de session Initialise l'environnement de développement Script de démarrage de l'IDE
Couche 4 subagents/ Répertoire des sous-agents Se divise en différents agents spécialisés Système de collaboration d'équipe IA
code-reviewer.md Agent de revue de code Spécialisé dans la revue de code Ingénieur réviseur
test-runner.md Agent de test Exécute automatiquement les tests Ingénieur de test QA
explorer.md Agent d'exploration Analyse la structure de la base de code Chercheur technique
Couche 5 plugins/ Système de plugins Modularise et distribue les capacités Magasin d’applications d’IA
manifest.json Manifeste de configuration de plugin Définit les métadonnées du plugin npm package.json
marketplace.url Adresse de la place de marché des plugins Portail de téléchargement et de partage de plugins Magasin d’applications
team.install Script d’installation pour l’équipe Synchronisation de l’environnement d’équipe en un clic Script d’initialisation DevOps

Chaque couche résout un problème spécifique ; décomposons cela ci-dessous.


Couche 1 :CLAUDE.md— Donnez à Claude une mémoire à long terme

Quel est le problème ?

Claude n'a pas de mémoire inter-sessions. Si vous lui dites aujourd'hui d'utiliser PascalCase pour le nommage des composants, il l'oublie demain lorsque vous démarrez une nouvelle session.

Solution

Placez unCLAUDE.mdfichier dans le projet, et écrivez-y tout ce que vous ne voulez pas répéter. Au début de chaque session, Claude le lit automatiquement.

Deux fichiers, deux portées :

Emplacement du fichier Portée
~/.claude/CLAUDE.md Sur votre ordinateurtous les projetsprennent effet
Répertoire racine du projet.claude/CLAUDE.md uniquement pource seul dépôtprend effet

Qu'y écrire ? Pensez aux choses que vous répétez le plus souvent à Claude :

# 项目:我的电商平台

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

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

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

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

Effet :Vous n'avez plus besoin de coller une longue introduction de contexte au début de chaque conversation.


Couche 2:skills/— Stockez votre expérience

Quel est le problème ?

Chaque fois que vous demandez à Claude d'écrire un nouveau composant, il peut faire les choses différemment à chaque fois—parfois il ajoute des tests, parfois non ; parfois il y a des types TypeScript, parfois non.

Solution

Écrivez les pratiques standard dans des fichiers de compétences et placez-les dansskills/répertoire. Claude va, en fonction de la description de votre tâche,automatiquement faire correspondre et invoquerla compétence correspondante ; vous n'avez pas besoin de saisir de commandes.

Structure des répertoires :

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

À quoi ressemble un fichier de compétence ?

---
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>;
};
\`\`\`

Effet:Vous dites "créez-moi un composant de carte utilisateur," et Claude suit automatiquement le processus standard de votre équipe, couvrant les tests, les types et la documentation sans rien manquer.

💡 En termes simples:C'est comme écrire un manuel d'utilisation pour un nouvel employé ; il suit le manuel et vous n'avez pas besoin de le surveiller à chaque fois.


Couche 3:hooks/— Mettez en place un garde-fou incontournable

Quel est le problème ?

L'IA effectue parfois des opérations que vous ne voulez absolument pas—comme supprimer une base de données directement en production, ou exécuter unerm -rfcommande. Se fier aux instructions de prompt pour ne pas faire de telles choses n'est pas fiable.

Solution

Les hooks sontdes scripts shell qui s'exécutent automatiquement avant et après chaque appel d'outil Claude. Ils sont de la pure logique de code, exécutée de manière déterministe, et ne peuvent pas être contournés par l'IA.

Trois fichiers essentiels :

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

Exemple de PreToolUse.sh — interception de commandes dangereuses :

#!/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

Exemple de PostToolUse.sh — formatage automatique après l'enregistrement d'un fichier :

#!/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

Effet :

  • Après que Claude écrit du code, il effectue automatiquement le lint pour vous ; vous n'avez pas besoin de le lancer manuellement.
  • Les commandes dangereuses sont interceptées avant exécution ; vous n'avez même pas besoin de regarder.
  • Une fois le script de déploiement terminé, il envoie automatiquement une notification Slack à l'équipe.

💡 En termes simples :C'est comme une étape de contrôle qualité sur une chaîne de montage d'usine. Les produits sont obligés d'y passer avant de quitter l'usine ; ceux qui ne respectent pas les spécifications sont directement renvoyés, sans dépendre du jugement personnel des ouvriers.


Couche 4 :subagents/— Confier le travail spécialisé aux spécialistes

Quel est le problème ?

Demander à Claude d'effectuer « revue de code + exécution des tests + rédaction de documentation » dans une seule session rend le contexte de plus en plus grand, de plus en plus lent, et les différentes tâches interfèrent les unes avec les autres.

Solution

Répartissez différentes tâches entredes sous-agents indépendants. Chaque sous-agent dispose de sa propre fenêtre de contexte indépendante et de permissions d’outils dédiées, ne fait qu’une seule chose et rapporte les résultats une fois terminé.

Structure des répertoires :

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

exemple de code-reviewer.md :

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

# 代码审查专用代理

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

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

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

Flux de fonctionnement global :

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

💡 En termes simples :C’est comme un contremaître. Il n’écrit pas de code lui-même, mais il a sous ses ordres des électriciens, des maçons et des charpentiers spécialisés. Chacun fait son propre travail sans interférence, et à la fin, le contremaître rapporte l’avancement de manière unifiée.


Couche 5 :plugins/— Partager avec toute l’équipe en un clic

Quel est le problème ?

Vous avez passé plusieurs jours à peaufiner les quatre couches ci-dessus, mais quand un nouveau collègue arrive, comment saurait-il que cette configuration existe ? Est-il censé tout reconfigurer depuis le début ?

Solution

Empaquetez l’ensemble du système dans un plugin. Les nouveaux membres lancent une seule commande et obtiennent instantanément exactement le même environnement de travail Claude Code que vous.

Structure des répertoires :

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

exemple de 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 已配置为团队模式。"

Premier jour d’un nouveau collègue :

bash plugins/team.install

C’est fait. Cette personne utilise exactement le même Claude Code que vous.

💡 En termes simples :C’est comme le « package d’installation informatique des nouveaux employés » de l’entreprise. Le service informatique crée une image, les nouvelles recrues l’installent en un clic, et leur environnement est identique à celui des employés existants—plus besoin de configurer les choses manuellement une par une.

Diagramme complet : comment les 5 couches fonctionnent ensemble

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

Résumé des problèmes résolus par les 5 couches

Couche Dossier Problème résolu Analogie
Couche 1 CLAUDE.md/ Claude oublie les conventions du projet à chaque fois Manuel de l'employé
Couche 2 skills/ Approche incohérente pour le même type de tâche à chaque fois Manuel d'exploitation
Couche 3 hooks/ Les opérations dangereuses ne peuvent pas être empêchées Inspection de la qualité du pipeline
Couche 4 subagents/ Surcharge de contexte pour les tâches complexes Division spécialisée du travail
Couche 5 plugins/ La configuration ne peut pas être réutilisée au sein de l'équipe Kit d'intégration des nouveaux employés

Démarrage rapide : 3 choses que vous pouvez faire aujourd'hui

Si tout configurer d'un seul coup vous semble trop complexe, commencez par les éléments au meilleur rendement :

Étape 1 (5 minutes) :Créez unCLAUDE.md, et écrivez-y tout le contexte de projet que vous répétez le plus souvent à Claude.

Étape 2 (10 minutes) :Créez unhooks/PreToolUse.sh, et ajoutez quelques règles de blocage pour les commandes dangereuses que vous ne voulez surtout pas que Claude exécute.

Étape 3 (30 minutes) :Prenez le type de tâche que vous effectuez le plus souvent (par ex., « créer des composants ») et rédigez-le comme votre premierskills/fichier, en construisant les standards de votre équipe.

Les couches restantes peuvent être complétées au fur et à mesure — nul besoin de tout terminer d'un seul coup.


Ce système s'appelleAgent Development Kit(ADK). Cinq couches, une seule stack.

Vous n'avez pas besoin de plus d'outils—seulement 5 dossiers.

Autres extensions