@neuledge/context 0.1.0 → 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
@@ -16,7 +16,7 @@
16
16
 
17
17
  ## The Problem
18
18
 
19
- You're building with Next.js 15, and your AI assistant confidently suggests code using the old Pages Router because that's what it learned from training data. You paste the docs. It hallucinates anyway. You paste more docs. The context window fills up. Repeat.
19
+ You're building with Next.js 16, and your AI assistant confidently suggests code using the old Pages Router because that's what it learned from training data. You paste the docs. It hallucinates anyway. You paste more docs. The context window fills up. Repeat.
20
20
 
21
21
  **AI assistants are powerful, but they're stuck in the past.** Their training data is months or years old, and they don't know the specifics of the libraries you're using today.
22
22
 
@@ -27,10 +27,10 @@ You're building with Next.js 15, and your AI assistant confidently suggests code
27
27
  Context connects your AI assistant directly to up-to-date documentation—locally, instantly, and privately.
28
28
 
29
29
  ```
30
- You: "How do I create middleware in Next.js 15?"
30
+ You: "How do I create middleware in Next.js 16?"
31
31
 
32
32
  AI: [automatically queries local docs]
33
- "In Next.js 15, create a middleware.ts file in your project root..."
33
+ "In Next.js 16, create a middleware.ts file in your project root..."
34
34
  [accurate, version-specific answer]
35
35
  ```
36
36
 
@@ -288,14 +288,14 @@ context add https://gitlab.com/org/repo
288
288
  context add https://bitbucket.org/org/repo
289
289
 
290
290
  # Specific tag or branch
291
- context add https://github.com/vercel/next.js/tree/v15.0.0
291
+ context add https://github.com/vercel/next.js/tree/v16.0.0
292
292
 
293
293
  # SSH URLs
294
294
  context add git@github.com:user/repo.git
295
295
  context add ssh://git@github.com/user/repo.git
296
296
 
297
297
  # Custom options
298
- context add https://github.com/vercel/next.js --docs-path packages/docs --name nextjs
298
+ context add https://github.com/vercel/next.js --path packages/docs --name nextjs
299
299
  ```
300
300
 
301
301
  **From local directory:**
@@ -307,16 +307,16 @@ Build a package from documentation in a local folder:
307
307
  context add ./my-project
308
308
 
309
309
  # Specify docs path explicitly
310
- context add /path/to/repo --docs-path docs
310
+ context add /path/to/repo --path docs
311
311
 
312
312
  # Custom package name and version
313
- context add ./my-lib --name my-library --version 1.0.0
313
+ context add ./my-lib --name my-library --pkg-version 1.0.0
314
314
  ```
315
315
 
316
316
  | Option | Description |
317
317
  |--------|-------------|
318
- | `--version <version>` | Custom version label |
319
- | `--docs-path <path>` | Path to docs folder in repo/directory |
318
+ | `--pkg-version <version>` | Custom version label |
319
+ | `--path <path>` | Path to docs folder in repo/directory |
320
320
  | `--name <name>` | Custom package name |
321
321
  | `--save <path>` | Save a copy of the package to the specified path |
322
322
 
@@ -372,7 +372,7 @@ $ context list
372
372
 
373
373
  Installed packages:
374
374
 
375
- nextjs@15.0 4.2 MB 847 sections
375
+ nextjs@16.0 4.2 MB 847 sections
376
376
  react@18 2.1 MB 423 sections
377
377
 
378
378
  Total: 2 packages (6.3 MB)
@@ -400,7 +400,7 @@ Query documentation directly from the command line. Useful for testing and debug
400
400
 
401
401
  ```bash
402
402
  # Query a package (use name@version format from 'context list')
403
- context query 'nextjs@15.0' 'middleware authentication'
403
+ context query 'nextjs@16.0' 'middleware authentication'
404
404
 
405
405
  # Returns the same JSON format as the MCP get_docs tool
406
406
  ```
@@ -448,7 +448,7 @@ Packages are SQLite databases (`.db` files) containing pre-indexed documentation
448
448
 
449
449
  ```
450
450
  ~/.context/packages/
451
- ├── nextjs@15.0.db
451
+ ├── nextjs@16.0.db
452
452
  ├── react@18.db
453
453
  └── typescript@5.5.db
454
454
  ```
package/dist/cli.d.ts CHANGED
@@ -3,8 +3,9 @@ type SourceType = "file" | "url" | "git" | "local-dir";
3
3
  /** Detect the type of source based on the input string. */
4
4
  export declare function detectSourceType(source: string): SourceType;
