devmind 1.1.0 → 1.1.2

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.
Files changed (78) hide show
  1. package/README.md +174 -157
  2. package/dist/cli/handlers.js +25 -5
  3. package/dist/cli/handlers.js.map +1 -1
  4. package/dist/cli/register-analysis.js +11 -0
  5. package/dist/cli/register-analysis.js.map +1 -1
  6. package/dist/cli/register-database.js +4 -0
  7. package/dist/cli/register-database.js.map +1 -1
  8. package/dist/codebase/generators/architecture-extractor.d.ts +41 -0
  9. package/dist/codebase/generators/architecture-extractor.js +388 -0
  10. package/dist/codebase/generators/architecture-extractor.js.map +1 -0
  11. package/dist/codebase/generators/architecture.d.ts +2 -4
  12. package/dist/codebase/generators/architecture.js +123 -30
  13. package/dist/codebase/generators/architecture.js.map +1 -1
  14. package/dist/codebase/generators/modules.js +8 -8
  15. package/dist/codebase/generators/overview.js +24 -24
  16. package/dist/codebase/index.js +4 -3
  17. package/dist/codebase/index.js.map +1 -1
  18. package/dist/codebase/parsers/typescript.js +126 -67
  19. package/dist/codebase/parsers/typescript.js.map +1 -1
  20. package/dist/codebase/scanners/filesystem.d.ts +2 -2
  21. package/dist/codebase/scanners/filesystem.js +32 -10
  22. package/dist/codebase/scanners/filesystem.js.map +1 -1
  23. package/dist/commands/analyze.js +11 -4
  24. package/dist/commands/analyze.js.map +1 -1
  25. package/dist/commands/audit-design.js +74 -0
  26. package/dist/commands/audit-design.js.map +1 -1
  27. package/dist/commands/audit-report.js.map +1 -1
  28. package/dist/commands/audit-source.js +3 -1
  29. package/dist/commands/audit-source.js.map +1 -1
  30. package/dist/commands/audit.js +4 -3
  31. package/dist/commands/audit.js.map +1 -1
  32. package/dist/commands/autosave.d.ts +14 -0
  33. package/dist/commands/autosave.js +121 -0
  34. package/dist/commands/autosave.js.map +1 -1
  35. package/dist/commands/claude-plugin.js.map +1 -1
  36. package/dist/commands/codex-plugin.js.map +1 -1
  37. package/dist/commands/design-system.js +8 -0
  38. package/dist/commands/design-system.js.map +1 -1
  39. package/dist/commands/extract.js +8 -4
  40. package/dist/commands/extract.js.map +1 -1
  41. package/dist/commands/retrieve.d.ts +3 -0
  42. package/dist/commands/retrieve.js +599 -7
  43. package/dist/commands/retrieve.js.map +1 -1
  44. package/dist/commands/status.js +4 -3
  45. package/dist/commands/status.js.map +1 -1
  46. package/dist/core/devmind-ignore.d.ts +2 -0
  47. package/dist/core/devmind-ignore.js +99 -0
  48. package/dist/core/devmind-ignore.js.map +1 -0
  49. package/dist/core/errors.js +32 -0
  50. package/dist/core/errors.js.map +1 -1
  51. package/dist/core/index.d.ts +2 -0
  52. package/dist/core/index.js +2 -0
  53. package/dist/core/index.js.map +1 -1
  54. package/dist/core/source-file-cache.js +4 -1
  55. package/dist/core/source-file-cache.js.map +1 -1
  56. package/dist/core/tool-output.d.ts +18 -0
  57. package/dist/core/tool-output.js +95 -0
  58. package/dist/core/tool-output.js.map +1 -0
  59. package/dist/database/cli/register-database.js +4 -0
  60. package/dist/database/cli/register-database.js.map +1 -1
  61. package/dist/database/commands/generate.d.ts +1 -0
  62. package/dist/database/commands/generate.js +23 -14
  63. package/dist/database/commands/generate.js.map +1 -1
  64. package/dist/database/commands/handoff.js +123 -123
  65. package/dist/database/commands/handoff.js.map +1 -1
  66. package/dist/database/commands/learn.js +5 -1
  67. package/dist/database/commands/learn.js.map +1 -1
  68. package/dist/database/commands/memory.js +113 -113
  69. package/dist/database/commands/watch.js +1 -1
  70. package/dist/database/commands/watch.js.map +1 -1
  71. package/dist/database/extractors/mysql.js +45 -45
  72. package/dist/database/extractors/postgres.js +54 -54
  73. package/dist/database/extractors/sqlite.js +8 -8
  74. package/dist/database/generators/templates.js +520 -520
  75. package/dist/generators/unified.d.ts +1 -1
  76. package/dist/generators/unified.js +305 -75
  77. package/dist/generators/unified.js.map +1 -1
  78. package/package.json +14 -6
