aidoc-kit 1.0.4 → 1.0.6

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
@@ -147,24 +147,39 @@ Also supported: `aidoc.config.js` (CommonJS `module.exports`) and `aidoc.config.
147
147
  Once `scan --write` has generated the base `@ai-*` blocks, run `enrich` to replace the generic `[GÉNÉRÉ]` descriptions with real LLM-written context:
148
148
 
149
149
  ```bash
150
- npx aidoc-kit enrich --provider gemini --model gemini-2.0-flash --key YOUR_KEY
151
- npx aidoc-kit enrich --provider openai --model gpt-4o-mini --key sk-...
152
- npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022 --key sk-ant-...
153
- npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant --key gsk_...
154
- npx aidoc-kit enrich --provider mistral --model mistral-small-latest --key ...
155
- npx aidoc-kit enrich --provider ollama --model llama3.2 # no key needed — fully local
150
+ # Provider inferred from model name — no need to pass --provider
151
+ export ANTHROPIC_API_KEY=sk-ant-...
152
+ npx aidoc-kit enrich --model claude-haiku-4-5-20251001
153
+
154
+ export OPENAI_API_KEY=sk-...
155
+ npx aidoc-kit enrich --model gpt-4o-mini
156
+
157
+ export GEMINI_API_KEY=...
158
+ npx aidoc-kit enrich --model gemini-2.0-flash
159
+
160
+ export GROQ_API_KEY=gsk_...
161
+ npx aidoc-kit enrich --model llama-3.1-8b-instant
162
+
163
+ # Or use --provider explicitly:
164
+ npx aidoc-kit enrich --provider anthropic # reads ANTHROPIC_API_KEY from env
165
+
166
+ # Fully local — no key needed:
167
+ npx aidoc-kit enrich --provider ollama --model llama3.2
156
168
  ```
157
169
 
170
+ > **Security note:** Never pass API keys via `--key` — they appear in shell history
171
+ > and process lists. aidoc-kit reads keys from environment variables automatically:
172
+ > `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, `MISTRAL_API_KEY`.
173
+
158
174
  Use `--dry` to preview which files would be enriched without making any changes.
159
175
 
160
- You can also set the default provider in `aidoc.config.js` to avoid repeating flags:
176
+ You can also set the default provider in `aidoc.config.ts` to avoid repeating flags:
161
177
 
162
- ```js
163
- module.exports = {
178
+ ```ts
179
+ export default {
164
180
  enrich: {
165
- provider: 'gemini',
166
- model: 'gemini-2.0-flash',
167
- key: process.env.GEMINI_API_KEY, // never hardcode keys
181
+ provider: 'anthropic',
182
+ key: process.env.ANTHROPIC_API_KEY, // never hardcode keys
168
183
  },
169
184
  }
