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 +77 -12
- package/dist/cli.js +166 -80
- 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
|
@@ -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
|
-
|
|
151
|
-
|
|
152
|
-
npx aidoc-kit enrich --
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
npx aidoc-kit enrich --
|
|
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.
|
|
176
|
+
You can also set the default provider in `aidoc.config.ts` to avoid repeating flags:
|
|
161
177
|
|
|
162
|
-
```
|
|
163
|
-
|
|
178
|
+
```ts
|
|
179
|
+
export default {
|
|
164
180
|
enrich: {
|
|
165
|
-
provider: '
|
|
166
|
-
|
|
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)
|
|
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>
|
|
104
|
-
--write
|
|
105
|
-
--yes, -y
|
|
106
|
-
--dry
|
|
107
|
-
-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
|
|
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
|
|
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}
|
|
123
|
-
console.log(`✓ ${result.docs.length}
|
|
124
|
-
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`);
|
|
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('
|
|
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(
|
|
177
|
+
const ok = await confirm(`- Write @ai-* blocks in ${filteredWithoutDocs.length} file(s)?`);
|
|
148
178
|
if (!ok) {
|
|
149
|
-
console.log('
|
|
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
|
|
169
|
-
console.log('✓ AGENTS.md
|
|
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>
|
|
179
|
-
--dry
|
|
180
|
-
-h, --help
|
|
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
|
|
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('
|
|
230
|
+
console.log('No transformations to apply.');
|
|
201
231
|
}
|
|
202
232
|
else {
|
|
203
|
-
console.log(`\n${dry ? '[dry]' : '✓'} ${changedCount}
|
|
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>
|
|
213
|
-
-h, --help
|
|
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
|
|
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}
|
|
258
|
+
console.log(` 📦 ${chunk.filePath} (${chunk.totalLines} lines)`);
|
|
229
259
|
chunked++;
|
|
230
260
|
}
|
|
231
261
|
}
|
|
232
262
|
if (chunked === 0) {
|
|
233
|
-
console.log(`
|
|
263
|
+
console.log(`No file exceeds the threshold (150 lines). Chunking not needed.`);
|
|
234
264
|
}
|
|
235
265
|
else {
|
|
236
|
-
console.log(`\n✓ ${chunked}
|
|
237
|
-
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"');
|
|
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
|
-
|
|
248
|
-
--
|
|
249
|
-
--host
|
|
250
|
-
--path <dir>
|
|
251
|
-
--dry
|
|
252
|
-
-h, --help
|
|
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
|
-
//
|
|
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
|
|
267
|
-
console.log(`Provider
|
|
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('
|
|
287
|
-
console.log('
|
|
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}
|
|
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]
|
|
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} —
|
|
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} (
|
|
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}
|
|
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
|
-
|
|
343
|
-
init
|
|
344
|
-
--path <dir>
|
|
427
|
+
Commands:
|
|
428
|
+
init Detect project stack and generate aidoc.config.ts
|
|
429
|
+
--path <dir> Root directory (default: .)
|
|
345
430
|
|
|
346
|
-
scan
|
|
347
|
-
--path <dir>
|
|
348
|
-
--write
|
|
349
|
-
--yes, -y
|
|
350
|
-
--dry
|
|
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
|
|
353
|
-
--path <dir>
|
|
437
|
+
chunk Summarize large files (≥150 lines) into .codemod/chunks/
|
|
438
|
+
--path <dir> Root directory (default: .)
|
|
354
439
|
|
|
355
|
-
enrich
|
|
440
|
+
enrich Enrich @ai-context blocks with an LLM
|
|
356
441
|
--provider openai | anthropic | gemini | groq | mistral | ollama
|
|
357
|
-
|
|
358
|
-
--
|
|
359
|
-
--host
|
|
360
|
-
--path <dir>
|
|
361
|
-
--dry
|
|
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
|
|
364
|
-
--path <dir>
|
|
365
|
-
--dry
|
|
449
|
+
run Apply transformation rules
|
|
450
|
+
--path <dir> Root directory (default: .)
|
|
451
|
+
--dry Preview changes without modifying files
|
|
366
452
|
|
|
367
|
-
fix
|
|
368
|
-
arrows
|
|
453
|
+
fix Fix @ai-* blocks generated by older versions
|
|
454
|
+
arrows Replace - (U+2192) character with - (parser compat)
|
|
369
455
|
|
|
370
|
-
Config
|
|
371
|
-
|
|
372
|
-
|
|
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
|
-
|
|
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
|
|
390
|
-
npx aidoc-kit enrich --provider openai --model gpt-4o-mini
|
|
391
|
-
npx aidoc-kit enrich --provider anthropic --model claude-3-5-haiku-20241022
|
|
392
|
-
npx aidoc-kit enrich --provider groq --model llama-3.1-8b-instant
|
|
393
|
-
npx aidoc-kit enrich --provider mistral --model mistral-small-latest
|
|
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>
|
|
407
|
-
-h, --help
|
|
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(`
|
|
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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"}
|