@@ -5,30 +5,30 @@ import { generateTree } from '../utils/tree.js';
5
5
  import { countFilesAndLines } from '../utils/stats.js';
6
6
  export function generateOverview(structure, projectRoot) {
7
7
  const stats = countFilesAndLines(structure);
8
- return `# Project Overview
9
-
10
- ## Summary
11
- - **Root**: ${projectRoot}
12
- - **Generated**: ${new Date().toISOString()}
13
- - **Languages**: ${stats.languages.join(', ') || 'Unknown'}
14
- - **Total Files**: ${stats.files}
15
- - **Total Directories**: ${stats.dirs}
16
- - **Estimated Lines**: ${stats.lines}
17
-
18
- ## Project Structure (Tree View)
19
-
20
- \`\`\`
21
- ${generateTree(structure)}
22
- \`\`\`
23
-
24
- ## Key Entry Points
25
- ${stats.entryPoints.length > 0 ? stats.entryPoints.map((ep) => `- \`${ep}\``).join('\n') : '_No entry points detected_'}
26
-
27
- ## Technology Stack
28
- ${stats.languages.map((lang) => `- ${lang}`).join('\n')}
29
-
30
- ## Purpose
31
- _Edit this file to describe your project's purpose and goals._
8
+ return `# Project Overview
9
+
10
+ ## Summary
11
+ - **Root**: ${projectRoot}
12
+ - **Generated**: ${new Date().toISOString()}
13
+ - **Languages**: ${stats.languages.join(', ') || 'Unknown'}
14
+ - **Total Files**: ${stats.files}
15
+ - **Total Directories**: ${stats.dirs}
16
+ - **Estimated Lines**: ${stats.lines}
17
+
18
+ ## Project Structure (Tree View)
19
+
20
+ \`\`\`
21
+ ${generateTree(structure)}
22
+ \`\`\`
23
+
24
+ ## Key Entry Points
25
+ ${stats.entryPoints.length > 0 ? stats.entryPoints.map((ep) => `- \`${ep}\``).join('\n') : '_No entry points detected_'}
26
+
27
+ ## Technology Stack
28
+ ${stats.languages.map((lang) => `- ${lang}`).join('\n')}
29
+
30
+ ## Purpose
31
+ _Edit this file to describe your project's purpose and goals._
32
32
  `;
33
33
  }
34
34
  //# sourceMappingURL=overview.js.map
@@ -16,13 +16,14 @@ import { generateArchitecture } from './generators/architecture.js';
16
16
  import { generateModuleDocs } from './generators/modules.js';
17
17
  import { generateTree } from './utils/tree.js';
18
18
  import * as path from 'path';
19
- import { logger } from '../core/index.js';
19
+ import { logger, getScannerIgnoreNames } from '../core/index.js';
20
20
  export async function scanCodebase(rootPath, outputDir) {
21
21
  logger.info(`Scanning codebase at: ${rootPath}`);
22
- const structure = await scanDirectoryAsync(rootPath);
22
+ const ignoreNames = await getScannerIgnoreNames(rootPath);
23
+ const structure = await scanDirectoryAsync(rootPath, 0, 4, 24, ignoreNames);
23
24
  logger.info('Generating documentation...');
24
25
  const overview = generateOverview(structure, rootPath);
25
- const architecture = generateArchitecture();
26
+ const architecture = generateArchitecture(structure, rootPath);
26
27
  const modules = generateModuleDocs(structure, outputDir);
27
28
  const tree = generateTree(structure);
28
29
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codebase/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAW1C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,SAAiB;IACpE,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IAEjD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,OAAO;QACP,IAAI;QACJ,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAkB,EAAE,SAAiB;IACxE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEtE,iCAAiC;IACjC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,gCAAgC;IAChC,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnF,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAClF,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAElE,6BAA6B;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codebase/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAWjE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,SAAiB;IACpE,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IAE5E,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,OAAO;QACP,IAAI;QACJ,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAkB,EAAE,SAAiB;IACxE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEtE,iCAAiC;IACjC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,gCAAgC;IAChC,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnF,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAClF,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAElE,6BAA6B;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import ts from 'typescript';
5
5
  import * as fs from 'fs';
6
+ const parserRegistry = new Map();
6
7
  /**
7
8
  * Parse a TypeScript/JavaScript file and extract exported symbols with signatures
8
9
  */
@@ -11,99 +12,156 @@ export function parseFile(filePath) {
11
12
  return parseSourceFile(filePath, fileContent);
12
13
  }
13
14
  export function parseSourceFile(filePath, fileContent) {
14
- const sourceFile = ts.createSourceFile(filePath, fileContent, ts.ScriptTarget.Latest, true);
15
- const exports = [];
16
- ts.forEachChild(sourceFile, (node) => {
17
- if (isExported(node)) {
18
- const details = extractDetails(node, sourceFile);
19
- if (details) {
20
- if (Array.isArray(details)) {
21
- exports.push(...details);
22
- }
23
- else {
24
- exports.push(details);
25
- }
26
- }
27
- }
28
- });
29
- return exports;
15
+ const extension = getNormalizedExtension(filePath);
16
+ const parser = parserRegistry.get(extension) || parseTsJsSource;
17
+ return parser(filePath, fileContent);
30
18
  }
31
- /**
32
- * Check if a node is exported
33
- */
34
- function isExported(node) {
35
- const explicitExport = (ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Export) !== 0;
36
- const defaultExport = ts.isExportAssignment(node) ||
37
- (ts.isFunctionDeclaration(node) &&
38
- !!node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword)) ||
39
- (ts.isClassDeclaration(node) &&
40
- !!node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword));
41
- return explicitExport || defaultExport;
19
+ function registerParser(extensions, parser) {
20
+ for (const extension of extensions) {
21
+ parserRegistry.set(extension, parser);
22
+ }
42
23
  }
43
- /**
44
- * Extract details from an exported node
45
- */
46
- function extractDetails(node, sourceFile) {
47
- // printer is not strictly needed if we just use getText() but keeping for compatibility with original logic if strictly needed
48
- // Original logic used printer for some things but mostly getText.
49
- switch (node.kind) {
50
- case ts.SyntaxKind.FunctionDeclaration: {
51
- const funcNode = node;
24
+ function getNormalizedExtension(filePath) {
25
+ const lower = filePath.toLowerCase();
26
+ if (lower.endsWith('.d.ts'))
27
+ return '.d.ts';
28
+ const dotIndex = lower.lastIndexOf('.');
29
+ return dotIndex >= 0 ? lower.slice(dotIndex) : '';
30
+ }
31
+ const TS_JS_EXPORT_RULES = [
32
+ {
33
+ id: 'function',
34
+ apply: (node, context) => {
35
+ if (!ts.isFunctionDeclaration(node))
36
+ return null;
52
37
  return {
53
38
  type: 'function',
54
- name: funcNode.name?.text || 'default',
55
- signature: getFunctionSignature(funcNode, sourceFile),
56
- doc: getJSDoc(funcNode),
39
+ name: node.name?.text || 'default',
40
+ signature: getFunctionSignature(node, context.sourceFile),
41
+ doc: getJSDoc(node),
57
42
  };
58
- }
59
- case ts.SyntaxKind.ClassDeclaration: {
60
- const classNode = node;
43
+ },
44
+ },
45
+ {
46
+ id: 'class',
47
+ apply: (node, context) => {
48
+ if (!ts.isClassDeclaration(node))
49
+ return null;
61
50
  return {
62
51
  type: 'class',
63
- name: classNode.name?.text || 'default',
64
- methods: getClassMembers(classNode, sourceFile),
65
- doc: getJSDoc(classNode),
52
+ name: node.name?.text || 'default',
53
+ methods: getClassMembers(node, context.sourceFile),
54
+ doc: getJSDoc(node),
66
55
  };
67
- }
68
- case ts.SyntaxKind.InterfaceDeclaration: {
69
- const interfaceNode = node;
56
+ },
57
+ },
58
+ {
59
+ id: 'interface',
60
+ apply: (node) => {
61
+ if (!ts.isInterfaceDeclaration(node))
62
+ return null;
70
63
  return {
71
64
  type: 'interface',
72
- name: interfaceNode.name.text,
73
- signature: `interface ${interfaceNode.name.text}`,
74
- doc: getJSDoc(interfaceNode),
65
+ name: node.name.text,
66
+ signature: `interface ${node.name.text}`,
67
+ doc: getJSDoc(node),
75
68
  };
76
- }
77
- case ts.SyntaxKind.TypeAliasDeclaration: {
78
- const typeNode = node;
69
+ },
70
+ },
71
+ {
72
+ id: 'type',
73
+ apply: (node) => {
74
+ if (!ts.isTypeAliasDeclaration(node))
75
+ return null;
79
76
  return {
80
77
  type: 'type',
81
- name: typeNode.name.text,
82
- signature: `type ${typeNode.name.text}`,
83
- doc: getJSDoc(typeNode),
78
+ name: node.name.text,
79
+ signature: `type ${node.name.text}`,
80
+ doc: getJSDoc(node),
84
81
  };
85
- }
86
- case ts.SyntaxKind.VariableStatement: {
87
- const varNode = node;
82
+ },
83
+ },
84
+ {
85
+ id: 'variable',
86
+ apply: (node, context) => {
87
+ if (!ts.isVariableStatement(node))
88
+ return null;
88
89
  const declarations = [];
89
- varNode.declarationList.declarations.forEach((decl) => {
90
+ node.declarationList.declarations.forEach((decl) => {
90
91
  if (ts.isIdentifier(decl.name)) {
91
92
  declarations.push({
92
93
  type: 'variable',
93
- name: decl.name.getText(sourceFile),
94
- signature: `const ${decl.name.getText(sourceFile)}`,
95
- doc: getJSDoc(varNode), // JSDoc is on the statement, not declaration usually
94
+ name: decl.name.getText(context.sourceFile),
95
+ signature: `const ${decl.name.getText(context.sourceFile)}`,
96
+ doc: getJSDoc(node),
96
97
  });
97
98
  }
98
99
  });
99
100
  return declarations;
101
+ },
102
+ },
103
+ {
104
+ id: 'export-assignment',
105
+ apply: (node, context) => {
106
+ if (!ts.isExportAssignment(node))
107
+ return null;
108
+ return {
109
+ type: 'variable',
110
+ name: 'default',
111
+ signature: node.getText(context.sourceFile),
112
+ doc: getJSDoc(node),
113
+ };
114
+ },
115
+ },
116
+ ];
117
+ function parseTsJsSource(filePath, fileContent) {
118
+ const scriptKind = getScriptKindFromFilePath(filePath);
119
+ const sourceFile = ts.createSourceFile(filePath, fileContent, ts.ScriptTarget.Latest, true, scriptKind);
120
+ const context = { sourceFile };
121
+ const exports = [];
122
+ ts.forEachChild(sourceFile, (node) => {
123
+ if (!isExported(node))
124
+ return;
125
+ for (const rule of TS_JS_EXPORT_RULES) {
126
+ const details = rule.apply(node, context);
127
+ if (!details)
128
+ continue;
129
+ if (Array.isArray(details)) {
130
+ exports.push(...details);
131
+ }
132
+ else {
133
+ exports.push(details);
134
+ }
135
+ break;
100
136
  }
101
- default:
102
- return null;
137
+ });
138
+ return exports;
139
+ }
140
+ function getScriptKindFromFilePath(filePath) {
141
+ const lower = filePath.toLowerCase();
142
+ if (lower.endsWith('.tsx'))
143
+ return ts.ScriptKind.TSX;
144
+ if (lower.endsWith('.jsx'))
145
+ return ts.ScriptKind.JSX;
146
+ if (lower.endsWith('.js') || lower.endsWith('.mjs') || lower.endsWith('.cjs')) {
147
+ return ts.ScriptKind.JS;
103
148
  }
149
+ return ts.ScriptKind.TS;
104
150
  }
105
151
  /**
106
- * Get clean function signature
152
+ * Check if a node is exported
153
+ */
154
+ function isExported(node) {
155
+ const explicitExport = (ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Export) !== 0;
156
+ const defaultExport = ts.isExportAssignment(node) ||
157
+ (ts.isFunctionDeclaration(node) &&
158
+ !!node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword)) ||
159
+ (ts.isClassDeclaration(node) &&
160
+ !!node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword));
161
+ return explicitExport || defaultExport;
162
+ }
163
+ /**
164
+ * Extract details from an exported node
107
165
  */
108
166
  function getFunctionSignature(node, sourceFile) {
109
167
  const params = node.parameters.map((p) => p.getText(sourceFile)).join(', ');
@@ -150,4 +208,5 @@ function getJSDoc(node) {
150
208
  }
151
209
  return '';
152
210
  }
211
+ registerParser(['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', '.d.ts'], parseTsJsSource);
153
212
  //# sourceMappingURL=typescript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/codebase/parsers/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/codebase/parsers/typescript.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,6 @@ export interface FileNode {
13
13
  }
14
14
  export declare function detectLanguage(file: string): string;
15
15
  export declare function getFileSize(filePath: string): number;
16
- export declare function scanDirectory(dir: string, depth?: number, maxDepth?: number): FileNode;
17
- export declare function scanDirectoryAsync(dir: string, depth?: number, maxDepth?: number, maxConcurrency?: number): Promise<FileNode>;
16
+ export declare function scanDirectory(dir: string, depth?: number, maxDepth?: number, ignoredDirsInput?: Set<string>): FileNode;
17
+ export declare function scanDirectoryAsync(dir: string, depth?: number, maxDepth?: number, maxConcurrency?: number, ignoredDirsInput?: Set<string>): Promise<FileNode>;
18
18
  export declare function extractExports(content: string): string[];
@@ -6,7 +6,7 @@ import * as path from 'path';
6
6
  import * as fsPromises from 'fs/promises';
7
7
  import { parseSourceFile } from '../parsers/typescript.js';
8
8
  import { logger } from '../../core/index.js';
9
- const IGNORED_DIRS = [
9
+ const DEFAULT_IGNORED_DIRS = [
10
10
  'node_modules',
11
11
  '.git',
12
12
  'dist',
@@ -45,12 +45,26 @@ export function detectLanguage(file) {
45
45
  '.tsx': 'TypeScript React',
46
46
  '.js': 'JavaScript',
47
47
  '.jsx': 'JavaScript React',
48
+ '.mjs': 'JavaScript',
49
+ '.cjs': 'JavaScript',
48
50
  '.py': 'Python',
49
51
  '.go': 'Go',
52
+ '.kt': 'Kotlin',
53
+ '.kts': 'Kotlin Script',
54
+ '.dart': 'Dart',
55
+ '.sh': 'Shell',
56
+ '.bash': 'Shell',
57
+ '.zsh': 'Shell',
58
+ '.sql': 'SQL',
50
59
  '.rs': 'Rust',
51
60
  '.java': 'Java',
52
61
  '.c': 'C',
62
+ '.h': 'C Header',
53
63
  '.cpp': 'C++',
64
+ '.cxx': 'C++',
65
+ '.cc': 'C++',
66
+ '.hpp': 'C++ Header',
67
+ '.hh': 'C++ Header',
54
68
  '.cs': 'C#',
55
69
  '.rb': 'Ruby',
56
70
  '.php': 'PHP',
@@ -122,10 +136,7 @@ async function scanFileAsync(fullPath, entryName) {
122
136
  logger.debug(`Failed to parse ${entryName}: ${e.message}`);
123
137
  }
124
138
  }
125
- else if (lang !== 'Unknown' &&
126
- lang !== 'JSON' &&
127
- lang !== 'YAML' &&
128
- lang !== 'Markdown') {
139
+ else if (lang !== 'Unknown' && lang !== 'JSON' && lang !== 'YAML' && lang !== 'Markdown') {
129
140
  try {
130
141
  const content = await fsPromises.readFile(fullPath, 'utf-8');
131
142
  exports = extractExports(content);
@@ -142,7 +153,11 @@ async function scanFileAsync(fullPath, entryName) {
142
153
  exports,
143
154
  };
144
155
  }
145
- export function scanDirectory(dir, depth = 0, maxDepth = 4) {
156
+ export function scanDirectory(dir, depth = 0, maxDepth = 4, ignoredDirsInput) {
157
+ const ignoredDirs = ignoredDirsInput || new Set(DEFAULT_IGNORED_DIRS);
158
+ return scanDirectoryWithIgnores(dir, depth, maxDepth, ignoredDirs);
159
+ }
160
+ function scanDirectoryWithIgnores(dir, depth, maxDepth, ignoredDirs) {
146
161
  if (depth > maxDepth) {
147
162
  return { name: path.basename(dir), type: 'directory', children: [] };
148
163
  }
@@ -150,11 +165,11 @@ export function scanDirectory(dir, depth = 0, maxDepth = 4) {
150
165
  try {
151
166
  const entries = fs.readdirSync(dir, { withFileTypes: true });
152
167
  for (const entry of entries) {
153
- if (IGNORED_DIRS.includes(entry.name))
168
+ if (ignoredDirs.has(entry.name))
154
169
  continue;
155
170
  const fullPath = path.join(dir, entry.name);
156
171
  if (entry.isDirectory()) {
157
- items.push(scanDirectory(fullPath, depth + 1, maxDepth));
172
+ items.push(scanDirectoryWithIgnores(fullPath, depth + 1, maxDepth, ignoredDirs));
158
173
  }
159
174
  else if (entry.isFile()) {
160
175
  if (IGNORED_FILES.includes(entry.name))
@@ -204,7 +219,8 @@ export function scanDirectory(dir, depth = 0, maxDepth = 4) {
204
219
  children: items,
205
220
  };
206
221
  }
207
- export async function scanDirectoryAsync(dir, depth = 0, maxDepth = 4, maxConcurrency = 24) {
222
+ export async function scanDirectoryAsync(dir, depth = 0, maxDepth = 4, maxConcurrency = 24, ignoredDirsInput) {
223
+ const ignoredDirs = ignoredDirsInput || new Set(DEFAULT_IGNORED_DIRS);
208
224
  const limit = createLimiter(maxConcurrency);
209
225
  async function walk(currentDir, currentDepth) {
210
226
  if (currentDepth > maxDepth) {
@@ -224,7 +240,7 @@ export async function scanDirectoryAsync(dir, depth = 0, maxDepth = 4, maxConcur
224
240
  };
225
241
  }
226
242
  const itemPromises = entries
227
- .filter((entry) => !IGNORED_DIRS.includes(entry.name))
243
+ .filter((entry) => !ignoredDirs.has(entry.name))
228
244
  .map((entry) => limit(async () => {
229
245
  const fullPath = path.join(currentDir, entry.name);
230
246
  if (entry.isDirectory()) {
@@ -256,6 +272,12 @@ export function extractExports(content) {
256
272
  // Add patterns for Python, Go, etc. if needed later
257
273
  /def\s+(\w+)/g, // Python function
258
274
  /class\s+(\w+)/g, // Python/Ruby class
275
+ /fun\s+(\w+)\s*\(/g, // Kotlin function
276
+ /(?:class|interface|object)\s+(\w+)/g, // Kotlin type/object
277
+ /(?:class|enum|mixin|extension)\s+(\w+)/g, // Dart type
278
+ /function\s+(\w+)\s*\(/g, // Shell/JS function
279
+ /^(\w+)\s*\(\)\s*\{/gm, // Shell function form
280
+ /create\s+(?:or\s+replace\s+)?(?:table|view|function)\s+([a-zA-Z0-9_.]+)/gi, // SQL DDL
259
281
  ];
260
282
  for (const line of lines) {
261
283
  for (const pattern of patterns) {
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/codebase/scanners/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/codebase/scanners/filesystem.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as path from 'path';
2
2
  import { createHash } from 'crypto';
3
- import { logger, readFileSafe, writeFileSafe, ensureDir, createProfiler, readCacheJson, writeCacheJson, getSourceFilesWithCache, } from '../core/index.js';
3
+ import { logger, readFileSafe, writeFileSafe, ensureDir, createProfiler, readCacheJson, writeCacheJson, getSourceFilesWithCache, getSourceIgnoreGlobs, } from '../core/index.js';
4
4
  import * as fsPromises from 'fs/promises';
5
5
  const CACHEABLE_CONTENT_MAX_BYTES = 24 * 1024;
6
6
  const CACHE_CONTENT_BUDGET_BYTES = 8 * 1024 * 1024;
@@ -25,11 +25,12 @@ export async function analyze(options) {
25
25
  // 2. Scan Codebase Files
26
26
  // We scan actual files instead of relying on structure.json to ensure fresh content
27
27
  logger.info(`Scanning files in: ${rootPath}`);
28
+ const ignore = await profiler.section('analyze.loadIgnore', async () => getSourceIgnoreGlobs(rootPath));
28
29
  const sourceList = await profiler.section('analyze.listSources', async () => getSourceFilesWithCache({
29
30
  outputDir,
30
31
  rootPath,
31
- includeGlob: '**/*.{ts,tsx,js,jsx,py,go,java,rb,php,rs}',
32
- ignore: ['node_modules/**', '.devmind/**', 'dist/**', 'build/**'],
32
+ includeGlob: '**/*.{ts,tsx,js,jsx,mjs,cjs,py,go,java,rb,php,rs,kt,kts,dart,sh,bash,zsh,sql,swift}',
33
+ ignore,
33
34
  }));
34
35
  const files = sourceList.files;
35
36
  logger.info(`Analyzing ${files.length} source files...`);
@@ -90,7 +91,13 @@ export async function analyze(options) {
90
91
  }
91
92
  const cached = cache.files[file];
92
93
  if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size) {
93
- return { file, stat, matchedTables: cached.matches, content: null, cacheHit: true };
94
+ return {
95
+ file,
96
+ stat,
97
+ matchedTables: cached.matches,
98
+ content: null,
99
+ cacheHit: true,
100
+ };
94
101
  }
95
102
  let content = null;
96
103
  let matchedTables = [];
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}