@mrpatronz/nexusflow 0.2.13 → 0.2.17

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 (186) hide show
  1. package/.github/dependabot.yml +52 -52
  2. package/.github/workflows/dependabot-merge.yml +53 -0
  3. package/.github/workflows/release.yml +112 -100
  4. package/.vscode/launch.json +17 -17
  5. package/.vscode/tasks.json +17 -17
  6. package/GETTING_STARTED.md +114 -109
  7. package/README.md +336 -311
  8. package/desktop/build-installer.js +228 -0
  9. package/desktop/build.js +118 -0
  10. package/desktop/installer/nexusflow.iss +35 -0
  11. package/desktop/neutralino.config.json +39 -0
  12. package/desktop/package-lock.json +1060 -0
  13. package/desktop/package.json +14 -0
  14. package/dist/commands/desktop.d.ts +12 -0
  15. package/dist/commands/desktop.d.ts.map +1 -0
  16. package/dist/commands/desktop.js +119 -0
  17. package/dist/commands/desktop.js.map +1 -0
  18. package/dist/commands/sync.d.ts.map +1 -1
  19. package/dist/commands/sync.js +1 -3
  20. package/dist/commands/sync.js.map +1 -1
  21. package/dist/commands/tui.d.ts +8 -0
  22. package/dist/commands/tui.d.ts.map +1 -0
  23. package/dist/commands/tui.js +386 -0
  24. package/dist/commands/tui.js.map +1 -0
  25. package/dist/commands/ui.d.ts +3 -1
  26. package/dist/commands/ui.d.ts.map +1 -1
  27. package/dist/commands/ui.js +76 -19
  28. package/dist/commands/ui.js.map +1 -1
  29. package/dist/generators/base.d.ts.map +1 -1
  30. package/dist/generators/base.js +78 -66
  31. package/dist/generators/base.js.map +1 -1
  32. package/dist/generators/codex.js +11 -11
  33. package/dist/generators/copilot.js +17 -17
  34. package/dist/generators/cursor.js +5 -5
  35. package/dist/generators/index.js +50 -50
  36. package/dist/generators/map-generator.js +14 -14
  37. package/dist/generators/skills-generator.js +28 -28
  38. package/dist/gui/app_logo.png +0 -0
  39. package/dist/gui/assets/index-Ct3qq-X4.js +25 -0
  40. package/dist/gui/assets/index-P_ZrgHXg.css +1 -0
  41. package/dist/gui/icons.svg +24 -24
  42. package/dist/gui/index.html +18 -18
  43. package/dist/index.js +43 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/server.d.ts.map +1 -1
  46. package/dist/server.js +182 -1
  47. package/dist/server.js.map +1 -1
  48. package/dist/server.test.js +78 -0
  49. package/dist/server.test.js.map +1 -1
  50. package/dist/types.d.ts +4 -0
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/utils/git.d.ts +16 -0
  53. package/dist/utils/git.d.ts.map +1 -1
  54. package/dist/utils/git.js +52 -0
  55. package/dist/utils/git.js.map +1 -1
  56. package/dist/utils/multi-git.d.ts +2 -0
  57. package/dist/utils/multi-git.d.ts.map +1 -1
  58. package/dist/utils/multi-git.js +5 -2
  59. package/dist/utils/multi-git.js.map +1 -1
  60. package/dist/utils/update-check.d.ts +3 -1
  61. package/dist/utils/update-check.d.ts.map +1 -1
  62. package/dist/utils/update-check.js +23 -6
  63. package/dist/utils/update-check.js.map +1 -1
  64. package/dist/utils/workflows.d.ts +11 -0
  65. package/dist/utils/workflows.d.ts.map +1 -0
  66. package/dist/utils/workflows.js +156 -0
  67. package/dist/utils/workflows.js.map +1 -0
  68. package/dist/utils/workflows.test.d.ts +2 -0
  69. package/dist/utils/workflows.test.d.ts.map +1 -0
  70. package/dist/utils/workflows.test.js +86 -0
  71. package/dist/utils/workflows.test.js.map +1 -0
  72. package/extension/media/icon.svg +1 -0
  73. package/extension/package-lock.json +2673 -2811
  74. package/extension/package.json +108 -70
  75. package/extension/src/extension.ts +631 -204
  76. package/extension/tsconfig.json +21 -19
  77. package/gui/README.md +73 -73
  78. package/gui/e2e/wizard.spec.ts +346 -327
  79. package/gui/eslint.config.js +26 -26
  80. package/gui/index.html +17 -17
  81. package/gui/package-lock.json +3079 -3118
  82. package/gui/package.json +36 -36
  83. package/gui/playwright.config.ts +41 -41
  84. package/gui/public/app_logo.png +0 -0
  85. package/gui/public/icons.svg +24 -24
  86. package/gui/src/App.css +1 -1
  87. package/gui/src/App.tsx +3407 -2722
  88. package/gui/src/assets/vite.svg +1 -1
  89. package/gui/src/features/changes/ChangesViewer.tsx +388 -388
  90. package/gui/src/features/knowledge/KnowledgeBase.tsx +84 -84
  91. package/gui/src/features/onboarding/OnboardingWizard.tsx +230 -230
  92. package/gui/src/features/plan/ImplementationPlan.tsx +32 -32
  93. package/gui/src/features/services/ServiceConsole.tsx +250 -250
  94. package/gui/src/features/sessions/SessionHistory.tsx +195 -195
  95. package/gui/src/features/workspace/WorkspaceList.tsx +666 -666
  96. package/gui/src/index.css +152 -110
  97. package/gui/src/main.tsx +94 -10
  98. package/gui/src/types.ts +62 -62
  99. package/gui/tsconfig.app.json +25 -25
  100. package/gui/tsconfig.json +7 -7
  101. package/gui/tsconfig.node.json +24 -24
  102. package/gui/vite.config.ts +12 -12
  103. package/package.json +56 -56
  104. package/resources/workflows/plan-implement-review.md +8 -0
  105. package/resources/workflows/research-verify.md +6 -0
  106. package/resources/workflows/solo-developer.md +3 -0
  107. package/scripts/simulate-workspaces.ts +55 -55
  108. package/src/analyzers/detect-apis.ts +290 -290
  109. package/src/analyzers/detect-deps.ts +315 -315
  110. package/src/analyzers/detect-existing.ts +74 -74
  111. package/src/analyzers/detect-ports.ts +110 -110
  112. package/src/analyzers/index.ts +97 -97
  113. package/src/analyzers/messaging-analyzer.ts +254 -254
  114. package/src/analyzers/readme-summarizer.ts +102 -102
  115. package/src/analyzers/run-analyzer.ts +269 -269
  116. package/src/analyzers/tech-stack.ts +283 -283
  117. package/src/commands/add-repo.ts +157 -157
  118. package/src/commands/commands.test.ts +155 -155
  119. package/src/commands/commit.ts +131 -131
  120. package/src/commands/create.ts +207 -207
  121. package/src/commands/desktop.ts +128 -0
  122. package/src/commands/diff.ts +125 -125
  123. package/src/commands/doctor.ts +357 -357
  124. package/src/commands/handoff.ts +266 -266
  125. package/src/commands/init.ts +134 -134
  126. package/src/commands/list.ts +46 -46
  127. package/src/commands/logs.ts +63 -63
  128. package/src/commands/mcp.ts +92 -92
  129. package/src/commands/open.ts +129 -129
  130. package/src/commands/pack.ts +73 -73
  131. package/src/commands/refresh.ts +147 -147
  132. package/src/commands/remove.ts +98 -98
  133. package/src/commands/start.ts +117 -117
  134. package/src/commands/status.ts +54 -54
  135. package/src/commands/stop.ts +55 -55
  136. package/src/commands/sync.ts +151 -153
  137. package/src/commands/tui.ts +424 -0
  138. package/src/commands/ui.ts +111 -47
  139. package/src/core/config.test.ts +96 -96
  140. package/src/core/config.ts +115 -115
  141. package/src/core/graph.ts +344 -344
  142. package/src/core/packer.test.ts +99 -99
  143. package/src/core/packer.ts +107 -107
  144. package/src/core/scanner.test.ts +61 -61
  145. package/src/core/scanner.ts +91 -91
  146. package/src/core/workspace.ts +380 -380
  147. package/src/core/worktree.ts +120 -120
  148. package/src/generators/antigravity.ts +32 -32
  149. package/src/generators/base.ts +240 -227
  150. package/src/generators/claude.ts +34 -34
  151. package/src/generators/codex.ts +48 -48
  152. package/src/generators/copilot.ts +56 -56
  153. package/src/generators/cursor.ts +44 -44
  154. package/src/generators/index.ts +250 -250
  155. package/src/generators/map-generator.test.ts +159 -159
  156. package/src/generators/map-generator.ts +542 -542
  157. package/src/generators/plan-generator.ts +481 -481
  158. package/src/generators/skills-generator.ts +259 -259
  159. package/src/index.ts +426 -382
  160. package/src/mcp/server.ts +294 -294
  161. package/src/orchestration/detect.ts +313 -313
  162. package/src/orchestration/index.ts +7 -7
  163. package/src/orchestration/runner.ts +283 -283
  164. package/src/server.test.ts +555 -464
  165. package/src/server.ts +1308 -1104
  166. package/src/types.ts +408 -403
  167. package/src/utils/detect-ai.test.ts +44 -44
  168. package/src/utils/detect-ai.ts +84 -84
  169. package/src/utils/detect-editors.test.ts +48 -48
  170. package/src/utils/detect-editors.ts +57 -57
  171. package/src/utils/git.test.ts +74 -74
  172. package/src/utils/git.ts +117 -61
  173. package/src/utils/local-ai.test.ts +130 -130
  174. package/src/utils/local-ai.ts +111 -111
  175. package/src/utils/multi-git.ts +313 -306
  176. package/src/utils/prompts.ts +209 -209
  177. package/src/utils/session-finder.ts +483 -483
  178. package/src/utils/system-scanner.test.ts +89 -89
  179. package/src/utils/system-scanner.ts +96 -96
  180. package/src/utils/update-check.ts +309 -275
  181. package/src/utils/workflows.test.ts +114 -0
  182. package/src/utils/workflows.ts +178 -0
  183. package/tsconfig.json +19 -19
  184. package/vitest.config.ts +14 -14
  185. package/dist/gui/assets/index-CFWwqFux.js +0 -23
  186. package/dist/gui/assets/index-Dvc9QMvl.css +0 -2
