autodocs-engine 0.9.5 → 0.9.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/dist/bin/init.js CHANGED
@@ -1,8 +1,9 @@
1
1
  // src/bin/init.ts — Zero-config init command
2
2
  // Auto-detects project structure and generates AGENTS.md on first try.
3
- import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
3
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
4
4
  import { dirname, join, relative, resolve } from "node:path";
5
5
  import { analyze, formatDeterministic, formatHierarchicalDeterministic, generateMinimalAgentsMd } from "../index.js";
6
+ import { discoverWorkspacePackages, parsePnpmWorkspaceYaml } from "../workspace-resolver.js";
6
7
  // ─── Main ────────────────────────────────────────────────────────────────────
7
8
  export async function runInit(options = {}) {
8
9
  const cwd = process.cwd();
@@ -141,118 +142,7 @@ export function detectProjectStructure(cwd) {
141
142
  // Single package
142
143
  return { isMonorepo: false, root: absCwd, packages: [absCwd], packageManager };
143
144
  }
144
- // ─── Workspace Discovery ─────────────────────────────────────────────────────
145
- /**
146
- * Discover workspace package directories from glob patterns.
147
- * Handles common patterns: "packages/*", "apps/*", "libs/**".
148
- */
149
- function discoverWorkspacePackages(root, globs) {
150
- const packages = [];
151
- const seen = new Set();
152
- for (const glob of globs) {
153
- // Strip trailing / if present
154
- const cleanGlob = glob.replace(/\/+$/, "");
155
- // Common patterns: "packages/*", "apps/*", "libs/**"
156
- // Split into base directory and wildcard
157
- const starIdx = cleanGlob.indexOf("*");
158
- if (starIdx === -1) {
159
- // No wildcard — treat as literal directory
160
- const dir = resolve(root, cleanGlob);
161
- if (existsSync(join(dir, "package.json")) && !seen.has(dir)) {
162
- seen.add(dir);
163
- packages.push(dir);
164
- }
165
- continue;
166
- }
167
- const baseDir = resolve(root, cleanGlob.slice(0, starIdx).replace(/\/+$/, ""));
168
- if (!existsSync(baseDir))
169
- continue;
170
- const isRecursive = cleanGlob.includes("**");
171
- if (isRecursive) {
172
- walkForPackages(baseDir, packages, seen);
173
- }
174
- else {
175
- // Single-level wildcard: list immediate subdirectories
176
- try {
177
- const entries = readdirSync(baseDir, { withFileTypes: true });
178
- for (const entry of entries) {
179
- if (!entry.isDirectory())
180
- continue;
181
- if (entry.name === "node_modules" || entry.name.startsWith("."))
182
- continue;
183
- const dir = join(baseDir, entry.name);
184
- if (existsSync(join(dir, "package.json")) && !seen.has(dir)) {
185
- seen.add(dir);
186
- packages.push(dir);
187
- }
188
- }
189
- }
190
- catch {
191
- // Can't read directory
192
- }
193
- }
194
- }
195
- return packages.sort();
196
- }
197
- /** Recursively find directories containing package.json. */
198
- function walkForPackages(dir, results, seen, depth = 0) {
199
- if (depth > 4)
200
- return;
201
- try {
202
- const entries = readdirSync(dir, { withFileTypes: true });
203
- for (const entry of entries) {
204
- if (!entry.isDirectory())
205
- continue;
206
- if (entry.name === "node_modules" || entry.name.startsWith("."))
207
- continue;
208
- const subdir = join(dir, entry.name);
209
- if (existsSync(join(subdir, "package.json")) && !seen.has(subdir)) {
210
- seen.add(subdir);
211
- results.push(subdir);
212
- }
213
- walkForPackages(subdir, results, seen, depth + 1);
214
- }
215
- }
216
- catch {
217
- // Can't read directory
218
- }
219
- }
220
145
  // ─── Helpers ─────────────────────────────────────────────────────────────────
221
- /** Simple YAML parser for pnpm-workspace.yaml — only reads the `packages:` field. */
222
- function parsePnpmWorkspaceYaml(filePath) {
223
- try {
224
- const content = readFileSync(filePath, "utf-8");
225
- const globs = [];
226
- let inPackages = false;
227
- for (const line of content.split("\n")) {
228
- const trimmed = line.trim();
229
- if (trimmed === "packages:" || trimmed === "packages: ") {
230
- inPackages = true;
231
- continue;
232
- }
233
- if (inPackages) {
234
- if (trimmed.startsWith("- ")) {
235
- // Strip "- " prefix and optional quotes
236
- const value = trimmed
237
- .slice(2)
238
- .trim()
239
- .replace(/^['"]|['"]$/g, "");
240
- if (value && !value.startsWith("!")) {
241
- globs.push(value);
242
- }
243
- }
244
- else if (trimmed && !trimmed.startsWith("#")) {
245
- // Non-list line — end of packages section
246
- break;
247
- }
248
- }
249
- }
250
- return globs;
251
- }
252
- catch {
253
- return [];
254
- }
255
- }
256
146
  /** Detect package manager from lockfiles. */
257
147
  function detectPM(dir) {
258
148
  if (existsSync(join(dir, "bun.lockb")) || existsSync(join(dir, "bun.lock")))
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/bin/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/bin/init.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  // src/import-chain.ts — Compute file-to-file import coupling and generate workflow rules
2
2
  // Answers: "When I modify file X, what other files do I need to check?"
3
3
  // Captures the SymbolGraph's import graph before it's discarded.
4
- import { existsSync, readdirSync, readFileSync } from "node:fs";
4
+ import { existsSync, readFileSync } from "node:fs";
5
5
  import { dirname, join, relative, resolve } from "node:path";
6
6
  import { resolveModuleSpecifier } from "./symbol-graph.js";
7
+ import { discoverWorkspacePackages, readWorkspaceGlobs } from "./workspace-resolver.js";
7
8
  // ─── Constants ───────────────────────────────────────────────────────────────
8
9
  const DEFAULT_MIN_SYMBOLS = 1; // Track all import edges for MCP tools (analyze_impact, plan_change)
9
10
  const DEFAULT_MIN_DEPENDENTS = 3;
@@ -64,83 +65,90 @@ export function computeImportChain(symbolGraph, packageDir, warnings, minSymbols
64
65
  }
65
66
  return edges.sort((a, b) => b.symbolCount - a.symbolCount);
66
67
  }
67
- // ─── Workspace Alias Resolution ──────────────────────────────────────────────
68
68
  /**
69
- * Build a map from workspace package names to their directories.
70
- * Scans common monorepo locations (packages/*, apps/*) for package.json files.
71
- * E.g., "@calcom/features" → "packages/features"
69
+ * Build a map from workspace package names to their directories + exports.
70
+ * Reads actual workspace globs from package.json or pnpm-workspace.yaml.
72
71
  */
73
72
  function buildWorkspaceMap(packageDir) {
74
73
  const map = new Map();
75
- const searchDirs = ["packages", "apps", "libs", "modules"];
76
- for (const base of searchDirs) {
77
- const baseDir = join(packageDir, base);
74
+ const globs = readWorkspaceGlobs(packageDir);
75
+ if (globs.length === 0)
76
+ return map;
77
+ const dirs = discoverWorkspacePackages(packageDir, globs);
78
+ for (const dir of dirs) {
78
79
  try {
79
- for (const entry of readdirSync(baseDir, { withFileTypes: true })) {
80
- if (!entry.isDirectory() || entry.name === "node_modules" || entry.name.startsWith("."))
81
- continue;
82
- const pkgJsonPath = join(baseDir, entry.name, "package.json");
83
- try {
84
- const name = JSON.parse(readFileSync(pkgJsonPath, "utf-8")).name;
85
- if (typeof name === "string") {
86
- map.set(name, relative(packageDir, join(baseDir, entry.name)));
87
- }
88
- }
89
- catch {
90
- /* no package.json or invalid */
91
- }
92
- // Also check nested workspaces (e.g., packages/features/*)
93
- try {
94
- for (const nested of readdirSync(join(baseDir, entry.name), { withFileTypes: true })) {
95
- if (!nested.isDirectory() || nested.name === "node_modules")
96
- continue;
97
- const nestedPkgJson = join(baseDir, entry.name, nested.name, "package.json");
98
- try {
99
- const name = JSON.parse(readFileSync(nestedPkgJson, "utf-8")).name;
100
- if (typeof name === "string") {
101
- map.set(name, relative(packageDir, join(baseDir, entry.name, nested.name)));
102
- }
103
- }
104
- catch {
105
- /* skip */
106
- }
80
+ const pkgJson = JSON.parse(readFileSync(join(dir, "package.json"), "utf-8"));
81
+ if (typeof pkgJson.name !== "string")
82
+ continue;
83
+ // Extract simple string exports (skip conditional objects for v1)
84
+ let exports;
85
+ if (pkgJson.exports && typeof pkgJson.exports === "object" && !Array.isArray(pkgJson.exports)) {
86
+ const simple = {};
87
+ for (const [key, value] of Object.entries(pkgJson.exports)) {
88
+ if (typeof value === "string") {
89
+ simple[key] = value;
107
90
  }
108
91
  }
109
- catch {
110
- /* not a directory with nested packages */
111
- }
92
+ if (Object.keys(simple).length > 0)
93
+ exports = simple;
112
94
  }
95
+ map.set(pkgJson.name, { dir: relative(packageDir, dir), exports });
113
96
  }
114
97
  catch {
115
- /* search dir doesn't exist */
98
+ /* invalid package.json */
116
99
  }
117
100
  }
118
101
  return map;
119
102
  }
120
103
  /**
121
- * Resolve a workspace alias like "@calcom/features/auth/lib/getServerSession"
122
- * to a repo-relative file path like "packages/features/auth/lib/getServerSession.ts".
104
+ * Resolve a workspace alias to a repo-relative file path.
105
+ * Handles: exports field, .js→.ts mapping, /index.ts fallback, all extensions.
123
106
  */
124
107
  function resolveWorkspaceAlias(specifier, workspaceMap, packageDir) {
125
- // Try longest match first (e.g., "@calcom/features/ee" before "@calcom/features")
126
- for (const [pkgName, pkgDir] of [...workspaceMap.entries()].sort((a, b) => b[0].length - a[0].length)) {
127
- if (!specifier.startsWith(pkgName))
108
+ // Sort by name length descending so "@calcom/features/ee" matches before "@calcom/features"
109
+ for (const [pkgName, pkg] of [...workspaceMap.entries()].sort((a, b) => b[0].length - a[0].length)) {
110
+ // Must match exactly or as a prefix followed by /
111
+ if (specifier !== pkgName && !specifier.startsWith(`${pkgName}/`))
128
112
  continue;
129
- // Exact match: "@calcom/prisma" look for index file in package dir
130
- // Subpath match: "@calcom/features/auth/lib/foo" → resolve subpath
131
- const subpath = specifier.slice(pkgName.length).replace(/^\//, "");
132
- const basePath = subpath ? join(pkgDir, subpath) : join(pkgDir, "index");
133
- // Try common extensions
134
- for (const ext of [".ts", ".tsx", "/index.ts", "/index.tsx"]) {
135
- const candidate = basePath + ext;
136
- if (existsSync(join(packageDir, candidate))) {
113
+ const subpath = specifier === pkgName ? "" : specifier.slice(pkgName.length + 1);
114
+ const exportKey = subpath ? `./${subpath}` : ".";
115
+ // 1. Try exports field first
116
+ if (pkg.exports?.[exportKey]) {
117
+ const target = pkg.exports[exportKey].replace(/^\.\//, "");
118
+ const candidate = join(pkg.dir, target);
119
+ if (existsSync(join(packageDir, candidate)))
137
120
  return candidate;
138
- }
139
- }
140
- // Try without extension (file might already have one)
141
- if (existsSync(join(packageDir, basePath))) {
142
- return basePath;
143
121
  }
122
+ // 2. Resolve via filesystem with full extension logic
123
+ const basePath = subpath ? join(pkg.dir, subpath) : pkg.dir;
124
+ const resolved = resolveFileWithExtensions(basePath, packageDir);
125
+ if (resolved)
126
+ return resolved;
127
+ }
128
+ return undefined;
129
+ }
130
+ /**
131
+ * Try to resolve a base path to an actual file, matching resolveModuleSpecifier's logic.
132
+ * Handles: .js→.ts, .jsx→.tsx, extensionless→.ts/.tsx/index.ts/index.tsx.
133
+ */
134
+ function resolveFileWithExtensions(basePath, packageDir) {
135
+ const candidates = [];
136
+ if (basePath.endsWith(".js")) {
137
+ candidates.push(basePath.replace(/\.js$/, ".ts"), basePath.replace(/\.js$/, ".tsx"), basePath);
138
+ }
139
+ else if (basePath.endsWith(".jsx")) {
140
+ candidates.push(basePath.replace(/\.jsx$/, ".tsx"), basePath);
141
+ }
142
+ else if (basePath.endsWith(".ts") || basePath.endsWith(".tsx")) {
143
+ candidates.push(basePath);
144
+ }
145
+ else {
146
+ // Extensionless — try all
147
+ candidates.push(`${basePath}.ts`, `${basePath}.tsx`, `${basePath}/index.ts`, `${basePath}/index.tsx`, `${basePath}.js`, `${basePath}.jsx`);
148
+ }
149
+ for (const candidate of candidates) {
150
+ if (existsSync(join(packageDir, candidate)))
151
+ return candidate;
144
152
  }
145
153
  return undefined;
146
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import-chain.js","sourceRoot":"","sources":["../src/import-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-chain.js","sourceRoot":"","sources":["../src/import-chain.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,wEAAwE;AACxE,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAExF,gFAAgF;AAEhF,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,qEAAqE;AACpG,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAwB,EACxB,UAAkB,EAClB,QAAmB,EACnB,aAAqB,mBAAmB;IAExC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC,CAAC,0BAA0B;IACnF,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAEnD,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC9D,iDAAiD;QACjD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAE3D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS,CAAC,oBAAoB;YAElE,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACtD,IAAI,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,IAAI,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC1F,CAAC;qBAAM,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACjC,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;gBACpF,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,IAAI,UAAU,KAAK,YAAY;gBAAE,SAAS,CAAC,oBAAoB;YAE/D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAC7D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACrC,4CAA4C;gBAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC;YACpD,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,UAAU;oBAClB,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;AAC7D,CAAC;AASD;;;GAGG;AACH,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEpD,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEnC,MAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7E,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAE/C,kEAAkE;YAClE,IAAI,OAA2C,CAAC;YAChD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9F,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,GAAG,MAAM,CAAC;YACvD,CAAC;YAED,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,YAA+C,EAC/C,UAAkB;IAElB,4FAA4F;IAC5F,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACnG,kDAAkD;QAClD,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC;YAAE,SAAS;QAE5E,MAAM,OAAO,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAEjD,6BAA6B;QAC7B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAAE,OAAO,SAAS,CAAC;QAChE,CAAC;QAED,sDAAsD;QACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,QAAgB,EAAE,UAAkB;IACrE,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjG,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,UAAU,CAAC,IAAI,CACb,GAAG,QAAQ,KAAK,EAChB,GAAG,QAAQ,MAAM,EACjB,GAAG,QAAQ,WAAW,EACtB,GAAG,QAAQ,YAAY,EACvB,GAAG,QAAQ,KAAK,EAChB,GAAG,QAAQ,MAAM,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IAChE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,CAAC,mDAAmD;AAEpF,MAAM,UAAU,wBAAwB,CACtC,WAA6B,EAC7B,gBAAwB,sBAAsB,EAC9C,WAAmB,iBAAiB;IAEpC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,iEAAiE;IACjE,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,qBAAqB,CAAC,CAAC;IAEvF,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,gEAAgE;IAChE,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC;SACpD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5D,4CAA4C;QAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,qBAAqB,CAAC;QAE7D,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,WAAW,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExG,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhE,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,oBAAoB,UAAU,IAAI;YAC3C,MAAM,EAAE,eAAe,YAAY,GAAG,QAAQ,EAAE;YAChD,MAAM,EAAE,2BAA2B,KAAK,CAAC,MAAM,0CAA0C;YACzF,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Discover workspace package directories from glob patterns.
3
+ * Handles: "packages/*", "apps/*", "libs/**", literal paths.
4
+ */
5
+ export declare function discoverWorkspacePackages(root: string, globs: string[]): string[];
6
+ /** Recursively find directories containing package.json (max depth 4). */
7
+ export declare function walkForPackages(dir: string, results: string[], seen: Set<string>, depth?: number): void;
8
+ /** Simple YAML parser for pnpm-workspace.yaml — only reads the `packages:` field. */
9
+ export declare function parsePnpmWorkspaceYaml(filePath: string): string[];
10
+ /**
11
+ * Read workspace globs from the root package.json or pnpm-workspace.yaml.
12
+ * Returns empty array if not a monorepo.
13
+ */
14
+ export declare function readWorkspaceGlobs(rootDir: string): string[];
@@ -0,0 +1,129 @@
1
+ // src/workspace-resolver.ts — Workspace discovery for monorepos
2
+ // Shared between CLI (init command) and import chain (alias resolution).
3
+ // Reads package.json workspaces or pnpm-workspace.yaml to find all workspace packages.
4
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
5
+ import { join, resolve } from "node:path";
6
+ /**
7
+ * Discover workspace package directories from glob patterns.
8
+ * Handles: "packages/*", "apps/*", "libs/**", literal paths.
9
+ */
10
+ export function discoverWorkspacePackages(root, globs) {
11
+ const packages = [];
12
+ const seen = new Set();
13
+ for (const glob of globs) {
14
+ const cleanGlob = glob.replace(/\/+$/, "");
15
+ const starIdx = cleanGlob.indexOf("*");
16
+ if (starIdx === -1) {
17
+ // No wildcard — literal directory
18
+ const dir = resolve(root, cleanGlob);
19
+ if (existsSync(join(dir, "package.json")) && !seen.has(dir)) {
20
+ seen.add(dir);
21
+ packages.push(dir);
22
+ }
23
+ continue;
24
+ }
25
+ const baseDir = resolve(root, cleanGlob.slice(0, starIdx).replace(/\/+$/, ""));
26
+ if (!existsSync(baseDir))
27
+ continue;
28
+ if (cleanGlob.includes("**")) {
29
+ walkForPackages(baseDir, packages, seen);
30
+ }
31
+ else {
32
+ // Single-level wildcard: immediate subdirectories
33
+ try {
34
+ for (const entry of readdirSync(baseDir, { withFileTypes: true })) {
35
+ if (!entry.isDirectory() || entry.name === "node_modules" || entry.name.startsWith("."))
36
+ continue;
37
+ const dir = join(baseDir, entry.name);
38
+ if (existsSync(join(dir, "package.json")) && !seen.has(dir)) {
39
+ seen.add(dir);
40
+ packages.push(dir);
41
+ }
42
+ }
43
+ }
44
+ catch {
45
+ /* can't read directory */
46
+ }
47
+ }
48
+ }
49
+ return packages.sort();
50
+ }
51
+ /** Recursively find directories containing package.json (max depth 4). */
52
+ export function walkForPackages(dir, results, seen, depth = 0) {
53
+ if (depth > 4)
54
+ return;
55
+ try {
56
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
57
+ if (!entry.isDirectory() || entry.name === "node_modules" || entry.name.startsWith("."))
58
+ continue;
59
+ const subdir = join(dir, entry.name);
60
+ if (existsSync(join(subdir, "package.json")) && !seen.has(subdir)) {
61
+ seen.add(subdir);
62
+ results.push(subdir);
63
+ }
64
+ walkForPackages(subdir, results, seen, depth + 1);
65
+ }
66
+ }
67
+ catch {
68
+ /* can't read directory */
69
+ }
70
+ }
71
+ /** Simple YAML parser for pnpm-workspace.yaml — only reads the `packages:` field. */
72
+ export function parsePnpmWorkspaceYaml(filePath) {
73
+ try {
74
+ const content = readFileSync(filePath, "utf-8");
75
+ const globs = [];
76
+ let inPackages = false;
77
+ for (const line of content.split("\n")) {
78
+ const trimmed = line.trim();
79
+ if (trimmed === "packages:" || trimmed === "packages: ") {
80
+ inPackages = true;
81
+ continue;
82
+ }
83
+ if (inPackages) {
84
+ if (trimmed.startsWith("- ")) {
85
+ const value = trimmed
86
+ .slice(2)
87
+ .trim()
88
+ .replace(/^['"]|['"]$/g, "");
89
+ if (value && !value.startsWith("!")) {
90
+ globs.push(value);
91
+ }
92
+ }
93
+ else if (trimmed && !trimmed.startsWith("#")) {
94
+ break;
95
+ }
96
+ }
97
+ }
98
+ return globs;
99
+ }
100
+ catch {
101
+ return [];
102
+ }
103
+ }
104
+ /**
105
+ * Read workspace globs from the root package.json or pnpm-workspace.yaml.
106
+ * Returns empty array if not a monorepo.
107
+ */
108
+ export function readWorkspaceGlobs(rootDir) {
109
+ // Check package.json workspaces
110
+ try {
111
+ const pkgJson = JSON.parse(readFileSync(join(rootDir, "package.json"), "utf-8"));
112
+ if (Array.isArray(pkgJson.workspaces))
113
+ return pkgJson.workspaces;
114
+ if (pkgJson.workspaces?.packages && Array.isArray(pkgJson.workspaces.packages))
115
+ return pkgJson.workspaces.packages;
116
+ }
117
+ catch {
118
+ /* no package.json */
119
+ }
120
+ // Check pnpm-workspace.yaml
121
+ const pnpmPath = join(rootDir, "pnpm-workspace.yaml");
122
+ if (existsSync(pnpmPath)) {
123
+ const globs = parsePnpmWorkspaceYaml(pnpmPath);
124
+ if (globs.length > 0)
125
+ return globs;
126
+ }
127
+ return [];
128
+ }
129
+ //# sourceMappingURL=workspace-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-resolver.js","sourceRoot":"","sources":["../src/workspace-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autodocs-engine",
3
- "version": "0.9.5",
3
+ "version": "0.9.6",
4
4
  "description": "Codebase intelligence engine for generating AI context files",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",