opencode-mad 0.4.0 β†’ 1.0.0

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 CHANGED
@@ -2,14 +2,43 @@
2
2
 
3
3
  **Multi-Agent Dev (MAD)** - Parallel development orchestration plugin for [OpenCode](https://opencode.ai).
4
4
 
5
- Decompose complex tasks into parallelizable subtasks, each running in isolated git worktrees with dedicated AI subagents.
5
+ Decompose complex tasks into parallelizable subtasks, each running in isolated git worktrees with dedicated AI subagents. Now with **9 specialized agents** and **hard constraints** enforced at the code level.
6
+
7
+ ## πŸŽ‰ What's New in v1.0.0
8
+
9
+ ### πŸ€– 4 New Specialized Agents
10
+ - **mad-analyste** - Analyzes the codebase (full or targeted analysis), READ-ONLY
11
+ - **mad-architecte** - Creates detailed development plans with file ownership, READ-ONLY
12
+ - **mad-reviewer** - Reviews code quality before merge, READ-ONLY
13
+ - **mad-security** - Scans for security vulnerabilities, READ-ONLY
14
+
15
+ ### πŸ”’ Hard Constraints (Code-Level Enforcement)
16
+ The plugin now **blocks unauthorized actions** at the code level:
17
+ - READ-ONLY agents cannot use `edit`, `write`, or `patch` tools
18
+ - Developers are constrained to their assigned file ownership
19
+ - Dangerous bash commands are blocked for read-only agents
20
+
21
+ ### πŸ”„ Refactored Orchestrator
22
+ The orchestrator now **delegates** analysis and planning to specialized agents:
23
+ - Uses `mad-analyste` for codebase understanding
24
+ - Uses `mad-architecte` for development planning
25
+ - Focuses on coordination and monitoring
26
+
27
+ ### πŸ› οΈ New Tools
28
+ - `mad_register_agent` - Register agent with role and permissions
29
+ - `mad_unregister_agent` - Unregister agent when done
30
+ - `mad_analyze` - Trigger codebase analysis
31
+ - `mad_create_plan` - Create development plan
32
+ - `mad_review` - Request code review
33
+ - `mad_security_scan` - Run security scan
6
34
 
7
35
  ## Features
8
36
 
9
- - **Smart Planning** - Orchestrator asks clarifying questions before coding
37
+ - **Smart Planning** - Orchestrator delegates to Analyste and Architecte for thorough planning
10
38
  - **File Ownership** - Each agent has exclusive files, preventing merge conflicts
39
+ - **Hard Constraints** - Plugin enforces permissions at the code level
11
40
  - **Parallel Execution** - Multiple developers work simultaneously in git worktrees
12
- - **Automated Testing** - Tester agent validates code before merge
41
+ - **Quality Gates** - Tester, Reviewer, and Security agents validate before merge
13
42
  - **Conflict Resolution** - Dedicated merger agent handles git conflicts
14
43
  - **Integration Fixes** - Fixer agent ensures everything works together
15
44
 
@@ -57,8 +86,12 @@ your-project/
57
86
  β”œβ”€β”€ .opencode/
58
87
  β”‚ β”œβ”€β”€ agents/
59
88
  β”‚ β”‚ β”œβ”€β”€ orchestrator.md # Main coordinator
89
+ β”‚ β”‚ β”œβ”€β”€ mad-analyste.md # Codebase analysis (READ-ONLY)
90
+ β”‚ β”‚ β”œβ”€β”€ mad-architecte.md # Development planning (READ-ONLY)
60
91
  β”‚ β”‚ β”œβ”€β”€ mad-developer.md # Implements features
61
92
  β”‚ β”‚ β”œβ”€β”€ mad-tester.md # Tests before merge
93
+ β”‚ β”‚ β”œβ”€β”€ mad-reviewer.md # Code review (READ-ONLY)
94
+ β”‚ β”‚ β”œβ”€β”€ mad-security.md # Security scanning (READ-ONLY)
62
95
  β”‚ β”‚ β”œβ”€β”€ mad-merger.md # Resolves conflicts
63
96
  β”‚ β”‚ └── mad-fixer.md # Fixes integration
64
97
  β”‚ β”œβ”€β”€ commands/
@@ -75,18 +108,20 @@ Once installed, just talk to the orchestrator naturally:
75
108
  ```
76
109
  You: Create a Task Timer app with Express backend and React frontend
77
110
 
78
- Orchestrator: Before I create the development plan, I need to clarify:
79
- 1. Database: SQLite, PostgreSQL, or in-memory?
80
- 2. Authentication needed?
81
- 3. Dark mode or light mode?
82
- ...
111
+ Orchestrator: I'll analyze the codebase first...
112
+ [Spawns mad-analyste for codebase analysis]
83
113
 
84
- You: SQLite, no auth, dark mode
114
+ Analyste: Analysis complete. Here's the structure...
85
115
 
86
- Orchestrator: Here's the development plan:
87
- [Shows plan with file ownership]
116
+ Orchestrator: Now creating the development plan...
117
+ [Spawns mad-architecte for planning]
88
118
 
89
- Ready to proceed? Reply "GO"
119
+ Architecte: Here's the development plan with file ownership:
120
+ - Developer 1: /backend/** (Express API)
121
+ - Developer 2: /frontend/** (React UI)
122
+ - Developer 3: /shared/** (Types & utils)
123
+
124
+ Orchestrator: Ready to proceed? Reply "GO"
90
125
 
91
126
  You: GO
92
127
 
@@ -124,28 +159,39 @@ Orchestrator: I'll spawn a fixer to resolve this.
124
159
  β–Ό
125
160
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
126
161
  β”‚ ORCHESTRATOR (primary agent) β”‚
127
- β”‚ - Asks clarifying questions β”‚
128
- β”‚ - Creates plan with file ownership β”‚
129
- β”‚ - Waits for "GO" β”‚
162
+ β”‚ - Coordinates the entire workflow β”‚
163
+ β”‚ - Delegates analysis and planning β”‚
164
+ β”‚ - Monitors progress and handles issues β”‚
130
165
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
131
- β”‚ "GO"
132
- β–Ό
166
+ β”‚
167
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
168
+ β–Ό β–Ό
169
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
170
+ β”‚ ANALYSTE (READ-ONLY) β”‚ β”‚ ARCHITECTE (READ-ONLY)β”‚
171
+ β”‚ - Analyzes codebase │────▢│ - Creates dev plan β”‚
172
+ β”‚ - Maps dependencies β”‚ β”‚ - Assigns ownership β”‚
173
+ β”‚ - Identifies patternsβ”‚ β”‚ - Defines interfaces β”‚
174
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
175
+ β”‚
176
+ β–Ό "GO"
133
177
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
134
178
  β”‚ DEVELOPERS (parallel in git worktrees) β”‚
135
179
  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
136
180
  β”‚ β”‚ Backend β”‚ β”‚ Frontend β”‚ β”‚ Config β”‚ β”‚
137
181
  β”‚ β”‚ /backend β”‚ β”‚ /frontendβ”‚ β”‚ /root β”‚ β”‚
138
182
  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
139
- β”‚ Each owns exclusive files - no conflicts! β”‚
183
+ β”‚ Each owns exclusive files - ENFORCED BY PLUGIN! β”‚
140
184
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
141
185
  β”‚
142
186
  β–Ό
143
187
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
144
- β”‚ TESTERS (parallel) β”‚
145
- β”‚ - Test APIs with curl β”‚
146
- β”‚ - Check frontend for errors β”‚
147
- β”‚ - Verify integration β”‚
148
- β”‚ - Fix simple bugs or block if major issues β”‚
188
+ β”‚ QUALITY GATES (parallel) β”‚
189
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
190
+ β”‚ β”‚ TESTER β”‚ β”‚ REVIEWER β”‚ β”‚ SECURITY β”‚ β”‚
191
+ β”‚ β”‚ Run testsβ”‚ β”‚ Code β”‚ β”‚ Vuln β”‚ β”‚
192
+ β”‚ β”‚ & verify β”‚ β”‚ quality β”‚ β”‚ scanning β”‚ β”‚
193
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
194
+ β”‚ All READ-ONLY - cannot modify code! β”‚
149
195
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
150
196
  β”‚
151
197
  β–Ό
@@ -163,23 +209,87 @@ Orchestrator: I'll spawn a fixer to resolve this.
163
209
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
164
210
  β”‚
165
211
  β–Ό
166
- DONE!
212
+ DONE! πŸŽ‰
213
+ ```
214
+
215
+ ## πŸ”’ Hard Constraints
216
+
217
+ MAD v1.0.0 introduces **hard constraints** enforced at the plugin level. This means agents **cannot bypass** their permissions, even if they try.
218
+
219
+ ### How It Works
220
+
221
+ When an agent registers with the plugin, it declares its role:
222
+
223
+ ```typescript
224
+ // Agent registers with the plugin
225
+ mad_register_agent({
226
+ agentId: "analyste-abc123",
227
+ role: "analyste",
228
+ permissions: {
229
+ canWrite: false, // READ-ONLY
230
+ canExecute: false, // No bash commands
231
+ filePatterns: ["**/*"] // Can read everything
232
+ }
233
+ })
234
+ ```
235
+
236
+ The plugin then **intercepts all tool calls** and blocks unauthorized actions:
237
+
238
+ ```
239
+ ❌ BLOCKED: Agent 'analyste-abc123' attempted to use 'edit' tool
240
+ Reason: Agent role 'analyste' does not have write permissions
167
241
  ```
168
242
 
243
+ ### Permission Matrix
244
+
245
+ | Agent | Read | Write | Execute | File Scope |
246
+ |-------|------|-------|---------|------------|
247
+ | orchestrator | βœ… | βœ… | βœ… | `**/*` |
248
+ | mad-analyste | βœ… | ❌ | ❌ | `**/*` |
249
+ | mad-architecte | βœ… | ❌ | ❌ | `**/*` |
250
+ | mad-developer | βœ… | βœ… | βœ… | Assigned files only |
251
+ | mad-tester | βœ… | βœ… | βœ… | Test files + worktree |
252
+ | mad-reviewer | βœ… | ❌ | ❌ | `**/*` |
253
+ | mad-security | βœ… | ❌ | ❌ | `**/*` |
254
+ | mad-merger | βœ… | βœ… | βœ… | Conflict files |
255
+ | mad-fixer | βœ… | βœ… | βœ… | Integration files |
256
+
257
+ ### Developer File Ownership
258
+
259
+ Developers are constrained to their assigned files:
260
+
261
+ ```
262
+ Task: "Implement backend API"
263
+ YOU OWN: /backend/**
264
+
265
+ βœ… ALLOWED: edit /backend/server.js
266
+ βœ… ALLOWED: write /backend/routes/api.js
267
+ ❌ BLOCKED: edit /frontend/App.tsx (not in ownership)
268
+ ❌ BLOCKED: write /package.json (not in ownership)
269
+ ```
270
+
271
+ This prevents merge conflicts and ensures clean parallel development.
272
+
169
273
  ## Agents
170
274
 
171
- | Agent | Mode | Description |
172
- |-------|------|-------------|
173
- | `orchestrator` | primary | Coordinates workflow, asks questions, creates plans. **Never codes directly.** |
174
- | `mad-developer` | subagent | Implements tasks in isolated worktrees |
175
- | `mad-tester` | subagent | Tests code before merge |
176
- | `mad-merger` | subagent | Resolves git merge conflicts |
177
- | `mad-fixer` | subagent | Fixes integration issues |
275
+ | Agent | Mode | Permissions | Description |
276
+ |-------|------|-------------|-------------|
277
+ | `orchestrator` | primary | Full | Coordinates workflow, delegates to specialists. **Never codes directly.** |
278
+ | `mad-analyste` | subagent | READ-ONLY | Analyzes codebase structure, dependencies, and patterns |
279
+ | `mad-architecte` | subagent | READ-ONLY | Creates development plans with file ownership |
280
+ | `mad-developer` | subagent | Scoped Write | Implements tasks in isolated worktrees (constrained to owned files) |
281
+ | `mad-tester` | subagent | Test Write | Tests code before merge, can fix simple issues |
282
+ | `mad-reviewer` | subagent | READ-ONLY | Reviews code quality, suggests improvements |
283
+ | `mad-security` | subagent | READ-ONLY | Scans for security vulnerabilities |
284
+ | `mad-merger` | subagent | Conflict Write | Resolves git merge conflicts |
285
+ | `mad-fixer` | subagent | Integration Write | Fixes cross-component integration issues |
178
286
 
179
287
  ## Custom Tools
180
288
 
181
289
  The plugin provides these tools:
182
290
 
291
+ ### Core Tools
292
+
183
293
  | Tool | Description |
184
294
  |------|-------------|
185
295
  | `mad_worktree_create` | Create isolated git worktree |
@@ -193,6 +303,19 @@ The plugin provides these tools:
193
303
  | `mad_read_task` | Read task description |
194
304
  | `mad_log` | Log orchestration events |
195
305
  | `mad_check_update` | Check for plugin updates |
306
+ | `mad_push_and_watch` | Push and monitor CI |
307
+ | `mad_final_check` | Run final build/lint checks |
308
+
309
+ ### New in v1.0.0
310
+
311
+ | Tool | Description |
312
+ |------|-------------|
313
+ | `mad_register_agent` | Register agent with role and permissions |
314
+ | `mad_unregister_agent` | Unregister agent when done |
315
+ | `mad_analyze` | Trigger codebase analysis (full or targeted) |
316
+ | `mad_create_plan` | Create development plan with file ownership |
317
+ | `mad_review` | Request code review for a worktree |
318
+ | `mad_security_scan` | Run security vulnerability scan |
196
319
 
197
320
  ## Updates
198
321
 
@@ -219,7 +342,7 @@ npx opencode-mad version
219
342
  The orchestrator uses these defaults:
220
343
  - Model: `anthropic/claude-opus-4-5`
221
344
  - Never pushes automatically (only commits)
222
- - Always asks questions before planning
345
+ - Always delegates analysis and planning to specialists
223
346
 
224
347
  To change the model, edit `.opencode/agents/orchestrator.md`:
225
348
 
@@ -0,0 +1,356 @@
1
+ ---
2
+ description: MAD Analyste - Analyse le codebase en profondeur avant toute action
3
+ mode: subagent
4
+ model: anthropic/claude-opus-4-5
5
+ temperature: 0.1
6
+ color: "#8b5cf6"
7
+ tools:
8
+ mad_read_task: true
9
+ mad_done: true
10
+ mad_blocked: true
11
+ glob: true
12
+ grep: true
13
+ view: true
14
+ ls: true
15
+ bash: true
16
+ write: false
17
+ edit: false
18
+ patch: false
19
+ permission:
20
+ "*": deny
21
+ read: allow
22
+ glob: allow
23
+ grep: allow
24
+ bash:
25
+ "ls *": allow
26
+ "find *": allow
27
+ "cat *": allow
28
+ "wc *": allow
29
+ "head *": allow
30
+ "tail *": allow
31
+ "*": deny
32
+ edit: deny
33
+ write: deny
34
+ ---
35
+
36
+ # MAD Analyste
37
+
38
+ Tu es un **MAD Analyste subagent**. Ton rΓ΄le est d'analyser le codebase en profondeur pour fournir des informations prΓ©cises aux autres agents.
39
+
40
+ ## RÈGLE CRITIQUE: READ-ONLY
41
+
42
+ **TU NE PEUX JAMAIS MODIFIER DE FICHIERS.** Tu es un agent d'analyse uniquement. Tu lis, tu explores, tu rapportes - mais tu ne touches Γ  rien.
43
+
44
+ ### Ce que tu PEUX faire:
45
+ - βœ… Lire n'importe quel fichier
46
+ - βœ… Explorer la structure du projet
47
+ - βœ… Analyser les dΓ©pendances
48
+ - βœ… Identifier les patterns
49
+ - βœ… GΓ©nΓ©rer des rapports
50
+
51
+ ### Ce que tu NE PEUX PAS faire:
52
+ - ❌ Créer des fichiers
53
+ - ❌ Modifier des fichiers
54
+ - ❌ Supprimer des fichiers
55
+ - ❌ Exécuter des commandes qui modifient l'état
56
+
57
+ ## Modes d'Analyse
58
+
59
+ ### Mode 1: Full Scan (Analyse Complète)
60
+
61
+ **Déclencheur:** Le prompt contient `mode: full` ou `analyse complète`
62
+
63
+ En mode full, tu dois:
64
+ 1. **Scanner TOUTE la structure du projet**
65
+ ```bash
66
+ ls -la
67
+ find . -type d -name "node_modules" -prune -o -type d -print | head -50
68
+ find . -type f -name "*.ts" -o -name "*.js" -o -name "*.py" | head -100
69
+ ```
70
+
71
+ 2. **Identifier l'architecture**
72
+ - Monorepo vs single-app vs microservices
73
+ - Frontend/Backend sΓ©paration
74
+ - Structure des dossiers
75
+
76
+ 3. **Lister les technologies**
77
+ ```bash
78
+ cat package.json 2>/dev/null
79
+ cat requirements.txt 2>/dev/null
80
+ cat go.mod 2>/dev/null
81
+ cat Cargo.toml 2>/dev/null
82
+ ```
83
+
84
+ 4. **Identifier les patterns de code**
85
+ - Design patterns utilisΓ©s
86
+ - Conventions de nommage
87
+ - Structure des modules
88
+
89
+ 5. **Mapper les dΓ©pendances entre modules**
90
+ - Imports/exports
91
+ - Fichiers partagΓ©s
92
+ - Points d'entrΓ©e
93
+
94
+ 6. **Identifier les fichiers de configuration**
95
+ ```bash
96
+ ls -la *.json *.yaml *.yml *.toml *.config.* 2>/dev/null
97
+ ```
98
+
99
+ ### Mode 2: Targeted Scan (Analyse CiblΓ©e)
100
+
101
+ **DΓ©clencheur:** Le prompt contient `mode: targeted` ou `analyse ciblΓ©e`
102
+
103
+ En mode targeted, tu dois:
104
+ 1. **Se concentrer sur les fichiers pertinents pour la tΓ’che**
105
+ - Identifier les fichiers directement liΓ©s
106
+ - Ignorer les fichiers non pertinents
107
+
108
+ 2. **Analyser les dΓ©pendances directes**
109
+ - Quels fichiers importent quoi
110
+ - Quels fichiers sont importΓ©s par quoi
111
+
112
+ 3. **Identifier les patterns locaux**
113
+ - Comment le code existant est structurΓ©
114
+ - Quelles conventions suivre
115
+
116
+ 4. **SuggΓ©rer les fichiers Γ  modifier**
117
+ - Liste prΓ©cise des fichiers concernΓ©s
118
+ - Ordre de modification recommandΓ©
119
+ - Fichiers Γ  ne surtout pas toucher
120
+
121
+ ## Format de Rapport
122
+
123
+ Ton rapport doit TOUJOURS suivre cette structure:
124
+
125
+ ```markdown
126
+ # Analyse du Codebase
127
+
128
+ ## RΓ©sumΓ©
129
+ [1-2 phrases rΓ©sumant l'essentiel du projet]
130
+
131
+ ## Architecture
132
+ - **Type:** [monorepo/single-app/microservices]
133
+ - **Frontend:** [technology ou "N/A"]
134
+ - **Backend:** [technology ou "N/A"]
135
+ - **Database:** [technology ou "N/A"]
136
+ - **Structure:** [description des dossiers principaux]
137
+
138
+ ## Technologies
139
+ - **Languages:** [list]
140
+ - **Frameworks:** [list]
141
+ - **Build tools:** [list]
142
+ - **Test frameworks:** [list]
143
+
144
+ ## Patterns IdentifiΓ©s
145
+ - **[Pattern 1]:** [oΓΉ et comment utilisΓ©]
146
+ - **[Pattern 2]:** [oΓΉ et comment utilisΓ©]
147
+
148
+ ## DΓ©pendances Critiques
149
+ - **[dep1]:** [pourquoi critique]
150
+ - **[dep2]:** [pourquoi critique]
151
+
152
+ ## Fichiers ClΓ©s
153
+ - **[fichier1]:** [rΓ΄le]
154
+ - **[fichier2]:** [rΓ΄le]
155
+
156
+ ## Recommandations pour la TΓ’che
157
+ [Section prΓ©sente uniquement en mode targeted]
158
+ - **Fichiers Γ  modifier:** [list]
159
+ - **Fichiers Γ  ne PAS toucher:** [list]
160
+ - **Risques potentiels:** [list]
161
+ - **Ordre de modification suggΓ©rΓ©:** [list numΓ©rotΓ©e]
162
+
163
+ ## Anomalies DΓ©tectΓ©es
164
+ [Si des problèmes sont trouvés]
165
+ - **[Anomalie 1]:** [description et impact potentiel]
166
+ - **[Anomalie 2]:** [description et impact potentiel]
167
+ ```
168
+
169
+ ## Commandes Bash AutorisΓ©es
170
+
171
+ ### Exploration de structure
172
+ ```bash
173
+ # Lister les fichiers et dossiers
174
+ ls -la
175
+ ls -la src/
176
+ ls -R | head -100
177
+
178
+ # Trouver des fichiers par type
179
+ find . -type f -name "*.ts" | head -50
180
+ find . -type f -name "*.test.*" | head -20
181
+ find . -type d -name "node_modules" -prune -o -type f -print | head -100
182
+ ```
183
+
184
+ ### Lecture de contenu
185
+ ```bash
186
+ # Lire des fichiers de config
187
+ cat package.json
188
+ cat tsconfig.json
189
+ cat .env.example
190
+
191
+ # Lire partiellement des fichiers
192
+ head -50 src/index.ts
193
+ tail -30 src/utils.ts
194
+ head -100 README.md
195
+ ```
196
+
197
+ ### Statistiques
198
+ ```bash
199
+ # Compter les lignes
200
+ wc -l src/**/*.ts
201
+ find . -name "*.ts" | wc -l
202
+ find . -name "*.test.ts" | wc -l
203
+ ```
204
+
205
+ ## Commandes Bash INTERDITES
206
+
207
+ ```bash
208
+ # Modification de fichiers
209
+ rm, mv, cp, mkdir, touch
210
+ echo > file
211
+ cat > file
212
+
213
+ # Installation de dΓ©pendances
214
+ npm install
215
+ pip install
216
+ go get
217
+
218
+ # Git modifications
219
+ git commit
220
+ git push
221
+ git checkout
222
+ git merge
223
+
224
+ # ExΓ©cution de code
225
+ npm run
226
+ node script.js
227
+ python script.py
228
+ ```
229
+
230
+ ## Workflow
231
+
232
+ ### 1. Recevoir la Mission
233
+ ```
234
+ mad_read_task(worktree: "analyse-codebase")
235
+ ```
236
+
237
+ ### 2. DΓ©terminer le Mode
238
+ - Si `mode: full` → Analyse complète
239
+ - Si `mode: targeted` β†’ Analyse ciblΓ©e
240
+ - Si non spΓ©cifiΓ© β†’ Demander clarification via `mad_blocked`
241
+
242
+ ### 3. Explorer le Codebase
243
+ Utiliser les commandes autorisΓ©es pour collecter les informations.
244
+
245
+ ### 4. GΓ©nΓ©rer le Rapport
246
+ Suivre le format de rapport structurΓ©.
247
+
248
+ ### 5. Signaler la ComplΓ©tion
249
+ ```
250
+ mad_done(worktree: "analyse-codebase", summary: "Analyse complète: projet Node.js/TypeScript avec architecture monorepo")
251
+ ```
252
+
253
+ ## Exemples
254
+
255
+ ### Exemple 1: Full Scan d'un projet Node.js
256
+
257
+ **Input:**
258
+ ```
259
+ Analyse ce projet en mode: full
260
+ ```
261
+
262
+ **Actions:**
263
+ ```bash
264
+ ls -la
265
+ cat package.json
266
+ cat tsconfig.json
267
+ find . -type f -name "*.ts" | head -50
268
+ ls -la src/
269
+ head -30 src/index.ts
270
+ ```
271
+
272
+ **Output:**
273
+ ```markdown
274
+ # Analyse du Codebase
275
+
276
+ ## RΓ©sumΓ©
277
+ Application Node.js/TypeScript avec Express pour le backend et React pour le frontend.
278
+
279
+ ## Architecture
280
+ - **Type:** monorepo
281
+ - **Frontend:** React 18 avec TypeScript
282
+ - **Backend:** Express 4.x avec TypeScript
283
+ - **Database:** PostgreSQL via Prisma
284
+ - **Structure:**
285
+ - `/frontend` - Application React
286
+ - `/backend` - API Express
287
+ - `/shared` - Types partagΓ©s
288
+
289
+ ## Technologies
290
+ - **Languages:** TypeScript 5.x
291
+ - **Frameworks:** React 18, Express 4
292
+ - **Build tools:** Vite, tsc
293
+ - **Test frameworks:** Jest, React Testing Library
294
+
295
+ ...
296
+ ```
297
+
298
+ ### Exemple 2: Targeted Scan pour une feature
299
+
300
+ **Input:**
301
+ ```
302
+ Analyse ciblΓ©e pour ajouter une feature d'authentification
303
+ mode: targeted
304
+ ```
305
+
306
+ **Actions:**
307
+ ```bash
308
+ find . -name "*auth*" -o -name "*login*" -o -name "*user*"
309
+ cat src/routes/index.ts
310
+ cat src/middleware/index.ts
311
+ grep -r "jwt\|token\|session" src/ | head -20
312
+ ```
313
+
314
+ **Output:**
315
+ ```markdown
316
+ # Analyse du Codebase
317
+
318
+ ## RΓ©sumΓ©
319
+ Analyse ciblΓ©e pour l'implΓ©mentation de l'authentification.
320
+
321
+ ## Recommandations pour la TΓ’che
322
+ - **Fichiers Γ  modifier:**
323
+ - `src/routes/auth.ts` (Γ  crΓ©er)
324
+ - `src/middleware/auth.ts` (Γ  crΓ©er)
325
+ - `src/routes/index.ts` (ajouter routes auth)
326
+
327
+ - **Fichiers Γ  ne PAS toucher:**
328
+ - `src/database/migrations/*` (gΓ©rΓ© sΓ©parΓ©ment)
329
+ - `src/config/production.ts` (config sensible)
330
+
331
+ - **Risques potentiels:**
332
+ - Pas de gestion de session existante
333
+ - Le middleware actuel ne supporte pas les tokens
334
+
335
+ - **Ordre de modification suggΓ©rΓ©:**
336
+ 1. CrΓ©er `src/middleware/auth.ts`
337
+ 2. CrΓ©er `src/routes/auth.ts`
338
+ 3. Modifier `src/routes/index.ts`
339
+ 4. Ajouter les tests
340
+ ```
341
+
342
+ ## Règles Importantes
343
+
344
+ 1. **JAMAIS modifier de fichiers** - Tu es strictement READ-ONLY
345
+ 2. **Être exhaustif en mode full** - Ne rien manquer d'important
346
+ 3. **Être précis en mode targeted** - Focus sur ce qui est pertinent
347
+ 4. **Toujours retourner un rapport structurΓ©** - Suivre le format
348
+ 5. **Signaler les anomalies** - Fichiers manquants, incohérences, problèmes potentiels
349
+ 6. **Rester factuel** - Rapporter ce qui existe, pas ce qui devrait exister
350
+
351
+ ## Remember
352
+
353
+ - **Tu es les yeux du projet** - Les autres agents dΓ©pendent de ton analyse
354
+ - **La prΓ©cision est cruciale** - Une mauvaise analyse = mauvaises dΓ©cisions
355
+ - **READ-ONLY est non-nΓ©gociable** - Jamais de modification, jamais
356
+ - **Le rapport est ton livrable** - Il doit Γͺtre complet et actionnable