package/README.md CHANGED
@@ -1,312 +1,337 @@
1
- <p align="center">
2
- <h1 align="center">🔗 NexusFlow</h1>
3
- <p align="center">
4
- <strong>Multi-repo workspace manager for AI-assisted development</strong>
5
- </p>
6
- <p align="center">
7
- Group repositories · Generate AI context · Resume LLM sessions · Orchestrate services
8
- </p>
9
- </p>
10
-
11
- ---
12
-
13
- NexusFlow combines multiple Git repositories into a single feature workspace and generates the context files that your AI coding assistant needs to understand all of them at once. It uses **git worktrees** so every repo stays on a clean feature branch without disturbing your main working copy.
14
-
15
- > **New to NexusFlow?** Jump to the [Getting Started Guide](GETTING_STARTED.md) for a hands-on walkthrough.
16
-
17
- ## ✨ Features
18
-
19
- - **Multi-repo workspaces** — group any set of local Git repos under one feature branch using worktrees
20
- - **AI context generation** — automatically writes `CLAUDE.md`, `AGENTS.md`, `.github/copilot-instructions.md`, and `.cursor/rules/nexusflow.mdc`
21
- - **Codebase context packing** — compress an entire multi-repo workspace into a single token-efficient XML file for web-based LLMs using Repomix
22
- - **Smart codebase analysis** — detects tech stacks, ports, API endpoints, dependencies, and existing AI configs across all projects
23
- - **Session history & resumption** — browse past conversation transcripts from Antigravity, Claude Code, OpenAI Codex, and GitHub Copilot, then resume where you left off
24
- - **Service orchestration** — start, stop, and tail logs for all services in a workspace with a single command
25
- - **Interactive Web Dashboard** — rich dark-themed GUI for managing workspaces, viewing sessions, and streaming logs
26
- - **CLI-first** — every action available from the terminal via the `nexusflow` command
27
-
28
- ## 📦 Installation
29
-
30
- ### Prerequisites
31
-
32
- | Requirement | Version |
33
- |:---|:---|
34
- | [Node.js](https://nodejs.org) | 18 or later |
35
- | [Git](https://git-scm.com) | 2.20 or later (worktree support) |
36
- | npm | Bundled with Node.js |
37
-
38
- ### Install from npm
39
-
40
- ```bash
41
- npm install -g @mrpatronz/nexusflow
42
- ```
43
-
44
- ### Install from source
45
-
46
- ```bash
47
- git clone https://github.com/antan87/NexusFlow.git
48
- cd NexusFlow
49
-
50
- # Install backend dependencies
51
- npm install
52
-
53
- # Install GUI dependencies
54
- cd gui && npm install && cd ..
55
-
56
- # Build everything
57
- npm run build
58
-
59
- # Link the CLI globally
60
- npm link
61
- ```
62
-
63
- After linking, the `nexusflow` command is available system-wide.
64
-
65
- ## 🚀 Quick Start
66
-
67
- ```bash
68
- # 1 — Initialize config (optional, defaults work out of the box)
69
- nexusflow init
70
-
71
- # 2 — Create a feature workspace
72
- nexusflow create
73
-
74
- # 3 — Or launch the Web Dashboard
75
- nexusflow ui
76
- ```
77
-
78
- The `create` wizard walks you through:
79
-
80
- 1. **Name your feature branch** — e.g. `feature/user-auth`
81
- 2. **Describe what you're building** — plain text or a path to a `.md` file
82
- 3. **Pick your repos** — NexusFlow scans `~/dev` for git repositories
83
- 4. **Choose AI assistant(s)** — auto-detects what's installed
84
- 5. **Done!** workspace created with git worktrees + AI context files
85
-
86
- ## 📂 What Gets Generated
87
-
88
- ```
89
- ~/dev/workspaces/feature/user-auth/
90
- ├── CLAUDE.md # Context for Claude / Antigravity
91
- ├── AGENTS.md # Context for OpenAI Codex
92
- ├── .github/
93
- │ └── copilot-instructions.md # Context for GitHub Copilot
94
- ├── .cursor/
95
- │ └── rules/nexusflow.mdc # Context for Cursor
96
- ├── nexusflow.json # Feature config (branch, repos, etc.)
97
- ├── nexusflow-overview.md # AI-generated workspace analysis
98
- ├── my-api/ # Git worktree on feature branch
99
- └── my-frontend/ # ← Git worktree on feature branch
100
- ```
101
-
102
- Open this folder in your editor → your AI assistant picks up the context → it understands *all* your repos.
103
-
104
- ## 🖥️ Commands
105
-
106
- | Command | Description |
107
- |:---|:---|
108
- | `nexusflow create` | Interactive wizard to create a new feature workspace |
109
- | `nexusflow list` | List all existing workspaces (alias: `ls`) |
110
- | `nexusflow open` | Re-open a workspace in your editor |
111
- | `nexusflow init` | Configure NexusFlow settings |
112
- | `nexusflow pack` | Pack the workspace codebase into a single token-efficient XML file |
113
- | `nexusflow start` | Start all services in a workspace (auto-detected) |
114
- | `nexusflow stop` | Stop all running services |
115
- | `nexusflow status` | Show running/stopped status and PIDs |
116
- | `nexusflow logs` | Tail aggregated logs from all services |
117
- | `nexusflow ui` | Launch the interactive Web Dashboard (port 3000) |
118
-
119
- ## 🤖 Supported AI Assistants
120
-
121
- NexusFlow auto-detects which assistants are available on your machine and generates the right context files for each:
122
-
123
- | Assistant | Config File | How It's Detected |
124
- |:---|:---|:---|
125
- | **Claude Code / Antigravity** | `CLAUDE.md` | `claude` or `antigravity` in PATH |
126
- | **OpenAI Codex** | `AGENTS.md` | `codex` in PATH |
127
- | **GitHub Copilot** | `.github/copilot-instructions.md` | Always available |
128
- | **Cursor** | `.cursor/rules/nexusflow.mdc` | `cursor` in PATH |
129
-
130
- ## 🕐 Session History & Resumption
131
-
132
- NexusFlow can discover and display your past AI coding sessions across all supported assistants. This lets you:
133
-
134
- - **Browse** conversation transcripts from previous sessions
135
- - **Search** through your interaction history
136
- - **Resume** a session by copying the resume command to your clipboard
137
-
138
- Session data is read directly from each assistant's local storage:
139
-
140
- | Assistant | Session Location |
141
- |:---|:---|
142
- | Antigravity | `~/.gemini/antigravity-cli/brain/` |
143
- | Claude Code | `~/.claude/projects/` |
144
- | OpenAI Codex | `~/.codex/sessions/` |
145
- | GitHub Copilot | `~/.copilot/` |
146
-
147
- Access sessions via the Web Dashboard's **Sessions** tab or through the API:
148
-
149
- ```
150
- GET /api/workspace/:id/sessions
151
- GET /api/session/:assistant/:sessionId/transcript
152
- ```
153
-
154
- ## 🌐 Web Dashboard
155
-
156
- Launch with `nexusflow ui` to get a full-featured dark-themed GUI:
157
-
158
- - **Workspaces tab** — create, browse, and manage feature workspaces
159
- - **Sessions tab** — view past AI conversation transcripts and resume sessions
160
- - **Logs panel** real-time aggregated service log output
161
- - **Config panel** — edit NexusFlow settings from the browser
162
-
163
- The dashboard runs a local [Hono](https://hono.dev) server on port 3000 and serves a [React](https://react.dev) + [Vite](https://vite.dev) frontend.
164
-
165
- ## ⚙️ Configuration
166
-
167
- NexusFlow stores its config at `~/.nexusflow/config.json`:
168
-
169
- ```json
170
- {
171
- "version": "0.1.0",
172
- "devDir": "~/dev",
173
- "workspacesDir": "~/dev/workspaces",
174
- "scanDepth": 2,
175
- "defaultAssistant": null
176
- }
177
- ```
178
-
179
- | Key | Default | Description |
180
- |:---|:---|:---|
181
- | `devDir` | `~/dev` | Root directory to scan for git repos |
182
- | `workspacesDir` | `~/dev/workspaces` | Where feature workspaces are created |
183
- | `scanDepth` | `2` | How many levels deep to scan for repos |
184
- | `defaultAssistant` | `null` | Pre-select an assistant during workspace creation |
185
-
186
- Run `nexusflow init` to interactively set these values.
187
-
188
- ## 🏗️ Architecture
189
-
190
- ```
191
- NexusFlow/
192
- ├── src/
193
- │ ├── index.ts # CLI entry point (Commander.js)
194
- │ ├── server.ts # Hono API server (REST endpoints)
195
- │ ├── types.ts # Shared TypeScript interfaces
196
- │ ├── commands/ # CLI command handlers
197
- │ │ ├── create.ts # nexusflow create
198
- │ │ ├── init.ts # nexusflow init
199
- │ │ ├── list.ts # nexusflow list
200
- │ │ ├── open.ts # nexusflow open
201
- │ │ ├── start.ts # nexusflow start
202
- │ │ ├── stop.ts # nexusflow stop
203
- │ │ ├── status.ts # nexusflow status
204
- │ │ ├── logs.ts # nexusflow logs
205
- │ │ └── ui.ts # nexusflow ui
206
- │ ├── core/ # Core workspace logic
207
- │ │ ├── config.ts # Config management (~/.nexusflow/)
208
- │ │ ├── scanner.ts # Git repo scanner
209
- │ │ ├── worktree.ts # Git worktree operations
210
- │ │ └── workspace.ts # Workspace CRUD
211
- │ ├── analyzers/ # Codebase analysis
212
- │ │ ├── tech-stack.ts # Language/framework detection
213
- │ │ ├── detect-ports.ts # Port & server detection
214
- │ │ ├── detect-apis.ts # API endpoint scanning
215
- │ │ ├── detect-deps.ts # Dependency analysis
216
- │ │ ├── detect-existing.ts# Existing AI config detection
217
- │ │ └── readme-summarizer.ts# README content extraction
218
- │ ├── generators/ # AI context file generators
219
- ├── base.ts # Shared context builder
220
- ├── claude.ts # CLAUDE.md generator
221
- ├── codex.ts # AGENTS.md generator
222
- │ │ ├── copilot.ts # copilot-instructions.md generator
223
- │ │ └── cursor.ts # nexusflow.mdc generator
224
- │ ├── orchestration/ # Service start/stop/log management
225
- └── utils/ # Helper utilities
226
- ├── git.ts # Git operations
227
- ├── detect-ai.ts # AI assistant detection
228
- ├── detect-editors.ts # Editor detection
229
- ├── session-finder.ts # AI session history discovery
230
- └── prompts.ts # Interactive prompts
231
- ├── gui/ # React + Vite Web Dashboard
232
- └── src/
233
- └── App.tsx # Main dashboard component
234
- ├── package.json
235
- └── tsconfig.json
236
- ```
237
-
238
- ## 🤝 Contributing
239
-
240
- Contributions are welcome! Here's how to get set up:
241
-
242
- ### Development Setup
243
-
244
- ```bash
245
- # Clone the repo
246
- git clone https://github.com/antan87/NexusFlow.git
247
- cd NexusFlow
248
-
249
- # Install all dependencies
250
- npm install
251
- cd gui && npm install && cd ..
252
-
253
- # Start the TypeScript compiler in watch mode
254
- npm run dev
255
-
256
- # In another terminal, start the GUI dev server
257
- cd gui && npm run dev
258
- ```
259
-
260
- ### Build
261
-
262
- ```bash
263
- # Full build (TypeScript + GUI)
264
- npm run build
265
-
266
- # Clean build artifacts
267
- npm run clean
268
- ```
269
-
270
- ### Test
271
-
272
- ```bash
273
- # Run tests
274
- npm test
275
-
276
- # Watch mode
277
- npm run test:watch
278
- ```
279
-
280
- ### Code Style
281
-
282
- - **TypeScript** strict mode, ES modules
283
- - **Imports** — use `.js` extensions for local imports (`import { x } from './config.js'`)
284
- - **Node built-ins** — use the `node:` prefix (`import path from 'node:path'`)
285
- - **JSDoc** — add doc comments to all exported functions
286
- - **Error handling** — wrap external calls (git, filesystem) in try/catch
287
-
288
- ### Adding a New AI Assistant
289
-
290
- 1. Add the assistant identifier to the `AIAssistant` type in [types.ts](src/types.ts)
291
- 2. Add detection logic in [detect-ai.ts](src/utils/detect-ai.ts)
292
- 3. Create a new generator in `src/generators/` (follow the pattern in [claude.ts](src/generators/claude.ts))
293
- 4. Register it in the [generator index](src/generators/index.ts)
294
- 5. Add session discovery logic in [session-finder.ts](src/utils/session-finder.ts)
295
-
296
- ### Adding a New Analyzer
297
-
298
- 1. Create a new file in `src/analyzers/` following the existing patterns
299
- 2. Export the analyzer function and register it in [analyzers/index.ts](src/analyzers/index.ts)
300
- 3. The analyzer output is fed into the context generators and the `WORKSPACE.md` file
301
-
302
- ### Pull Request Guidelines
303
-
304
- - Fork the repo and create a feature branch
305
- - Write clear commit messages
306
- - Add tests for new functionality
307
- - Make sure `npm run build` passes before submitting
308
- - Update documentation if you change user-facing behavior
309
-
310
- ## 📄 License
311
-
1
+ <p align="center">
2
+ <h1 align="center">🔗 NexusFlow</h1>
3
+ <p align="center">
4
+ <strong>Multi-repo workspace manager for AI-assisted development</strong>
5
+ </p>
6
+ <p align="center">
7
+ Group repositories · Generate AI context · Resume LLM sessions · Orchestrate services
8
+ </p>
9
+ </p>
10
+
11
+ ---
12
+
13
+ NexusFlow combines multiple Git repositories into a single feature workspace and generates the context files that your AI coding assistant needs to understand all of them at once. It uses **git worktrees** so every repo stays on a clean feature branch without disturbing your main working copy.
14
+
15
+ > **New to NexusFlow?** Jump to the [Getting Started Guide](GETTING_STARTED.md) for a hands-on walkthrough.
16
+
17
+ ## ✨ Features
18
+
19
+ - **Multi-repo workspaces** — group any set of local Git repos under one feature branch using worktrees
20
+ - **AI context generation** — automatically writes `CLAUDE.md`, `AGENTS.md`, `.github/copilot-instructions.md`, and `.cursor/rules/nexusflow.mdc`
21
+ - **Codebase context packing** — compress an entire multi-repo workspace into a single token-efficient XML file for web-based LLMs using Repomix
22
+ - **Smart codebase analysis** — detects tech stacks, ports, API endpoints, dependencies, and existing AI configs across all projects
23
+ - **Teamwork Strategy Workflows** — predefine coordination flows and subagent behaviors (e.g. plan-implement-review) and inspect them with local AI coding assistant harnesses
24
+ - **Session history & resumption** — browse past conversation transcripts from Antigravity, Claude Code, OpenAI Codex, and GitHub Copilot, then resume where you left off
25
+ - **Service orchestration** — start, stop, and tail logs for all services in a workspace with a single command
26
+ - **Interactive Web Dashboard** — rich dark-themed GUI for managing workspaces, viewing sessions, and streaming logs
27
+ - **CLI-first** — every action available from the terminal via the `nexusflow` command
28
+
29
+ ## 📦 Installation
30
+
31
+ ### Prerequisites
32
+
33
+ | Requirement | Version |
34
+ |:---|:---|
35
+ | [Node.js](https://nodejs.org) | 18 or later |
36
+ | [Git](https://git-scm.com) | 2.20 or later (worktree support) |
37
+ | npm | Bundled with Node.js |
38
+
39
+ ### Install from npm
40
+
41
+ ```bash
42
+ npm install -g @mrpatronz/nexusflow
43
+ ```
44
+
45
+ ### Install from source
46
+
47
+ ```bash
48
+ git clone https://github.com/antan87/NexusFlow.git
49
+ cd NexusFlow
50
+
51
+ # Install backend dependencies
52
+ npm install
53
+
54
+ # Install GUI dependencies
55
+ cd gui && npm install && cd ..
56
+
57
+ # Build everything
58
+ npm run build
59
+
60
+ # Link the CLI globally
61
+ npm link
62
+ ```
63
+
64
+ After linking, the `nexusflow` command is available system-wide.
65
+
66
+ ## 🚀 Quick Start
67
+
68
+ ```bash
69
+ # 1 — Initialize config (optional, defaults work out of the box)
70
+ nexusflow init
71
+
72
+ # 2 — Create a feature workspace
73
+ nexusflow create
74
+
75
+ # 3 — Or launch the Web Dashboard
76
+ nexusflow ui
77
+ ```
78
+
79
+ The `create` wizard walks you through:
80
+
81
+ 1. **Name your feature branch** — e.g. `feature/user-auth`
82
+ 2. **Describe what you're building** — plain text or a path to a `.md` file
83
+ 3. **Pick your repos** — NexusFlow scans `~/dev` for git repositories
84
+ 4. **Choose AI assistant(s)** auto-detects what's installed
85
+ 5. **Done!** — workspace created with git worktrees + AI context files
86
+
87
+ ## 📂 What Gets Generated
88
+
89
+ ```
90
+ ~/dev/workspaces/feature/user-auth/
91
+ ├── CLAUDE.md # Context for Claude / Antigravity
92
+ ├── AGENTS.md # Context for OpenAI Codex
93
+ ├── .github/
94
+ │ └── copilot-instructions.md # Context for GitHub Copilot
95
+ ├── .cursor/
96
+ │ └── rules/nexusflow.mdc # Context for Cursor
97
+ ├── nexusflow.json # Feature config (branch, repos, etc.)
98
+ ├── nexusflow-overview.md # AI-generated workspace analysis
99
+ ├── my-api/ # ← Git worktree on feature branch
100
+ └── my-frontend/ # ← Git worktree on feature branch
101
+ ```
102
+
103
+ Open this folder in your editor → your AI assistant picks up the context → it understands *all* your repos.
104
+
105
+ ## 🖥️ Commands
106
+
107
+ | Command | Description |
108
+ |:---|:---|
109
+ | `nexusflow create` | Interactive wizard to create a new feature workspace |
110
+ | `nexusflow list` | List all existing workspaces (alias: `ls`) |
111
+ | `nexusflow open` | Re-open a workspace in your editor |
112
+ | `nexusflow init` | Configure NexusFlow settings |
113
+ | `nexusflow pack` | Pack the workspace codebase into a single token-efficient XML file |
114
+ | `nexusflow start` | Start all services in a workspace (auto-detected) |
115
+ | `nexusflow stop` | Stop all running services |
116
+ | `nexusflow status` | Show running/stopped status and PIDs |
117
+ | `nexusflow logs` | Tail aggregated logs from all services |
118
+ | `nexusflow ui` | Launch the interactive Web Dashboard (port 3000) |
119
+ | `nexusflow diff` | View changes across all sub-repositories in the active workspace |
120
+ | `nexusflow commit` | Commit and push changes across all modified repositories |
121
+ | `nexusflow sync` | Rebase all repositories in the workspace with default base branches |
122
+ | `nexusflow refresh`| Regenerate codebase maps, plan, and AI context files without rebasing |
123
+ | `nexusflow doctor` | Run health checks and diagnostics to verify workspace integrity |
124
+
125
+ ## 🤖 Supported AI Assistants
126
+
127
+ NexusFlow auto-detects which assistants are available on your machine and generates the right context files for each:
128
+
129
+ | Assistant | Config File | How It's Detected |
130
+ |:---|:---|:---|
131
+ | **Claude Code / Antigravity** | `CLAUDE.md` | `claude` or `antigravity` in PATH |
132
+ | **OpenAI Codex** | `AGENTS.md` | `codex` in PATH |
133
+ | **GitHub Copilot** | `.github/copilot-instructions.md` | Always available |
134
+ | **Cursor** | `.cursor/rules/nexusflow.mdc` | `cursor` in PATH |
135
+
136
+ ## 🕐 Session History & Resumption
137
+
138
+ NexusFlow can discover and display your past AI coding sessions across all supported assistants. This lets you:
139
+
140
+ - **Browse** conversation transcripts from previous sessions
141
+ - **Search** through your interaction history
142
+ - **Resume** a session by copying the resume command to your clipboard
143
+
144
+ Session data is read directly from each assistant's local storage:
145
+
146
+ | Assistant | Session Location |
147
+ |:---|:---|
148
+ | Antigravity | `~/.gemini/antigravity-cli/brain/` |
149
+ | Claude Code | `~/.claude/projects/` |
150
+ | OpenAI Codex | `~/.codex/sessions/` |
151
+ | GitHub Copilot | `~/.copilot/` |
152
+
153
+ Access sessions via the Web Dashboard's **Sessions** tab or through the API:
154
+
155
+ ```
156
+ GET /api/workspace/:id/sessions
157
+ GET /api/session/:assistant/:sessionId/transcript
158
+ ```
159
+
160
+ ## 👥 Teamwork Strategy Workflows
161
+
162
+ NexusFlow allows you to predefine orchestration workflows and cooperation rules that govern how multiple AI subagents coordinate when solving complex, multi-repo software engineering tasks.
163
+
164
+ You can select a strategy workflow when creating a workspace (or define custom ones). Built-in templates include:
165
+ - **Plan-Implement-Review** — A structured, multi-agent flow where an Orchestrator coordinates planning, implementation, review, and documentation.
166
+ - **Research-Verify** — A fast iteration strategy centered on research, drafting code, and immediately running verification test suites.
167
+ - **Solo Developer** A simplified, lightweight direct-action workflow for minor tweaks and linear tasks.
168
+
169
+ ### Custom Strategies & AI Inspection
170
+
171
+ You can create, edit, or delete custom strategies directly via the Web Dashboard's **Team Strategies** tab. Strategies are written in clean Markdown guidelines and stored in:
172
+ `~/.nexusflow/workflows/`
173
+
174
+ The dashboard integrates an **AI Strategy Analysis** inspector:
175
+ 1. Select an AI assistant harness installed on your machine (e.g. *Claude Code*, *Antigravity*).
176
+ 2. (Optional) Provide a comment or specific evaluation focus (e.g. *"Ensure subagent roles are distinct"*).
177
+ 3. Click **Inspect Strategy** to have the AI analyze the strategy rules, identify ambiguities/contradictions, rate its orchestration effectiveness, and generate an optimized rewritten guideline.
178
+
179
+ ## 🌐 Web Dashboard
180
+
181
+ Launch with `nexusflow ui` to get a full-featured dark-themed GUI:
182
+
183
+ - **Workspaces tab** create, browse, and manage feature workspaces
184
+ - **Sessions tab** view past AI conversation transcripts and resume sessions
185
+ - **Logs panel** — real-time aggregated service log output
186
+ - **Config panel** edit NexusFlow settings from the browser
187
+
188
+ The dashboard runs a local [Hono](https://hono.dev) server on port 3000 and serves a [React](https://react.dev) + [Vite](https://vite.dev) frontend.
189
+
190
+ ## ⚙️ Configuration
191
+
192
+ NexusFlow stores its config at `~/.nexusflow/config.json`:
193
+
194
+ ```json
195
+ {
196
+ "version": "0.1.0",
197
+ "devDir": "~/dev",
198
+ "workspacesDir": "~/dev/workspaces",
199
+ "scanDepth": 2,
200
+ "defaultAssistant": null
201
+ }
202
+ ```
203
+
204
+ | Key | Default | Description |
205
+ |:---|:---|:---|
206
+ | `devDir` | `~/dev` | Root directory to scan for git repos |
207
+ | `workspacesDir` | `~/dev/workspaces` | Where feature workspaces are created |
208
+ | `scanDepth` | `2` | How many levels deep to scan for repos |
209
+ | `defaultAssistant` | `null` | Pre-select an assistant during workspace creation |
210
+
211
+ Run `nexusflow init` to interactively set these values.
212
+
213
+ ## 🏗️ Architecture
214
+
215
+ ```
216
+ NexusFlow/
217
+ ├── src/
218
+ │ ├── index.ts # CLI entry point (Commander.js)
219
+ │ ├── server.ts # Hono API server (REST endpoints)
220
+ │ ├── types.ts # Shared TypeScript interfaces
221
+ │ ├── commands/ # CLI command handlers
222
+ │ │ ├── create.ts # nexusflow create
223
+ │ │ ├── init.ts # nexusflow init
224
+ ├── list.ts # nexusflow list
225
+ │ ├── open.ts # nexusflow open
226
+ ├── start.ts # nexusflow start
227
+ ├── stop.ts # nexusflow stop
228
+ ├── status.ts # nexusflow status
229
+ ├── logs.ts # nexusflow logs
230
+ └── ui.ts # nexusflow ui
231
+ ├── core/ # Core workspace logic
232
+ │ ├── config.ts # Config management (~/.nexusflow/)
233
+ │ ├── scanner.ts # Git repo scanner
234
+ │ │ ├── worktree.ts # Git worktree operations
235
+ │ │ └── workspace.ts # Workspace CRUD
236
+ │ ├── analyzers/ # Codebase analysis
237
+ │ │ ├── tech-stack.ts # Language/framework detection
238
+ │ │ ├── detect-ports.ts # Port & server detection
239
+ │ │ ├── detect-apis.ts # API endpoint scanning
240
+ │ │ ├── detect-deps.ts # Dependency analysis
241
+ │ │ ├── detect-existing.ts# Existing AI config detection
242
+ │ │ └── readme-summarizer.ts# README content extraction
243
+ │ ├── generators/ # AI context file generators
244
+ │ │ ├── base.ts # Shared context builder
245
+ │ │ ├── claude.ts # CLAUDE.md generator
246
+ │ │ ├── codex.ts # AGENTS.md generator
247
+ │ │ ├── copilot.ts # copilot-instructions.md generator
248
+ │ │ └── cursor.ts # nexusflow.mdc generator
249
+ │ ├── orchestration/ # Service start/stop/log management
250
+ │ └── utils/ # Helper utilities
251
+ │ ├── git.ts # Git operations
252
+ │ ├── detect-ai.ts # AI assistant detection
253
+ │ ├── detect-editors.ts # Editor detection
254
+ │ ├── session-finder.ts # AI session history discovery
255
+ │ └── prompts.ts # Interactive prompts
256
+ ├── gui/ # React + Vite Web Dashboard
257
+ │ └── src/
258
+ │ └── App.tsx # Main dashboard component
259
+ ├── package.json
260
+ └── tsconfig.json
261
+ ```
262
+
263
+ ## 🤝 Contributing
264
+
265
+ Contributions are welcome! Here's how to get set up:
266
+
267
+ ### Development Setup
268
+
269
+ ```bash
270
+ # Clone the repo
271
+ git clone https://github.com/antan87/NexusFlow.git
272
+ cd NexusFlow
273
+
274
+ # Install all dependencies
275
+ npm install
276
+ cd gui && npm install && cd ..
277
+
278
+ # Start the TypeScript compiler in watch mode
279
+ npm run dev
280
+
281
+ # In another terminal, start the GUI dev server
282
+ cd gui && npm run dev
283
+ ```
284
+
285
+ ### Build
286
+
287
+ ```bash
288
+ # Full build (TypeScript + GUI)
289
+ npm run build
290
+
291
+ # Clean build artifacts
292
+ npm run clean
293
+ ```
294
+
295
+ ### Test
296
+
297
+ ```bash
298
+ # Run tests
299
+ npm test
300
+
301
+ # Watch mode
302
+ npm run test:watch
303
+ ```
304
+
305
+ ### Code Style
306
+
307
+ - **TypeScript** strict mode, ES modules
308
+ - **Imports** use `.js` extensions for local imports (`import { x } from './config.js'`)
309
+ - **Node built-ins** — use the `node:` prefix (`import path from 'node:path'`)
310
+ - **JSDoc** — add doc comments to all exported functions
311
+ - **Error handling** — wrap external calls (git, filesystem) in try/catch
312
+
313
+ ### Adding a New AI Assistant
314
+
315
+ 1. Add the assistant identifier to the `AIAssistant` type in [types.ts](src/types.ts)
316
+ 2. Add detection logic in [detect-ai.ts](src/utils/detect-ai.ts)
317
+ 3. Create a new generator in `src/generators/` (follow the pattern in [claude.ts](src/generators/claude.ts))
318
+ 4. Register it in the [generator index](src/generators/index.ts)
319
+ 5. Add session discovery logic in [session-finder.ts](src/utils/session-finder.ts)
320
+
321
+ ### Adding a New Analyzer
322
+
323
+ 1. Create a new file in `src/analyzers/` following the existing patterns
324
+ 2. Export the analyzer function and register it in [analyzers/index.ts](src/analyzers/index.ts)
325
+ 3. The analyzer output is fed into the context generators and the `WORKSPACE.md` file
326
+
327
+ ### Pull Request Guidelines
328
+
329
+ - Fork the repo and create a feature branch
330
+ - Write clear commit messages
331
+ - Add tests for new functionality
332
+ - Make sure `npm run build` passes before submitting
333
+ - Update documentation if you change user-facing behavior
334
+
335
+ ## 📄 License
336
+
312
337
  MIT — see [LICENSE](LICENSE) for details.