@boostecom/provider 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -0
- package/dist/index.cjs +2522 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +848 -0
- package/dist/index.d.ts +848 -0
- package/dist/index.js +2484 -0
- package/dist/index.js.map +1 -0
- package/docs/content/README.md +337 -0
- package/docs/content/agent-teams.mdx +324 -0
- package/docs/content/api.mdx +757 -0
- package/docs/content/best-practices.mdx +624 -0
- package/docs/content/examples.mdx +675 -0
- package/docs/content/guide.mdx +516 -0
- package/docs/content/index.mdx +99 -0
- package/docs/content/installation.mdx +246 -0
- package/docs/content/skills.mdx +548 -0
- package/docs/content/troubleshooting.mdx +588 -0
- package/docs/examples/README.md +499 -0
- package/docs/examples/abort-signal.ts +125 -0
- package/docs/examples/agent-teams.ts +122 -0
- package/docs/examples/basic-usage.ts +73 -0
- package/docs/examples/check-cli.ts +51 -0
- package/docs/examples/conversation-history.ts +69 -0
- package/docs/examples/custom-config.ts +90 -0
- package/docs/examples/generate-object-constraints.ts +209 -0
- package/docs/examples/generate-object.ts +211 -0
- package/docs/examples/hooks-callbacks.ts +63 -0
- package/docs/examples/images.ts +76 -0
- package/docs/examples/integration-test.ts +241 -0
- package/docs/examples/limitations.ts +150 -0
- package/docs/examples/logging-custom-logger.ts +99 -0
- package/docs/examples/logging-default.ts +55 -0
- package/docs/examples/logging-disabled.ts +74 -0
- package/docs/examples/logging-verbose.ts +64 -0
- package/docs/examples/long-running-tasks.ts +179 -0
- package/docs/examples/message-injection.ts +210 -0
- package/docs/examples/mid-stream-injection.ts +126 -0
- package/docs/examples/run-all-examples.sh +48 -0
- package/docs/examples/sdk-tools-callbacks.ts +49 -0
- package/docs/examples/skills-discovery.ts +144 -0
- package/docs/examples/skills-management.ts +140 -0
- package/docs/examples/stream-object.ts +80 -0
- package/docs/examples/streaming.ts +52 -0
- package/docs/examples/structured-output-repro.ts +227 -0
- package/docs/examples/tool-management.ts +215 -0
- package/docs/examples/tool-streaming.ts +132 -0
- package/docs/examples/zod4-compatibility-test.ts +290 -0
- package/docs/src/claude-code-language-model.test.ts +3883 -0
- package/docs/src/claude-code-language-model.ts +2586 -0
- package/docs/src/claude-code-provider.test.ts +97 -0
- package/docs/src/claude-code-provider.ts +179 -0
- package/docs/src/convert-to-claude-code-messages.images.test.ts +104 -0
- package/docs/src/convert-to-claude-code-messages.test.ts +193 -0
- package/docs/src/convert-to-claude-code-messages.ts +419 -0
- package/docs/src/errors.test.ts +213 -0
- package/docs/src/errors.ts +216 -0
- package/docs/src/index.test.ts +49 -0
- package/docs/src/index.ts +98 -0
- package/docs/src/logger.integration.test.ts +164 -0
- package/docs/src/logger.test.ts +184 -0
- package/docs/src/logger.ts +65 -0
- package/docs/src/map-claude-code-finish-reason.test.ts +120 -0
- package/docs/src/map-claude-code-finish-reason.ts +60 -0
- package/docs/src/mcp-helpers.test.ts +71 -0
- package/docs/src/mcp-helpers.ts +123 -0
- package/docs/src/message-injection.test.ts +460 -0
- package/docs/src/types.ts +447 -0
- package/docs/src/validation.test.ts +558 -0
- package/docs/src/validation.ts +360 -0
- package/package.json +124 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
# Documentation MDX — AI SDK Provider Claude Code
|
|
2
|
+
|
|
3
|
+
Cette documentation complete est structuree pour etre integree dans une plateforme SaaS moderne (Docusaurus, Nextra, GitBook, etc.).
|
|
4
|
+
|
|
5
|
+
## Structure de la documentation
|
|
6
|
+
|
|
7
|
+
### Pages principales
|
|
8
|
+
|
|
9
|
+
1. **[index.mdx](./index.mdx)** — Page d'accueil et introduction
|
|
10
|
+
- Apercu du provider
|
|
11
|
+
- Installation rapide
|
|
12
|
+
- Compatibilite des versions
|
|
13
|
+
- Premiers pas
|
|
14
|
+
|
|
15
|
+
2. **[installation.mdx](./installation.mdx)** — Guide d'installation detaille
|
|
16
|
+
- Prerequis
|
|
17
|
+
- Installation du CLI
|
|
18
|
+
- Configuration
|
|
19
|
+
- Environnements specifiques (Docker, CI/CD, monorepo)
|
|
20
|
+
- Depannage installation
|
|
21
|
+
|
|
22
|
+
3. **[guide.mdx](./guide.mdx)** — Guide d'utilisation complet
|
|
23
|
+
- Utilisation basique
|
|
24
|
+
- Streaming
|
|
25
|
+
- Conversations multi-tours
|
|
26
|
+
- Structured outputs
|
|
27
|
+
- Images
|
|
28
|
+
- Configuration avancee
|
|
29
|
+
- Gestion des outils
|
|
30
|
+
- Erreurs et timeouts
|
|
31
|
+
|
|
32
|
+
4. **[api.mdx](./api.mdx)** — Reference API complete
|
|
33
|
+
- Documentation de `claudeCode()`
|
|
34
|
+
- Toutes les options de `ClaudeCodeSettings`
|
|
35
|
+
- Types exportes
|
|
36
|
+
- Metadonnees et valeurs de retour
|
|
37
|
+
|
|
38
|
+
5. **[examples.mdx](./examples.mdx)** — Exemples pratiques
|
|
39
|
+
- Applications web (Express, Next.js)
|
|
40
|
+
- Outils et scripts
|
|
41
|
+
- Traitement par lots
|
|
42
|
+
- Integration bases de donnees
|
|
43
|
+
- Services tiers (Slack, etc.)
|
|
44
|
+
|
|
45
|
+
6. **[skills.mdx](./skills.mdx)** — Competences personnalisees
|
|
46
|
+
- Qu'est-ce qu'une Skill
|
|
47
|
+
- Configuration
|
|
48
|
+
- Creation de Skills
|
|
49
|
+
- Exemples de Skills utiles
|
|
50
|
+
- Bonnes pratiques
|
|
51
|
+
|
|
52
|
+
7. **[troubleshooting.mdx](./troubleshooting.mdx)** — Depannage
|
|
53
|
+
- Problemes d'installation
|
|
54
|
+
- Problemes d'execution
|
|
55
|
+
- Structured outputs
|
|
56
|
+
- Outils et sessions
|
|
57
|
+
- Performance
|
|
58
|
+
- Docker et CI/CD
|
|
59
|
+
|
|
60
|
+
8. **[best-practices.mdx](./best-practices.mdx)** — Bonnes pratiques
|
|
61
|
+
- Choix du modele
|
|
62
|
+
- Gestion du contexte
|
|
63
|
+
- Securite
|
|
64
|
+
- Performance
|
|
65
|
+
- Logging et monitoring
|
|
66
|
+
- Testing
|
|
67
|
+
- Production
|
|
68
|
+
|
|
69
|
+
9. **[agent-teams.mdx](./agent-teams.mdx)** — Agent Teams
|
|
70
|
+
- Equipes d'agents specialises
|
|
71
|
+
- Configuration et coordination
|
|
72
|
+
- Cas d'usage pratiques
|
|
73
|
+
- Integration avec Skills
|
|
74
|
+
- Bonnes pratiques pour teams
|
|
75
|
+
|
|
76
|
+
## Integration dans une plateforme
|
|
77
|
+
|
|
78
|
+
### Docusaurus
|
|
79
|
+
|
|
80
|
+
```javascript
|
|
81
|
+
// docusaurus.config.js
|
|
82
|
+
module.exports = {
|
|
83
|
+
// ...
|
|
84
|
+
presets: [
|
|
85
|
+
[
|
|
86
|
+
'@docusaurus/preset-classic',
|
|
87
|
+
{
|
|
88
|
+
docs: {
|
|
89
|
+
path: 'docs/content',
|
|
90
|
+
routeBasePath: 'docs',
|
|
91
|
+
sidebarPath: require.resolve('./sidebars.js'),
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
],
|
|
96
|
+
};
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
```javascript
|
|
100
|
+
// sidebars.js
|
|
101
|
+
module.exports = {
|
|
102
|
+
docs: [
|
|
103
|
+
{
|
|
104
|
+
type: 'doc',
|
|
105
|
+
id: 'index',
|
|
106
|
+
label: 'Introduction',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'category',
|
|
110
|
+
label: 'Pour commencer',
|
|
111
|
+
items: ['installation', 'guide'],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'category',
|
|
115
|
+
label: 'Reference',
|
|
116
|
+
items: ['api', 'examples'],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'category',
|
|
120
|
+
label: 'Avance',
|
|
121
|
+
items: ['skills', 'best-practices'],
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'doc',
|
|
125
|
+
id: 'troubleshooting',
|
|
126
|
+
label: 'Depannage',
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
};
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Nextra (Next.js)
|
|
133
|
+
|
|
134
|
+
```javascript
|
|
135
|
+
// next.config.js
|
|
136
|
+
const withNextra = require('nextra')({
|
|
137
|
+
theme: 'nextra-theme-docs',
|
|
138
|
+
themeConfig: './theme.config.tsx',
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
module.exports = withNextra({
|
|
142
|
+
// ...
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
```javascript
|
|
147
|
+
// theme.config.tsx
|
|
148
|
+
export default {
|
|
149
|
+
logo: <span>Claude Code Provider</span>,
|
|
150
|
+
project: {
|
|
151
|
+
link: 'https://github.com/BoostEcom/ThemeCopilotAI',
|
|
152
|
+
},
|
|
153
|
+
docsRepositoryBase: 'https://github.com/BoostEcom/ThemeCopilotAI/tree/main/docs/content',
|
|
154
|
+
sidebar: {
|
|
155
|
+
defaultMenuCollapseLevel: 1,
|
|
156
|
+
},
|
|
157
|
+
// ...
|
|
158
|
+
};
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Structure pour Nextra :
|
|
162
|
+
```
|
|
163
|
+
pages/
|
|
164
|
+
docs/
|
|
165
|
+
index.mdx
|
|
166
|
+
installation.mdx
|
|
167
|
+
guide.mdx
|
|
168
|
+
api.mdx
|
|
169
|
+
examples.mdx
|
|
170
|
+
skills.mdx
|
|
171
|
+
troubleshooting.mdx
|
|
172
|
+
best-practices.mdx
|
|
173
|
+
_meta.json
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
```json
|
|
177
|
+
// pages/docs/_meta.json
|
|
178
|
+
{
|
|
179
|
+
"index": "Introduction",
|
|
180
|
+
"installation": "Installation",
|
|
181
|
+
"guide": "Guide d'utilisation",
|
|
182
|
+
"api": "Reference API",
|
|
183
|
+
"examples": "Exemples",
|
|
184
|
+
"skills": "Skills",
|
|
185
|
+
"troubleshooting": "Depannage",
|
|
186
|
+
"best-practices": "Bonnes pratiques"
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### GitBook
|
|
191
|
+
|
|
192
|
+
Importez directement les fichiers MDX dans votre espace GitBook ou utilisez la synchronisation GitHub.
|
|
193
|
+
|
|
194
|
+
### VitePress
|
|
195
|
+
|
|
196
|
+
```javascript
|
|
197
|
+
// .vitepress/config.ts
|
|
198
|
+
export default {
|
|
199
|
+
title: 'Claude Code Provider',
|
|
200
|
+
description: 'AI SDK Provider pour Claude Code',
|
|
201
|
+
themeConfig: {
|
|
202
|
+
nav: [
|
|
203
|
+
{ text: 'Guide', link: '/guide' },
|
|
204
|
+
{ text: 'API', link: '/api' },
|
|
205
|
+
],
|
|
206
|
+
sidebar: [
|
|
207
|
+
{
|
|
208
|
+
text: 'Introduction',
|
|
209
|
+
items: [
|
|
210
|
+
{ text: 'Pour commencer', link: '/index' },
|
|
211
|
+
{ text: 'Installation', link: '/installation' },
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
text: 'Utilisation',
|
|
216
|
+
items: [
|
|
217
|
+
{ text: 'Guide', link: '/guide' },
|
|
218
|
+
{ text: 'Exemples', link: '/examples' },
|
|
219
|
+
],
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
text: 'Reference',
|
|
223
|
+
items: [
|
|
224
|
+
{ text: 'API', link: '/api' },
|
|
225
|
+
{ text: 'Skills', link: '/skills' },
|
|
226
|
+
],
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
text: 'Aide',
|
|
230
|
+
items: [
|
|
231
|
+
{ text: 'Depannage', link: '/troubleshooting' },
|
|
232
|
+
{ text: 'Bonnes pratiques', link: '/best-practices' },
|
|
233
|
+
],
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Personnalisation
|
|
241
|
+
|
|
242
|
+
### Composants personnalises
|
|
243
|
+
|
|
244
|
+
Les fichiers MDX utilisent des composants standard :
|
|
245
|
+
|
|
246
|
+
- `<Note>` — Notes colorees (info, warning, danger, tip)
|
|
247
|
+
- `<Accordion>` — Contenu pliable
|
|
248
|
+
- `<CardGroup>` et `<Card>` — Cartes de navigation
|
|
249
|
+
- `<Tabs>` et `<Tab>` — Onglets
|
|
250
|
+
|
|
251
|
+
Adaptez-les selon votre plateforme :
|
|
252
|
+
|
|
253
|
+
#### Docusaurus
|
|
254
|
+
```jsx
|
|
255
|
+
import Admonition from '@theme/Admonition';
|
|
256
|
+
// <Note type="info"> → <Admonition type="info">
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
#### Nextra
|
|
260
|
+
```jsx
|
|
261
|
+
import { Callout } from 'nextra-theme-docs';
|
|
262
|
+
// <Note type="info"> → <Callout type="info">
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Theme et couleurs
|
|
266
|
+
|
|
267
|
+
Les exemples de code utilisent la syntaxe standard. Configurez votre theme de coloration syntaxique :
|
|
268
|
+
|
|
269
|
+
```javascript
|
|
270
|
+
// Prism pour Docusaurus
|
|
271
|
+
prism: {
|
|
272
|
+
theme: lightCodeTheme,
|
|
273
|
+
darkTheme: darkCodeTheme,
|
|
274
|
+
additionalLanguages: ['bash', 'typescript', 'javascript', 'json', 'docker'],
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Recherche
|
|
279
|
+
|
|
280
|
+
Pour activer la recherche :
|
|
281
|
+
|
|
282
|
+
### Algolia (Docusaurus)
|
|
283
|
+
```javascript
|
|
284
|
+
themeConfig: {
|
|
285
|
+
algolia: {
|
|
286
|
+
apiKey: 'your-api-key',
|
|
287
|
+
indexName: 'claude-code-provider',
|
|
288
|
+
appId: 'your-app-id',
|
|
289
|
+
},
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Recherche locale (VitePress)
|
|
294
|
+
```javascript
|
|
295
|
+
themeConfig: {
|
|
296
|
+
search: {
|
|
297
|
+
provider: 'local',
|
|
298
|
+
},
|
|
299
|
+
}
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## Contribution
|
|
303
|
+
|
|
304
|
+
Pour contribuer a la documentation :
|
|
305
|
+
|
|
306
|
+
1. Modifier les fichiers `.mdx`
|
|
307
|
+
2. Tester localement avec votre plateforme
|
|
308
|
+
3. Soumettre une PR
|
|
309
|
+
|
|
310
|
+
## Structure recommandee finale
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
docs/
|
|
314
|
+
content/
|
|
315
|
+
index.mdx # Introduction
|
|
316
|
+
installation.mdx # Installation
|
|
317
|
+
guide.mdx # Guide d'utilisation
|
|
318
|
+
api.mdx # Reference API
|
|
319
|
+
examples.mdx # Exemples pratiques
|
|
320
|
+
skills.mdx # Skills personnalisees
|
|
321
|
+
troubleshooting.mdx # Depannage
|
|
322
|
+
best-practices.mdx # Bonnes pratiques
|
|
323
|
+
README.md # Ce fichier
|
|
324
|
+
_meta.json # Metadonnees (Nextra)
|
|
325
|
+
sidebars.js # Sidebar (Docusaurus)
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
## Liens utiles
|
|
329
|
+
|
|
330
|
+
- [Repository GitHub](https://github.com/BoostEcom/ThemeCopilotAI)
|
|
331
|
+
- [Vercel AI SDK](https://sdk.vercel.ai/docs)
|
|
332
|
+
- [Claude Agent SDK](https://docs.anthropic.com/claude/docs)
|
|
333
|
+
- [Package NPM](https://www.npmjs.com/package/@boostecom/provider)
|
|
334
|
+
|
|
335
|
+
## License
|
|
336
|
+
|
|
337
|
+
MIT — Voir le fichier LICENSE du projet principal
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Agent Teams"
|
|
3
|
+
description: "Créer des équipes d'agents spécialisés avec Claude Opus 4.6"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent Teams
|
|
7
|
+
|
|
8
|
+
Guide complet pour créer et coordonner des équipes d'agents spécialisés avec Claude Code Provider.
|
|
9
|
+
|
|
10
|
+
## Introduction
|
|
11
|
+
|
|
12
|
+
**Agent Teams** est une fonctionnalité puissante introduite dans **Claude Opus 4.6** qui permet de créer plusieurs agents spécialisés travaillant ensemble pour accomplir des tâches complexes.
|
|
13
|
+
|
|
14
|
+
### Avantages des Agent Teams
|
|
15
|
+
|
|
16
|
+
- **Spécialisation** : Chaque agent excelle dans son domaine
|
|
17
|
+
- **Isolation** : Outils et permissions séparés par agent
|
|
18
|
+
- **Efficacité** : Modèles optimisés par tâche (Opus pour complexe, Haiku pour simple)
|
|
19
|
+
- **Coordination** : Les agents se passent automatiquement les tâches
|
|
20
|
+
|
|
21
|
+
## Configuration de base
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { claudeCode } from '@boostecom/provider';
|
|
25
|
+
import { generateText } from 'ai';
|
|
26
|
+
|
|
27
|
+
const model = claudeCode('opus', {
|
|
28
|
+
agents: {
|
|
29
|
+
// Agent de recherche
|
|
30
|
+
researcher: {
|
|
31
|
+
description: 'Expert en recherche et analyse d\'information',
|
|
32
|
+
tools: ['Read', 'Grep', 'Glob', 'WebSearch'],
|
|
33
|
+
disallowedTools: ['Write', 'Edit'],
|
|
34
|
+
prompt: 'Tu es un expert en recherche. Ton rôle est de trouver et analyser l\'information.',
|
|
35
|
+
model: 'sonnet', // Modèle rapide pour la recherche
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
// Agent de développement
|
|
39
|
+
developer: {
|
|
40
|
+
description: 'Expert en écriture et refactoring de code',
|
|
41
|
+
tools: ['Read', 'Write', 'Edit', 'Grep'],
|
|
42
|
+
prompt: 'Tu es un développeur senior. Écris du code propre et maintenable.',
|
|
43
|
+
model: 'opus', // Modèle le plus capable
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
// Agent de test
|
|
47
|
+
tester: {
|
|
48
|
+
description: 'Expert en tests et assurance qualité',
|
|
49
|
+
tools: ['Read', 'Write', 'Bash'],
|
|
50
|
+
prompt: 'Tu es un QA engineer. Écris des tests complets.',
|
|
51
|
+
model: 'haiku', // Modèle rapide pour les tests
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
const { text } = await generateText({
|
|
57
|
+
model,
|
|
58
|
+
prompt: 'Crée un système d\'auth complet avec tests',
|
|
59
|
+
});
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Propriétés d'un Agent
|
|
63
|
+
|
|
64
|
+
### `description` (requis)
|
|
65
|
+
|
|
66
|
+
Description en langage naturel de quand utiliser cet agent. Claude l'utilise pour router les tâches.
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
description: 'Expert at finding bugs and writing comprehensive test suites'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### `tools` (optionnel)
|
|
73
|
+
|
|
74
|
+
Liste des outils autorisés pour cet agent. Si omis, hérite tous les outils du parent.
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
tools: ['Read', 'Write', 'Bash', 'Grep']
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### `disallowedTools` (optionnel)
|
|
81
|
+
|
|
82
|
+
Liste des outils explicitement interdits.
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
disallowedTools: ['Bash(rm:*)', 'Bash(sudo:*)'] // Interdire commandes dangereuses
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### `prompt` (requis)
|
|
89
|
+
|
|
90
|
+
System prompt de l'agent définissant son rôle et comportement.
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
prompt: `Tu es un expert en sécurité. Ton rôle est de :
|
|
94
|
+
- Identifier les vulnérabilités
|
|
95
|
+
- Proposer des solutions sécurisées
|
|
96
|
+
- Suivre les best practices OWASP`
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### `model` (optionnel)
|
|
100
|
+
|
|
101
|
+
Modèle à utiliser pour cet agent. Si omis ou `'inherit'`, utilise le modèle principal.
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
model: 'sonnet' | 'opus' | 'haiku' | 'inherit'
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- **Opus** : Tâches complexes, raisonnement avancé
|
|
108
|
+
- **Sonnet** : Équilibre performance/coût
|
|
109
|
+
- **Haiku** : Tâches simples et rapides
|
|
110
|
+
|
|
111
|
+
### `mcpServers` (optionnel)
|
|
112
|
+
|
|
113
|
+
Serveurs MCP disponibles pour cet agent.
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
mcpServers: ['filesystem', 'github']
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Cas d'usage
|
|
120
|
+
|
|
121
|
+
### 1. Équipe de développement full-stack
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
const model = claudeCode('opus', {
|
|
125
|
+
agents: {
|
|
126
|
+
frontend: {
|
|
127
|
+
description: 'Expert React/TypeScript pour interfaces utilisateur',
|
|
128
|
+
tools: ['Read', 'Write', 'Edit'],
|
|
129
|
+
prompt: 'Tu crées des composants React accessibles et performants.',
|
|
130
|
+
model: 'opus',
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
backend: {
|
|
134
|
+
description: 'Expert Node.js/Express pour APIs REST',
|
|
135
|
+
tools: ['Read', 'Write', 'Edit', 'Bash'],
|
|
136
|
+
prompt: 'Tu construis des APIs sécurisées et scalables.',
|
|
137
|
+
model: 'opus',
|
|
138
|
+
},
|
|
139
|
+
|
|
140
|
+
database: {
|
|
141
|
+
description: 'Expert PostgreSQL pour schémas et requêtes',
|
|
142
|
+
tools: ['Read', 'Write', 'Bash'],
|
|
143
|
+
prompt: 'Tu conçois des schémas de bases de données optimisés.',
|
|
144
|
+
model: 'sonnet',
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 2. Pipeline CI/CD
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
const model = claudeCode('opus', {
|
|
154
|
+
agents: {
|
|
155
|
+
linter: {
|
|
156
|
+
description: 'Analyse statique et style de code',
|
|
157
|
+
tools: ['Read', 'Bash'],
|
|
158
|
+
disallowedTools: ['Write', 'Edit'],
|
|
159
|
+
prompt: 'Tu vérifies la qualité du code selon nos standards.',
|
|
160
|
+
model: 'haiku',
|
|
161
|
+
},
|
|
162
|
+
|
|
163
|
+
tester: {
|
|
164
|
+
description: 'Exécution de tests unitaires et d\'intégration',
|
|
165
|
+
tools: ['Read', 'Bash'],
|
|
166
|
+
prompt: 'Tu exécutes tous les tests et rapportes les résultats.',
|
|
167
|
+
model: 'haiku',
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
deployer: {
|
|
171
|
+
description: 'Déploiement en production',
|
|
172
|
+
tools: ['Read', 'Bash'],
|
|
173
|
+
prompt: 'Tu déploies l\'application de manière sécurisée.',
|
|
174
|
+
model: 'sonnet',
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 3. Équipe de data science
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
const model = claudeCode('opus', {
|
|
184
|
+
agents: {
|
|
185
|
+
analyst: {
|
|
186
|
+
description: 'Analyse exploratoire de données',
|
|
187
|
+
tools: ['Read', 'Bash', 'Skill'],
|
|
188
|
+
prompt: 'Tu explores les données et génères des insights.',
|
|
189
|
+
model: 'opus',
|
|
190
|
+
},
|
|
191
|
+
|
|
192
|
+
modeler: {
|
|
193
|
+
description: 'Entraînement de modèles ML',
|
|
194
|
+
tools: ['Read', 'Write', 'Bash'],
|
|
195
|
+
prompt: 'Tu entraînes et optimises des modèles ML.',
|
|
196
|
+
model: 'opus',
|
|
197
|
+
},
|
|
198
|
+
|
|
199
|
+
visualizer: {
|
|
200
|
+
description: 'Création de visualisations et rapports',
|
|
201
|
+
tools: ['Read', 'Write', 'Skill'],
|
|
202
|
+
prompt: 'Tu crées des graphiques et dashboards clairs.',
|
|
203
|
+
model: 'sonnet',
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Coordination entre agents
|
|
210
|
+
|
|
211
|
+
Les agents communiquent automatiquement via Claude qui orchestre le travail.
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
const prompt = `Crée une application todo complète :
|
|
215
|
+
1. L'agent frontend crée l'interface React
|
|
216
|
+
2. L'agent backend crée l'API REST
|
|
217
|
+
3. L'agent database crée le schéma PostgreSQL
|
|
218
|
+
4. L'agent tester crée les tests E2E
|
|
219
|
+
|
|
220
|
+
Coordonnez-vous pour assurer la cohérence entre les parties.`;
|
|
221
|
+
|
|
222
|
+
const { text } = await generateText({ model, prompt });
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Agent Teams avec Skills
|
|
226
|
+
|
|
227
|
+
Combinez Agent Teams avec Skills pour des capacités encore plus puissantes.
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
const model = claudeCode('opus', {
|
|
231
|
+
settingSources: ['user', 'project'], // Charger Skills
|
|
232
|
+
|
|
233
|
+
agents: {
|
|
234
|
+
researcher: {
|
|
235
|
+
description: 'Recherche avec Skills spécialisées',
|
|
236
|
+
tools: ['Read', 'Skill', 'WebSearch'],
|
|
237
|
+
prompt: 'Utilise les Skills disponibles pour rechercher efficacement.',
|
|
238
|
+
model: 'sonnet',
|
|
239
|
+
},
|
|
240
|
+
|
|
241
|
+
implementer: {
|
|
242
|
+
description: 'Implémentation avec Skills de génération de code',
|
|
243
|
+
tools: ['Read', 'Write', 'Edit', 'Skill'],
|
|
244
|
+
prompt: 'Utilise les Skills pour générer du code de qualité.',
|
|
245
|
+
model: 'opus',
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
|
|
249
|
+
allowedTools: ['Skill', 'Read', 'Write', 'Edit', 'WebSearch'],
|
|
250
|
+
});
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Best Practices
|
|
254
|
+
|
|
255
|
+
### 1. Descriptions claires
|
|
256
|
+
|
|
257
|
+
Utilisez des descriptions spécifiques pour un routage précis.
|
|
258
|
+
|
|
259
|
+
```typescript
|
|
260
|
+
// ❌ Mauvais
|
|
261
|
+
description: 'Fait du code'
|
|
262
|
+
|
|
263
|
+
// ✅ Bon
|
|
264
|
+
description: 'Expert en React hooks et state management avec TypeScript'
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### 2. Sécurité par agent
|
|
268
|
+
|
|
269
|
+
Restreignez les outils dangereux par agent.
|
|
270
|
+
|
|
271
|
+
```typescript
|
|
272
|
+
researcher: {
|
|
273
|
+
disallowedTools: ['Write', 'Edit', 'Bash'], // Lecture seule
|
|
274
|
+
},
|
|
275
|
+
|
|
276
|
+
deployer: {
|
|
277
|
+
disallowedTools: ['Bash(rm:*)', 'Bash(sudo:*)'], // Pas de destruction
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### 3. Optimisation des modèles
|
|
282
|
+
|
|
283
|
+
Choisissez le bon modèle pour chaque tâche.
|
|
284
|
+
|
|
285
|
+
```typescript
|
|
286
|
+
// Tâches simples et répétitives
|
|
287
|
+
simpleAgent: { model: 'haiku' }
|
|
288
|
+
|
|
289
|
+
// Tâches complexes nécessitant raisonnement
|
|
290
|
+
complexAgent: { model: 'opus' }
|
|
291
|
+
|
|
292
|
+
// Équilibre
|
|
293
|
+
balancedAgent: { model: 'sonnet' }
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### 4. Prompts spécialisés
|
|
297
|
+
|
|
298
|
+
Donnez des instructions claires et spécifiques à chaque agent.
|
|
299
|
+
|
|
300
|
+
```typescript
|
|
301
|
+
prompt: `Tu es un expert en sécurité API. Ton rôle est de :
|
|
302
|
+
- Implémenter l'authentification JWT
|
|
303
|
+
- Valider toutes les entrées utilisateur
|
|
304
|
+
- Ajouter rate limiting
|
|
305
|
+
- Suivre les principes OWASP Top 10
|
|
306
|
+
- Ne jamais exposer d'informations sensibles dans les erreurs`
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## Limitations
|
|
310
|
+
|
|
311
|
+
- Les agents ne peuvent pas s'appeler directement entre eux
|
|
312
|
+
- Claude orchestre la coordination
|
|
313
|
+
- Maximum ~10 agents recommandé pour la performance
|
|
314
|
+
- Les agents partagent le même contexte de conversation
|
|
315
|
+
|
|
316
|
+
## Exemple complet
|
|
317
|
+
|
|
318
|
+
Voir [examples/agent-teams.ts](../examples/agent-teams.ts) pour un exemple complet et fonctionnel.
|
|
319
|
+
|
|
320
|
+
## Références
|
|
321
|
+
|
|
322
|
+
- [Guide Skills](/docs/skills)
|
|
323
|
+
- [API Reference](/docs/api)
|
|
324
|
+
- [Claude Opus 4.6 Announcement](https://anthropic.com/news/claude-opus-4-6)
|