170
185
  ```
@@ -182,6 +197,56 @@ module.exports = {
182
197
 
183
198
  > **Privacy note:** Ollama runs entirely on your machine — no code ever leaves your network. This makes it the right choice for client projects or proprietary codebases.
184
199
 
200
+ ## Setting up your API key
201
+
202
+ aidoc-kit reads API keys from environment variables. How you load them into your environment is up to you:
203
+
204
+ ### Option 1 — Export in your shell
205
+ ```bash
206
+ export ANTHROPIC_API_KEY=sk-ant-...
207
+ npx aidoc-kit enrich
208
+ ```
209
+
210
+ ### Option 2 — Load your .env file first
211
+ ```bash
212
+ source .env && npx aidoc-kit enrich
213
+ # or with .env.local:
214
+ source .env.local && npx aidoc-kit enrich
215
+ ```
216
+
217
+ ### Option 3 — dotenv-cli (recommended for scripts)
218
+ ```bash
219
+ npx dotenv -e .env.local -- aidoc-kit enrich
220
+ ```
221
+
222
+ ### Option 4 — aidoc.config.ts (recommended for teams)
223
+ ```typescript
224
+ export default {
225
+ enrich: {
226
+ provider: 'anthropic',
227
+ key: process.env.ANTHROPIC_API_KEY,
228
+ }
229
+ }
230
+ ```
231
+ Then run normally — the key is resolved at runtime from your env.
232
+
233
+ ### Environment variables per provider
234
+
235
+ | Provider | Environment variable |
236
+ |-----------|---------------------|
237
+ | Anthropic | `ANTHROPIC_API_KEY` |
238
+ | OpenAI | `OPENAI_API_KEY` |
239
+ | Gemini | `GOOGLE_AI_API_KEY` or `GEMINI_API_KEY` |
240
+ | Groq | `GROQ_API_KEY` |
241
+ | Mistral | `MISTRAL_API_KEY` |
242
+ | Ollama | No key needed |
243
+
244
+ > **Why doesn't aidoc-kit read `.env` files automatically?**
245
+ > Managing secrets is your responsibility, not aidoc-kit's.
246
+ > This is intentional — it keeps the library zero-dependency and avoids any risk
247
+ > of accidentally exposing secrets. This is the same approach used by Prisma,
248
+ > Firebase CLI, and Stripe CLI.
249
+
185
250
  ## Large file chunking
186
251
 
187
252
  AI agents often truncate large files — reading only the first 50-100 lines of a 500-line file. `aidoc-kit chunk` solves this by pre-summarising every file over 150 lines into a structured Markdown file inside `.codemod/chunks/`.
package/dist/cli.js CHANGED
@@ -78,12 +78,42 @@ function getFlag(flag) {
78
78
  const idx = args.indexOf(flag);
79
79
  return idx !== -1 ? args[idx + 1] : undefined;
80
80
  }
81
+ // ─── Enrich helpers ────────────────────────────────────────────────────────
82
+ /**
83
+ * Infer the provider from the model name prefix.
84
+ * Used when --provider is not explicitly set but --model is.
85
+ */
86
+ function inferProvider(model) {
87
+ if (model.startsWith('claude'))
88
+ return 'anthropic';
89
+ if (model.startsWith('gemini') || model.startsWith('models/gemini'))
90
+ return 'gemini';
91
+ if (model.startsWith('gpt') || model.startsWith('o1') || model.startsWith('o3'))
92
+ return 'openai';
93
+ if (model.startsWith('llama') || model.startsWith('mixtral'))
94
+ return 'groq';
95
+ if (model.startsWith('mistral') || model.startsWith('codestral'))
96
+ return 'mistral';
97
+ return null;
98
+ }
99
+ /**
100
+ * Standard environment variable names per provider.
101
+ * Keys are read from env — never passed as CLI arguments (OWASP: shell history risk).
102
+ */
103
+ const ENV_KEY_NAMES = {
104
+ anthropic: ['ANTHROPIC_API_KEY'],
105
+ openai: ['OPENAI_API_KEY'],
106
+ gemini: ['GEMINI_API_KEY', 'GOOGLE_AI_API_KEY'],
107
+ groq: ['GROQ_API_KEY'],
108
+ mistral: ['MISTRAL_API_KEY'],
109
+ ollama: [],
110
+ };
81
111
  function hasFlag(flag) {
82
112
  return args.includes(flag);
83
113
  }
84
114
  // ─── Confirmation prompt ───────────────────────────────────────────────────
85
115
  function confirm(message) {
86
- // --yes / -y flag or non-interactive (piped, CI) proceed without prompt
116
+ // --yes / -y flag or non-interactive (piped, CI) - proceed without prompt
87
117
  if (hasFlag('--yes') || hasFlag('-y') || !process.stdin.isTTY)
88
118
  return Promise.resolve(true);
89
119
  return new Promise(resolve => {
@@ -100,11 +130,11 @@ async function cmdScan() {
100
130
  console.log(`
101
131
  Usage: aidoc-kit scan [options]
102
132
 
