palabre 0.1.5 → 0.2.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
@@ -1,48 +1,106 @@
1
- # PALABRE
2
-
3
- <p>
4
- <a href="https://www.npmjs.com/package/palabre"><img src="https://img.shields.io/npm/v/palabre.svg?style=flat&colorA=18181B&colorB=7C3AED" alt="Version"></a>
5
- <a href="https://www.npmjs.com/package/palabre"><img src="https://img.shields.io/npm/dm/palabre.svg?style=flat&colorA=18181B&colorB=7C3AED" alt="Downloads"></a>
6
- <a href="https://github.com/JuReyms/Palabre/blob/main/LICENSE"><img src="https://img.shields.io/github/license/JuReyms/Palabre.svg?style=flat&colorA=18181B&colorB=7C3AED" alt="License"></a>
7
- <a href="https://palab.re"><img src="https://img.shields.io/badge/palab.re-18181B?logo=netlify&logoColor=7C3AED" alt="Website"></a>
8
- </p>
9
-
10
- PALABRE est un orchestrateur de debat entre agents IA installes localement : CLIs comme Codex, Claude ou OpenCode, et modeles locaux exposes par Ollama.
11
-
12
- L'objectif du projet est de permettre a un utilisateur deja a l'aise avec le terminal de faire dialoguer plusieurs assistants sur un sujet technique, sans imposer une API payante au jeton. PALABRE pilote les outils deja configures sur la machine et exporte la session en Markdown.
13
-
14
- ## Etat actuel
15
-
16
- Le projet contient un premier MVP technique :
17
-
18
- - CLI Node.js/TypeScript avec `pnpm`.
19
- - Configuration JSON des agents.
20
- - Adapter CLI minimal via `child_process`.
21
- - Adapter Ollama via HTTP local.
22
- - Orchestration ping-pong avec limite de tours.
23
- - Arret anticipe si les agents expriment clairement un accord complet.
24
- - Injection explicite de fichiers texte via `--files`.
25
- - Selection bornee de contexte projet via `--context`.
26
- - Contexte de session explicite dans tous les prompts : date locale, fuseau horaire et dossier courant.
27
- - Rendu console pretty, avec fallback `--plain`.
28
- - Etat vivant pendant qu'un agent genere sa reponse.
29
- - Assistant interactif `palabre new` pour composer un debat pas a pas.
30
- - Export `.debate.md`.
31
-
32
- Le preset CLI actuel vise les modes non interactifs : `codex exec` et `claude --print`. Le prochain gros chantier reste l'adapter PTY robuste pour les vraies sessions interactives.
33
-
34
- ## Prerequis
35
-
36
- - Node.js 20 ou plus.
37
- - pnpm 10.
38
- - Pour les agents CLI : les commandes visees doivent deja etre installees et authentifiees, par exemple `codex` ou `claude`.
39
- - Gemini CLI est aussi supporte en mode batch si `gemini` est installe et authentifie.
40
- - OpenCode est supporte en mode batch si `opencode` est installe et authentifie.
41
- - Pour Ollama : Ollama doit tourner localement, par defaut sur `http://localhost:11434`, avec le modele configure deja disponible.
42
-
43
- ## Installation
44
-
45
- Quand le package npm est publie :
1
+ # PALABRE
2
+
3
+ <p>
4
+ <a href="https://www.npmjs.com/package/palabre"><img src="https://img.shields.io/npm/v/palabre.svg?style=flat&colorA=18181B&colorB=7C3AED" alt="Version"></a>
5
+ <a href="https://www.npmjs.com/package/palabre"><img src="https://img.shields.io/npm/dm/palabre.svg?style=flat&colorA=18181B&colorB=7C3AED" alt="Downloads"></a>
6
+ <a href="https://github.com/JuReyms/Palabre/blob/main/LICENSE"><img src="https://img.shields.io/github/license/JuReyms/Palabre.svg?style=flat&colorA=18181B&colorB=7C3AED" alt="License"></a>
7
+ <a href="https://palab.re"><img src="https://img.shields.io/badge/docs-palab.re-18181B?logo=netlify&logoColor=7C3AED" alt="Documentation"></a>
8
+ </p>
9
+
10
+ ![PALABRE](docs/assets/palabre-logo-text-og.png)
11
+
12
+ [Français](#français) | [English](#english)
13
+
14
+ ## Français
15
+
16
+ PALABRE est un orchestrateur CLI qui fait dialoguer plusieurs agents IA installés sur votre machine : Claude Code, Codex CLI, Gemini CLI, OpenCode et Ollama.
17
+
18
+ Il ne remplace pas vos outils : il les pilote. Vous gardez vos abonnements, vos modèles par défaut, vos habitudes de terminal et vos fichiers en local. PALABRE exporte ensuite le débat en Markdown.
19
+
20
+ ### Documentation
21
+
22
+ - https://palab.re
23
+ - https://palabre.netlify.app
24
+
25
+ Pages utiles : [Installation](https://palab.re/fr/get-started/installation), [Configuration](https://palab.re/fr/get-started/configuration), [Premier débat](https://palab.re/fr/get-started/first-debate), [Référence CLI](https://palab.re/fr/reference/cli), [Dépannage](https://palab.re/fr/troubleshooting), [Roadmap](https://palab.re/fr/roadmap).
26
+
27
+ ### Installation
28
+
29
+ Prérequis : Node.js 20 ou plus, et au moins deux agents déjà installés/authentifiés si vous voulez les faire débattre.
30
+
31
+ ```bash
32
+ npm install -g palabre
33
+ palabre --version
34
+ palabre --help
35
+ ```
36
+
37
+ ### Démarrage rapide
38
+
39
+ ```bash
40
+ palabre init
41
+ palabre doctor
42
+ palabre new
43
+ ```
44
+
45
+ Exemples directs :
46
+
47
+ ```bash
48
+ palabre codex-claude "Critique ce plan" -t 4
49
+ palabre -s "Compare ces deux approches" -t 2
50
+ palabre codex-claude "Relis cette architecture" --context src docs
51
+ palabre claude-ollama "Critique ce fichier" --files README.md
52
+ palabre codex-claude "Preview" --context src --show-prompt
53
+ ```
54
+
55
+ ### Agents supportés
56
+
57
+ - Claude Code via `claude --print`
58
+ - Codex CLI via `codex exec`
59
+ - Gemini CLI via `gemini --prompt -`
60
+ - OpenCode via `opencode run`
61
+ - Ollama via l'API locale HTTP
62
+
63
+ PALABRE ne liste pas les modèles : ils changent souvent et dépendent de chaque CLI ou compte utilisateur. `--model-a`, `--model-b` et `--summary-model` transmettent simplement la valeur brute à l'agent concerné.
64
+
65
+ ### Confidentialité
66
+
67
+ PALABRE tourne localement et n'envoie aucune donnée à un serveur appartenant à PALABRE. Les données envoyées aux agents dépendent des outils que vous utilisez : vérifiez les politiques de confidentialité de Claude Code, Codex CLI, Gemini CLI, OpenCode, Ollama ou de tout autre agent configuré.
68
+
69
+ ### Développement local
70
+
71
+ ```bash
72
+ git clone https://github.com/JuReyms/Palabre.git
73
+ cd Palabre
74
+ pnpm install
75
+ pnpm build
76
+ pnpm link --global
77
+ palabre --version
78
+ ```
79
+
80
+ Commandes utiles : `pnpm check`, `pnpm test`, `pnpm build`.
81
+
82
+ Roadmap publique : [docs/guide/fr/roadmap.md](./docs/guide/fr/roadmap.md). Guide agents/contributeurs : [AGENTS.md](./AGENTS.md).
83
+
84
+ ### Licence
85
+
86
+ MIT. Voir [LICENSE](./LICENSE).
87
+
88
+ ## English
89
+
90
+ PALABRE is a CLI orchestrator that lets multiple AI agents installed on your machine talk to each other: Claude Code, Codex CLI, Gemini CLI, OpenCode, and Ollama.
91
+
92
+ It does not replace your tools: it drives them. You keep your subscriptions, default models, terminal habits, and local files. PALABRE then exports the debate as Markdown.
93
+
94
+ ### Documentation
95
+
96
+ - https://palab.re
97
+ - https://palabre.netlify.app
98
+
99
+ Useful pages: [Installation](https://palab.re/fr/get-started/installation), [Configuration](https://palab.re/fr/get-started/configuration), [First debate](https://palab.re/fr/get-started/first-debate), [CLI reference](https://palab.re/fr/reference/cli), [Troubleshooting](https://palab.re/fr/troubleshooting), [Roadmap](https://palab.re/fr/roadmap).
100
+
101
+ ### Installation
102
+
103
+ Requirements: Node.js 20 or newer, and at least two already installed/authenticated agents if you want them to debate.
46
104
 
47
105
  ```bash
48
106
  npm install -g palabre
@@ -50,327 +108,53 @@ palabre --version
50
108
  palabre --help
51
109
  ```
52
110
 
53
- Pour tester depuis le depot source :
111
+ ### Quick Start
112
+
113
+ ```bash
114
+ palabre init
115
+ palabre doctor
116
+ palabre new
117
+ ```
118
+
119
+ Direct examples:
54
120
 
55
121
  ```bash
122
+ palabre codex-claude "Review this plan" -t 4
123
+ palabre -s "Compare these two approaches" -t 2
124
+ palabre codex-claude "Review this architecture" --context src docs
125
+ palabre claude-ollama "Review this file" --files README.md
126
+ palabre codex-claude "Preview" --context src --show-prompt
127
+ ```
128
+
129
+ ### Supported Agents
130
+
131
+ - Claude Code via `claude --print`
132
+ - Codex CLI via `codex exec`
133
+ - Gemini CLI via `gemini --prompt -`
134
+ - OpenCode via `opencode run`
135
+ - Ollama via the local HTTP API
136
+
137
+ PALABRE does not list models: they change often and depend on each CLI or user account. `--model-a`, `--model-b`, and `--summary-model` simply pass the raw value to the selected agent.
138
+
139
+ ### Privacy
140
+
141
+ PALABRE runs locally and does not send data to a PALABRE-owned server. Data sent to agents depends on the tools you use: check the privacy policies of Claude Code, Codex CLI, Gemini CLI, OpenCode, Ollama, or any custom agent you configure.
142
+
143
+ ### Local Development
144
+
145
+ ```bash
146
+ git clone https://github.com/JuReyms/Palabre.git
147
+ cd Palabre
56
148
  pnpm install
57
149
  pnpm build
58
150
  pnpm link --global
59
151
  palabre --version
60
- ```
61
-
62
- ## Configuration
63
-
64
- ```bash
65
- palabre init
66
- ```
67
-
68
- Cette commande cree par defaut une config globale dans `~/.palabre/palabre.config.json`. Pendant l'init, Palabre detecte `codex`, `claude`, `gemini`, `opencode` et l'API locale Ollama, puis choisit une paire par defaut detectee quand c'est possible. Le fichier d'exemple versionne est [palabre.config.example.json](./palabre.config.example.json).
69
-
70
- Resolution de config : `./palabre.config.json` est prioritaire quand il existe dans le dossier courant, puis `./chicane.config.json` en fallback legacy, puis `~/.palabre/palabre.config.json`, puis `~/.palabre/chicane.config.json`. Pour creer une config locale volontairement : `palabre init --local`.
71
-
72
- Pour verifier l'installation sans lancer de debat :
73
-
74
- ```bash
75
- palabre doctor
76
- ```
77
-
78
- Pour composer un premier debat pas a pas, avec les agents detectes et une commande equivalente affichee avant le lancement :
79
-
80
- ```bash
81
- palabre new
82
- ```
83
-
84
- Extrait de configuration :
85
-
86
- ```json
87
- {
88
- "defaults": {
89
- "agentA": "codex",
90
- "agentB": "claude",
91
- "summaryAgent": "claude",
92
- "turns": 4
93
- },
94
- "agents": {
95
- "codex": {
96
- "type": "cli",
97
- "command": "codex",
98
- "args": ["exec", "--skip-git-repo-check", "--color", "never", "--sandbox", "read-only", "-"],
99
- "role": "implementer"
100
- },
101
- "ollama-local": {
102
- "type": "ollama",
103
- "baseUrl": "http://localhost:11434",
104
- "model": "nemotron-3-nano:4b",
105
- "role": "critic",
106
- "validateModel": true,
107
- "unloadOtherModels": true
108
- }
109
- }
110
- }
111
- ```
112
-
113
- ## Agents et roles
114
-
115
- Palabre se base sur des adapters :
116
-
117
- - `cli` : lance une commande locale, injecte le prompt, capture la sortie.
118
- - `ollama` : appelle l'API HTTP locale d'Ollama.
119
-
120
- Les presets CLI fournis utilisent les modes batch quand ils existent :
121
-
122
- - Codex : `codex exec ... -`, prompt via `stdin`.
123
- - Claude : `claude --print`, prompt via `stdin`.
124
- - Gemini : `gemini --prompt -`, prompt via `stdin`.
125
- - OpenCode : `opencode run`, prompt via `stdin`.
126
-
127
- Sur Windows, les wrappers npm comme `codex`, `gemini` et `opencode` peuvent necessiter `"shell": true` dans la config agent. Claude fonctionne mieux via `claude.exe` avec `"shell": false`.
128
-
129
- Les roles documentent l'intention de l'agent dans le debat et ajoutent une consigne de role dans chaque prompt :
130
-
131
- - `implementer` : propose une solution concrete.
132
- - `reviewer` ou `critic` : cherche les risques, angles morts et contradictions.
133
- - `architect` : arbitre ou structure une direction technique.
134
- - `scout` : explore rapidement un sujet.
135
- - `summarizer` : produit une synthese.
136
-
137
- Ollama est pense par defaut comme `critic`, `scout` ou `summarizer`, car les machines utilisateur font souvent tourner des modeles modestes. Un utilisateur peut quand meme le promouvoir en agent principal dans sa config.
138
-
139
- ## Lancer un debat
140
-
141
- Mode guide :
142
-
143
- ```bash
144
- palabre new
145
- ```
146
-
147
- Mode direct :
148
-
149
- ```bash
150
- palabre run --subject "Refacto de l'auth Nuxt" --agent-a codex --agent-b claude --turns 4
151
- ```
152
-
153
- Autres exemples :
154
-
155
- ```bash
156
- palabre run --subject "Comparer deux strategies de cache" --agent-a claude --agent-b codex
157
- palabre run --subject "Critique rapide du plan de migration" --agent-a codex --agent-b ollama-local --turns 2
158
- ```
159
-
160
- Presets disponibles :
161
-
162
- ```bash
163
- palabre run --preset codex-claude --subject "Debattez du prochain jalon"
164
- palabre run --preset claude-ollama --subject "Critique le MVP batch"
165
- palabre run --preset gemini-ollama --subject "Gemini est-il un bon reviewer ?"
166
- palabre run --preset claude-opencode --subject "OpenCode comme reviewer ?"
167
- ```
168
-
169
- Syntaxe courte equivalente :
170
-
171
- ```bash
172
- palabre claude-gemini "quel jour sommes nous ?" -t 4
173
- palabre -s "Critique rapide du MVP" -t 2
174
- ```
175
-
176
- `--subject` est le nom long recommande pour le sujet. `-s` est son alias court, et `--topic` reste accepte pour compatibilite.
177
-
178
- Un preset choisit seulement les deux agents. Il ne change pas les modeles par defaut configures dans les CLIs. Pour demander un modele explicitement, Palabre transmet la string brute sans valider ni lister les modeles :
179
-
180
- ```bash
181
- palabre run --preset codex-claude --model-a 5.5 --model-b opus --subject "Compare les approches"
182
- palabre run --preset codex-ollama --model-b gemma4:e4b --subject "Critique locale plus profonde"
183
- ```
184
-
185
- Pour Ollama, Palabre valide par defaut que le modele est installe localement. Il ne telecharge rien sans accord explicite. Pour autoriser un telechargement Ollama si le modele manque :
186
-
187
- ```bash
188
- palabre run --preset codex-ollama --model-b nemotron-3-nano:4b --pull-models --subject "Critique locale"
189
- ```
190
-
191
- Equivalent dans la config agent :
192
-
193
- ```json
194
- {
195
- "type": "ollama",
196
- "model": "nemotron-3-nano:4b",
197
- "autoPullModel": true
198
- }
199
- ```
200
-
201
- Pour inspecter le prompt du premier tour sans appeler d'agent :
202
-
203
- ```bash
204
- palabre run --preset codex-claude --subject "Preview" --context src docs --show-prompt
205
- ```
206
-
207
- Pour mettre a jour une installation locale :
208
-
209
- ```bash
210
- palabre update
211
- palabre update --apply
212
- ```
213
-
214
- `palabre update` affiche les etapes adaptees. `--apply` les execute seulement si Palabre est installe depuis un checkout git.
215
-
216
- Par defaut, Palabre produit une synthese finale avec `defaults.summaryAgent` si ce champ est configure, sinon avec l'agent B. Tu peux choisir un autre agent, un modele specifique, ou desactiver la synthese :
217
-
218
- ```bash
219
- palabre run --preset codex-claude --subject "Critique le MVP" --summary-agent claude
220
- palabre run --preset codex-claude --subject "Critique le MVP" --summary-agent ollama-local --summary-model nemotron-3-nano:4b
221
- palabre run --preset codex-claude --subject "Critique le MVP" --no-summary
222
- ```
223
-
224
- Le rendu console est un premier TUI leger : en-tete, separateurs, tours, synthese lisible et etat "agent en cours" pendant les generations longues. Pour revenir au rendu brut :
225
-
226
- ```bash
227
- palabre run --preset codex-claude --subject "Critique le MVP" --plain
228
- ```
229
-
230
- Les couleurs sont automatiquement desactivees si `NO_COLOR` est defini.
231
-
232
- La session genere un fichier `.debate.md` dans le dossier configure par `outputDir`. L'en-tete de l'export est rendu en table Markdown pour rester lisible dans les renderers courants.
233
-
234
- `--turns` est une limite haute entre 1 et 20 réponses. Par defaut, Palabre peut s'arreter avant la limite apres un tour complet si le dernier agent exprime clairement un accord complet (`rien a trancher`, `accord complet`, `aucun desaccord`, etc.). Pour forcer tous les tours :
235
-
236
- ```bash
237
- palabre run --subject "Sujet" --turns 4 --no-early-stop
238
- ```
239
-
240
- ## Contexte projet
241
-
242
- Palabre distingue deux modes de contexte :
243
-
244
- - `--files` : selection explicite et stricte de fichiers texte.
245
- - `--context` : scan tolerant de fichiers ou dossiers texte avec exclusions et warnings.
246
-
247
- `--files` est utile quand tu sais exactement quels fichiers doivent etre envoyes :
248
-
249
- ```bash
250
- palabre run --subject "Critique le MVP batch" --files README.md src/adapters/cli.ts --agent-a claude --agent-b ollama-local --turns 2
251
- ```
252
-
253
- Si un chemin `--files` pointe vers un dossier, un fichier binaire ou un fichier trop gros, Palabre arrete la commande avec une erreur claire.
254
-
255
- `--context` est utile pour donner une vue projet plus large sans tout envoyer aveuglement :
256
-
257
- ```bash
258
- palabre run --preset codex-ollama --subject "Critique l'architecture" --context src docs --turns 2
259
- palabre run --preset codex-claude --subject "Preview contexte" --context . --show-prompt
260
- ```
261
-
262
- Le scan `--context` :
263
-
264
- - parcourt recursivement les dossiers passes ;
265
- - ignore par defaut `.git`, `.gitignore`, `.tmp`, `.pnpm-store`,
266
- ode_modules` et `dist` ;
267
- - applique les regles simples de `.gitignore` du projet ;
268
- - garde seulement les extensions texte connues (`.ts`, `.md`, `.json`, `.yaml`, etc.) ;
269
- - ignore les fichiers binaires, trop gros ou au-dela de la limite totale avec un warning.
270
-
271
- Les fichiers retenus, qu'ils viennent de `--files` ou de `--context`, sont envoyes a tous les agents, y compris Ollama. Ils sont aussi listes dans l'export `.debate.md`.
272
-
273
- Palabre injecte aussi un contexte de session minimal dans tous les prompts :
274
-
275
- - date locale ;
276
- - fuseau horaire ;
277
- - dossier courant ;
278
- - horodatage de debut de session.
279
-
280
- Ce contexte est fourni par Palabre et visible par tous les agents du debat. Il evite que Codex, Claude, Gemini, OpenCode ou Ollama se contredisent sur des informations implicites comme la date ou le fuseau horaire.
281
-
282
- Les agents CLI sont lances depuis le dossier courant. Selon leur propre fonctionnement et leurs permissions, Codex, Claude, Gemini ou OpenCode peuvent donc inspecter le workspace par leurs outils internes. Ce comportement depend de chaque CLI et ne doit pas etre considere comme un contrat garanti par Palabre.
283
-
284
- Ollama ne lit pas le filesystem par lui-meme. L'adapter Ollama recoit uniquement le prompt construit par Palabre : sujet, role, instructions, fichiers retenus par `--files` ou `--context`, et historique du debat. Si aucun contexte n'est passe, Ollama ne voit pas le contenu du projet.
285
-
286
- Limites actuelles :
287
-
288
- - chaque fichier est limite a 64 KiB ;
289
- - le contexte total est limite a 192 KiB ;
290
- - les fichiers binaires sont refuses avec `--files` et ignores avec warning via `--context` ;
291
- - le support `.gitignore` reste volontairement simple pour le MVP.
292
-
293
- ## Scripts
294
-
295
- ```bash
296
- pnpm check
297
- pnpm test
298
- pnpm build
299
- palabre help
300
- palabre -h
301
- palabre -v
302
- ```
303
-
304
- ## Validation locale actuelle
305
-
306
- Tests effectues sur Windows :
307
-
308
- - `ollama ↔ ollama` avec `gemma4:e4b` : OK.
309
- - `codex exec ↔ ollama` : OK.
310
- - `claude --print ↔ ollama` : OK avec `claude.exe` et `"shell": false`.
311
- - `gemini --prompt - ↔ ollama` : OK.
312
- - `opencode run` via Palabre : OK en debat reel 1 tour avec export.
313
- - `codex exec ↔ claude --print` : OK.
314
- - `--show-prompt` avec `--files` : OK.
315
- - `--show-prompt` avec `--context docs` : OK.
316
- - contexte de session visible dans `--show-prompt` : OK.
317
- - arret anticipe sur accord clair : OK.
318
- - syntaxe courte `palabre preset "sujet" -t 4` et `palabre -s "sujet" -t 2` : OK.
319
- - smoke tests automatises de l'adapter CLI avec agents mockes : OK.
320
- - detection des limites d'usage CLI type Codex/Claude/Gemini/OpenCode : OK par simulation stderr.
321
- - `init` avec detection locale des agents : OK.
322
- - config globale `~/.palabre/palabre.config.json` avec fallback local/legacy : OK.
323
- - en-tete des exports `.debate.md` en table Markdown : OK.
324
- - `update` en mode instructions : OK.
325
- - etat "agent en cours" pendant les generations : OK.
326
- - synthese finale avec `defaults.summaryAgent`, fallback agent B : OK.
327
- - `--no-summary` : OK.
328
- - rendu console pretty et `--plain` : OK.
329
-
330
- Reglages importants observes :
331
-
332
- - Codex via le wrapper npm Windows necessite `"shell": true`.
333
- - Gemini via le wrapper npm Windows fonctionne avec `"shell": true` et `--prompt -`.
334
- - OpenCode via le wrapper PowerShell/npm Windows fonctionne avec `"shell": true` et `opencode run`.
335
- - Claude capture correctement `stdin` avec `command: "claude.exe"` et `"shell": false`.
336
- - `idleTimeoutMs` ne doit pas etre active par defaut pour les CLIs IA en batch, car elles peuvent rester silencieuses pendant la generation.
337
-
338
- ## Limites connues
339
-
340
- - L'adapter CLI actuel est volontairement minimal. Il marche mieux avec des commandes non interactives ou des CLIs qui acceptent un prompt via `stdin`.
341
- - `palabre init` detecte les outils locaux et ajuste seulement les defaults ; les blocs agents exemples restent dans la config pour faciliter l'edition.
342
- - La resolution de config cherche `./palabre.config.json`, `./chicane.config.json`, `~/.palabre/palabre.config.json`, puis `~/.palabre/chicane.config.json` dans cet ordre.
343
- - Sans config existante, Palabre cree la config globale et quitte ; il n'ecrit plus automatiquement dans le dossier courant. `palabre init --local` force une config locale.
344
- - Les adapters exposent un contrat (`capabilities` et `guarantees`) pour documenter timeout, sortie vide, stderr, exit code, model override, filesystem et streaming.
345
- - Les erreurs CLI de limite d'usage ou de quota sont detectees dans stderr et reformatees sans recopier tout le prompt.
346
- - `--files` est explicite et strict ; `--context` scanne des dossiers texte de facon bornee et best-effort.
347
- - `--show-prompt` affiche le prompt exact du premier tour seulement. Les tours suivants dependent du transcript reel.
348
- - `--turns` est une limite haute quand l'arret anticipe est actif ; `--no-early-stop` force tous les tours demandes.
349
- - `--model-a` et `--model-b` transmettent une string brute aux adapters ; Palabre ne maintient pas de catalogue de modeles.
350
- - L'adapter Ollama detecte les modeles installes via `/api/tags` quand `validateModel` est actif.
351
- - L'adapter Ollama peut telecharger un modele manquant via `/api/pull` seulement si `--pull-models` ou `autoPullModel` est actif.
352
- - L'adapter Ollama decharge les autres modeles charges via `/api/ps` puis `keep_alive: 0` quand `unloadOtherModels` est actif.
353
- - Palabre affiche un warning si Ollama participe sans contexte fourni, car Ollama ne lit pas le filesystem.
354
- - La synthese finale est activee par defaut et utilise `defaults.summaryAgent` quand il existe, sinon l'agent B. `--summary-agent` garde la priorite, et `--no-summary` la desactive.
355
- - Le rendu console pretty est volontairement leger. Il affiche deja l'agent en cours, mais le split-view, le scrolling interactif et l'input humain arriveront avec le vrai TUI.
356
- - Une sortie CLI vide est consideree comme une erreur, sauf si `allowEmptyOutput` est active explicitement.
357
- - `idleTimeoutMs` doit etre utilise avec prudence : les CLIs IA peuvent rester silencieuses pendant la generation.
358
- - Les CLIs interactives auront besoin d'un vrai PTY, probablement via
359
- ode-pty`.
360
- - La detection de fin de reponse est encore heuristique avec `idleTimeoutMs`.
361
- - La TUI et l'extension VS Code sont prevues apres stabilisation du coeur CLI.
362
-
363
- ## Documentation projet
364
-
365
- Site de documentation : **https://palab.re** (aussi accessible sur https://palabre.netlify.app)
366
-
367
- - Roadmap : [docs/roadmap.md](./docs/roadmap.md)
368
- - Introduction : [docs/guide/get-started/introduction.md](./docs/guide/get-started/introduction.md)
369
- - Installation : [docs/guide/get-started/installation.md](./docs/guide/get-started/installation.md)
370
- - Premiere configuration : [docs/guide/get-started/configuration.md](./docs/guide/get-started/configuration.md)
371
- - Premier debat : [docs/guide/get-started/first-debate.md](./docs/guide/get-started/first-debate.md)
372
- - Reference CLI : [docs/guide/reference/cli.md](./docs/guide/reference/cli.md)
373
- - Depannage : [docs/guide/troubleshooting.md](./docs/guide/troubleshooting.md)
374
- - Roadmap utilisateur : [docs/guide/roadmap.md](./docs/guide/roadmap.md)
375
- - Guide agents/contributeurs : [AGENTS.md](./AGENTS.md)
376
- - Archive de specification initiale : [docs/archive/Palabre-Specification.md](./docs/archive/Palabre-Specification.md)
152
+ ```
153
+
154
+ Useful commands: `pnpm check`, `pnpm test`, `pnpm build`.
155
+
156
+ Public roadmap: [docs/guide/fr/roadmap.md](./docs/guide/fr/roadmap.md). Agent/contributor guide: [AGENTS.md](./AGENTS.md).
157
+
158
+ ### License
159
+
160
+ MIT. See [LICENSE](./LICENSE).