@nodesify/astria 1.0.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.
Files changed (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/commands/add.d.ts +8 -0
  4. package/dist/commands/add.d.ts.map +1 -0
  5. package/dist/commands/add.js +34 -0
  6. package/dist/commands/add.js.map +1 -0
  7. package/dist/commands/affected.d.ts +6 -0
  8. package/dist/commands/affected.d.ts.map +1 -0
  9. package/dist/commands/affected.js +30 -0
  10. package/dist/commands/affected.js.map +1 -0
  11. package/dist/commands/cluster.d.ts +2 -0
  12. package/dist/commands/cluster.d.ts.map +1 -0
  13. package/dist/commands/cluster.js +51 -0
  14. package/dist/commands/cluster.js.map +1 -0
  15. package/dist/commands/diagnose.d.ts +5 -0
  16. package/dist/commands/diagnose.d.ts.map +1 -0
  17. package/dist/commands/diagnose.js +20 -0
  18. package/dist/commands/diagnose.js.map +1 -0
  19. package/dist/commands/diff.d.ts +2 -0
  20. package/dist/commands/diff.d.ts.map +1 -0
  21. package/dist/commands/diff.js +36 -0
  22. package/dist/commands/diff.js.map +1 -0
  23. package/dist/commands/explain.d.ts +4 -0
  24. package/dist/commands/explain.d.ts.map +1 -0
  25. package/dist/commands/explain.js +38 -0
  26. package/dist/commands/explain.js.map +1 -0
  27. package/dist/commands/export.d.ts +7 -0
  28. package/dist/commands/export.d.ts.map +1 -0
  29. package/dist/commands/export.js +33 -0
  30. package/dist/commands/export.js.map +1 -0
  31. package/dist/commands/feedback.d.ts +12 -0
  32. package/dist/commands/feedback.d.ts.map +1 -0
  33. package/dist/commands/feedback.js +41 -0
  34. package/dist/commands/feedback.js.map +1 -0
  35. package/dist/commands/global.d.ts +7 -0
  36. package/dist/commands/global.d.ts.map +1 -0
  37. package/dist/commands/global.js +61 -0
  38. package/dist/commands/global.js.map +1 -0
  39. package/dist/commands/history.d.ts +5 -0
  40. package/dist/commands/history.d.ts.map +1 -0
  41. package/dist/commands/history.js +28 -0
  42. package/dist/commands/history.js.map +1 -0
  43. package/dist/commands/hook-guard.d.ts +2 -0
  44. package/dist/commands/hook-guard.d.ts.map +1 -0
  45. package/dist/commands/hook-guard.js +145 -0
  46. package/dist/commands/hook-guard.js.map +1 -0
  47. package/dist/commands/hook.d.ts +3 -0
  48. package/dist/commands/hook.d.ts.map +1 -0
  49. package/dist/commands/hook.js +53 -0
  50. package/dist/commands/hook.js.map +1 -0
  51. package/dist/commands/install.d.ts +3 -0
  52. package/dist/commands/install.d.ts.map +1 -0
  53. package/dist/commands/install.js +40 -0
  54. package/dist/commands/install.js.map +1 -0
  55. package/dist/commands/map.d.ts +6 -0
  56. package/dist/commands/map.d.ts.map +1 -0
  57. package/dist/commands/map.js +16 -0
  58. package/dist/commands/map.js.map +1 -0
  59. package/dist/commands/mcp.d.ts +4 -0
  60. package/dist/commands/mcp.d.ts.map +1 -0
  61. package/dist/commands/mcp.js +15 -0
  62. package/dist/commands/mcp.js.map +1 -0
  63. package/dist/commands/merge.d.ts +2 -0
  64. package/dist/commands/merge.d.ts.map +1 -0
  65. package/dist/commands/merge.js +51 -0
  66. package/dist/commands/merge.js.map +1 -0
  67. package/dist/commands/migrate.d.ts +4 -0
  68. package/dist/commands/migrate.d.ts.map +1 -0
  69. package/dist/commands/migrate.js +75 -0
  70. package/dist/commands/migrate.js.map +1 -0
  71. package/dist/commands/path.d.ts +6 -0
  72. package/dist/commands/path.d.ts.map +1 -0
  73. package/dist/commands/path.js +19 -0
  74. package/dist/commands/path.js.map +1 -0
  75. package/dist/commands/prs.d.ts +5 -0
  76. package/dist/commands/prs.d.ts.map +1 -0
  77. package/dist/commands/prs.js +133 -0
  78. package/dist/commands/prs.js.map +1 -0
  79. package/dist/commands/query.d.ts +10 -0
  80. package/dist/commands/query.d.ts.map +1 -0
  81. package/dist/commands/query.js +22 -0
  82. package/dist/commands/query.js.map +1 -0
  83. package/dist/commands/run.d.ts +10 -0
  84. package/dist/commands/run.d.ts.map +1 -0
  85. package/dist/commands/run.js +69 -0
  86. package/dist/commands/run.js.map +1 -0
  87. package/dist/commands/stats.d.ts +4 -0
  88. package/dist/commands/stats.d.ts.map +1 -0
  89. package/dist/commands/stats.js +18 -0
  90. package/dist/commands/stats.js.map +1 -0
  91. package/dist/commands/status.d.ts +4 -0
  92. package/dist/commands/status.d.ts.map +1 -0
  93. package/dist/commands/status.js +57 -0
  94. package/dist/commands/status.js.map +1 -0
  95. package/dist/commands/tree.d.ts +6 -0
  96. package/dist/commands/tree.d.ts.map +1 -0
  97. package/dist/commands/tree.js +53 -0
  98. package/dist/commands/tree.js.map +1 -0
  99. package/dist/commands/update.d.ts +7 -0
  100. package/dist/commands/update.d.ts.map +1 -0
  101. package/dist/commands/update.js +66 -0
  102. package/dist/commands/update.js.map +1 -0
  103. package/dist/commands/watch.d.ts +4 -0
  104. package/dist/commands/watch.d.ts.map +1 -0
  105. package/dist/commands/watch.js +114 -0
  106. package/dist/commands/watch.js.map +1 -0
  107. package/dist/commands/wiki.d.ts +7 -0
  108. package/dist/commands/wiki.d.ts.map +1 -0
  109. package/dist/commands/wiki.js +60 -0
  110. package/dist/commands/wiki.js.map +1 -0
  111. package/dist/graphify.node +4 -0
  112. package/dist/index.d.ts +5 -0
  113. package/dist/index.d.ts.map +1 -0
  114. package/dist/index.js +251 -0
  115. package/dist/index.js.map +1 -0
  116. package/dist/install/hooks.d.ts +12 -0
  117. package/dist/install/hooks.d.ts.map +1 -0
  118. package/dist/install/hooks.js +307 -0
  119. package/dist/install/hooks.js.map +1 -0
  120. package/dist/install/index.d.ts +3 -0
  121. package/dist/install/index.d.ts.map +1 -0
  122. package/dist/install/index.js +362 -0
  123. package/dist/install/index.js.map +1 -0
  124. package/dist/install/markdown-inject.d.ts +7 -0
  125. package/dist/install/markdown-inject.d.ts.map +1 -0
  126. package/dist/install/markdown-inject.js +178 -0
  127. package/dist/install/markdown-inject.js.map +1 -0
  128. package/dist/install/platforms.d.ts +13 -0
  129. package/dist/install/platforms.d.ts.map +1 -0
  130. package/dist/install/platforms.js +130 -0
  131. package/dist/install/platforms.js.map +1 -0
  132. package/dist/install/settings-inject.d.ts +18 -0
  133. package/dist/install/settings-inject.d.ts.map +1 -0
  134. package/dist/install/settings-inject.js +425 -0
  135. package/dist/install/settings-inject.js.map +1 -0
  136. package/dist/native.d.ts +32 -0
  137. package/dist/native.d.ts.map +1 -0
  138. package/dist/native.js +107 -0
  139. package/dist/native.js.map +1 -0
  140. package/package.json +72 -0
  141. package/skills/skill-aider.md +40 -0
  142. package/skills/skill-codex.md +46 -0
  143. package/skills/skill-copilot.md +46 -0
  144. package/skills/skill-cursor.md +39 -0
  145. package/skills/skill-gemini.md +46 -0
  146. package/skills/skill-kiro.md +39 -0
  147. package/skills/skill-opencode.md +44 -0
  148. package/skills/skill-trae.md +46 -0
  149. package/skills/skill.md +266 -0
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.watchCommand = watchCommand;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const native_1 = require("../native");
40
+ const CODE_EXTENSIONS = new Set([
41
+ '.py', '.js', '.jsx', '.mjs', '.ts', '.tsx',
42
+ '.rs', '.go', '.java', '.c', '.h', '.cpp', '.cc', '.cxx', '.hpp',
43
+ ]);
44
+ const SKIP_DIRS = new Set(['.astria', 'node_modules', 'target', '.git', 'dist', '__pycache__']);
45
+ async function watchCommand(watchPath, opts) {
46
+ const debounceMs = parseInt(opts.debounce || '3000', 10);
47
+ const resolved = path.resolve(watchPath);
48
+ if (!fs.existsSync(resolved) || !fs.statSync(resolved).isDirectory()) {
49
+ console.error(`Error: "${resolved}" is not a valid directory`);
50
+ process.exitCode = 1;
51
+ return;
52
+ }
53
+ let changedFiles = new Set();
54
+ let timer = null;
55
+ let watcher;
56
+ try {
57
+ watcher = fs.watch(resolved, { recursive: true }, (_event, filename) => {
58
+ if (!filename)
59
+ return;
60
+ const filePath = filename.replace(/\\/g, '/');
61
+ const parts = filePath.split('/');
62
+ if (parts.some((p) => SKIP_DIRS.has(p)))
63
+ return;
64
+ const ext = path.extname(filePath).toLowerCase();
65
+ if (!CODE_EXTENSIONS.has(ext))
66
+ return;
67
+ changedFiles.add(filePath);
68
+ if (timer)
69
+ clearTimeout(timer);
70
+ timer = setTimeout(() => {
71
+ const batch = [...changedFiles];
72
+ changedFiles.clear();
73
+ console.log(`\n[astria] ${batch.length} file(s) changed, rebuilding...`);
74
+ try {
75
+ const result = (0, native_1.runPipeline)(resolved);
76
+ console.log(`[astria] Rebuilt: ${result.nodesAdded} nodes, ${result.edgesAdded} edges, ${result.communities} communities`);
77
+ }
78
+ catch (e) {
79
+ console.error(`[astria] Rebuild failed:`, e.message || e);
80
+ }
81
+ }, debounceMs);
82
+ });
83
+ }
84
+ catch (err) {
85
+ console.error(`Error: Failed to watch "${resolved}": ${err.message || err}`);
86
+ process.exitCode = 1;
87
+ return;
88
+ }
89
+ console.log(`[astria] Watching ${resolved} (debounce: ${debounceMs}ms)`);
90
+ console.log('[astria] Press Ctrl+C to stop');
91
+ if (process.platform === 'win32') {
92
+ const readline = require('readline');
93
+ const rl = readline.createInterface({ input: process.stdin });
94
+ rl.on('SIGINT', () => {
95
+ console.log('\n[astria] Stopped.');
96
+ watcher.close();
97
+ rl.close();
98
+ process.exit(0);
99
+ });
100
+ }
101
+ else {
102
+ process.on('SIGINT', () => {
103
+ console.log('\n[astria] Stopped.');
104
+ watcher.close();
105
+ process.exit(0);
106
+ });
107
+ process.on('SIGTERM', () => {
108
+ console.log('\n[astria] Stopped.');
109
+ watcher.close();
110
+ process.exit(0);
111
+ });
112
+ }
113
+ }
114
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function wikiCommand(opts: {
2
+ graph: string;
3
+ out: string;
4
+ maxNodes: string;
5
+ format: string;
6
+ }): Promise<void>;
7
+ //# sourceMappingURL=wiki.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki.d.ts","sourceRoot":"","sources":["../../src/commands/wiki.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,iBAqBA"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.wikiCommand = wikiCommand;
37
+ const path = __importStar(require("path"));
38
+ const native_1 = require("../native");
39
+ async function wikiCommand(opts) {
40
+ try {
41
+ const resolved = path.isAbsolute(opts.out)
42
+ ? opts.out
43
+ : path.join(opts.graph, opts.out);
44
+ if (opts.format === 'obsidian') {
45
+ const notes = (0, native_1.exportObsidian)(opts.graph, opts.out);
46
+ console.log(`Obsidian vault exported: ${notes} notes -> ${resolved}`);
47
+ console.log(`Open ${resolved} as a vault in Obsidian (astria.canvas included)`);
48
+ return;
49
+ }
50
+ const maxNodes = parseInt(opts.maxNodes, 10) || 25;
51
+ const count = (0, native_1.exportWiki)(opts.graph, opts.out, maxNodes);
52
+ console.log(`Wiki exported: ${count} articles -> ${resolved}`);
53
+ console.log(`Start at: ${path.join(resolved, 'index.md')}`);
54
+ }
55
+ catch (e) {
56
+ console.error(`Error: ${e.message || e}`);
57
+ process.exitCode = 1;
58
+ }
59
+ }
60
+ //# sourceMappingURL=wiki.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki.js","sourceRoot":"","sources":["../../src/commands/wiki.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,kCA0BC;AA7BD,2CAA6B;AAC7B,sCAAuD;AAEhD,KAAK,UAAU,WAAW,CAAC,IAKjC;IACC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,GAAG;YACV,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,aAAa,QAAQ,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,kDAAkD,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ [diffend] Oversized file quarantined before diffing.
2
+ name: package/dist/graphify.node
3
+ size: 91789824 bytes
4
+ sha256: 70397036de5272faab55542b0b292b9a00a416d2f1e5c250838eba0de3cd7354
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from 'commander';
3
+ declare const program: Command;
4
+ export { program };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AA4P9B,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,251 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.program = void 0;
5
+ const commander_1 = require("commander");
6
+ const run_1 = require("./commands/run");
7
+ const stats_1 = require("./commands/stats");
8
+ const explain_1 = require("./commands/explain");
9
+ const export_1 = require("./commands/export");
10
+ const query_1 = require("./commands/query");
11
+ const path_1 = require("./commands/path");
12
+ const map_1 = require("./commands/map");
13
+ const affected_1 = require("./commands/affected");
14
+ const mcp_1 = require("./commands/mcp");
15
+ const tree_1 = require("./commands/tree");
16
+ const wiki_1 = require("./commands/wiki");
17
+ const prs_1 = require("./commands/prs");
18
+ const add_1 = require("./commands/add");
19
+ const diagnose_1 = require("./commands/diagnose");
20
+ const feedback_1 = require("./commands/feedback");
21
+ const global_1 = require("./commands/global");
22
+ const hook_guard_1 = require("./commands/hook-guard");
23
+ const migrate_1 = require("./commands/migrate");
24
+ const update_1 = require("./commands/update");
25
+ const watch_1 = require("./commands/watch");
26
+ const cluster_1 = require("./commands/cluster");
27
+ const merge_1 = require("./commands/merge");
28
+ const diff_1 = require("./commands/diff");
29
+ const history_1 = require("./commands/history");
30
+ const status_1 = require("./commands/status");
31
+ const install_1 = require("./commands/install");
32
+ const hook_1 = require("./commands/hook");
33
+ const program = new commander_1.Command();
34
+ exports.program = program;
35
+ program
36
+ .name('astria')
37
+ .description('Turn any folder into a queryable knowledge graph')
38
+ .version(require('../package.json').version);
39
+ program
40
+ .command('run')
41
+ .description('Run the full pipeline on a directory')
42
+ .argument('<path>', 'Directory to analyze')
43
+ .option('--no-dedup', 'Skip near-duplicate node merging')
44
+ .option('--backend <name>', 'Semantic LLM backend: claude, openai (any OpenAI-compatible), or gemini')
45
+ .option('--model <name>', 'Semantic LLM model name (backend-specific)')
46
+ .option('--wiki', 'Also export a markdown wiki to .astria/wiki')
47
+ .option('--embed', 'Compute local embeddings: similar_to edges + semantic query recall (downloads a small model on first use)')
48
+ .option('--global', 'After building, merge this repo into the cross-repo global graph')
49
+ .option('--as <tag>', 'Repo tag for --global (defaults to the directory name)')
50
+ .action((path, opts) => (0, run_1.runCommand)(path, { ...opts, global: opts.global, as: opts.as }));
51
+ program
52
+ .command('update')
53
+ .description('Run incremental AST-only rebuild')
54
+ .argument('<path>', 'Directory to update')
55
+ .option('--no-dedup', 'Skip near-duplicate node merging')
56
+ .option('--backend <name>', 'Semantic LLM backend: claude, openai (any OpenAI-compatible), or gemini')
57
+ .option('--model <name>', 'Semantic LLM model name (backend-specific)')
58
+ .option('--embed', 'Compute local embeddings: similar_to edges + semantic query recall (downloads a small model on first use)')
59
+ .action(update_1.updateCommand);
60
+ program
61
+ .command('watch')
62
+ .description('Watch for file changes and auto-rebuild')
63
+ .argument('<path>', 'Directory to watch')
64
+ .option('--debounce <ms>', 'Debounce interval in milliseconds', '3000')
65
+ .action(watch_1.watchCommand);
66
+ program
67
+ .command('explain')
68
+ .description('Explain a node and its connections')
69
+ .argument('<node>', 'Node ID or label')
70
+ .option('--graph <path>', 'Path to project root', '.')
71
+ .action(explain_1.explainCommand);
72
+ program
73
+ .command('query')
74
+ .description('BFS/DFS graph traversal for a question')
75
+ .argument('<question>', 'Search terms')
76
+ .option('--graph <path>', 'Path to project root', '.')
77
+ .option('--dfs', 'Use depth-first search instead of breadth-first')
78
+ .option('--depth <n>', 'Traversal depth', '2')
79
+ .option('--budget <n>', 'Token budget for output', '2000')
80
+ .option('--directed', 'Follow edges only in their stored direction (caller -> callee)')
81
+ .option('--detail <level>', 'Fidelity tier: "high" keeps only EXTRACTED/DECLARED facts')
82
+ .option('--cursor <n>', 'Continuation token from a previous truncated query', '0')
83
+ .action(query_1.queryCommand);
84
+ program
85
+ .command('path')
86
+ .description('Find shortest path between two nodes')
87
+ .argument('<source>', 'Source node label')
88
+ .argument('<target>', 'Target node label')
89
+ .option('--graph <path>', 'Path to project root', '.')
90
+ .option('--directed', 'Follow edges only in their stored direction (caller -> callee)')
91
+ .option('--detail <level>', 'Fidelity tier: "high" keeps only EXTRACTED/DECLARED facts')
92
+ .action(path_1.pathCommand);
93
+ program
94
+ .command('map')
95
+ .description('Repo map: PageRank-ranked files with top symbols, within a token budget')
96
+ .option('--graph <path>', 'Path to project root', '.')
97
+ .option('--budget <n>', 'Token budget for output', '2000')
98
+ .option('--detail <level>', 'Fidelity tier: "high" keeps only EXTRACTED/DECLARED facts')
99
+ .action(map_1.mapCommand);
100
+ program
101
+ .command('affected')
102
+ .description('Show the blast radius of a node — everything impacted by changing it')
103
+ .argument('<node>', 'Node ID, label, or source file path')
104
+ .option('--graph <path>', 'Path to project root', '.')
105
+ .option('--depth <n>', 'Maximum hops to traverse', '2')
106
+ .option('--relation <type>', 'Only follow one relation (e.g. calls, imports, uses)')
107
+ .action(affected_1.affectedCommand);
108
+ program
109
+ .command('stats')
110
+ .description('Show graph statistics')
111
+ .option('--graph <path>', 'Path to project root', '.')
112
+ .action(stats_1.statsCommand);
113
+ program
114
+ .command('export')
115
+ .description('Export graph to JSON, HTML, GraphML, or Cypher (Neo4j)')
116
+ .option('--graph <path>', 'Path to project root', '.')
117
+ .option('--out <file>', 'Output file', 'graph.json')
118
+ .option('--format <type>', 'Export format: json, html, graphml, cypher', 'json')
119
+ .option('--mode <mode>', 'HTML visualization mode: standard or large', 'standard')
120
+ .action(export_1.exportCommand);
121
+ program
122
+ .command('cluster-only')
123
+ .description('Run cluster + analyze + report only (no extract/build)')
124
+ .argument('<path>', 'Directory with existing graph')
125
+ .action(cluster_1.clusterCommand);
126
+ program
127
+ .command('merge')
128
+ .description('Merge two graphs into a new output graph')
129
+ .argument('<pathA>', 'First project root')
130
+ .argument('<pathB>', 'Second project root')
131
+ .argument('<outPath>', 'Output project root')
132
+ .action(merge_1.mergeCommand);
133
+ program
134
+ .command('diff')
135
+ .description('Compare two graphs and show differences')
136
+ .argument('<pathA>', 'First project root')
137
+ .argument('<pathB>', 'Second project root')
138
+ .action(diff_1.diffCommand);
139
+ program
140
+ .command('history')
141
+ .description('Show recent query history')
142
+ .option('--limit <n>', 'Number of entries to show', '20')
143
+ .option('--graph <path>', 'Path to project root', '.')
144
+ .action(history_1.historyCommand);
145
+ program
146
+ .command('mcp')
147
+ .description('Run an MCP stdio server exposing the graph to AI agents (Claude, etc.)')
148
+ .option('--graph <path>', 'Path to project root', '.')
149
+ .action(mcp_1.mcpCommand);
150
+ program
151
+ .command('tree')
152
+ .description('Export a collapsible filesystem tree of all graph symbols (self-contained HTML)')
153
+ .option('--graph <path>', 'Path to project root', '.')
154
+ .option('--out <file>', 'Output HTML file', 'tree.html')
155
+ .option('--max-children <n>', 'Max symbols shown per directory', '40')
156
+ .action(tree_1.treeCommand);
157
+ program
158
+ .command('wiki')
159
+ .description('Export a Wikipedia-style markdown wiki (index.md + one article per community and god node)')
160
+ .option('--graph <path>', 'Path to project root', '.')
161
+ .option('--out <dir>', 'Output directory', '.astria/wiki')
162
+ .option('--max-nodes <n>', 'Max key concepts listed per community article', '25')
163
+ .option('--format <type>', 'markdown (wiki articles) or obsidian (vault: per-node notes + canvas)', 'markdown')
164
+ .action(wiki_1.wikiCommand);
165
+ program
166
+ .command('prs')
167
+ .description('Map open pull requests onto the knowledge graph (impact + merge-order risk)')
168
+ .argument('[count]', 'Number of PRs to analyze', '20')
169
+ .option('--graph <path>', 'Path to project root', '.')
170
+ .option('--conflicts', 'Flag PRs sharing communities (merge-order risk)')
171
+ .action(prs_1.prsCommand);
172
+ program
173
+ .command('add')
174
+ .description('Fetch a URL (arXiv paper, tweet, webpage, image, PDF) into ./raw and update the graph')
175
+ .argument('[url]', 'URL to fetch (required unless --scip/--postgres is given)')
176
+ .option('--graph <path>', 'Path to project root', '.')
177
+ .option('--author <name>', 'Author recorded in the saved metadata')
178
+ .option('--contributor <name>', 'Contributor recorded in the saved metadata')
179
+ .option('--scip <file>', 'Ingest a simplified SCIP JSON index instead of fetching a URL')
180
+ .option('--postgres <dsn>', 'Introspect a live PostgreSQL schema (requires psql on PATH) instead of fetching a URL')
181
+ .action(add_1.addCommand);
182
+ program
183
+ .command('status')
184
+ .description('Check graph health and staleness')
185
+ .option('--graph <path>', 'Path to project root', '.')
186
+ .action(status_1.statusCommand);
187
+ program
188
+ .command('migrate')
189
+ .description('Migrate a pre-1.0 .graphify layout to .astria (renames the data folder, ignore file, and global store)')
190
+ .option('--graph <path>', 'Path to project root', '.')
191
+ .action(migrate_1.migrateCommand);
192
+ (0, install_1.registerInstallCommand)(program);
193
+ (0, hook_1.registerHookCommand)(program);
194
+ program
195
+ .command('diagnose')
196
+ .description('Read-only graph health report: dangling edges, self-loops, duplicates, stubs')
197
+ .option('--graph <path>', 'Path to project root', '.')
198
+ .option('--json', 'Machine-readable output')
199
+ .action(diagnose_1.diagnoseCommand);
200
+ program
201
+ .command('save-result')
202
+ .description('Save a Q/A pair into the graph memory for future runs')
203
+ .argument('<question>', 'The question that was asked')
204
+ .option('--graph <path>', 'Path to project root', '.')
205
+ .option('--answer <text>', 'The answer to record')
206
+ .option('--answer-file <path>', 'Read the answer from a file')
207
+ .option('--outcome <kind>', 'useful | dead_end | corrected')
208
+ .option('--correction <text>', 'Corrections to the recorded answer')
209
+ .option('--nodes <ids>', 'Comma-separated source node ids this answer cites')
210
+ .action(feedback_1.saveResultCommand);
211
+ program
212
+ .command('reflect')
213
+ .description('Aggregate memory outcomes into .astria/reflections/LESSONS.md')
214
+ .option('--graph <path>', 'Path to project root', '.')
215
+ .action(feedback_1.reflectCommand);
216
+ const globalCmd = program
217
+ .command('global')
218
+ .description('Cross-repo global graph: merge many repo graphs into one queryable store');
219
+ globalCmd
220
+ .command('add')
221
+ .description('Merge a repo graph into the global store (idempotent by tag)')
222
+ .argument('<path>', 'Repo root with a .astria directory')
223
+ .option('--as <tag>', 'Repo tag (defaults to the directory name)')
224
+ .action(global_1.globalAddCommand);
225
+ globalCmd
226
+ .command('remove')
227
+ .description('Remove a repo from the global graph')
228
+ .argument('<tag>', 'Repo tag')
229
+ .action(global_1.globalRemoveCommand);
230
+ globalCmd
231
+ .command('list')
232
+ .description('List repos registered in the global graph')
233
+ .action(() => (0, global_1.globalListCommand)());
234
+ globalCmd
235
+ .command('path')
236
+ .description('Shortest path across repos in the global graph')
237
+ .argument('<source>', 'Source node id or unique label')
238
+ .argument('<target>', 'Target node id or unique label')
239
+ .action(global_1.globalPathCommand);
240
+ program
241
+ .command('hook-guard')
242
+ .description('Editor PreToolUse guard (installed into .claude/settings.json) — internal use')
243
+ .argument('<mode>', 'search | read | gemini')
244
+ .allowUnknownOption(true)
245
+ .action((mode) => {
246
+ (0, hook_guard_1.hookGuard)(mode, process.argv.slice(4));
247
+ });
248
+ if (require.main === module) {
249
+ program.parse();
250
+ }
251
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ declare const LEGACY_HOOK_PREFIXES: ({
2
+ js: string;
3
+ shell?: undefined;
4
+ } | {
5
+ shell: string;
6
+ js?: undefined;
7
+ })[];
8
+ export declare function installGitHooks(projectDir: string): string[];
9
+ export declare function uninstallGitHooks(projectDir: string): string[];
10
+ export declare function statusGitHooks(projectDir: string): string[];
11
+ export { LEGACY_HOOK_PREFIXES };
12
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/install/hooks.ts"],"names":[],"mappings":"AAoFA,QAAA,MAAM,oBAAoB;;;;;;IAGzB,CAAC;AA0KF,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAM9D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA4B3D;AAID,OAAO,EAAE,oBAAoB,EAAE,CAAC"}