103
- --path <dir> Dossier racine (défaut: .)
104
- --write Écrire les blocs @ai-* manquants (confirmation interactive)
105
- --yes, -y Passer la confirmation (CI, pipe, non-interactif)
106
- --dry Afficher les blocs générés sans modifier les fichiers
107
- -h, --help Afficher cette aide
133
+ --path <dir> Root directory (default: .)
134
+ --write Write missing @ai-* blocks (interactive confirmation)
135
+ --yes, -y Skip confirmation (CI, pipe, non-interactive)
136
+ --dry Preview generated blocks without modifying files
137
+ -h, --help Show this help
108
138
  `);
109
139
  return;
110
140
  }
@@ -112,16 +142,16 @@ Usage: aidoc-kit scan [options]
112
142
  const write = hasFlag('--write');
113
143
  const dry = hasFlag('--dry');
114
144
  const config = (0, config_1.loadConfig)(projectRoot);
115
- console.log(`\naidoc-kit scan ${projectRoot}\n`);
145
+ console.log(`\naidoc-kit scan - ${projectRoot}\n`);
116
146
  const result = (0, scanner_1.scanProject)(projectRoot);
117
147
  // Filter out files matching config.ignore patterns
118
148
  const ignorePatterns = config.ignore ?? [];
119
149
  const filteredWithoutDocs = ignorePatterns.length > 0
120
150
  ? result.filesWithoutDocs.filter(f => !(0, config_1.isIgnored)(f, ignorePatterns))
121
151
  : result.filesWithoutDocs;
122
- console.log(`✓ ${result.totalScanned} fichiers scannés`);
123
- console.log(`✓ ${result.docs.length} fichiers avec blocs @ai-*`);
124
- console.log(`✗ ${filteredWithoutDocs.length} fichiers sans docs${ignorePatterns.length > 0 ? ' (après filtres ignore)' : ''}\n`);
152
+ console.log(`✓ ${result.totalScanned} files scanned`);
153
+ console.log(`✓ ${result.docs.length} files with @ai-* blocks`);
154
+ console.log(`✗ ${filteredWithoutDocs.length} files without docs${ignorePatterns.length > 0 ? ' (after ignore filters)' : ''}\n`);
125
155
  if (filteredWithoutDocs.length > 0 && (write || dry)) {
126
156
  // Build reverse import map over ALL project files (docs + all undocumented, regardless of
127
157
  // ignore patterns) so that @ai-cascade is complete even when some importers are filtered.
@@ -132,7 +162,7 @@ Usage: aidoc-kit scan [options]
132
162
  // Pass projectRoot so that @/ alias imports (Next.js, Vite) are resolved correctly
133
163
  const reverseMap = (0, scanner_1.buildReverseImportMap)(allAbsFiles, projectRoot);
134
164
  if (dry) {
135
- console.log('Aperçu des blocs générés :');
165
+ console.log('Preview of generated blocks:');
136
166
  for (const relFile of filteredWithoutDocs) {
137
167
  const absFile = (0, node_path_1.resolve)(projectRoot, relFile);
138
168
  const importers = (reverseMap.get(absFile) ?? []).map(f => (0, node_path_1.relative)(projectRoot, f));
@@ -144,9 +174,9 @@ Usage: aidoc-kit scan [options]
144
174
  }
145
175
  else {
146
176
  // Ask confirmation before writing
147
- const ok = await confirm(`→ Écrire les blocs @ai-* dans ${filteredWithoutDocs.length} fichier(s) ?`);
177
+ const ok = await confirm(`- Write @ai-* blocks in ${filteredWithoutDocs.length} file(s)?`);
148
178
  if (!ok) {
149
- console.log('Annulé.');
179
+ console.log('Cancelled.');
150
180
  return;
151
181
  }
152
182
  console.log();
@@ -165,8 +195,8 @@ Usage: aidoc-kit scan [options]
165
195
  if (!dry) {
166
196
  (0, writer_1.writeKnowledgeBase)(result, projectRoot);
167
197
  (0, writer_1.writeAgentsMd)(result, projectRoot);
168
- console.log('✓ .codemod/ai-knowledge-base.json mis à jour');
169
- console.log('✓ AGENTS.md mis à jour');
198
+ console.log('✓ .codemod/ai-knowledge-base.json updated');
199
+ console.log('✓ AGENTS.md updated');
170
200
  }
171
201
  }
172
202
  // ─── run ───────────────────────────────────────────────────────────────────
@@ -175,15 +205,15 @@ function cmdRun() {
175
205
  console.log(`
176
206
  Usage: aidoc-kit run [options]
177
207
 