5
5
  export interface AddFromGitOptions {
6
+ tag?: string;
6
7
  version?: string;
7
- docsPath?: string;
8
+ path?: string;
8
9
  name?: string;
9
10
  save?: string;
10
11
  lang?: string;
package/dist/cli.js CHANGED
@@ -1,10 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { copyFileSync, createWriteStream, existsSync, mkdirSync, readdirSync, renameSync, statSync, unlinkSync, } from "node:fs";
3
+ import { createRequire } from "node:module";
3
4
  import { homedir } from "node:os";
4
5
  import { basename, join, resolve } from "node:path";
5
6
  import { pipeline } from "node:stream/promises";
6
7
  import { Command } from "commander";
7
- import { cloneRepository, detectLocalDocsFolder, detectVersion, extractRepoName, extractVersion, isGitUrl, parseGitUrl, readLocalDocsFiles, } from "./git.js";
8
+ const require = createRequire(import.meta.url);
9
+ const { version } = require("../package.json");
10
+ import { checkoutRef, cloneRepository, detectLocalDocsFolder, detectVersion, extractRepoName, fetchTagsWithMetadata, getDefaultBranch, isGitUrl, parseGitUrl, parseMonorepoTag, readLocalDocsFiles, sortTagsForSelection, } from "./git.js";
8
11
  import { buildPackage } from "./package-builder.js";
9
12
  import { search } from "./search.js";
10
13
  import { ContextServer } from "./server.js";
@@ -78,7 +81,7 @@ function warnIfLowDocs(sectionCount, repoName) {
78
81
  🔍 Search for the docs repo: ${searchUrl}
79
82
 
80
83
  Or try:
81
- - Use --docs-path to specify a different docs folder
84
+ - Use --path to specify a different docs folder
82
85
  - Check for a dedicated docs repo (e.g., ${repoName}-docs, ${repoName}.github.io)`);
83
86
  }
84
87
  }
@@ -131,7 +134,7 @@ function loadPackages(store) {
131
134
  const program = new Command()
132
135
  .name("context")
133
136
  .description("Local-first documentation for AI agents")
134
- .version("0.1.0");
137
+ .version(version);
135
138
  /** Install a package from a local file path. */
136
139
  function addFromFile(source, options) {
137
140
  const sourcePath = resolve(source);
@@ -195,17 +198,133 @@ async function addFromUrl(url, options) {
195
198
  throw err;
196
199
  }
197
200
  }
201
+ /**
202
+ * Check if running in interactive TTY mode.
203
+ */
204
+ function isInteractive() {
205
+ return process.stdin.isTTY === true && process.stdout.isTTY === true;
206
+ }
207
+ /**
208
+ * Prompt user to select a git tag from a list.
209
+ * Returns the selected tag name, or null for HEAD.
210
+ */
211
+ async function promptTagSelection(tags, defaultBranch) {
212
+ const { select } = await import("@inquirer/prompts");
213
+ const HEAD_VALUE = "__HEAD__";
214
+ const choices = [
215
+ {
216
+ name: `HEAD (current ${defaultBranch} branch)`,
217
+ value: HEAD_VALUE,
218
+ },
219
+ ...tags.map((tag) => ({
220
+ name: tag.isPrerelease ? `${tag.name} (prerelease)` : tag.name,
221
+ value: tag.name,
222
+ })),
223
+ ];
224
+ const selected = await select({
225
+ message: "Select a tag:",
226
+ choices,
227
+ pageSize: 15,
228
+ });
229
+ return selected === HEAD_VALUE ? null : selected;
230
+ }
231
+ /**
232
+ * Prompt user to confirm or modify package name and version.
233
+ */
234
+ async function promptPackageDetails(suggestedName, suggestedVersion) {
235
+ const { input } = await import("@inquirer/prompts");
236
+ const name = await input({
237
+ message: "Package name:",
238
+ default: suggestedName,
239
+ });
240
+ const version = await input({
241
+ message: "Version:",
242
+ default: suggestedVersion,
243
+ });
244
+ return { name, version };
245
+ }
198
246
  /** Install a package from a git repository (via clone). */
199
247
  async function addFromGitClone(source, options) {
200
- const { url, ref } = parseGitUrl(source);
201
- const repoName = options.name ?? extractRepoName(url);
202
- console.log(`Cloning ${url}${ref ? ` (${ref})` : ""}...`);
203
- const { tempDir, cleanup } = cloneRepository(url, ref);
248
+ const { url, ref: urlRef } = parseGitUrl(source);
249
+ console.log(`Cloning ${url}...`);
250
+ // Clone without checking out a specific ref initially (we'll do it after tag selection)
251
+ const { tempDir, cleanup } = cloneRepository(url);
204
252
  try {
205
- // Detect version: explicit > ref > detected from repo > latest
206
- const versionLabel = options.version ?? (ref ? extractVersion(ref) : detectVersion(tempDir));
253
+ // Determine which tag/ref to use
254
+ let selectedTag = null;
255
+ if (options.tag) {
256
+ // Explicit --tag provided
257
+ selectedTag = options.tag;
258
+ }
259
+ else if (urlRef) {
260
+ // Ref was part of the URL (e.g., github.com/user/repo#v1.0.0)
261
+ selectedTag = urlRef;
262
+ }
263
+ else {
264
+ // Interactive tag selection
265
+ if (!isInteractive()) {
266
+ throw new Error("Interactive mode required. Use --tag to specify a git tag, or run in a terminal.");
267
+ }
268
+ console.log("Fetching tags...");
269
+ const tags = fetchTagsWithMetadata(tempDir);
270
+ const sortedTags = sortTagsForSelection(tags);
271
+ const defaultBranch = getDefaultBranch(tempDir);
272
+ if (sortedTags.length === 0) {
273
+ console.log("No tags found, using HEAD.");
274
+ }
275
+ else {
276
+ selectedTag = await promptTagSelection(sortedTags, defaultBranch);
277
+ }
278
+ }
279
+ // Checkout the selected tag if specified
280
+ if (selectedTag) {
281
+ console.log(`Checking out ${selectedTag}...`);
282
+ checkoutRef(tempDir, selectedTag);
283
+ }
284
+ // Determine package name and version
285
+ let packageName;
286
+ let versionLabel;
287
+ // Extract suggested values from tag or use defaults
288
+ const repoName = extractRepoName(url);
289
+ let suggestedName = repoName;
290
+ let suggestedVersion = "latest";
291
+ if (selectedTag) {
292
+ const parsed = parseMonorepoTag(selectedTag);
293
+ if (parsed.packageName) {
294
+ suggestedName = parsed.packageName;
295
+ }
296
+ suggestedVersion = parsed.version;
297
+ }
298
+ // Use explicit options if provided, otherwise prompt or use suggestions
299
+ if (options.name && options.version) {
300
+ // Both provided, skip prompts
301
+ packageName = options.name;
302
+ versionLabel = options.version;
303
+ }
304
+ else if (options.name) {
305
+ packageName = options.name;
306
+ versionLabel = options.version ?? suggestedVersion;
307
+ }
308
+ else if (options.version) {
309
+ packageName = options.name ?? suggestedName;
310
+ versionLabel = options.version;
311
+ }
312
+ else {
313
+ // Need to prompt for confirmation
314
+ if (!isInteractive()) {
315
+ // Non-interactive: use suggested values
316
+ packageName = suggestedName;
317
+ versionLabel = suggestedVersion;
318
+ console.log(`Using: ${packageName}@${versionLabel}`);
319
+ }
320
+ else {
321
+ const details = await promptPackageDetails(suggestedName, suggestedVersion);
322
+ packageName = details.name;
323
+ versionLabel = details.version;
324
+ }
325
+ }
207
326
  // Detect or use provided docs path
208
- let docsPath = options.docsPath;
327
+ let docsPath = options.path;
209
328
  if (!docsPath) {
210
329
  const detected = detectLocalDocsFolder(tempDir);
211
330
  if (detected) {
@@ -219,29 +338,32 @@ async function addFromGitClone(source, options) {
219
338
  console.log(`✓ Reading from repository root`);
220
339
  }
221
340
  // Read all markdown files (filtered by language)
222
- const files = readLocalDocsFiles(tempDir, { docsPath, lang: options.lang });
341
+ const files = readLocalDocsFiles(tempDir, {
342
+ path: docsPath,
343
+ lang: options.lang,
344
+ });
223
345
  if (files.length === 0) {
224
- throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --docs-path to specify or --lang all to include all languages.`);
346
+ throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --path to specify or --lang all to include all languages.`);
225
347
  }
226
348
  console.log(`✓ Found ${files.length} markdown files${options.lang ? ` (lang: ${options.lang})` : ""}`);
227
349
  // Build the package
228
350
  ensureDataDir();
229
- const outputPath = join(DATA_DIR, `${repoName}@${versionLabel}.db`);
351
+ const outputPath = join(DATA_DIR, `${packageName}@${versionLabel}.db`);
230
352
  console.log(`Building package...`);
231
353
  const result = buildPackage(outputPath, files, {
232
- name: repoName,
354
+ name: packageName,
233
355
  version: versionLabel,
234
356
  sourceUrl: url,
235
357
  });
236
- console.log(`✓ Built package: ${repoName}@${versionLabel}`);
358
+ console.log(`✓ Built package: ${packageName}@${versionLabel}`);
237
359
  console.log(`✓ Saved to ${outputPath}`);
238
360
  // Save to custom path if specified
239
361
  if (options.save) {
240
- savePackageCopy(outputPath, options.save, repoName, versionLabel);
362
+ savePackageCopy(outputPath, options.save, packageName, versionLabel);
241
363
  }
242
364
  const sizeBytes = statSync(outputPath).size;
243
- console.log(`\nInstalled: ${repoName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
244
- warnIfLowDocs(result.sectionCount, repoName);
365
+ console.log(`\nInstalled: ${packageName}@${versionLabel} (${formatBytes(sizeBytes)}, ${result.sectionCount} sections)`);
366
+ warnIfLowDocs(result.sectionCount, packageName);
245
367
  }
246
368
  finally {
247
369
  cleanup();
@@ -252,10 +374,11 @@ async function addFromLocalDir(source, options) {
252
374
  const dirPath = resolve(source);
253
375
  const dirName = basename(dirPath);
254
376
  const packageName = options.name ?? dirName.toLowerCase().replace(/[^a-z0-9-]/g, "-");
255
- const versionLabel = options.version ?? detectVersion(dirPath);
377
+ // Pass packageName to detectVersion for monorepo support (filters tags by package name)
378
+ const versionLabel = options.version ?? detectVersion(dirPath, packageName);
256
379
  console.log(`Scanning ${dirPath}...`);
257
380
  // Detect or use provided docs path
258
- let docsPath = options.docsPath;
381
+ let docsPath = options.path;
259
382
  if (!docsPath) {
260
383
  const detected = detectLocalDocsFolder(dirPath);
261
384
  if (detected) {
@@ -269,9 +392,12 @@ async function addFromLocalDir(source, options) {
269
392
  console.log(`✓ Reading from directory root`);
270
393
  }
271
394
  // Read all markdown files (filtered by language)
272
- const files = readLocalDocsFiles(dirPath, { docsPath, lang: options.lang });
395
+ const files = readLocalDocsFiles(dirPath, {
396
+ path: docsPath,
397
+ lang: options.lang,
398
+ });
273
399
  if (files.length === 0) {
274
- throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --docs-path to specify or --lang all to include all languages.`);
400
+ throw new Error(`No markdown files found${docsPath ? ` in ${docsPath}` : ""}. Use --path to specify or --lang all to include all languages.`);
275
401
  }
276
402
  console.log(`✓ Found ${files.length} markdown files${options.lang ? ` (lang: ${options.lang})` : ""}`);
277
403
  // Build the package
@@ -297,26 +423,32 @@ program
297
423
  .command("add")
298
424
  .description("Install a documentation package from file, URL, GitHub, git repo, or local directory")
299
425
  .argument("<source>", "Package source: local .db file, URL (.db), GitHub URL, git URL, or local directory")
300
- .option("--version <version>", "Custom version label")
301
- .option("--docs-path <path>", "Path to docs folder in repo/directory")
426
+ .option("--tag <tag>", "Git tag to checkout (for git repos)")
427
+ .option("--pkg-version <version>", "Custom version label")
428
+ .option("--path <path>", "Path to docs folder in repo/directory")
302
429
  .option("--name <name>", "Custom package name")
303
430
  .option("--save <path>", "Save a copy of the package to the specified path")
304
431
  .option("--lang <code>", "Language filter: 'all' for all languages, or ISO code (e.g., 'en', 'de')")
305
432
  .action(async (source, options) => {
306
433
  try {
307
434
  const sourceType = detectSourceType(source);
435
+ // Map pkgVersion to version for internal use
436
+ const internalOptions = {
437
+ ...options,
438
+ version: options.pkgVersion,
439
+ };
308
440
  switch (sourceType) {
309
441
  case "file":
310
- addFromFile(source, options);
442
+ addFromFile(source, internalOptions);
311
443
  break;
312
444
  case "url":
313
- await addFromUrl(source, options);
445
+ await addFromUrl(source, internalOptions);
314
446
  break;
315
447
  case "git":
316
- await addFromGitClone(source, options);
448
+ await addFromGitClone(source, internalOptions);
317
449
  break;
318
450
  case "local-dir":
319
- await addFromLocalDir(source, options);
451
+ await addFromLocalDir(source, internalOptions);
320
452
  break;
321
453
  }
322
454
  }
@@ -350,13 +482,16 @@ program
350
482
  program
351
483
  .command("remove")
352
484
  .description("Remove a documentation package")
353
- .argument("<name>", "Package name (without version)")
485
+ .argument("<name>", "Package name (e.g., 'next' or 'next@v16.2.0')")
354
486
  .action((name) => {
355
487
  const store = new PackageStore();
356
488
  loadPackages(store);
357
- const pkg = store.get(name);
489
+ // Strip version suffix if present (e.g., "next@v16.2.0" -> "next")
490
+ const atIndex = name.indexOf("@");
491
+ const packageName = atIndex > 0 ? name.slice(0, atIndex) : name;
492
+ const pkg = store.get(packageName);
358
493
  if (!pkg) {
359
- console.error(`Error: Package not found: ${name}`);
494
+ console.error(`Error: Package not found: ${packageName}`);
360
495
  process.exit(1);
361
496
  }
362
497
  // Delete file from disk
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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"}
package/dist/git.d.ts CHANGED
@@ -48,7 +48,7 @@ export interface FindMarkdownOptions {
48
48
  }
49
49
  export interface ReadLocalDocsOptions {
50
50
  /** Path to docs folder within the repository */
51
- docsPath?: string;
51
+ path?: string;
52
52
  /** Language filter: "all" includes everything, specific code (e.g., "en") includes only that locale */
53
53
  lang?: string;
54
54
  }
@@ -66,9 +66,66 @@ export declare function readLocalDocsFiles(basePath: string, options?: ReadLocal
66
66
  * Extract version from ref or return 'latest'.
67
67
  */
68
68
  export declare function extractVersion(ref?: string): string;
69
+ /**
70
+ * Parse a monorepo-style tag into package name and version.
71
+ * Handles formats:
72
+ * - "package@1.2.3" -> { packageName: "package", version: "1.2.3" }
73
+ * - "@scope/package@1.2.3" -> { packageName: "@scope/package", version: "1.2.3" }
74
+ * - "v1.2.3" or "1.2.3" -> { packageName: null, version: "1.2.3" }
75
+ */
76
+ export declare function parseMonorepoTag(tag: string): {
77
+ packageName: string | null;
78
+ version: string;
79
+ };
80
+ /**
81
+ * Find the latest stable version from a list of git tags.
82
+ * Filters out prereleases and returns the highest semver version.
83
+ * If packageName is provided, filters tags to only those matching the package.
84
+ */
85
+ export declare function findLatestStableVersion(tags: string[], packageName?: string): string | null;
69
86
  /**
70
87
  * Detect version from a directory by checking:
71
- * 1. Latest git tag (universal across all languages)
88
+ * 1. All git tags - finds highest stable (non-prerelease) version by semver
72
89
  * 2. Falls back to 'latest'
90
+ *
91
+ * When a stable version is found, checks out to that tag so the code matches.
92
+ * Handles shallow clones by fetching tags and the specific tag's commit.
93
+ *
94
+ * @param dirPath - Path to the git repository
95
+ * @param packageName - Optional package name for monorepo support (e.g., "ai" or "@ai-sdk/gateway")
96
+ */
97
+ export declare function detectVersion(dirPath: string, packageName?: string): string;
98
+ /**
99
+ * Tag information with metadata for sorting and display.
100
+ */
101
+ export interface TagInfo {
102
+ /** The full tag name (e.g., "ai@6.0.68" or "v1.2.3") */
103
+ name: string;
104
+ /** Parsed package name from tag, or null for plain version tags */
105
+ packageName: string | null;
106
+ /** Parsed version string */
107
+ version: string;
108
+ /** Whether this is a prerelease version */
109
+ isPrerelease: boolean;
110
+ /** Tag creation timestamp (Unix seconds) */
111
+ timestamp: number;
112
+ }
113
+ /**
114
+ * Get the default branch name (main or master).
115
+ */
116
+ export declare function getDefaultBranch(dirPath: string): string;
117
+ /**
118
+ * Fetch git tags with metadata (creation date, prerelease status).
119
+ * Returns up to `limit` tags sorted by creation date (most recent first).
120
+ */
121
+ export declare function fetchTagsWithMetadata(dirPath: string, limit?: number): TagInfo[];
122
+ /**
123
+ * Sort tags for interactive selection:
124
+ * 1. Stable versions first, sorted by timestamp (most recent first)
125
+ * 2. Prereleases after, sorted by timestamp (most recent first)
126
+ */
127
+ export declare function sortTagsForSelection(tags: TagInfo[]): TagInfo[];
128
+ /**
129
+ * Checkout a specific git ref (tag or branch).
73
130
  */
74
- export declare function detectVersion(dirPath: string): string;
131
+ export declare function checkoutRef(dirPath: string, ref: string): void;
package/dist/git.js CHANGED
@@ -334,7 +334,7 @@ function findMarkdownFiles(dirPath, ig, basePath = "", options = {}) {
334
334
  * Deduplicates files by content hash (keeps first occurrence).
335
335
  */
336
336
  export function readLocalDocsFiles(basePath, options = {}) {
337
- const { docsPath, lang } = options;
337
+ const { path: docsPath, lang } = options;
338
338
  const searchPath = docsPath ? join(basePath, docsPath) : basePath;
339
339
  if (!existsSync(searchPath)) {
340
340
  throw new Error(`Directory not found: ${searchPath}`);
@@ -372,21 +372,169 @@ export function extractVersion(ref) {
372
372
  return "latest";
373
373
  return ref.startsWith("v") ? ref.slice(1) : ref;
374
374
  }
375
+ /**
376
+ * Parse a monorepo-style tag into package name and version.
377
+ * Handles formats:
378
+ * - "package@1.2.3" -> { packageName: "package", version: "1.2.3" }
379
+ * - "@scope/package@1.2.3" -> { packageName: "@scope/package", version: "1.2.3" }
380
+ * - "v1.2.3" or "1.2.3" -> { packageName: null, version: "1.2.3" }
381
+ */
382
+ export function parseMonorepoTag(tag) {
383
+ // Handle scoped packages: @scope/package@version
384
+ const scopedMatch = tag.match(/^(@[^@]+\/[^@]+)@(.+)$/);
385
+ if (scopedMatch) {
386
+ return {
387
+ packageName: scopedMatch[1],
388
+ version: scopedMatch[2],
389
+ };
390
+ }
391
+ // Handle unscoped packages: package@version (but not @scope/... which is handled above)
392
+ const unscopedMatch = tag.match(/^([^@]+)@(.+)$/);
393
+ if (unscopedMatch) {
394
+ return {
395
+ packageName: unscopedMatch[1],
396
+ version: unscopedMatch[2],
397
+ };
398
+ }
399
+ // Plain version tag (v1.2.3 or 1.2.3)
400
+ const version = tag.startsWith("v") ? tag.slice(1) : tag;
401
+ return { packageName: null, version };
402
+ }
403
+ /**
404
+ * Parse a version string into components.
405
+ * Returns null if the string is not a valid semver-like version.
406
+ */
407
+ function parseVersion(tag) {
408
+ // Extract version from monorepo-style tags (e.g., "ai@6.0.68" -> "6.0.68")
409
+ const { version } = parseMonorepoTag(tag);
410
+ // Match semver pattern: major.minor.patch[-prerelease]
411
+ const match = version.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);
412
+ if (!match)
413
+ return null;
414
+ // Groups 1-3 are guaranteed to exist when regex matches (required groups)
415
+ // Group 4 (prerelease) is optional
416
+ return {
417
+ major: Number.parseInt(match[1], 10),
418
+ minor: Number.parseInt(match[2], 10),
419
+ patch: Number.parseInt(match[3], 10),
420
+ prerelease: match[4] ?? null,
421
+ original: tag,
422
+ };
423
+ }
424
+ /**
425
+ * Check if a version is a prerelease.
426
+ * Detects common prerelease patterns: canary, alpha, beta, rc, next, dev, etc.
427
+ */
428
+ function isPrerelease(version) {
429
+ return version.prerelease !== null;
430
+ }
431
+ /**
432
+ * Compare two parsed versions.
433
+ * Returns positive if a > b, negative if a < b, 0 if equal.
434
+ */
435
+ function compareVersions(a, b) {
436
+ if (a.major !== b.major)
437
+ return a.major - b.major;
438
+ if (a.minor !== b.minor)
439
+ return a.minor - b.minor;
440
+ return a.patch - b.patch;
441
+ }
442
+ /**
443
+ * Filter tags by package name for monorepo support.
444
+ * - If packageName is provided, only return tags matching that package
445
+ * - If no package-specific tags found, fall back to plain version tags
446
+ * - If packageName is not provided, return all tags
447
+ */
448
+ function filterTagsByPackage(tags, packageName) {
449
+ if (!packageName) {
450
+ return tags;
451
+ }
452
+ // Normalize package name for comparison (handle both "ai" and "@ai-sdk/gateway" styles)
453
+ const normalizedName = packageName.toLowerCase();
454
+ // Filter tags that match the package name
455
+ const matchingTags = tags.filter((tag) => {
456
+ const parsed = parseMonorepoTag(tag);
457
+ if (parsed.packageName === null) {
458
+ return false; // Plain version tags don't match specific packages
459
+ }
460
+ return parsed.packageName.toLowerCase() === normalizedName;
461
+ });
462
+ // If we found package-specific tags, use those
463
+ if (matchingTags.length > 0) {
464
+ return matchingTags;
465
+ }
466
+ // Fall back to plain version tags (for non-monorepo repos)
467
+ return tags.filter((tag) => parseMonorepoTag(tag).packageName === null);
468
+ }
469
+ /**
470
+ * Find the latest stable version from a list of git tags.
471
+ * Filters out prereleases and returns the highest semver version.
472
+ * If packageName is provided, filters tags to only those matching the package.
473
+ */
474
+ export function findLatestStableVersion(tags, packageName) {
475
+ const filteredTags = filterTagsByPackage(tags, packageName);
476
+ const versions = filteredTags
477
+ .map(parseVersion)
478
+ .filter((v) => v !== null)
479
+ .filter((v) => !isPrerelease(v));
480
+ if (versions.length === 0)
481
+ return null;
482
+ // Sort descending by version
483
+ versions.sort((a, b) => compareVersions(b, a));
484
+ const latest = versions[0];
485
+ return latest ? latest.original : null;
486
+ }
375
487
  /**
376
488
  * Detect version from a directory by checking:
377
- * 1. Latest git tag (universal across all languages)
489
+ * 1. All git tags - finds highest stable (non-prerelease) version by semver
378
490
  * 2. Falls back to 'latest'
491
+ *
492
+ * When a stable version is found, checks out to that tag so the code matches.
493
+ * Handles shallow clones by fetching tags and the specific tag's commit.
494
+ *
495
+ * @param dirPath - Path to the git repository
496
+ * @param packageName - Optional package name for monorepo support (e.g., "ai" or "@ai-sdk/gateway")
379
497
  */
380
- export function detectVersion(dirPath) {
381
- // Try git tag (works for any language/framework)
498
+ export function detectVersion(dirPath, packageName) {
382
499
  try {
383
- const tag = execSync("git describe --tags --abbrev=0 2>/dev/null", {
500
+ // Fetch all tags (needed for shallow clones)
501
+ execSync("git fetch --tags --quiet 2>/dev/null", {
502
+ cwd: dirPath,
503
+ encoding: "utf-8",
504
+ stdio: ["pipe", "pipe", "pipe"],
505
+ });
506
+ // List all tags
507
+ const tagsOutput = execSync("git tag -l 2>/dev/null", {
384
508
  cwd: dirPath,
385
509
  encoding: "utf-8",
386
510
  stdio: ["pipe", "pipe", "pipe"],
387
511
  }).trim();
388
- if (tag) {
389
- return tag.startsWith("v") ? tag.slice(1) : tag;
512
+ if (tagsOutput) {
513
+ const tags = tagsOutput.split("\n").filter(Boolean);
514
+ const latestStable = findLatestStableVersion(tags, packageName);
515
+ if (latestStable) {
516
+ // Fetch and checkout to the detected tag so code matches the version
517
+ try {
518
+ // Fetch the specific tag (for shallow clones that don't have the commit)
519
+ execSync(`git fetch --depth=1 origin tag ${latestStable} --no-tags 2>/dev/null`, {
520
+ cwd: dirPath,
521
+ encoding: "utf-8",
522
+ stdio: ["pipe", "pipe", "pipe"],
523
+ });
524
+ // Checkout to the tag
525
+ execSync(`git checkout ${latestStable} 2>/dev/null`, {
526
+ cwd: dirPath,
527
+ encoding: "utf-8",
528
+ stdio: ["pipe", "pipe", "pipe"],
529
+ });
530
+ }
531
+ catch {
532
+ // Checkout failed, continue with current HEAD
533
+ }
534
+ // Extract version from monorepo-style tags (e.g., "ai@6.0.68" -> "6.0.68")
535
+ const { version } = parseMonorepoTag(latestStable);
536
+ return version;
537
+ }
390
538
  }
391
539
  }
392
540
  catch {
@@ -394,4 +542,126 @@ export function detectVersion(dirPath) {
394
542
  }
395
543
  return "latest";
396
544
  }
545
+ /**
546
+ * Get the default branch name (main or master).
547
+ */
548
+ export function getDefaultBranch(dirPath) {
549
+ try {
550
+ // Try to get the default branch from remote HEAD
551
+ const result = execSync("git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null", {
552
+ cwd: dirPath,
553
+ encoding: "utf-8",
554
+ stdio: ["pipe", "pipe", "pipe"],
555
+ }).trim();
556
+ // Extract branch name from "refs/remotes/origin/main"
557
+ const match = result.match(/refs\/remotes\/origin\/(.+)$/);
558
+ if (match?.[1]) {
559
+ return match[1];
560
+ }
561
+ }
562
+ catch {
563
+ // Fallback: check if main or master exists
564
+ }
565
+ try {
566
+ execSync("git show-ref --verify --quiet refs/heads/main", {
567
+ cwd: dirPath,
568
+ stdio: ["pipe", "pipe", "pipe"],
569
+ });
570
+ return "main";
571
+ }
572
+ catch {
573
+ // main doesn't exist
574
+ }
575
+ return "master";
576
+ }
577
+ /**
578
+ * Fetch git tags with metadata (creation date, prerelease status).
579
+ * Returns up to `limit` tags sorted by creation date (most recent first).
580
+ */
581
+ export function fetchTagsWithMetadata(dirPath, limit = 100) {
582
+ try {
583
+ // Fetch all tags (needed for shallow clones)
584
+ execSync("git fetch --tags --quiet 2>/dev/null", {
585
+ cwd: dirPath,
586
+ encoding: "utf-8",
587
+ stdio: ["pipe", "pipe", "pipe"],
588
+ });
589
+ // Get tags with creation date, sorted by date descending
590
+ // Format: timestamp<tab>tagname
591
+ const output = execSync(`git tag -l --sort=-creatordate --format='%(creatordate:unix)\t%(refname:short)' 2>/dev/null | head -n ${limit}`, {
592
+ cwd: dirPath,
593
+ encoding: "utf-8",
594
+ stdio: ["pipe", "pipe", "pipe"],
595
+ }).trim();
596
+ if (!output) {
597
+ return [];
598
+ }
599
+ const tags = [];
600
+ for (const line of output.split("\n")) {
601
+ const [timestampStr, tagName] = line.split("\t");
602
+ if (!tagName || !timestampStr)
603
+ continue;
604
+ const timestamp = Number.parseInt(timestampStr, 10);
605
+ const { packageName, version } = parseMonorepoTag(tagName);
606
+ // Check if it's a prerelease by parsing and checking
607
+ const parsed = parseVersion(tagName);
608
+ const isPre = parsed ? isPrerelease(parsed) : false;
609
+ tags.push({
610
+ name: tagName,
611
+ packageName,
612
+ version,
613
+ isPrerelease: isPre,
614
+ timestamp,
615
+ });
616
+ }
617
+ return tags;
618
+ }
619
+ catch {
620
+ return [];
621
+ }
622
+ }
623
+ /**
624
+ * Sort tags for interactive selection:
625
+ * 1. Stable versions first, sorted by timestamp (most recent first)
626
+ * 2. Prereleases after, sorted by timestamp (most recent first)
627
+ */
628
+ export function sortTagsForSelection(tags) {
629
+ const stable = tags.filter((t) => !t.isPrerelease);
630
+ const prerelease = tags.filter((t) => t.isPrerelease);
631
+ // Both are already sorted by timestamp from git, but let's ensure it
632
+ stable.sort((a, b) => b.timestamp - a.timestamp);
633
+ prerelease.sort((a, b) => b.timestamp - a.timestamp);
634
+ return [...stable, ...prerelease];
635
+ }
636
+ /**
637
+ * Checkout a specific git ref (tag or branch).
638
+ */
639
+ export function checkoutRef(dirPath, ref) {
640
+ try {
641
+ // Fetch the specific ref (for shallow clones)
642
+ execSync(`git fetch --depth=1 origin tag ${ref} --no-tags 2>/dev/null`, {
643
+ cwd: dirPath,
644
+ encoding: "utf-8",
645
+ stdio: ["pipe", "pipe", "pipe"],
646
+ });
647
+ }
648
+ catch {
649
+ // Tag fetch failed, try as branch
650
+ try {
651
+ execSync(`git fetch --depth=1 origin ${ref} 2>/dev/null`, {
652
+ cwd: dirPath,
653
+ encoding: "utf-8",
654
+ stdio: ["pipe", "pipe", "pipe"],
655
+ });
656
+ }
657
+ catch {
658
+ // Fetch failed, continue anyway
659
+ }
660
+ }
661
+ execSync(`git checkout ${ref} 2>/dev/null`, {
662
+ cwd: dirPath,
663
+ encoding: "utf-8",
664
+ stdio: ["pipe", "pipe", "pipe"],
665
+ });
666
+ }
397
667
  //# sourceMappingURL=git.js.map
package/dist/git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
1
  /**
2
2
  * Package builder for creating documentation packages from markdown files.
3
3
  */
4
+ import { createHash } from "node:crypto";
4
5
  import { existsSync, unlinkSync } from "node:fs";
5
6
  import Database from "better-sqlite3";
6
7
  import { parseMarkdown } from "./build.js";
8
+ /**
9
+ * Generate a content hash for section deduplication.
10
+ * Uses first 16 chars of MD5 (sufficient for detecting identical content).
11
+ */
12
+ function contentHash(content) {
13
+ return createHash("md5").update(content).digest("hex").slice(0, 16);
14
+ }
7
15
  /**
8
16
  * Build a documentation package from markdown files.
9
17
  */
@@ -48,10 +56,18 @@ export function buildPackage(outputPath, files, options) {
48
56
  VALUES (?, ?, ?, ?, ?, ?)
49
57
  `);
50
58
  const allSections = [];
59
+ const seenHashes = new Set();
51
60
  for (const file of files) {
52
61
  try {
53
62
  const parsed = parseMarkdown(file.content, file.path);
54
- allSections.push(...parsed.sections);
63
+ for (const section of parsed.sections) {
64
+ // Deduplicate sections with identical content (ignore titles)
65
+ const hash = contentHash(section.content);
66
+ if (!seenHashes.has(hash)) {
67
+ seenHashes.add(hash);
68
+ allSections.push(section);
69
+ }
70
+ }
55
71
  }
56
72
  catch {
57
73
  // Skip files that fail to parse
@@ -1 +1 @@
1
- {"version":3,"file":"package-builder.js","sourceRoot":"","sources":["../src/package-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAmB,aAAa,EAAE,MAAM,YAAY,CAAC;AAoB5D;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,KAAqB,EACrB,OAA4B;IAE5B,kCAAkC;IAClC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,gBAAgB;QAChB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;KAgBP,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,6CAA6C,CAC9C,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG9B,CAAC,CAAC;QAEH,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAsB,EAAE,EAAE;YAC1D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,WAAW,CAAC,GAAG,CACb,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,CAAC,CAAC;QAEvB,oBAAoB;QACpB,EAAE,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtE,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,WAAW,CAAC,MAAM;YAChC,WAAW;SACZ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"package-builder.js","sourceRoot":"","sources":["../src/package-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuledge/context",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Context management for Neuledge packages",
5
5
  "keywords": [],
6
6
  "homepage": "https://neuledge.com",
@@ -32,6 +32,7 @@
32
32
  "author": "Neuledge",
33
33
  "license": "Apache-2.0",
34
34
  "dependencies": {
35
+ "@inquirer/prompts": "^8.2.0",
35
36
  "@modelcontextprotocol/sdk": "^1.11.4",
36
37
  "better-sqlite3": "^11.9.1",
37
38
  "commander": "^14.0.0",