aidoc-kit 1.0.5 → 1.0.7
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 +108 -0
- package/dist/cli.js +111 -89
- package/dist/cli.js.map +1 -1
- package/dist/core/chunker.js +20 -20
- package/dist/core/chunker.js.map +1 -1
- package/dist/core/config.d.ts +4 -4
- package/dist/core/config.js +9 -9
- package/dist/core/enricher.js +1 -1
- package/dist/core/fixer.d.ts +1 -1
- package/dist/core/fixer.js +5 -5
- package/dist/core/fixer.js.map +1 -1
- package/dist/core/init.js +21 -21
- package/dist/core/init.js.map +1 -1
- package/dist/core/scanner.d.ts +1 -1
- package/dist/core/scanner.js +6 -6
- package/dist/core/transformer.js +7 -7
- package/dist/core/transformer.js.map +1 -1
- package/dist/core/writer.js +10 -10
- package/dist/core/writer.js.map +1 -1
- package/dist/rules/index.js +1 -1
- package/dist/types.d.ts +6 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,6 +56,64 @@ npx aidoc-kit enrich --dry
|
|
|
56
56
|
|
|
57
57
|
That's all a new user needs. `init` reads `package.json`, detects frameworks, auth libraries, databases, AI SDKs and generates a ready-to-use `aidoc.config.ts`.
|
|
58
58
|
|
|
59
|
+
## Do I need to configure AI agents first?
|
|
60
|
+
|
|
61
|
+
No. aidoc-kit works out of the box with any AI coding tool.
|
|
62
|
+
|
|
63
|
+
### How it works with your existing tools
|
|
64
|
+
|
|
65
|
+
| Tool | How it reads @ai-* blocks |
|
|
66
|
+
|------|--------------------------|
|
|
67
|
+
| GitHub Copilot | Reads open files automatically — no setup needed |
|
|
68
|
+
| Cursor | Reads project context automatically — no setup needed |
|
|
69
|
+
| Copilot Chat | Reads files you reference in the chat |
|
|
70
|
+
| Claude / ChatGPT | Reads files you paste or attach |
|
|
71
|
+
| Any AI agent | Reads AGENTS.md as entry point |
|
|
72
|
+
|
|
73
|
+
### The @ai-agent tag is a label, not a configuration
|
|
74
|
+
|
|
75
|
+
When aidoc-kit generates:
|
|
76
|
+
```typescript
|
|
77
|
+
/**
|
|
78
|
+
* @ai-agent firebase-admin-expert
|
|
79
|
+
*/
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
It doesn't create or configure anything. It tells the AI reading
|
|
83
|
+
the file: *"treat this file as Firebase Admin domain — apply
|
|
84
|
+
that expertise when suggesting changes."*
|
|
85
|
+
|
|
86
|
+
Think of it like a job title on a business card.
|
|
87
|
+
It informs, it doesn't configure.
|
|
88
|
+
|
|
89
|
+
### The one thing you should do
|
|
90
|
+
|
|
91
|
+
Tell your AI agent to read AGENTS.md at the start of each session.
|
|
92
|
+
|
|
93
|
+
**GitHub Copilot Chat:**
|
|
94
|
+
```
|
|
95
|
+
Read AGENTS.md before we start. It contains the project architecture.
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Cursor — add to .cursorrules:**
|
|
99
|
+
```
|
|
100
|
+
Always read AGENTS.md and .codemod/ai-knowledge-base.json
|
|
101
|
+
before suggesting changes to any file.
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Claude Projects:**
|
|
105
|
+
Add AGENTS.md content to the project instructions.
|
|
106
|
+
|
|
107
|
+
That's it. No agents to create, no pipelines to configure.
|
|
108
|
+
|
|
109
|
+
### Want to go further?
|
|
110
|
+
|
|
111
|
+
If you use custom AI agents or MCP servers, aidoc-kit exposes
|
|
112
|
+
its knowledge base as a structured JSON file:
|
|
113
|
+
`.codemod/ai-knowledge-base.json`
|
|
114
|
+
|
|
115
|
+
Any agent that can read a file can consume this directly.
|
|
116
|
+
|
|
59
117
|
## What gets generated
|
|
60
118
|
|
|
61
119
|
### On each file (auto-generated block)
|
|
@@ -197,6 +255,56 @@ export default {
|
|
|
197
255
|
|
|
198
256
|
> **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.
|
|
199
257
|
|
|
258
|
+
## Setting up your API key
|
|
259
|
+
|
|
260
|
+
aidoc-kit reads API keys from environment variables. How you load them into your environment is up to you:
|
|
261
|
+
|
|
262
|
+
### Option 1 — Export in your shell
|
|
263
|
+
```bash
|
|
264
|
+
export ANTHROPIC_API_KEY=sk-ant-...
|
|
265
|
+
npx aidoc-kit enrich
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Option 2 — Load your .env file first
|
|
269
|
+
```bash
|
|
270
|
+
source .env && npx aidoc-kit enrich
|
|
271
|
+
# or with .env.local:
|
|
272
|
+
source .env.local && npx aidoc-kit enrich
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Option 3 — dotenv-cli (recommended for scripts)
|
|
276
|
+
```bash
|
|
277
|
+
npx dotenv -e .env.local -- aidoc-kit enrich
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Option 4 — aidoc.config.ts (recommended for teams)
|
|
281
|
+
```typescript
|
|
282
|
+
export default {
|
|
283
|
+
enrich: {
|
|
284
|
+
provider: 'anthropic',
|
|
285
|
+
key: process.env.ANTHROPIC_API_KEY,
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
```
|
|
289
|
+
Then run normally — the key is resolved at runtime from your env.
|
|
290
|
+
|
|
291
|
+
### Environment variables per provider
|
|
292
|
+
|
|
293
|
+
| Provider | Environment variable |
|
|
294
|
+
|-----------|---------------------|
|
|
295
|
+
| Anthropic | `ANTHROPIC_API_KEY` |
|
|
296
|
+
| OpenAI | `OPENAI_API_KEY` |
|
|
297
|
+
| Gemini | `GOOGLE_AI_API_KEY` or `GEMINI_API_KEY` |
|
|
298
|
+
| Groq | `GROQ_API_KEY` |
|
|
299
|
+
| Mistral | `MISTRAL_API_KEY` |
|
|
300
|
+
| Ollama | No key needed |
|
|
301
|
+
|
|
302
|
+
> **Why doesn't aidoc-kit read `.env` files automatically?**
|
|
303
|
+
> Managing secrets is your responsibility, not aidoc-kit's.
|
|
304
|
+
> This is intentional — it keeps the library zero-dependency and avoids any risk
|
|
305
|
+
> of accidentally exposing secrets. This is the same approach used by Prisma,
|
|
306
|
+
> Firebase CLI, and Stripe CLI.
|
|
307
|
+
|
|
200
308
|
## Large file chunking
|
|
201
309
|
|
|
202
310
|
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
|
@@ -113,7 +113,7 @@ function hasFlag(flag) {
|
|
|
113
113
|
}
|
|
114
114
|
// ─── Confirmation prompt ───────────────────────────────────────────────────
|
|
115
115
|
function confirm(message) {
|
|
116
|
-
// --yes / -y flag or non-interactive (piped, CI)
|
|
116
|
+
// --yes / -y flag or non-interactive (piped, CI) - proceed without prompt
|
|
117
117
|
if (hasFlag('--yes') || hasFlag('-y') || !process.stdin.isTTY)
|
|
118
118
|
return Promise.resolve(true);
|
|
119
119
|
return new Promise(resolve => {
|
|
@@ -130,11 +130,11 @@ async function cmdScan() {
|
|
|
130
130
|
console.log(`
|
|
131
131
|
Usage: aidoc-kit scan [options]
|
|
132
132
|
|
|
133
|
-
--path <dir>
|
|
134
|
-
--write
|
|
135
|
-
--yes, -y
|
|
136
|
-
--dry
|
|
137
|
-
-h, --help
|
|
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
|
|
138
138
|
`);
|
|
139
139
|
return;
|
|
140
140
|
}
|
|
@@ -142,16 +142,16 @@ Usage: aidoc-kit scan [options]
|
|
|
142
142
|
const write = hasFlag('--write');
|
|
143
143
|
const dry = hasFlag('--dry');
|
|
144
144
|
const config = (0, config_1.loadConfig)(projectRoot);
|
|
145
|
-
console.log(`\naidoc-kit scan
|
|
145
|
+
console.log(`\naidoc-kit scan - ${projectRoot}\n`);
|
|
146
146
|
const result = (0, scanner_1.scanProject)(projectRoot);
|
|
147
147
|
// Filter out files matching config.ignore patterns
|
|
148
148
|
const ignorePatterns = config.ignore ?? [];
|
|
149
149
|
const filteredWithoutDocs = ignorePatterns.length > 0
|
|
150
150
|
? result.filesWithoutDocs.filter(f => !(0, config_1.isIgnored)(f, ignorePatterns))
|
|
151
151
|
: result.filesWithoutDocs;
|
|
152
|
-
console.log(`✓ ${result.totalScanned}
|
|
153
|
-
console.log(`✓ ${result.docs.length}
|
|
154
|
-
console.log(`✗ ${filteredWithoutDocs.length}
|
|
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`);
|
|
155
155
|
if (filteredWithoutDocs.length > 0 && (write || dry)) {
|
|
156
156
|
// Build reverse import map over ALL project files (docs + all undocumented, regardless of
|
|
157
157
|
// ignore patterns) so that @ai-cascade is complete even when some importers are filtered.
|
|
@@ -162,7 +162,7 @@ Usage: aidoc-kit scan [options]
|
|
|
162
162
|
// Pass projectRoot so that @/ alias imports (Next.js, Vite) are resolved correctly
|
|
163
163
|
const reverseMap = (0, scanner_1.buildReverseImportMap)(allAbsFiles, projectRoot);
|
|
164
164
|
if (dry) {
|
|
165
|
-
console.log('
|
|
165
|
+
console.log('Preview of generated blocks:');
|
|
166
166
|
for (const relFile of filteredWithoutDocs) {
|
|
167
167
|
const absFile = (0, node_path_1.resolve)(projectRoot, relFile);
|
|
168
168
|
const importers = (reverseMap.get(absFile) ?? []).map(f => (0, node_path_1.relative)(projectRoot, f));
|
|
@@ -174,9 +174,9 @@ Usage: aidoc-kit scan [options]
|
|
|
174
174
|
}
|
|
175
175
|
else {
|
|
176
176
|
// Ask confirmation before writing
|
|
177
|
-
const ok = await confirm(
|
|
177
|
+
const ok = await confirm(`- Write @ai-* blocks in ${filteredWithoutDocs.length} file(s)?`);
|
|
178
178
|
if (!ok) {
|
|
179
|
-
console.log('
|
|
179
|
+
console.log('Cancelled.');
|
|
180
180
|
return;
|
|
181
181
|
}
|
|
182
182
|
console.log();
|
|
@@ -195,8 +195,8 @@ Usage: aidoc-kit scan [options]
|
|
|
195
195
|
if (!dry) {
|
|
196
196
|
(0, writer_1.writeKnowledgeBase)(result, projectRoot);
|
|
197
197
|
(0, writer_1.writeAgentsMd)(result, projectRoot);
|
|
198
|
-
console.log('✓ .codemod/ai-knowledge-base.json
|
|
199
|
-
console.log('✓ AGENTS.md
|
|
198
|
+
console.log('✓ .codemod/ai-knowledge-base.json updated');
|
|
199
|
+
console.log('✓ AGENTS.md updated');
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
// ─── run ───────────────────────────────────────────────────────────────────
|
|
@@ -205,15 +205,15 @@ function cmdRun() {
|
|
|
205
205
|
console.log(`
|
|
206
206
|
Usage: aidoc-kit run [options]
|
|
207
207
|
|
|
208
|
-
--path <dir>
|
|
209
|
-
--dry
|
|
210
|
-
-h, --help
|
|
208
|
+
--path <dir> Root directory (default: .)
|
|
209
|
+
--dry Preview changes without modifying files
|
|
210
|
+
-h, --help Show this help
|
|
211
211
|
`);
|
|
212
212
|
return;
|
|
213
213
|
}
|
|
214
214
|
const projectRoot = (0, node_path_1.resolve)(getFlag('--path') ?? '.');
|
|
215
215
|
const dry = hasFlag('--dry');
|
|
216
|
-
console.log(`\naidoc-kit run
|
|
216
|
+
console.log(`\naidoc-kit run - ${projectRoot}\n`);
|
|
217
217
|
const result = (0, scanner_1.scanProject)(projectRoot);
|
|
218
218
|
let changedCount = 0;
|
|
219
219
|
for (const doc of result.docs) {
|
|
@@ -227,10 +227,10 @@ Usage: aidoc-kit run [options]
|
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
if (changedCount === 0) {
|
|
230
|
-
console.log('
|
|
230
|
+
console.log('No transformations to apply.');
|
|
231
231
|
}
|
|
232
232
|
else {
|
|
233
|
-
console.log(`\n${dry ? '[dry]' : '✓'} ${changedCount}
|
|
233
|
+
console.log(`\n${dry ? '[dry]' : '✓'} ${changedCount} file(s) transformed`);
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
// ─── chunk ────────────────────────────────────────────────────────────────
|
|
@@ -239,13 +239,13 @@ async function cmdChunk() {
|
|
|
239
239
|
console.log(`
|
|
240
240
|
Usage: aidoc-kit chunk [options]
|
|
241
241
|
|
|
242
|
-
--path <dir>
|
|
243
|
-
-h, --help
|
|
242
|
+
--path <dir> Root directory (default: .)
|
|
243
|
+
-h, --help Show this help
|
|
244
244
|
`);
|
|
245
245
|
return;
|
|
246
246
|
}
|
|
247
247
|
const projectRoot = (0, node_path_1.resolve)(getFlag('--path') ?? '.');
|
|
248
|
-
console.log(`\naidoc-kit chunk
|
|
248
|
+
console.log(`\naidoc-kit chunk - ${projectRoot}\n`);
|
|
249
249
|
const allFiles = (0, scanner_1.walkDir)(projectRoot);
|
|
250
250
|
const reverseMap = (0, scanner_1.buildReverseImportMap)(allFiles, projectRoot);
|
|
251
251
|
const codemodDir = (0, node_path_1.join)(projectRoot, '.codemod');
|
|
@@ -255,16 +255,16 @@ Usage: aidoc-kit chunk [options]
|
|
|
255
255
|
const chunk = (0, chunker_1.chunkFile)(filePath, importedBy, projectRoot);
|
|
256
256
|
if (chunk) {
|
|
257
257
|
(0, chunker_1.writeChunk)(chunk, codemodDir);
|
|
258
|
-
console.log(` 📦 ${chunk.filePath} (${chunk.totalLines}
|
|
258
|
+
console.log(` 📦 ${chunk.filePath} (${chunk.totalLines} lines)`);
|
|
259
259
|
chunked++;
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
if (chunked === 0) {
|
|
263
|
-
console.log(`
|
|
263
|
+
console.log(`No file exceeds the threshold (150 lines). Chunking not needed.`);
|
|
264
264
|
}
|
|
265
265
|
else {
|
|
266
|
-
console.log(`\n✓ ${chunked}
|
|
267
|
-
console.log('💡
|
|
266
|
+
console.log(`\n✓ ${chunked} file(s) chunked - .codemod/chunks/`);
|
|
267
|
+
console.log('💡 Tell your agent: "Read .codemod/chunks/ before modifying a large file"');
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
// ─── enrich ──────────────────────────────────────────────────────────────
|
|
@@ -274,7 +274,7 @@ async function cmdEnrich() {
|
|
|
274
274
|
Usage: aidoc-kit enrich [options]
|
|
275
275
|
|
|
276
276
|
--provider openai | anthropic | gemini | groq | mistral | ollama
|
|
277
|
-
(auto-deduced from --model when omitted: claude-*
|
|
277
|
+
(auto-deduced from --model when omitted: claude-* - anthropic, etc.)
|
|
278
278
|
--model Model name (auto-resolved via provider API when omitted)
|
|
279
279
|
--host Ollama base URL (default: http://localhost:11434)
|
|
280
280
|
--path <dir> Root directory (default: .)
|
|
@@ -302,15 +302,15 @@ Or set them in aidoc.config.ts:
|
|
|
302
302
|
else if (userModel) {
|
|
303
303
|
const inferred = inferProvider(userModel);
|
|
304
304
|
if (!inferred) {
|
|
305
|
-
console.error(`
|
|
306
|
-
console.error('
|
|
305
|
+
console.error(`Unknown provider for model "${userModel}".`);
|
|
306
|
+
console.error('Pass --provider openai|anthropic|gemini|groq|mistral|ollama');
|
|
307
307
|
process.exit(1);
|
|
308
308
|
}
|
|
309
309
|
provider = inferred;
|
|
310
|
-
console.log(`Provider
|
|
310
|
+
console.log(`Provider inferred from model: ${provider}`);
|
|
311
311
|
}
|
|
312
312
|
else {
|
|
313
|
-
console.error('Provider
|
|
313
|
+
console.error('Provider not set. Pass --provider or --model with a recognized name (claude-*, gpt-*, gemini-*).');
|
|
314
314
|
process.exit(1);
|
|
315
315
|
}
|
|
316
316
|
// Resolve API key: config value (typically process.env.XXX) > standard env vars
|
|
@@ -321,46 +321,66 @@ Or set them in aidoc.config.ts:
|
|
|
321
321
|
const apiKey = configKey ?? envKey;
|
|
322
322
|
if (!apiKey && provider !== 'ollama') {
|
|
323
323
|
const envNames = ENV_KEY_NAMES[provider];
|
|
324
|
-
|
|
325
|
-
console.error(`
|
|
326
|
-
|
|
327
|
-
console.error(`
|
|
328
|
-
console.error(
|
|
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`);
|
|
329
344
|
process.exit(1);
|
|
330
345
|
}
|
|
331
346
|
if (matchedEnvVar)
|
|
332
|
-
console.log(`
|
|
347
|
+
console.log(`Key read from $${matchedEnvVar}`);
|
|
333
348
|
const host = getFlag('--host') ?? config.enrich?.host;
|
|
334
349
|
// Resolve model dynamically (queries provider API when none specified)
|
|
335
350
|
const model = await (0, enricher_1.resolveModel)(provider, apiKey ?? '', userModel);
|
|
336
|
-
console.log(`\naidoc-kit enrich
|
|
337
|
-
console.log(`Provider
|
|
351
|
+
console.log(`\naidoc-kit enrich - ${projectRoot}`);
|
|
352
|
+
console.log(`Provider: ${provider} / Model: ${model}${dry ? ' (dry-run)' : ''}\n`);
|
|
338
353
|
const allFiles = (0, scanner_1.walkDir)(projectRoot);
|
|
339
354
|
const reverseMap = (0, scanner_1.buildReverseImportMap)(allFiles, projectRoot);
|
|
340
355
|
const ignorePatterns = config.ignore ?? [];
|
|
341
|
-
//
|
|
356
|
+
// Target all files with @ai-context that haven't been enriched by an LLM yet
|
|
342
357
|
const toEnrich = allFiles.filter(f => {
|
|
343
358
|
const rel = (0, node_path_1.relative)(projectRoot, f);
|
|
344
359
|
if (ignorePatterns.length > 0 && (0, config_1.isIgnored)(rel, ignorePatterns))
|
|
345
360
|
return false;
|
|
346
361
|
try {
|
|
347
362
|
const src = (0, enricher_1.readSourceLines)(f).join('\n');
|
|
348
|
-
//
|
|
349
|
-
|
|
363
|
+
// Must have @ai-context
|
|
364
|
+
if (!src.includes('@ai-context'))
|
|
365
|
+
return false;
|
|
366
|
+
// Skip if already enriched by an LLM
|
|
367
|
+
if (src.includes('@ai-enriched'))
|
|
368
|
+
return false;
|
|
369
|
+
return true;
|
|
350
370
|
}
|
|
351
371
|
catch {
|
|
352
372
|
return false;
|
|
353
373
|
}
|
|
354
374
|
});
|
|
355
375
|
if (toEnrich.length === 0) {
|
|
356
|
-
console.log('
|
|
357
|
-
console.log('
|
|
376
|
+
console.log('No files with a generated @ai-context block found.');
|
|
377
|
+
console.log('Run `npx aidoc-kit scan --write` first.');
|
|
358
378
|
return;
|
|
359
379
|
}
|
|
360
|
-
console.log(`${toEnrich.length}
|
|
380
|
+
console.log(`${toEnrich.length} file(s) to enrich:\n`);
|
|
361
381
|
toEnrich.forEach(f => console.log(` - ${(0, node_path_1.relative)(projectRoot, f)}`));
|
|
362
382
|
if (dry) {
|
|
363
|
-
console.log('\n[dry-run]
|
|
383
|
+
console.log('\n[dry-run] No files modified.');
|
|
364
384
|
return;
|
|
365
385
|
}
|
|
366
386
|
console.log();
|
|
@@ -370,8 +390,8 @@ Or set them in aidoc.config.ts:
|
|
|
370
390
|
const rel = (0, node_path_1.relative)(projectRoot, filePath);
|
|
371
391
|
const lines = (0, enricher_1.readSourceLines)(filePath);
|
|
372
392
|
const importedBy = (reverseMap.get(filePath) ?? []).map(f => (0, node_path_1.relative)(projectRoot, f));
|
|
373
|
-
// Extract export names from existing @ai-context line
|
|
374
|
-
const contextLine = lines.find(l =>
|
|
393
|
+
// Extract export names from existing @ai-context line (supports [GÉNÉRÉ] and [GENERATED])
|
|
394
|
+
const contextLine = lines.find(l => /\[GÉ?NÉRÉ?\].*Ce fichier exporte|\[GENERATED\].*This file exports/i.test(l));
|
|
375
395
|
const exportNames = contextLine
|
|
376
396
|
? (contextLine.split(':')[1] ?? '').trim().split(',').map(s => s.trim()).filter(Boolean)
|
|
377
397
|
: [];
|
|
@@ -379,13 +399,15 @@ Or set them in aidoc.config.ts:
|
|
|
379
399
|
try {
|
|
380
400
|
const description = await (0, enricher_1.callLLM)(prompt, { provider, model, apiKey, host, dryRun: false });
|
|
381
401
|
if (!description) {
|
|
382
|
-
console.log(` ⚠️ ${rel} —
|
|
402
|
+
console.log(` ⚠️ ${rel} — empty response, original block kept`);
|
|
383
403
|
failed++;
|
|
384
404
|
continue;
|
|
385
405
|
}
|
|
386
|
-
// Replace [GÉNÉRÉ]
|
|
406
|
+
// Replace entire @ai-context block content (supports empty, [GÉNÉRÉ], or any text)
|
|
387
407
|
const source = lines.join('\n');
|
|
388
|
-
const
|
|
408
|
+
const today = new Date().toISOString().slice(0, 10);
|
|
409
|
+
const safeDesc = description.replace(/\$/g, '$$$$');
|
|
410
|
+
const updated = source.replace(/(\* @ai-context\b)([^*]|\*(?!\/))*?(\* @ai-)/, `$1\n * ${safeDesc}\n * @ai-enriched ${today}\n * @ai-`);
|
|
389
411
|
if (source !== updated) {
|
|
390
412
|
const { writeFileSync } = await Promise.resolve().then(() => __importStar(require('node:fs')));
|
|
391
413
|
writeFileSync(filePath, updated, 'utf-8');
|
|
@@ -393,7 +415,7 @@ Or set them in aidoc.config.ts:
|
|
|
393
415
|
enriched++;
|
|
394
416
|
}
|
|
395
417
|
else {
|
|
396
|
-
console.log(` — ${rel} (
|
|
418
|
+
console.log(` — ${rel} (no change)`);
|
|
397
419
|
}
|
|
398
420
|
}
|
|
399
421
|
catch (err) {
|
|
@@ -402,45 +424,45 @@ Or set them in aidoc.config.ts:
|
|
|
402
424
|
failed++;
|
|
403
425
|
}
|
|
404
426
|
}
|
|
405
|
-
console.log(`\n✓ ${enriched}
|
|
427
|
+
console.log(`\n✓ ${enriched} file(s) enriched${failed > 0 ? `, ${failed} failure(s)` : ''}`);
|
|
406
428
|
}
|
|
407
429
|
// ─── help ──────────────────────────────────────────────────────────────────
|
|
408
430
|
function printHelp() {
|
|
409
431
|
console.log(`
|
|
410
432
|
aidoc-kit — AI-native documentation toolkit
|
|
411
433
|
|
|
412
|
-
|
|
413
|
-
init
|
|
414
|
-
--path <dir>
|
|
434
|
+
Commands:
|
|
435
|
+
init Detect project stack and generate aidoc.config.ts
|
|
436
|
+
--path <dir> Root directory (default: .)
|
|
415
437
|
|
|
416
|
-
scan
|
|
417
|
-
--path <dir>
|
|
418
|
-
--write
|
|
419
|
-
--yes, -y
|
|
420
|
-
--dry
|
|
438
|
+
scan Scan a project and build the knowledge base
|
|
439
|
+
--path <dir> Root directory (default: .)
|
|
440
|
+
--write Write missing @ai-* blocks (interactive confirmation)
|
|
441
|
+
--yes, -y Skip confirmation (CI, pipe, non-interactive)
|
|
442
|
+
--dry Preview generated blocks without modifying files
|
|
421
443
|
|
|
422
|
-
chunk
|
|
423
|
-
--path <dir>
|
|
444
|
+
chunk Summarize large files (≥150 lines) into .codemod/chunks/
|
|
445
|
+
--path <dir> Root directory (default: .)
|
|
424
446
|
|
|
425
|
-
enrich
|
|
447
|
+
enrich Enrich @ai-context blocks with an LLM
|
|
426
448
|
--provider openai | anthropic | gemini | groq | mistral | ollama
|
|
427
|
-
(auto-
|
|
428
|
-
--model
|
|
429
|
-
--host
|
|
430
|
-
--path <dir>
|
|
431
|
-
--dry
|
|
432
|
-
|
|
449
|
+
(auto-inferred from --model when omitted)
|
|
450
|
+
--model Model name (auto-resolved via provider API when omitted)
|
|
451
|
+
--host Ollama base URL (default: http://localhost:11434)
|
|
452
|
+
--path <dir> Root directory (default: .)
|
|
453
|
+
--dry List files without modifying
|
|
454
|
+
API keys: ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY...
|
|
433
455
|
|
|
434
|
-
run
|
|
435
|
-
--path <dir>
|
|
436
|
-
--dry
|
|
456
|
+
run Apply transformation rules
|
|
457
|
+
--path <dir> Root directory (default: .)
|
|
458
|
+
--dry Preview changes without modifying files
|
|
437
459
|
|
|
438
|
-
fix
|
|
439
|
-
arrows
|
|
460
|
+
fix Fix @ai-* blocks generated by older versions
|
|
461
|
+
arrows Replace - (U+2192) character with - (parser compat)
|
|
440
462
|
|
|
441
|
-
Config
|
|
442
|
-
|
|
443
|
-
|
|
463
|
+
Config:
|
|
464
|
+
Run "npx aidoc-kit init" to generate an aidoc.config.ts tailored to your project.
|
|
465
|
+
Or create it manually:
|
|
444
466
|
|
|
445
467
|
module.exports = {
|
|
446
468
|
agents: { '@/lib/permissions': 'permissions-expert', 'stripe': 'billing-expert' },
|
|
@@ -449,7 +471,7 @@ Config :
|
|
|
449
471
|
enrich: { provider: 'gemini', model: 'gemini-2.0-flash', key: process.env.GEMINI_API_KEY },
|
|
450
472
|
}
|
|
451
473
|
|
|
452
|
-
|
|
474
|
+
Examples:
|
|
453
475
|
npx aidoc-kit init
|
|
454
476
|
npx aidoc-kit scan
|
|
455
477
|
npx aidoc-kit scan --path ./src --dry
|
|
@@ -457,11 +479,11 @@ Exemples :
|
|
|
457
479
|
npx aidoc-kit run --dry
|
|
458
480
|
npx aidoc-kit chunk
|
|
459
481
|
npx aidoc-kit chunk --path ./src
|
|
460
|
-
npx aidoc-kit enrich --provider gemini --model gemini-2.0-flash
|
|
461
|
-
npx aidoc-kit enrich --provider openai --model gpt-4o-mini
|
|
462
|
-
npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022
|
|
463
|
-
npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant
|
|
464
|
-
npx aidoc-kit enrich --provider mistral --model mistral-small-latest
|
|
482
|
+
npx aidoc-kit enrich --provider gemini --model gemini-2.0-flash
|
|
483
|
+
npx aidoc-kit enrich --provider openai --model gpt-4o-mini
|
|
484
|
+
npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022
|
|
485
|
+
npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant
|
|
486
|
+
npx aidoc-kit enrich --provider mistral --model mistral-small-latest
|
|
465
487
|
npx aidoc-kit enrich --provider ollama --model llama3.2
|
|
466
488
|
npx aidoc-kit enrich --dry
|
|
467
489
|
npx aidoc-kit fix arrows
|
|
@@ -474,8 +496,8 @@ switch (command) {
|
|
|
474
496
|
console.log(`
|
|
475
497
|
Usage: aidoc-kit init [options]
|
|
476
498
|
|
|
477
|
-
--path <dir>
|
|
478
|
-
-h, --help
|
|
499
|
+
--path <dir> Root directory (default: .)
|
|
500
|
+
-h, --help Show this help
|
|
479
501
|
`);
|
|
480
502
|
}
|
|
481
503
|
else {
|
|
@@ -510,7 +532,7 @@ Usage: aidoc-kit init [options]
|
|
|
510
532
|
(0, fixer_1.fixArrows)(projectRoot);
|
|
511
533
|
}
|
|
512
534
|
else {
|
|
513
|
-
console.log(`
|
|
535
|
+
console.log(`Unknown fix subcommand. Available: arrows`);
|
|
514
536
|
}
|
|
515
537
|
break;
|
|
516
538
|
}
|
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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"}
|