178
- --path <dir> Dossier racine (défaut: .)
179
- --dry Afficher les changements sans modifier les fichiers
180
- -h, --help Afficher cette aide
208
+ --path <dir> Root directory (default: .)
209
+ --dry Preview changes without modifying files
210
+ -h, --help Show this help
181
211
  `);
182
212
  return;
183
213
  }
184
214
  const projectRoot = (0, node_path_1.resolve)(getFlag('--path') ?? '.');
185
215
  const dry = hasFlag('--dry');
186
- console.log(`\naidoc-kit run ${projectRoot}\n`);
216
+ console.log(`\naidoc-kit run - ${projectRoot}\n`);
187
217
  const result = (0, scanner_1.scanProject)(projectRoot);
188
218
  let changedCount = 0;
189
219
  for (const doc of result.docs) {
@@ -197,10 +227,10 @@ Usage: aidoc-kit run [options]
197
227
  }
198
228
  }
199
229
  if (changedCount === 0) {
200
- console.log('Aucune transformation à appliquer.');
230
+ console.log('No transformations to apply.');
201
231
  }
202
232
  else {
203
- console.log(`\n${dry ? '[dry]' : '✓'} ${changedCount} fichier(s) transformé(s)`);
233
+ console.log(`\n${dry ? '[dry]' : '✓'} ${changedCount} file(s) transformed`);
204
234
  }
205
235
  }
206
236
  // ─── chunk ────────────────────────────────────────────────────────────────
@@ -209,13 +239,13 @@ async function cmdChunk() {
209
239
  console.log(`
210
240
  Usage: aidoc-kit chunk [options]
211
241
 
212
- --path <dir> Dossier racine (défaut: .)
213
- -h, --help Afficher cette aide
242
+ --path <dir> Root directory (default: .)
243
+ -h, --help Show this help
214
244
  `);
215
245
  return;
216
246
  }
217
247
  const projectRoot = (0, node_path_1.resolve)(getFlag('--path') ?? '.');
218
- console.log(`\naidoc-kit chunk ${projectRoot}\n`);
248
+ console.log(`\naidoc-kit chunk - ${projectRoot}\n`);
219
249
  const allFiles = (0, scanner_1.walkDir)(projectRoot);
220
250
  const reverseMap = (0, scanner_1.buildReverseImportMap)(allFiles, projectRoot);
221
251
  const codemodDir = (0, node_path_1.join)(projectRoot, '.codemod');
@@ -225,16 +255,16 @@ Usage: aidoc-kit chunk [options]
225
255
  const chunk = (0, chunker_1.chunkFile)(filePath, importedBy, projectRoot);
226
256
  if (chunk) {
227
257
  (0, chunker_1.writeChunk)(chunk, codemodDir);
228
- console.log(` 📦 ${chunk.filePath} (${chunk.totalLines} lignes)`);
258
+ console.log(` 📦 ${chunk.filePath} (${chunk.totalLines} lines)`);
229
259
  chunked++;
230
260
  }
231
261
  }
232
262
  if (chunked === 0) {
233
- console.log(`Aucun fichier ne dépasse le seuil (150 lignes). Chunking non nécessaire.`);
263
+ console.log(`No file exceeds the threshold (150 lines). Chunking not needed.`);
234
264
  }
235
265
  else {
236
- console.log(`\n✓ ${chunked} fichier(s) chunkés .codemod/chunks/`);
237
- console.log('💡 Dis à ton agent : "Lis .codemod/chunks/ avant de modifier un gros fichier"');
266
+ console.log(`\n✓ ${chunked} file(s) chunked - .codemod/chunks/`);
267
+ console.log('💡 Tell your agent: "Read .codemod/chunks/ before modifying a large file"');
238
268
  }
239
269
  }
240
270
  // ─── enrich ──────────────────────────────────────────────────────────────
@@ -244,27 +274,82 @@ async function cmdEnrich() {
244
274
  Usage: aidoc-kit enrich [options]
245
275
 
246
276
  --provider openai | anthropic | gemini | groq | mistral | ollama
247
- --model Modèle à utiliser (auto-résolu si absent)
248
- --key Clé API (non nécessaire pour ollama)
249
- --host Hôte Ollama (défaut: http://localhost:11434)
250
- --path <dir> Dossier racine (défaut: .)
251
- --dry Lister les fichiers sans modifier
252
- -h, --help Afficher cette aide
277
+ (auto-deduced from --model when omitted: claude-* - anthropic, etc.)
278
+ --model Model name (auto-resolved via provider API when omitted)
279
+ --host Ollama base URL (default: http://localhost:11434)
280
+ --path <dir> Root directory (default: .)
281
+ --dry List files without modifying them
282
+ -h, --help Show this help
283
+
284
+ API keys are read from environment variables (never pass secrets as CLI args):
285
+ ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY, MISTRAL_API_KEY
286
+
287
+ Or set them in aidoc.config.ts:
288
+ enrich: { provider: 'anthropic', key: process.env.ANTHROPIC_API_KEY }
253
289
  `);
