@mrpatronz/nexusflow 0.1.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 (212) hide show
  1. package/GETTING_STARTED.md +109 -0
  2. package/README.md +310 -0
  3. package/dist/analyzers/detect-apis.d.ts +19 -0
  4. package/dist/analyzers/detect-apis.d.ts.map +1 -0
  5. package/dist/analyzers/detect-apis.js +121 -0
  6. package/dist/analyzers/detect-apis.js.map +1 -0
  7. package/dist/analyzers/detect-deps.d.ts +30 -0
  8. package/dist/analyzers/detect-deps.d.ts.map +1 -0
  9. package/dist/analyzers/detect-deps.js +121 -0
  10. package/dist/analyzers/detect-deps.js.map +1 -0
  11. package/dist/analyzers/detect-existing.d.ts +15 -0
  12. package/dist/analyzers/detect-existing.d.ts.map +1 -0
  13. package/dist/analyzers/detect-existing.js +65 -0
  14. package/dist/analyzers/detect-existing.js.map +1 -0
  15. package/dist/analyzers/detect-ports.d.ts +20 -0
  16. package/dist/analyzers/detect-ports.d.ts.map +1 -0
  17. package/dist/analyzers/detect-ports.js +103 -0
  18. package/dist/analyzers/detect-ports.js.map +1 -0
  19. package/dist/analyzers/index.d.ts +29 -0
  20. package/dist/analyzers/index.d.ts.map +1 -0
  21. package/dist/analyzers/index.js +74 -0
  22. package/dist/analyzers/index.js.map +1 -0
  23. package/dist/analyzers/readme-summarizer.d.ts +13 -0
  24. package/dist/analyzers/readme-summarizer.d.ts.map +1 -0
  25. package/dist/analyzers/readme-summarizer.js +59 -0
  26. package/dist/analyzers/readme-summarizer.js.map +1 -0
  27. package/dist/analyzers/tech-stack.d.ts +15 -0
  28. package/dist/analyzers/tech-stack.d.ts.map +1 -0
  29. package/dist/analyzers/tech-stack.js +284 -0
  30. package/dist/analyzers/tech-stack.js.map +1 -0
  31. package/dist/commands/create.d.ts +17 -0
  32. package/dist/commands/create.d.ts.map +1 -0
  33. package/dist/commands/create.js +111 -0
  34. package/dist/commands/create.js.map +1 -0
  35. package/dist/commands/init.d.ts +10 -0
  36. package/dist/commands/init.d.ts.map +1 -0
  37. package/dist/commands/init.js +50 -0
  38. package/dist/commands/init.js.map +1 -0
  39. package/dist/commands/list.d.ts +9 -0
  40. package/dist/commands/list.d.ts.map +1 -0
  41. package/dist/commands/list.js +32 -0
  42. package/dist/commands/list.js.map +1 -0
  43. package/dist/commands/logs.d.ts +12 -0
  44. package/dist/commands/logs.d.ts.map +1 -0
  45. package/dist/commands/logs.js +54 -0
  46. package/dist/commands/logs.js.map +1 -0
  47. package/dist/commands/open.d.ts +9 -0
  48. package/dist/commands/open.d.ts.map +1 -0
  49. package/dist/commands/open.js +49 -0
  50. package/dist/commands/open.js.map +1 -0
  51. package/dist/commands/start.d.ts +13 -0
  52. package/dist/commands/start.d.ts.map +1 -0
  53. package/dist/commands/start.js +97 -0
  54. package/dist/commands/start.js.map +1 -0
  55. package/dist/commands/status.d.ts +11 -0
  56. package/dist/commands/status.d.ts.map +1 -0
  57. package/dist/commands/status.js +47 -0
  58. package/dist/commands/status.js.map +1 -0
  59. package/dist/commands/stop.d.ts +11 -0
  60. package/dist/commands/stop.d.ts.map +1 -0
  61. package/dist/commands/stop.js +47 -0
  62. package/dist/commands/stop.js.map +1 -0
  63. package/dist/commands/ui.d.ts +13 -0
  64. package/dist/commands/ui.d.ts.map +1 -0
  65. package/dist/commands/ui.js +44 -0
  66. package/dist/commands/ui.js.map +1 -0
  67. package/dist/core/config.d.ts +32 -0
  68. package/dist/core/config.d.ts.map +1 -0
  69. package/dist/core/config.js +68 -0
  70. package/dist/core/config.js.map +1 -0
  71. package/dist/core/scanner.d.ts +18 -0
  72. package/dist/core/scanner.d.ts.map +1 -0
  73. package/dist/core/scanner.js +73 -0
  74. package/dist/core/scanner.js.map +1 -0
  75. package/dist/core/workspace.d.ts +53 -0
  76. package/dist/core/workspace.d.ts.map +1 -0
  77. package/dist/core/workspace.js +114 -0
  78. package/dist/core/workspace.js.map +1 -0
  79. package/dist/core/worktree.d.ts +27 -0
  80. package/dist/core/worktree.d.ts.map +1 -0
  81. package/dist/core/worktree.js +35 -0
  82. package/dist/core/worktree.js.map +1 -0
  83. package/dist/generators/base.d.ts +15 -0
  84. package/dist/generators/base.d.ts.map +1 -0
  85. package/dist/generators/base.js +175 -0
  86. package/dist/generators/base.js.map +1 -0
  87. package/dist/generators/claude.d.ts +17 -0
  88. package/dist/generators/claude.d.ts.map +1 -0
  89. package/dist/generators/claude.js +29 -0
  90. package/dist/generators/claude.js.map +1 -0
  91. package/dist/generators/codex.d.ts +16 -0
  92. package/dist/generators/codex.d.ts.map +1 -0
  93. package/dist/generators/codex.js +41 -0
  94. package/dist/generators/codex.js.map +1 -0
  95. package/dist/generators/copilot.d.ts +16 -0
  96. package/dist/generators/copilot.d.ts.map +1 -0
  97. package/dist/generators/copilot.js +49 -0
  98. package/dist/generators/copilot.js.map +1 -0
  99. package/dist/generators/cursor.d.ts +17 -0
  100. package/dist/generators/cursor.d.ts.map +1 -0
  101. package/dist/generators/cursor.js +37 -0
  102. package/dist/generators/cursor.js.map +1 -0
  103. package/dist/generators/index.d.ts +18 -0
  104. package/dist/generators/index.d.ts.map +1 -0
  105. package/dist/generators/index.js +95 -0
  106. package/dist/generators/index.js.map +1 -0
  107. package/dist/gui/assets/index-Cq9V485S.js +21 -0
  108. package/dist/gui/assets/index-Dh1b5gSZ.css +2 -0
  109. package/dist/gui/favicon.svg +1 -0
  110. package/dist/gui/icons.svg +24 -0
  111. package/dist/gui/index.html +18 -0
  112. package/dist/index.d.ts +11 -0
  113. package/dist/index.d.ts.map +1 -0
  114. package/dist/index.js +169 -0
  115. package/dist/index.js.map +1 -0
  116. package/dist/orchestration/detect.d.ts +29 -0
  117. package/dist/orchestration/detect.d.ts.map +1 -0
  118. package/dist/orchestration/detect.js +292 -0
  119. package/dist/orchestration/detect.js.map +1 -0
  120. package/dist/orchestration/index.d.ts +7 -0
  121. package/dist/orchestration/index.d.ts.map +1 -0
  122. package/dist/orchestration/index.js +7 -0
  123. package/dist/orchestration/index.js.map +1 -0
  124. package/dist/orchestration/runner.d.ts +40 -0
  125. package/dist/orchestration/runner.d.ts.map +1 -0
  126. package/dist/orchestration/runner.js +242 -0
  127. package/dist/orchestration/runner.js.map +1 -0
  128. package/dist/server.d.ts +16 -0
  129. package/dist/server.d.ts.map +1 -0
  130. package/dist/server.js +419 -0
  131. package/dist/server.js.map +1 -0
  132. package/dist/types.d.ts +210 -0
  133. package/dist/types.d.ts.map +1 -0
  134. package/dist/types.js +6 -0
  135. package/dist/types.js.map +1 -0
  136. package/dist/utils/detect-ai.d.ts +21 -0
  137. package/dist/utils/detect-ai.d.ts.map +1 -0
  138. package/dist/utils/detect-ai.js +76 -0
  139. package/dist/utils/detect-ai.js.map +1 -0
  140. package/dist/utils/detect-editors.d.ts +19 -0
  141. package/dist/utils/detect-editors.d.ts.map +1 -0
  142. package/dist/utils/detect-editors.js +49 -0
  143. package/dist/utils/detect-editors.js.map +1 -0
  144. package/dist/utils/git.d.ts +27 -0
  145. package/dist/utils/git.d.ts.map +1 -0
  146. package/dist/utils/git.js +57 -0
  147. package/dist/utils/git.js.map +1 -0
  148. package/dist/utils/prompts.d.ts +27 -0
  149. package/dist/utils/prompts.d.ts.map +1 -0
  150. package/dist/utils/prompts.js +119 -0
  151. package/dist/utils/prompts.js.map +1 -0
  152. package/dist/utils/session-finder.d.ts +29 -0
  153. package/dist/utils/session-finder.d.ts.map +1 -0
  154. package/dist/utils/session-finder.js +462 -0
  155. package/dist/utils/session-finder.js.map +1 -0
  156. package/gui/README.md +73 -0
  157. package/gui/eslint.config.js +22 -0
  158. package/gui/index.html +17 -0
  159. package/gui/package-lock.json +3054 -0
  160. package/gui/package.json +33 -0
  161. package/gui/public/favicon.svg +1 -0
  162. package/gui/public/icons.svg +24 -0
  163. package/gui/src/App.css +1 -0
  164. package/gui/src/App.tsx +1949 -0
  165. package/gui/src/assets/hero.png +0 -0
  166. package/gui/src/assets/react.svg +1 -0
  167. package/gui/src/assets/vite.svg +1 -0
  168. package/gui/src/index.css +1 -0
  169. package/gui/src/main.tsx +10 -0
  170. package/gui/tsconfig.app.json +25 -0
  171. package/gui/tsconfig.json +7 -0
  172. package/gui/tsconfig.node.json +24 -0
  173. package/gui/vite.config.ts +12 -0
  174. package/package.json +48 -0
  175. package/src/analyzers/detect-apis.ts +138 -0
  176. package/src/analyzers/detect-deps.ts +138 -0
  177. package/src/analyzers/detect-existing.ts +74 -0
  178. package/src/analyzers/detect-ports.ts +110 -0
  179. package/src/analyzers/index.ts +85 -0
  180. package/src/analyzers/readme-summarizer.ts +68 -0
  181. package/src/analyzers/tech-stack.ts +255 -0
  182. package/src/commands/create.ts +142 -0
  183. package/src/commands/init.ts +58 -0
  184. package/src/commands/list.ts +46 -0
  185. package/src/commands/logs.ts +63 -0
  186. package/src/commands/open.ts +54 -0
  187. package/src/commands/start.ts +117 -0
  188. package/src/commands/status.ts +54 -0
  189. package/src/commands/stop.ts +55 -0
  190. package/src/commands/ui.ts +47 -0
  191. package/src/core/config.ts +79 -0
  192. package/src/core/scanner.ts +91 -0
  193. package/src/core/workspace.ts +149 -0
  194. package/src/core/worktree.ts +50 -0
  195. package/src/generators/base.ts +187 -0
  196. package/src/generators/claude.ts +34 -0
  197. package/src/generators/codex.ts +48 -0
  198. package/src/generators/copilot.ts +56 -0
  199. package/src/generators/cursor.ts +44 -0
  200. package/src/generators/index.ts +122 -0
  201. package/src/index.ts +178 -0
  202. package/src/orchestration/detect.ts +313 -0
  203. package/src/orchestration/index.ts +7 -0
  204. package/src/orchestration/runner.ts +279 -0
  205. package/src/server.ts +466 -0
  206. package/src/types.ts +294 -0
  207. package/src/utils/detect-ai.ts +81 -0
  208. package/src/utils/detect-editors.ts +54 -0
  209. package/src/utils/git.ts +61 -0
  210. package/src/utils/prompts.ts +135 -0
  211. package/src/utils/session-finder.ts +483 -0
  212. package/tsconfig.json +19 -0
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module types
3
+ * Shared interfaces and types for NexusFlow.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @module utils/detect-ai
3
+ * Detects which AI coding assistants are available on the system.
4
+ */
5
+ import type { DetectedAI } from '../types.js';
6
+ /**
7
+ * Probes the system for known AI coding assistants and returns their status.
8
+ *
9
+ * Detection rules:
10
+ * - **Claude**: detected if `claude` *or* `antigravity` is on PATH.
11
+ * When Antigravity is found it is labelled as `'claude'` because it
12
+ * generates `CLAUDE.md` context files.
13
+ * - **Codex**: detected if `codex` is on PATH.
14
+ * - **Copilot**: always shown as an option (convention-based via
15
+ * `.github/copilot-instructions.md`).
16
+ * - **Cursor**: detected if `cursor` is on PATH.
17
+ *
18
+ * @returns An array of {@link DetectedAI} results, one per assistant.
19
+ */
20
+ export declare function detectAIAssistants(): Promise<DetectedAI[]>;
21
+ //# sourceMappingURL=detect-ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-ai.d.ts","sourceRoot":"","sources":["../../src/utils/detect-ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAgB3D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CA2ChE"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @module utils/detect-ai
3
+ * Detects which AI coding assistants are available on the system.
4
+ */
5
+ import { execa } from 'execa';
6
+ /**
7
+ * Attempts to run `<command> --version` and returns `true` if the process
8
+ * exits successfully (exit code 0).
9
+ */
10
+ async function commandExists(command) {
11
+ try {
12
+ const result = await execa(command, ['--version'], { reject: false });
13
+ return result.exitCode === 0;
14
+ }
15
+ catch {
16
+ // The command could not be spawned at all (not in PATH).
17
+ return false;
18
+ }
19
+ }
20
+ /**
21
+ * Probes the system for known AI coding assistants and returns their status.
22
+ *
23
+ * Detection rules:
24
+ * - **Claude**: detected if `claude` *or* `antigravity` is on PATH.
25
+ * When Antigravity is found it is labelled as `'claude'` because it
26
+ * generates `CLAUDE.md` context files.
27
+ * - **Codex**: detected if `codex` is on PATH.
28
+ * - **Copilot**: always shown as an option (convention-based via
29
+ * `.github/copilot-instructions.md`).
30
+ * - **Cursor**: detected if `cursor` is on PATH.
31
+ *
32
+ * @returns An array of {@link DetectedAI} results, one per assistant.
33
+ */
34
+ export async function detectAIAssistants() {
35
+ // Run all probes concurrently.
36
+ const [hasClaude, hasAntigravity, hasCodex, hasCursor] = await Promise.all([
37
+ commandExists('claude'),
38
+ commandExists('agy'),
39
+ commandExists('codex'),
40
+ commandExists('cursor'),
41
+ ]);
42
+ const results = [
43
+ {
44
+ name: 'claude',
45
+ displayName: 'Claude Code',
46
+ detected: hasClaude,
47
+ ...(hasClaude ? { command: 'claude' } : {}),
48
+ },
49
+ {
50
+ name: 'antigravity',
51
+ displayName: 'Antigravity',
52
+ detected: hasAntigravity,
53
+ ...(hasAntigravity ? { command: 'agy' } : {}),
54
+ },
55
+ {
56
+ name: 'codex',
57
+ displayName: 'OpenAI Codex',
58
+ detected: hasCodex,
59
+ ...(hasCodex ? { command: 'codex' } : {}),
60
+ },
61
+ {
62
+ name: 'copilot',
63
+ displayName: 'GitHub Copilot',
64
+ // Copilot is convention-based; always available as an option.
65
+ detected: true,
66
+ },
67
+ {
68
+ name: 'cursor',
69
+ displayName: 'Cursor',
70
+ detected: hasCursor,
71
+ ...(hasCursor ? { command: 'cursor' } : {}),
72
+ },
73
+ ];
74
+ return results;
75
+ }
76
+ //# sourceMappingURL=detect-ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-ai.js","sourceRoot":"","sources":["../../src/utils/detect-ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,+BAA+B;IAC/B,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzE,aAAa,CAAC,QAAQ,CAAC;QACvB,aAAa,CAAC,KAAK,CAAC;QACpB,aAAa,CAAC,OAAO,CAAC;QACtB,aAAa,CAAC,QAAQ,CAAC;KACxB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAiB;QAC5B;YACE,IAAI,EAAE,QAAuB;YAC7B,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,SAAS;YACnB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C;QACD;YACE,IAAI,EAAE,aAA4B;YAClC,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,cAAc;YACxB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C;QACD;YACE,IAAI,EAAE,OAAsB;YAC5B,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,QAAQ;YAClB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C;QACD;YACE,IAAI,EAAE,SAAwB;YAC9B,WAAW,EAAE,gBAAgB;YAC7B,8DAA8D;YAC9D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,QAAuB;YAC7B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,SAAS;YACnB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @module utils/detect-editors
3
+ * Detects which code editors are available on the system.
4
+ */
5
+ import type { DetectedEditor } from '../types.js';
6
+ /**
7
+ * Probes the system for known code editors by checking whether their CLI
8
+ * commands are available on PATH.
9
+ *
10
+ * Currently checks for:
11
+ * - **VS Code** (`code`)
12
+ * - **VS Code Insiders** (`code-insiders`)
13
+ * - **Cursor** (`cursor`)
14
+ * - **Antigravity** (`antigravity`)
15
+ *
16
+ * @returns An array of {@link DetectedEditor} results, one per editor.
17
+ */
18
+ export declare function detectEditors(): Promise<DetectedEditor[]>;
19
+ //# sourceMappingURL=detect-editors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-editors.d.ts","sourceRoot":"","sources":["../../src/utils/detect-editors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuBlD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAW/D"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @module utils/detect-editors
3
+ * Detects which code editors are available on the system.
4
+ */
5
+ import { execa } from 'execa';
6
+ /** Editor definitions we probe for. */
7
+ const EDITOR_CANDIDATES = [
8
+ { name: 'VS Code', command: 'code' },
9
+ { name: 'VS Code Insiders', command: 'code-insiders' },
10
+ { name: 'Cursor', command: 'cursor' },
11
+ { name: 'Antigravity', command: 'agy' },
12
+ ];
13
+ /**
14
+ * Attempts to run `<command> --version` and returns `true` if the process
15
+ * exits successfully (exit code 0).
16
+ */
17
+ async function commandExists(command) {
18
+ try {
19
+ const result = await execa(command, ['--version'], { reject: false });
20
+ return result.exitCode === 0;
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
26
+ /**
27
+ * Probes the system for known code editors by checking whether their CLI
28
+ * commands are available on PATH.
29
+ *
30
+ * Currently checks for:
31
+ * - **VS Code** (`code`)
32
+ * - **VS Code Insiders** (`code-insiders`)
33
+ * - **Cursor** (`cursor`)
34
+ * - **Antigravity** (`antigravity`)
35
+ *
36
+ * @returns An array of {@link DetectedEditor} results, one per editor.
37
+ */
38
+ export async function detectEditors() {
39
+ const probes = EDITOR_CANDIDATES.map(async (editor) => {
40
+ const detected = await commandExists(editor.command);
41
+ return {
42
+ name: editor.name,
43
+ command: editor.command,
44
+ detected,
45
+ };
46
+ });
47
+ return Promise.all(probes);
48
+ }
49
+ //# sourceMappingURL=detect-editors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-editors.js","sourceRoot":"","sources":["../../src/utils/detect-editors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B,uCAAuC;AACvC,MAAM,iBAAiB,GAAqD;IAC1E,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;IACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE;IACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE;CACxC,CAAC;AAEF;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACpD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ;SACgB,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module utils/git
3
+ * Low-level git helper functions used throughout NexusFlow.
4
+ */
5
+ /**
6
+ * Checks whether the given directory is a git repository
7
+ * by testing for the presence of a `.git` entry.
8
+ *
9
+ * @param dirPath - Absolute path to the directory.
10
+ * @returns `true` if a `.git` file or directory exists.
11
+ */
12
+ export declare function isGitRepo(dirPath: string): Promise<boolean>;
13
+ /**
14
+ * Runs `git fetch origin` inside the given repository.
15
+ *
16
+ * @param repoPath - Absolute path to the repo root.
17
+ */
18
+ export declare function gitFetch(repoPath: string): Promise<void>;
19
+ /**
20
+ * Detects the default branch of a repository by inspecting remote branches.
21
+ * Prefers `main` over `master`. Falls back to `'main'` when neither is found.
22
+ *
23
+ * @param repoPath - Absolute path to the repo root.
24
+ * @returns The name of the default branch.
25
+ */
26
+ export declare function detectDefaultBranch(repoPath: string): Promise<string>;
27
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQjE;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB3E"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @module utils/git
3
+ * Low-level git helper functions used throughout NexusFlow.
4
+ */
5
+ import * as fs from 'node:fs/promises';
6
+ import * as path from 'node:path';
7
+ import { execa } from 'execa';
8
+ /**
9
+ * Checks whether the given directory is a git repository
10
+ * by testing for the presence of a `.git` entry.
11
+ *
12
+ * @param dirPath - Absolute path to the directory.
13
+ * @returns `true` if a `.git` file or directory exists.
14
+ */
15
+ export async function isGitRepo(dirPath) {
16
+ try {
17
+ const gitPath = path.join(dirPath, '.git');
18
+ await fs.access(gitPath);
19
+ return true;
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ }
25
+ /**
26
+ * Runs `git fetch origin` inside the given repository.
27
+ *
28
+ * @param repoPath - Absolute path to the repo root.
29
+ */
30
+ export async function gitFetch(repoPath) {
31
+ await execa('git', ['fetch', 'origin'], { cwd: repoPath });
32
+ }
33
+ /**
34
+ * Detects the default branch of a repository by inspecting remote branches.
35
+ * Prefers `main` over `master`. Falls back to `'main'` when neither is found.
36
+ *
37
+ * @param repoPath - Absolute path to the repo root.
38
+ * @returns The name of the default branch.
39
+ */
40
+ export async function detectDefaultBranch(repoPath) {
41
+ try {
42
+ const { stdout } = await execa('git', ['branch', '-r'], { cwd: repoPath });
43
+ const branches = stdout.split('\n').map((b) => b.trim());
44
+ if (branches.some((b) => b === 'origin/main' || b.endsWith('/origin/main'))) {
45
+ return 'main';
46
+ }
47
+ if (branches.some((b) => b === 'origin/master' || b.endsWith('/origin/master'))) {
48
+ return 'master';
49
+ }
50
+ // Fallback — assume main.
51
+ return 'main';
52
+ }
53
+ catch {
54
+ return 'main';
55
+ }
56
+ }
57
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAChF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,0BAA0B;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @module utils/prompts
3
+ * Interactive CLI prompts for NexusFlow using @inquirer/prompts.
4
+ */
5
+ import type { AIAssistant, DetectedAI, DetectedEditor, RepoInfo } from '../types.js';
6
+ /**
7
+ * Prompts the user for a feature branch name.
8
+ */
9
+ export declare function promptBranchName(): Promise<string>;
10
+ /**
11
+ * Prompts the user for a feature description.
12
+ * Accepts plain text or a path to a file.
13
+ */
14
+ export declare function promptDescription(): Promise<string>;
15
+ /**
16
+ * Prompts the user to select repos from a list of discovered repos.
17
+ */
18
+ export declare function promptSelectRepos(repos: RepoInfo[]): Promise<RepoInfo[]>;
19
+ /**
20
+ * Prompts the user to select AI assistants to generate context for.
21
+ */
22
+ export declare function promptSelectAI(detected: DetectedAI[]): Promise<AIAssistant[]>;
23
+ /**
24
+ * Prompts the user to select an editor to open the workspace in.
25
+ */
26
+ export declare function promptSelectEditor(detected: DetectedEditor[]): Promise<DetectedEditor | null>;
27
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAErF;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAUxD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CA0BzD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAmB9E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,WAAW,EAAE,CAAC,CAexB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA0BhC"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @module utils/prompts
3
+ * Interactive CLI prompts for NexusFlow using @inquirer/prompts.
4
+ */
5
+ import { input, checkbox, confirm } from '@inquirer/prompts';
6
+ import chalk from 'chalk';
7
+ /**
8
+ * Prompts the user for a feature branch name.
9
+ */
10
+ export async function promptBranchName() {
11
+ const branchName = await input({
12
+ message: 'Feature branch name:',
13
+ validate: (value) => {
14
+ if (!value.trim())
15
+ return 'Branch name cannot be empty';
16
+ if (/\s/.test(value))
17
+ return 'Branch name cannot contain spaces';
18
+ return true;
19
+ },
20
+ });
21
+ return branchName.trim();
22
+ }
23
+ /**
24
+ * Prompts the user for a feature description.
25
+ * Accepts plain text or a path to a file.
26
+ */
27
+ export async function promptDescription() {
28
+ const { readFile } = await import('node:fs/promises');
29
+ const { existsSync } = await import('node:fs');
30
+ const descInput = await input({
31
+ message: 'Describe the feature (or paste a path to a .md/.txt file):',
32
+ validate: (value) => {
33
+ if (!value.trim())
34
+ return 'Description cannot be empty';
35
+ return true;
36
+ },
37
+ });
38
+ const trimmed = descInput.trim();
39
+ // Check if it's a file path
40
+ if (existsSync(trimmed)) {
41
+ try {
42
+ const content = await readFile(trimmed, 'utf-8');
43
+ console.log(chalk.dim(` Read description from ${trimmed}`));
44
+ return content;
45
+ }
46
+ catch {
47
+ // Fall through to use as plain text
48
+ }
49
+ }
50
+ return trimmed;
51
+ }
52
+ /**
53
+ * Prompts the user to select repos from a list of discovered repos.
54
+ */
55
+ export async function promptSelectRepos(repos) {
56
+ if (repos.length === 0) {
57
+ return [];
58
+ }
59
+ const selected = await checkbox({
60
+ message: 'Select projects to include:',
61
+ choices: repos.map((repo) => ({
62
+ name: `${repo.name} ${chalk.dim(`(${repo.path})`)}`,
63
+ value: repo.path,
64
+ checked: false,
65
+ })),
66
+ validate: (items) => {
67
+ if (items.length === 0)
68
+ return 'Please select at least one project';
69
+ return true;
70
+ },
71
+ });
72
+ return repos.filter((r) => selected.includes(r.path));
73
+ }
74
+ /**
75
+ * Prompts the user to select AI assistants to generate context for.
76
+ */
77
+ export async function promptSelectAI(detected) {
78
+ const selected = await checkbox({
79
+ message: 'Select AI assistant(s) to generate context for:',
80
+ choices: detected.map((ai) => ({
81
+ name: `${ai.displayName} ${ai.detected ? chalk.green('✓ detected') : chalk.dim('not found')}`,
82
+ value: ai.name,
83
+ checked: ai.detected,
84
+ })),
85
+ validate: (items) => {
86
+ if (items.length === 0)
87
+ return 'Please select at least one AI assistant';
88
+ return true;
89
+ },
90
+ });
91
+ return selected;
92
+ }
93
+ /**
94
+ * Prompts the user to select an editor to open the workspace in.
95
+ */
96
+ export async function promptSelectEditor(detected) {
97
+ const shouldOpen = await confirm({
98
+ message: 'Open workspace in an editor?',
99
+ default: true,
100
+ });
101
+ if (!shouldOpen)
102
+ return null;
103
+ const available = detected.filter((e) => e.detected);
104
+ if (available.length === 0) {
105
+ console.log(chalk.yellow(' No editors detected in PATH.'));
106
+ return null;
107
+ }
108
+ const selected = await checkbox({
109
+ message: 'Select editor:',
110
+ choices: available.map((editor) => ({
111
+ name: editor.name,
112
+ value: editor.command,
113
+ })),
114
+ });
115
+ if (selected.length === 0)
116
+ return null;
117
+ return available.find((e) => e.command === selected[0]) ?? null;
118
+ }
119
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @module utils/session-finder
3
+ * Scans local storage directories of various AI coding assistants to find conversation histories.
4
+ */
5
+ import type { AISession, ChatMessage } from '../types.js';
6
+ /**
7
+ * Derives the directory name that Claude Code uses inside `~/.claude/projects/`
8
+ * for a given absolute project directory path.
9
+ * It replaces special characters /, \, space, -, and _ with a hyphen.
10
+ */
11
+ export declare function getClaudeProjectFolderName(absolutePath: string): string;
12
+ /**
13
+ * Scans the local filesystem for conversation histories belonging to Claude, Antigravity,
14
+ * Codex, and Copilot that relate to the specified workspace.
15
+ *
16
+ * @param workspacePath - Root directory of the active workspace.
17
+ * @param repoPaths - Directories of sub-repositories included in the workspace.
18
+ * @returns A promise that resolves to an array of {@link AISession} objects sorted by update time descending.
19
+ */
20
+ export declare function findSessions(workspacePath: string, repoPaths?: string[]): Promise<AISession[]>;
21
+ /**
22
+ * Reads and parses the full transcript for a specific assistant conversation session.
23
+ *
24
+ * @param assistant - The name of the AI assistant ('antigravity', 'claude', 'codex', 'copilot').
25
+ * @param sessionId - Unique ID of the conversation session.
26
+ * @returns A promise that resolves to an array of {@link ChatMessage} objects.
27
+ */
28
+ export declare function getSessionTranscript(assistant: string, sessionId: string): Promise<ChatMessage[]>;
29
+ //# sourceMappingURL=session-finder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-finder.d.ts","sourceRoot":"","sources":["../../src/utils/session-finder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEvE;AAsBD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA4QxG;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA8JvG"}