254
290
  return;
255
291
  }
256
292
  const projectRoot = (0, node_path_1.resolve)(getFlag('--path') ?? '.');
257
293
  const dry = hasFlag('--dry');
258
294
  const config = (0, config_1.loadConfig)(projectRoot);
259
- // CLI flags take priority over aidoc.config values
260
- const provider = (getFlag('--provider') ?? config.enrich?.provider ?? 'gemini');
261
- const apiKey = getFlag('--key') ?? config.enrich?.key;
262
- const host = getFlag('--host') ?? config.enrich?.host;
295
+ // Resolve provider: explicit flag > config > inferred from model name > error
263
296
  const userModel = getFlag('--model') ?? config.enrich?.model;
297
+ const explicitProvider = getFlag('--provider') ?? config.enrich?.provider;
298
+ let provider;
299
+ if (explicitProvider) {
300
+ provider = explicitProvider;
301
+ }
302
+ else if (userModel) {
303
+ const inferred = inferProvider(userModel);
304
+ if (!inferred) {
305
+ console.error(`Unknown provider for model "${userModel}".`);
306
+ console.error('Pass --provider openai|anthropic|gemini|groq|mistral|ollama');
307
+ process.exit(1);
308
+ }
309
+ provider = inferred;
310
+ console.log(`Provider inferred from model: ${provider}`);
311
+ }
312
+ else {
313
+ console.error('Provider not set. Pass --provider or --model with a recognized name (claude-*, gpt-*, gemini-*).');
314
+ process.exit(1);
315
+ }
316
+ // Resolve API key: config value (typically process.env.XXX) > standard env vars
317
+ // Passing secrets as CLI args leaks them into shell history (OWASP A02).
318
+ const configKey = config.enrich?.key;
319
+ const matchedEnvVar = ENV_KEY_NAMES[provider].find(k => process.env[k] !== undefined && process.env[k] !== '');
320
+ const envKey = matchedEnvVar ? process.env[matchedEnvVar] : undefined;
321
+ const apiKey = configKey ?? envKey;
322
+ if (!apiKey && provider !== 'ollama') {
323
+ const envNames = ENV_KEY_NAMES[provider];
324
+ const primaryEnv = envNames[0] ?? 'API_KEY';
325
+ console.error(`Missing API key for provider "${provider}".`);
326
+ console.error();
327
+ console.error(`To fix this, choose one of the following options:`);
328
+ console.error();
329
+ console.error(` 1. Export in your shell (fastest):`);
330
+ console.error(` export ${primaryEnv}=your-key`);
331
+ console.error(` npx aidoc-kit enrich`);
332
+ console.error();
333
+ console.error(` 2. Load your .env first:`);
334
+ console.error(` source .env && npx aidoc-kit enrich`);
335
+ console.error();
336
+ console.error(` 3. Use dotenv-cli:`);
337
+ console.error(` npx dotenv -e .env.local -- aidoc-kit enrich`);
338
+ console.error();
339
+ console.error(` 4. Set it in aidoc.config.ts:`);
340
+ console.error(` enrich: { provider: '${provider}', key: process.env.${primaryEnv} }`);
341
+ console.error();
342
+ console.error(`aidoc-kit never reads .env files directly — this is intentional.`);
343
+ console.error(`Docs: https://github.com/Clemsrec/aidoc-kit#setting-up-your-api-key`);
344
+ process.exit(1);
345
+ }
346
+ if (matchedEnvVar)
347
+ console.log(`Key read from $${matchedEnvVar}`);
348
+ const host = getFlag('--host') ?? config.enrich?.host;
264
349
  // Resolve model dynamically (queries provider API when none specified)
265
350
  const model = await (0, enricher_1.resolveModel)(provider, apiKey ?? '', userModel);
266
- console.log(`\naidoc-kit enrich ${projectRoot}`);
267
- console.log(`Provider : ${provider} / Modèle : ${model}${dry ? ' (dry-run)' : ''}\n`);
351
+ console.log(`\naidoc-kit enrich - ${projectRoot}`);
352
+ console.log(`Provider: ${provider} / Model: ${model}${dry ? ' (dry-run)' : ''}\n`);
268
353
  const allFiles = (0, scanner_1.walkDir)(projectRoot);
269
354
  const reverseMap = (0, scanner_1.buildReverseImportMap)(allFiles, projectRoot);
270
355
  const ignorePatterns = config.ignore ?? [];
@@ -283,14 +368,14 @@ Usage: aidoc-kit enrich [options]
283
368
  }
284
369
  });
285
370
  if (toEnrich.length === 0) {
286
- console.log('Aucun fichier avec un bloc @ai-context généré trouvé.');
287
- console.log('Lance `npx aidoc-kit scan --write` d’abord.');
371
+ console.log('No files with a generated @ai-context block found.');
372
+ console.log('Run `npx aidoc-kit scan --write` first.');
288
373
  return;
289
374
  }
290
- console.log(`${toEnrich.length} fichier(s) à enrichir :\n`);
375
+ console.log(`${toEnrich.length} file(s) to enrich:\n`);
291
376
  toEnrich.forEach(f => console.log(` - ${(0, node_path_1.relative)(projectRoot, f)}`));
292
377
  if (dry) {
293
- console.log('\n[dry-run] Aucune modification écrite.');
378
+ console.log('\n[dry-run] No files modified.');
294
379
  return;
295
380
  }
296
381
  console.log();
@@ -309,7 +394,7 @@ Usage: aidoc-kit enrich [options]
309
394
  try {
310
395
  const description = await (0, enricher_1.callLLM)(prompt, { provider, model, apiKey, host, dryRun: false });
311
396
  if (!description) {
312
- console.log(` ⚠️ ${rel} — réponse vide, bloc original conservé`);
397
+ console.log(` ⚠️ ${rel} — empty response, original block kept`);
313
398
  failed++;
314
399
  continue;
315
400
  }
@@ -323,7 +408,7 @@ Usage: aidoc-kit enrich [options]
323
408
  enriched++;
324
409
  }
325
410
  else {
326
- console.log(` — ${rel} (aucun changement)`);
411
+ console.log(` — ${rel} (no change)`);
327
412
  }
328
413
  }
329
414
  catch (err) {
@@ -332,44 +417,45 @@ Usage: aidoc-kit enrich [options]
332
417
  failed++;
333
418
  }
334
419
  }
335
- console.log(`\n✓ ${enriched} fichier(s) enrichi(s)${failed > 0 ? `, ${failed} échec(s)` : ''}`);
420
+ console.log(`\n✓ ${enriched} file(s) enriched${failed > 0 ? `, ${failed} failure(s)` : ''}`);
336
421
  }
337
422
  // ─── help ──────────────────────────────────────────────────────────────────
338
423
  function printHelp() {
339
424
  console.log(`
340
425
  aidoc-kit — AI-native documentation toolkit
341
426
 
342
- Commandes :
343
- init Détecter la stack du projet et générer aidoc.config.ts
344
- --path <dir> Dossier racine (défaut: .)
427
+ Commands:
428
+ init Detect project stack and generate aidoc.config.ts
429
+ --path <dir> Root directory (default: .)
345
430
 
346
- scan Scanner un projet et construire la knowledge base
347
- --path <dir> Dossier racine (défaut: .)
348
- --write Écrire les blocs @ai-* manquants (confirmation interactive)
349
- --yes, -y Passer la confirmation (CI, pipe, non-interactif)
350
- --dry Afficher les blocs générés sans modifier les fichiers
431
+ scan Scan a project and build the knowledge base
432
+ --path <dir> Root directory (default: .)
433
+ --write Write missing @ai-* blocks (interactive confirmation)
434
+ --yes, -y Skip confirmation (CI, pipe, non-interactive)
435
+ --dry Preview generated blocks without modifying files
351
436
 
352
- chunk Résumer les gros fichiers (≥150 lignes) dans .codemod/chunks/
353
- --path <dir> Dossier racine (défaut: .)
437
+ chunk Summarize large files (≥150 lines) into .codemod/chunks/
438
+ --path <dir> Root directory (default: .)
354
439
 
355
- enrich Enrichir les blocs @ai-context avec un LLM
440
+ enrich Enrich @ai-context blocks with an LLM
356
441
  --provider openai | anthropic | gemini | groq | mistral | ollama
357
- --model Modèle à utiliser (auto-résolu si absent)
358
- --key Clé API (non nécessaire pour ollama)
359
- --host Hôte Ollama (défaut: http://localhost:11434)
360
- --path <dir> Dossier racine (défaut: .)
361
- --dry Lister les fichiers sans modifier
442
+ (auto-inferred from --model when omitted)
443
+ --model Model name (auto-resolved via provider API when omitted)
444
+ --host Ollama base URL (default: http://localhost:11434)
445
+ --path <dir> Root directory (default: .)
446
+ --dry List files without modifying
447
+ API keys: ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY...
362
448
 
363
- run Appliquer les règles de transformation
364
- --path <dir> Dossier racine (défaut: .)
365
- --dry Afficher les changements sans modifier les fichiers
449
+ run Apply transformation rules
450
+ --path <dir> Root directory (default: .)
451
+ --dry Preview changes without modifying files
366
452
 
367
- fix Corriger les blocs @ai-* générés par d'anciennes versions
368
- arrows Remplacer le caractère → (U+2192) par => (Turbopack compat)
453
+ fix Fix @ai-* blocks generated by older versions
454
+ arrows Replace - (U+2192) character with - (parser compat)
369
455
 
370
- Config :
371
- Lance "npx aidoc-kit init" pour générer un aidoc.config.ts adapté à ton projet.
372
- Ou crée-le manuellement :
456
+ Config:
457
+ Run "npx aidoc-kit init" to generate an aidoc.config.ts tailored to your project.
458
+ Or create it manually:
373
459
 
374
460
  module.exports = {
375
461
  agents: { '@/lib/permissions': 'permissions-expert', 'stripe': 'billing-expert' },
@@ -378,7 +464,7 @@ Config :
378
464
  enrich: { provider: 'gemini', model: 'gemini-2.0-flash', key: process.env.GEMINI_API_KEY },
379
465
  }
380
466
 
381
- Exemples :
467
+ Examples:
382
468
  npx aidoc-kit init
383
469
  npx aidoc-kit scan
384
470
  npx aidoc-kit scan --path ./src --dry
@@ -386,11 +472,11 @@ Exemples :
386
472
  npx aidoc-kit run --dry
387
473
  npx aidoc-kit chunk
388
474
  npx aidoc-kit chunk --path ./src
389
- npx aidoc-kit enrich --provider gemini --model gemini-2.0-flash --key YOUR_KEY
390
- npx aidoc-kit enrich --provider openai --model gpt-4o-mini --key sk-...
391
- npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022 --key sk-ant-...
392
- npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant --key gsk_...
393
- npx aidoc-kit enrich --provider mistral --model mistral-small-latest --key ...
475
+ npx aidoc-kit enrich --provider gemini --model gemini-2.0-flash
476
+ npx aidoc-kit enrich --provider openai --model gpt-4o-mini
477
+ npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022
478
+ npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant
479
+ npx aidoc-kit enrich --provider mistral --model mistral-small-latest
394
480
  npx aidoc-kit enrich --provider ollama --model llama3.2
395
481
  npx aidoc-kit enrich --dry
396
482
  npx aidoc-kit fix arrows
@@ -403,8 +489,8 @@ switch (command) {
403
489
  console.log(`
404
490
  Usage: aidoc-kit init [options]
405
491
 
406
- --path <dir> Dossier racine (défaut: .)
407
- -h, --help Afficher cette aide
492
+ --path <dir> Root directory (default: .)
493
+ -h, --help Show this help
408
494
  `);
409
495
  }
410
496
  else {
@@ -439,7 +525,7 @@ Usage: aidoc-kit init [options]
439
525
  (0, fixer_1.fixArrows)(projectRoot);
440
526
  }
441
527
  else {
442
- console.log(`Sous-commande fix inconnue. Commandes disponibles : arrows`);
528
+ console.log(`Unknown fix subcommand. Available: arrows`);
443
529
  }
444
530
  break;
445
531
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}