@mrpatronz/nexusflow 1.8.0 → 1.9.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 (222) hide show
  1. package/README.md +48 -15
  2. package/dist/commands/create.d.ts +8 -7
  3. package/dist/commands/create.d.ts.map +1 -1
  4. package/dist/commands/create.js +134 -65
  5. package/dist/commands/create.js.map +1 -1
  6. package/dist/commands/doctor.d.ts.map +1 -1
  7. package/dist/commands/doctor.js +0 -1
  8. package/dist/commands/doctor.js.map +1 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +1 -72
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/list.d.ts.map +1 -1
  13. package/dist/commands/list.js +2 -1
  14. package/dist/commands/list.js.map +1 -1
  15. package/dist/commands/project.d.ts +30 -0
  16. package/dist/commands/project.d.ts.map +1 -0
  17. package/dist/commands/project.js +125 -0
  18. package/dist/commands/project.js.map +1 -0
  19. package/dist/commands/refresh.js +1 -1
  20. package/dist/commands/refresh.js.map +1 -1
  21. package/dist/commands/start.d.ts.map +1 -1
  22. package/dist/commands/start.js +18 -2
  23. package/dist/commands/start.js.map +1 -1
  24. package/dist/commands/stop.d.ts +1 -1
  25. package/dist/commands/stop.d.ts.map +1 -1
  26. package/dist/commands/stop.js +19 -2
  27. package/dist/commands/stop.js.map +1 -1
  28. package/dist/commands/tui.js +0 -1
  29. package/dist/commands/tui.js.map +1 -1
  30. package/dist/core/config.d.ts.map +1 -1
  31. package/dist/core/config.js +0 -9
  32. package/dist/core/config.js.map +1 -1
  33. package/dist/core/config.test.js +0 -9
  34. package/dist/core/config.test.js.map +1 -1
  35. package/dist/core/doctor.d.ts +1 -3
  36. package/dist/core/doctor.d.ts.map +1 -1
  37. package/dist/core/doctor.js +18 -69
  38. package/dist/core/doctor.js.map +1 -1
  39. package/dist/core/finish.d.ts.map +1 -1
  40. package/dist/core/finish.js +5 -0
  41. package/dist/core/finish.js.map +1 -1
  42. package/dist/core/graph.d.ts.map +1 -1
  43. package/dist/core/graph.js +2 -1
  44. package/dist/core/graph.js.map +1 -1
  45. package/dist/core/projects.d.ts +58 -0
  46. package/dist/core/projects.d.ts.map +1 -0
  47. package/dist/core/projects.js +190 -0
  48. package/dist/core/projects.js.map +1 -0
  49. package/dist/core/projects.test.d.ts +2 -0
  50. package/dist/core/projects.test.d.ts.map +1 -0
  51. package/dist/core/projects.test.js +165 -0
  52. package/dist/core/projects.test.js.map +1 -0
  53. package/dist/core/sync.d.ts.map +1 -1
  54. package/dist/core/sync.js +21 -0
  55. package/dist/core/sync.js.map +1 -1
  56. package/dist/core/sync.test.js +15 -0
  57. package/dist/core/sync.test.js.map +1 -1
  58. package/dist/core/workspace.create.test.js +68 -1
  59. package/dist/core/workspace.create.test.js.map +1 -1
  60. package/dist/core/workspace.d.ts +4 -3
  61. package/dist/core/workspace.d.ts.map +1 -1
  62. package/dist/core/workspace.js +138 -64
  63. package/dist/core/workspace.js.map +1 -1
  64. package/dist/generators/antigravity.js +1 -1
  65. package/dist/generators/antigravity.js.map +1 -1
  66. package/dist/generators/base.d.ts +1 -8
  67. package/dist/generators/base.d.ts.map +1 -1
  68. package/dist/generators/base.js +107 -58
  69. package/dist/generators/base.js.map +1 -1
  70. package/dist/generators/base.test.d.ts +2 -0
  71. package/dist/generators/base.test.d.ts.map +1 -0
  72. package/dist/generators/base.test.js +80 -0
  73. package/dist/generators/base.test.js.map +1 -0
  74. package/dist/generators/claude.js +1 -1
  75. package/dist/generators/claude.js.map +1 -1
  76. package/dist/generators/codex.js +1 -1
  77. package/dist/generators/codex.js.map +1 -1
  78. package/dist/generators/copilot.js +1 -1
  79. package/dist/generators/copilot.js.map +1 -1
  80. package/dist/generators/cursor.js +1 -1
  81. package/dist/generators/cursor.js.map +1 -1
  82. package/dist/generators/diff-context.d.ts.map +1 -1
  83. package/dist/generators/diff-context.js +3 -1
  84. package/dist/generators/diff-context.js.map +1 -1
  85. package/dist/generators/index.js +1 -1
  86. package/dist/generators/index.js.map +1 -1
  87. package/dist/generators/map-generator.d.ts.map +1 -1
  88. package/dist/generators/map-generator.js +3 -1
  89. package/dist/generators/map-generator.js.map +1 -1
  90. package/dist/gui/assets/DashboardPage-C3NH97y2.js +1 -0
  91. package/dist/gui/assets/GettingStartedPage-og-Kv7Sm.js +1 -0
  92. package/dist/gui/assets/ProjectsPage-COqqadEr.js +1 -0
  93. package/dist/gui/assets/ScaffoldRepoInline-DRipQsos.js +1 -0
  94. package/dist/gui/assets/Separator-Chx6O62Y.js +1 -0
  95. package/dist/gui/assets/SettingsPage-CpU3V9oU.js +1 -0
  96. package/dist/gui/assets/StartWorkPage-DIND0hJy.js +1 -0
  97. package/dist/gui/assets/StrategiesPage-6LWOnKdk.js +3 -0
  98. package/dist/gui/assets/WorkspacesPage-BUqgOhuy.js +6 -0
  99. package/dist/gui/assets/badge-BnkhqVEF.js +1 -0
  100. package/dist/gui/assets/button-cPldH5S4.js +1 -0
  101. package/dist/gui/assets/card-82INhRRE.js +1 -0
  102. package/dist/gui/assets/circle-plus-C0PNc7h4.js +1 -0
  103. package/dist/gui/assets/cpu-CPUNnHRM.js +1 -0
  104. package/dist/gui/assets/empty-DWyDwDYB.js +1 -0
  105. package/dist/gui/assets/external-link-BtYhMxno.js +1 -0
  106. package/dist/gui/assets/git-branch-Dw55pQWa.js +1 -0
  107. package/dist/gui/assets/index-CsA2SueF.css +2 -0
  108. package/dist/gui/assets/index-CyYbQwRf.js +52 -0
  109. package/dist/gui/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  110. package/dist/gui/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  111. package/dist/gui/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  112. package/dist/gui/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  113. package/dist/gui/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  114. package/dist/gui/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  115. package/dist/gui/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  116. package/dist/gui/assets/jetbrains-mono-latin-100-normal-DlYB2XW3.woff2 +0 -0
  117. package/dist/gui/assets/jetbrains-mono-latin-100-normal-DzH8uRxw.woff +0 -0
  118. package/dist/gui/assets/jetbrains-mono-latin-200-normal-CHn02WOn.woff +0 -0
  119. package/dist/gui/assets/jetbrains-mono-latin-200-normal-DvzYDkvL.woff2 +0 -0
  120. package/dist/gui/assets/jetbrains-mono-latin-300-normal-BYcAiAh2.woff +0 -0
  121. package/dist/gui/assets/jetbrains-mono-latin-300-normal-DuMDZskh.woff2 +0 -0
  122. package/dist/gui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  123. package/dist/gui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  124. package/dist/gui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  125. package/dist/gui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  126. package/dist/gui/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff +0 -0
  127. package/dist/gui/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2 +0 -0
  128. package/dist/gui/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2 +0 -0
  129. package/dist/gui/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff +0 -0
  130. package/dist/gui/assets/jetbrains-mono-latin-800-normal-D2mQHRMK.woff2 +0 -0
  131. package/dist/gui/assets/jetbrains-mono-latin-800-normal-Dj9qwObk.woff +0 -0
  132. package/dist/gui/assets/label-JFgMNsTn.js +1 -0
  133. package/dist/gui/assets/search-ChVovkOL.js +1 -0
  134. package/dist/gui/assets/skeleton-CCPbfn1L.js +1 -0
  135. package/dist/gui/assets/spinner-DXt6mnJk.js +1 -0
  136. package/dist/gui/assets/textarea-BLU5HXmZ.js +1 -0
  137. package/dist/gui/assets/trash-2-Da8F2gKd.js +1 -0
  138. package/dist/gui/assets/useAriaLabelledBy-CjNlctb9.js +1 -0
  139. package/dist/gui/assets/useCompositeListItem-DWGFLKqA.js +1 -0
  140. package/dist/gui/index.html +16 -6
  141. package/dist/index.js +50 -0
  142. package/dist/index.js.map +1 -1
  143. package/dist/mcp/tools.d.ts.map +1 -1
  144. package/dist/mcp/tools.js +4 -63
  145. package/dist/mcp/tools.js.map +1 -1
  146. package/dist/orchestration/detect.d.ts.map +1 -1
  147. package/dist/orchestration/detect.js +72 -26
  148. package/dist/orchestration/detect.js.map +1 -1
  149. package/dist/orchestration/index.d.ts +3 -1
  150. package/dist/orchestration/index.d.ts.map +1 -1
  151. package/dist/orchestration/index.js +3 -1
  152. package/dist/orchestration/index.js.map +1 -1
  153. package/dist/orchestration/log-tail.d.ts +27 -0
  154. package/dist/orchestration/log-tail.d.ts.map +1 -0
  155. package/dist/orchestration/log-tail.js +93 -0
  156. package/dist/orchestration/log-tail.js.map +1 -0
  157. package/dist/orchestration/log-tail.test.d.ts +2 -0
  158. package/dist/orchestration/log-tail.test.d.ts.map +1 -0
  159. package/dist/orchestration/log-tail.test.js +72 -0
  160. package/dist/orchestration/log-tail.test.js.map +1 -0
  161. package/dist/orchestration/orchestrator.d.ts +26 -0
  162. package/dist/orchestration/orchestrator.d.ts.map +1 -0
  163. package/dist/orchestration/orchestrator.js +102 -0
  164. package/dist/orchestration/orchestrator.js.map +1 -0
  165. package/dist/orchestration/orchestrator.test.d.ts +2 -0
  166. package/dist/orchestration/orchestrator.test.d.ts.map +1 -0
  167. package/dist/orchestration/orchestrator.test.js +85 -0
  168. package/dist/orchestration/orchestrator.test.js.map +1 -0
  169. package/dist/orchestration/runner.d.ts +62 -3
  170. package/dist/orchestration/runner.d.ts.map +1 -1
  171. package/dist/orchestration/runner.js +198 -103
  172. package/dist/orchestration/runner.js.map +1 -1
  173. package/dist/orchestration/runner.test.js +125 -1
  174. package/dist/orchestration/runner.test.js.map +1 -1
  175. package/dist/server.d.ts.map +1 -1
  176. package/dist/server.js +286 -124
  177. package/dist/server.js.map +1 -1
  178. package/dist/server.test.js +111 -123
  179. package/dist/server.test.js.map +1 -1
  180. package/dist/types.d.ts +79 -16
  181. package/dist/types.d.ts.map +1 -1
  182. package/dist/utils/feature.d.ts +42 -0
  183. package/dist/utils/feature.d.ts.map +1 -0
  184. package/dist/utils/feature.js +52 -0
  185. package/dist/utils/feature.js.map +1 -0
  186. package/dist/utils/multi-git.d.ts.map +1 -1
  187. package/dist/utils/multi-git.js +30 -7
  188. package/dist/utils/multi-git.js.map +1 -1
  189. package/dist/utils/slug.d.ts +12 -0
  190. package/dist/utils/slug.d.ts.map +1 -0
  191. package/dist/utils/slug.js +18 -0
  192. package/dist/utils/slug.js.map +1 -0
  193. package/dist/utils/test-command.d.ts +12 -0
  194. package/dist/utils/test-command.d.ts.map +1 -0
  195. package/dist/utils/test-command.js +22 -0
  196. package/dist/utils/test-command.js.map +1 -0
  197. package/dist/utils/update-check.d.ts +8 -0
  198. package/dist/utils/update-check.d.ts.map +1 -1
  199. package/dist/utils/update-check.js +13 -7
  200. package/dist/utils/update-check.js.map +1 -1
  201. package/dist/utils/update-check.test.d.ts +2 -0
  202. package/dist/utils/update-check.test.d.ts.map +1 -0
  203. package/dist/utils/update-check.test.js +25 -0
  204. package/dist/utils/update-check.test.js.map +1 -0
  205. package/dist/utils/workflow-advisor.d.ts +2 -2
  206. package/dist/utils/workflow-advisor.d.ts.map +1 -1
  207. package/dist/utils/workflow-advisor.js +50 -92
  208. package/dist/utils/workflow-advisor.js.map +1 -1
  209. package/dist/utils/workflows.d.ts.map +1 -1
  210. package/dist/utils/workflows.js +2 -4
  211. package/dist/utils/workflows.js.map +1 -1
  212. package/package.json +2 -2
  213. package/dist/gui/assets/index-CQTEzHj2.css +0 -1
  214. package/dist/gui/assets/index-DLmLdpqC.js +0 -58
  215. package/dist/utils/local-ai.d.ts +0 -27
  216. package/dist/utils/local-ai.d.ts.map +0 -1
  217. package/dist/utils/local-ai.js +0 -100
  218. package/dist/utils/local-ai.js.map +0 -1
  219. package/dist/utils/local-ai.test.d.ts +0 -2
  220. package/dist/utils/local-ai.test.d.ts.map +0 -1
  221. package/dist/utils/local-ai.test.js +0 -108
  222. package/dist/utils/local-ai.test.js.map +0 -1
package/README.md CHANGED
@@ -10,13 +10,14 @@
10
10
 
11
11
  ---
12
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.
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 can create isolated **git worktrees** on clean feature branches, or work in-place directly in your source repositories when you want to manage branches yourself.
14
14
 
15
15
  > **New to NexusFlow?** Jump to the [Getting Started Guide](GETTING_STARTED.md) for a hands-on walkthrough.
16
16
 
17
17
  ## ✨ Features
18
18
 
19
- - **Multi-repo workspaces** — group any set of local Git repos under one feature branch using worktrees
19
+ - **Multi-repo workspaces** — group any set of local Git repos in isolated worktrees or in-place source repositories
20
+ - **Project registry** — save named, persistent repo groups in `~/.nexusflow/projects.json` and reuse them from the CLI or API
20
21
  - **The full feature loop** — `create` opens a workspace, `finish` closes it: commit + push every repo, open PRs (or print compare links), promote learnings, and optionally clean up
21
22
  - **Knowledge that accumulates** — capture decisions and gotchas as you work with `nexusflow knowledge add`, then `promote` the reusable ones into per-repo memory that survives across features
22
23
  - **AI context generation** — automatically writes `CLAUDE.md`, `AGENTS.md`, `.github/copilot-instructions.md`, and `.cursor/rules/nexusflow.mdc`
@@ -82,14 +83,43 @@ nexusflow dashboard
82
83
 
83
84
  The `create` wizard walks you through:
84
85
 
85
- 1. **Name your feature branch** — e.g. `feature/user-auth`
86
- 2. **Describe what you're building** — plain text or a path to a `.md` file
87
- 3. **Pick your repos** — NexusFlow scans `~/dev` for git repositories
88
- 4. **Choose AI assistant(s)** — auto-detects what's installed
89
- 5. **Done!** workspace created with git worktrees + AI context files
86
+ 1. **Choose a repo source** — start from a registered project or scan/pick ad-hoc repos
87
+ 2. **Choose a work mode** — isolated worktrees or in-place source repositories
88
+ 3. **Name the branch or workspace** — branch name for worktrees, workspace name for in-place
89
+ 4. **Describe what you're building** — plain text or a path to a `.md` file
90
+ 5. **Choose AI assistant(s)** auto-detects what's installed
91
+ 6. **Done!** — workspace created with AI context files, plus git worktrees in isolated mode
92
+
93
+ ## 📚 Projects
94
+
95
+ A project is a named, persistent group of source repositories stored centrally in `~/.nexusflow/projects.json`. Project ids are slugified from the name, so `Hogia Billing` becomes `hogia-billing`. Use either the `project` command group or its `proj` alias:
96
+
97
+ | Command | Description |
98
+ |:---|:---|
99
+ | `nexusflow project add -n, --name <name> -r, --repos <paths...> [-d, --description <text>]` | Register a project; omit `--repos` to use the interactive repo picker |
100
+ | `nexusflow project list` | List registered projects (alias: `ls`) |
101
+ | `nexusflow project show [id]` | Show a registered project |
102
+ | `nexusflow project remove [id] [-y, --yes]` | Remove a project from the registry (alias: `rm`) |
103
+
104
+ Removing a project only edits the registry — it never deletes repositories or workspaces on disk. The HTTP API exposes the same registry through `GET /api/projects`, `POST /api/projects`, `PUT /api/projects/:id`, and `DELETE /api/projects/:id`.
105
+
106
+ ## 🧭 Work Modes
107
+
108
+ `nexusflow create` offers registered projects first (ad-hoc repo scanning is still available), then asks how the workspace should work:
109
+
110
+ | Mode | What it does |
111
+ |:---|:---|
112
+ | **Isolated worktrees** | The classic flow: NexusFlow creates a feature branch and git worktree per repo inside the workspace directory. |
113
+ | **In-place** | NexusFlow works directly in the source repositories. No branches or worktrees are created; you provide a workspace name, and the workspace directory only holds `nexusflow.json` plus generated AI context files. |
114
+
115
+ In in-place workspaces, `nexusflow sync` is a deliberate no-op because you manage branches yourself. `nexusflow finish` commits and pushes each repo's current branch, and only offers PR/compare links when that branch differs from the default branch. Deleting an in-place workspace never touches the source repositories, `nexusflow list` tags it with `[in-place]`, and agent sessions for single-repo in-place workspaces run in the repo root.
116
+
117
+ For API callers, `POST /api/workspace` accepts optional `mode` (`worktree` default, or `in-place`), `name` (required for in-place), and `projectId`. Existing workspace manifests without a `mode` field are treated as `worktree` mode.
90
118
 
91
119
  ## 📂 What Gets Generated
92
120
 
121
+ In isolated worktree mode:
122
+
93
123
  ```
94
124
  ~/dev/workspaces/feature/user-auth/
95
125
  ├── CLAUDE.md # Context for Claude / Antigravity
@@ -104,18 +134,21 @@ The `create` wizard walks you through:
104
134
  └── my-frontend/ # ← Git worktree on feature branch
105
135
  ```
106
136
 
137
+ In-place workspaces keep the manifest and generated AI context files in the workspace directory while the code stays in the source repositories.
138
+
107
139
  Open this folder in your editor → your AI assistant picks up the context → it understands *all* your repos.
108
140
 
109
141
  ## 🖥️ Commands
110
142
 
111
143
  | Command | Description |
112
144
  |:---|:---|
113
- | `nexusflow create` | Interactive wizard to create a new feature workspace |
114
- | `nexusflow list` | List all existing workspaces (alias: `ls`) |
145
+ | `nexusflow create` | Interactive wizard to create a new worktree or in-place workspace |
146
+ | `nexusflow list` | List all existing workspaces, tagging in-place ones with `[in-place]` (alias: `ls`) |
115
147
  | `nexusflow open` | Re-open a workspace in your editor |
116
148
  | `nexusflow init` | Configure NexusFlow settings |
149
+ | `nexusflow project` | Manage registered repo groups: `add`, `list`/`ls`, `show`, `remove`/`rm` (alias: `proj`) |
117
150
  | `nexusflow add-repo` | Add a repository to an existing workspace (alias: `add`) |
118
- | `nexusflow remove` | Delete a workspace and prune its git worktrees (alias: `rm`) |
151
+ | `nexusflow remove` | Delete a workspace and prune its git worktrees when present (alias: `rm`) |
119
152
  | `nexusflow start` | Start all services in a workspace (auto-detected) |
120
153
  | `nexusflow stop` | Stop all running services |
121
154
  | `nexusflow status` | Show running/stopped status and PIDs |
@@ -125,7 +158,7 @@ Open this folder in your editor → your AI assistant picks up the context → i
125
158
  | `nexusflow tui` | Open the interactive terminal (TUI) dashboard |
126
159
  | `nexusflow diff` | View changes across all sub-repositories, including unpushed commits (`--repo` to filter) |
127
160
  | `nexusflow commit` | Commit and push changes across all modified repositories (`--repo`, `--no-push`, `--dry-run`) |
128
- | `nexusflow sync` | Rebase all repositories in the workspace with default base branches |
161
+ | `nexusflow sync` | Rebase worktree-mode repositories with default base branches; deliberate no-op for in-place workspaces |
129
162
  | `nexusflow finish` | Close out a feature: commit & push all repos, open PRs / print compare links, promote learnings, optionally remove the workspace (`-m`, `--no-pr`, `--no-knowledge`, `--cleanup`, `--dry-run`) |
130
163
  | `nexusflow review` | Start an iterative reviewer-implementer agent loop with automated verification harnesses |
131
164
  | `nexusflow knowledge` | Capture & manage workspace learnings: `add` (decision/gotcha/progress/…), `show`, `promote` into per-repo base knowledge |
@@ -153,7 +186,7 @@ NexusFlow auto-detects which assistants are available on your machine and genera
153
186
 
154
187
  NexusFlow is built around a single loop:
155
188
 
156
- 1. **`nexusflow create`** — open a workspace of git worktrees on a feature branch with AI context files generated. Along the way you can **scaffold a brand-new project** (a fresh local git repo in your dev directory) and, per repo, **check out an existing branch** — local or remote — instead of creating the feature branch.
189
+ 1. **`nexusflow create`** — open a worktree or in-place workspace with AI context files generated. Along the way you can **scaffold a brand-new project** (a fresh local git repo in your dev directory) and, per repo, **check out an existing branch** — local or remote — instead of creating the feature branch.
157
190
  2. **Work** — your AI assistant edits code across repos. As it goes, it records learnings:
158
191
  ```bash
159
192
  nexusflow knowledge add -t decision -m "Chose worktrees over submodules for isolation"
@@ -163,10 +196,10 @@ NexusFlow is built around a single loop:
163
196
  Entries land under the right heading in `nexusflow-knowledge.md` (routed through your storage adapter — local or central vault — so the GUI and the generators all see the same file). No hand-editing, no accidental overwrites.
164
197
  3. **`nexusflow finish`** — close it out:
165
198
  - Shows a preflight status table (branch, dirty files, unpushed commits) per repo.
166
- - Commits any remaining changes (repos on the wrong branch or in a detached HEAD are skipped, never committed) and pushes every branch.
199
+ - Commits any remaining changes and pushes every branch; worktree-mode repos on the wrong branch or in a detached HEAD are skipped, while in-place workspaces use each repo's current branch.
167
200
  - Opens a PR per repo with the GitHub CLI when it's installed and authenticated; otherwise prints a ready-to-click **compare URL** for GitHub, GitLab, Azure DevOps, or Bitbucket.
168
201
  - Offers to **promote** reusable learnings into each repo's persistent base knowledge (so they survive into the next feature).
169
- - With `--cleanup`, removes the workspace once everything is confirmed pushed (never while you're `cd`'d inside it).
202
+ - With `--cleanup`, removes the workspace once everything is confirmed pushed (never while you're `cd`'d inside it, and never touching source repositories for in-place workspaces).
170
203
 
171
204
  ```bash
172
205
  nexusflow finish --dry-run # preview what would happen
@@ -190,7 +223,7 @@ NexusFlow is built around a single loop:
190
223
  | `promote_knowledge` | Copy a learning into a repo's persistent base knowledge |
191
224
  | `finish_workspace` | Commit, push, and return PR/compare links (never deletes anything) |
192
225
  | `get_service_logs` | Tail a running service's logs |
193
- | `delegate_to_local_agent` | Offload cheap/high-volume subtasks to a local SLM (when enabled) |
226
+
194
227
 
195
228
  Read-only tools are annotated as such; `finish_workspace` deliberately cannot delete worktrees (cleanup stays a human-confirmed CLI action). Pass `--debug` (or set `NEXUSFLOW_DEBUG=1`) on any CLI command to surface diagnostic logging on stderr.
196
229
 
@@ -5,13 +5,14 @@
5
5
  */
6
6
  /**
7
7
  * Executes the full "create workspace" flow:
8
- * 1. Prompt for branch name
9
- * 2. Prompt for feature description
10
- * 3. Scan for repos and let user pick
11
- * 4. Detect AI assistants and let user pick
12
- * 5. Create workspace with git worktrees
13
- * 6. Generate AI context files
14
- * 7. Optionally open in editor
8
+ * 1. Pick a registered project (or ad-hoc repos)
9
+ * 2. Choose the work mode: in-place (no git ceremony) or isolated worktrees
10
+ * 3. Prompt for branch name (worktree) or workspace name (in-place)
11
+ * 4. Prompt for feature description; select repos when ad hoc
12
+ * 5. Detect AI assistants and let user pick
13
+ * 6. Create the workspace (worktrees only in worktree mode)
14
+ * 7. Generate AI context files
15
+ * 8. Optionally open in editor
15
16
  */
16
17
  export declare function createCommand(): Promise<void>;
17
18
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkCH;;;;;;;;;GASG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA+OnD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAwTnD"}
@@ -7,78 +7,143 @@ import chalk from 'chalk';
7
7
  import ora from 'ora';
8
8
  import path from 'node:path';
9
9
  import { execa } from 'execa';
10
- import { confirm } from '@inquirer/prompts';
10
+ import { confirm, input, select } from '@inquirer/prompts';
11
11
  import { loadConfig } from '../core/config.js';
12
12
  import { scanForRepos } from '../core/scanner.js';
13
- import { createWorkspace } from '../core/workspace.js';
13
+ import { createWorkspace, resolveRepoInfos } from '../core/workspace.js';
14
14
  import { generateContextFiles } from '../generators/index.js';
15
15
  import { analyzeAllRepos } from '../analyzers/index.js';
16
16
  import { detectAIAssistants } from '../utils/detect-ai.js';
17
17
  import { detectEditors } from '../utils/detect-editors.js';
18
18
  import { openInEditor } from '../utils/open-editor.js';
19
19
  import { debugLog } from '../utils/debug.js';
20
+ import { getSessionCwd } from '../utils/feature.js';
20
21
  import { promptBranchName, promptDescription, promptSelectRepos, promptSelectAI, promptSelectEditor, promptSelectStrategy, promptNewStrategy, promptNewProjectName, promptRepoBranches, } from '../utils/prompts.js';
21
22
  import { createNewRepo } from '../core/new-repo.js';
23
+ import { loadProjects, slugifyProjectName } from '../core/projects.js';
22
24
  import { suggestWorkflow } from '../utils/workflow-advisor.js';
23
25
  import { getWorkflowTemplates, saveWorkflowTemplate } from '../utils/workflows.js';
24
26
  /**
25
27
  * Executes the full "create workspace" flow:
26
- * 1. Prompt for branch name
27
- * 2. Prompt for feature description
28
- * 3. Scan for repos and let user pick
29
- * 4. Detect AI assistants and let user pick
30
- * 5. Create workspace with git worktrees
31
- * 6. Generate AI context files
32
- * 7. Optionally open in editor
28
+ * 1. Pick a registered project (or ad-hoc repos)
29
+ * 2. Choose the work mode: in-place (no git ceremony) or isolated worktrees
30
+ * 3. Prompt for branch name (worktree) or workspace name (in-place)
31
+ * 4. Prompt for feature description; select repos when ad hoc
32
+ * 5. Detect AI assistants and let user pick
33
+ * 6. Create the workspace (worktrees only in worktree mode)
34
+ * 7. Generate AI context files
35
+ * 8. Optionally open in editor
33
36
  */
34
37
  export async function createCommand() {
35
- console.log(chalk.bold.cyan('\n🚀 NexusFlow — Create Feature Workspace\n'));
36
- // ── 1. Branch name ──────────────────────────────────────────────────
37
- const branchName = await promptBranchName();
38
- // ── 2. Feature description ──────────────────────────────────────────
39
- const description = await promptDescription();
40
- // ── 3. Scan for repos ───────────────────────────────────────────────
38
+ console.log(chalk.bold.cyan('\n🚀 NexusFlow — Start Work\n'));
41
39
  const config = await loadConfig();
42
- const spinner = ora('Scanning for projects...').start();
43
- let repos;
44
- try {
45
- repos = await scanForRepos(config.devDir, config.scanDepth);
46
- spinner.succeed(`Found ${chalk.bold(repos.length)} projects in ${config.devDir}`);
40
+ // ── 0. Project selection (when a registry exists) ───────────────────
41
+ const projects = await loadProjects({ quiet: true });
42
+ let project = null;
43
+ if (projects.length > 0) {
44
+ const choice = await select({
45
+ message: 'Start from a project?',
46
+ choices: [
47
+ ...projects.map((p) => ({
48
+ name: `${p.name} ${chalk.dim(`(${p.repos.map((r) => path.basename(r.path)).join(', ')})`)}`,
49
+ value: p.id,
50
+ })),
51
+ { name: 'Ad-hoc — pick repos manually', value: '' },
52
+ ],
53
+ });
54
+ project = choice ? projects.find((p) => p.id === choice) ?? null : null;
47
55
  }
48
- catch (error) {
49
- spinner.fail('Failed to scan for projects');
50
- throw error;
56
+ // ── 1. Work mode ─────────────────────────────────────────────────────
57
+ const mode = await select({
58
+ message: 'How do you want to work?',
59
+ choices: [
60
+ {
61
+ name: 'In-place — directly in the source repos (no branches, fastest start)',
62
+ value: 'in-place',
63
+ },
64
+ {
65
+ name: 'Isolated worktrees — a feature branch and worktree per repo',
66
+ value: 'worktree',
67
+ },
68
+ ],
69
+ });
70
+ const inPlace = mode === 'in-place';
71
+ // ── 2. Identity: feature branch, or a plain name for in-place ───────
72
+ let branchName = '';
73
+ let workspaceId = '';
74
+ if (inPlace) {
75
+ const workspaceName = await input({
76
+ message: 'Workspace name:',
77
+ validate: (value) => slugifyProjectName(value).length > 0 || 'Name needs at least one letter or digit',
78
+ });
79
+ workspaceId = slugifyProjectName(workspaceName);
80
+ branchName = workspaceId; // populated for display/back-compat; no branch is created
51
81
  }
52
- if (repos.length === 0) {
53
- console.log(chalk.yellow('No git projects found. Check your devDir setting.'));
54
- return;
82
+ else {
83
+ branchName = await promptBranchName();
84
+ workspaceId = branchName;
55
85
  }
56
- // ── 4. Select repos ────────────────────────────────────────────────
57
- const selectedRepos = await promptSelectRepos(repos);
58
- // ── 4.1. Optionally scaffold brand-new projects ─────────────────────
59
- while (await confirm({
60
- message: '➕ Create a brand-new project to include in this workspace?',
61
- default: false,
62
- })) {
63
- const projectName = await promptNewProjectName(config.devDir);
64
- const newRepoSpinner = ora(`Creating new project ${projectName}...`).start();
86
+ // ── 2.1. Feature description ─────────────────────────────────────────
87
+ const description = await promptDescription();
88
+ // ── 3-4. Repos: from the project, or scanned and picked ad hoc ───────
89
+ let selectedRepos;
90
+ if (project) {
91
+ // Re-resolve at create time: the registry's defaultBranch is a snapshot
92
+ // from `project add` and may have gone stale (repo moved, default branch
93
+ // renamed) basing a new feature branch on it would be silently wrong.
94
+ const projectSpinner = ora(`Validating repositories of ${project.name}...`).start();
65
95
  try {
66
- const newRepo = await createNewRepo(config.devDir, projectName);
67
- selectedRepos.push(newRepo);
68
- newRepoSpinner.succeed(`Created ${chalk.bold(newRepo.name)} at ${newRepo.path}`);
96
+ selectedRepos = await resolveRepoInfos(project.repos.map((r) => r.path));
97
+ projectSpinner.succeed(`Repos from ${project.name}: ${selectedRepos.map((r) => r.name).join(', ')}`);
69
98
  }
70
99
  catch (error) {
71
- const message = error instanceof Error ? error.message : String(error);
72
- newRepoSpinner.fail(`Could not create project: ${message}`);
100
+ projectSpinner.fail(`A repository of project "${project.name}" is missing or not a git repo — fix it with "nexusflow project add/remove".`);
101
+ throw error;
73
102
  }
74
103
  }
75
- if (selectedRepos.length === 0) {
76
- console.log(chalk.yellow('No projects selected. Exiting.'));
77
- return;
104
+ else {
105
+ const spinner = ora('Scanning for projects...').start();
106
+ let repos;
107
+ try {
108
+ repos = await scanForRepos(config.devDir, config.scanDepth);
109
+ spinner.succeed(`Found ${chalk.bold(repos.length)} projects in ${config.devDir}`);
110
+ }
111
+ catch (error) {
112
+ spinner.fail('Failed to scan for projects');
113
+ throw error;
114
+ }
115
+ if (repos.length === 0) {
116
+ console.log(chalk.yellow('No git projects found. Check your devDir setting.'));
117
+ return;
118
+ }
119
+ selectedRepos = await promptSelectRepos(repos);
120
+ // ── 4.1. Optionally scaffold brand-new projects ─────────────────────
121
+ while (await confirm({
122
+ message: '➕ Create a brand-new project to include in this workspace?',
123
+ default: false,
124
+ })) {
125
+ const projectName = await promptNewProjectName(config.devDir);
126
+ const newRepoSpinner = ora(`Creating new project ${projectName}...`).start();
127
+ try {
128
+ const newRepo = await createNewRepo(config.devDir, projectName);
129
+ selectedRepos.push(newRepo);
130
+ newRepoSpinner.succeed(`Created ${chalk.bold(newRepo.name)} at ${newRepo.path}`);
131
+ }
132
+ catch (error) {
133
+ const message = error instanceof Error ? error.message : String(error);
134
+ newRepoSpinner.fail(`Could not create project: ${message}`);
135
+ }
136
+ }
137
+ if (selectedRepos.length === 0) {
138
+ console.log(chalk.yellow('No projects selected. Exiting.'));
139
+ return;
140
+ }
141
+ console.log(chalk.dim(` Selected: ${selectedRepos.map((r) => r.name).join(', ')}`));
78
142
  }
79
- console.log(chalk.dim(` Selected: ${selectedRepos.map((r) => r.name).join(', ')}`));
80
- // ── 4.2. Optionally use existing branches per repo ──────────────────
81
- const branchOverrides = await promptRepoBranches(selectedRepos, branchName);
143
+ // ── 4.2. Optionally use existing branches per repo (worktree only) ───
144
+ const branchOverrides = inPlace
145
+ ? new Map()
146
+ : await promptRepoBranches(selectedRepos, branchName);
82
147
  for (const repo of selectedRepos) {
83
148
  const override = branchOverrides.get(repo.name);
84
149
  if (override) {
@@ -89,9 +154,6 @@ export async function createCommand() {
89
154
  // ── 5. Detect and select AI assistants ──────────────────────────────
90
155
  const detectedAI = await detectAIAssistants();
91
156
  const selectedAI = await promptSelectAI(detectedAI);
92
- const localLlmEnabled = config.localLlm?.enabled
93
- ? await confirm({ message: 'Enable Local AI Co-processor in this workspace context?', default: true })
94
- : false;
95
157
  // ── 5.5. Suggest workflow strategy ───────────────────────────────
96
158
  const templates = await getWorkflowTemplates();
97
159
  const selectedStrategyId = await promptSelectStrategy(templates);
@@ -99,7 +161,7 @@ export async function createCommand() {
99
161
  if (selectedStrategyId === 'auto') {
100
162
  const workflowSpinner = ora('Suggesting teamwork collaboration strategy...').start();
101
163
  try {
102
- const suggestion = await suggestWorkflow(description, selectedRepos, config.localLlm);
164
+ const suggestion = await suggestWorkflow(description, selectedRepos);
103
165
  teamworkInstructions = suggestion.customInstructions;
104
166
  workflowSpinner.succeed(`Auto-selected strategy for ${chalk.bold(suggestion.difficulty)} difficulty task`);
105
167
  }
@@ -129,21 +191,24 @@ export async function createCommand() {
129
191
  }
130
192
  }
131
193
  // ── 6. Create workspace ─────────────────────────────────────────────
132
- const workspacePath = path.join(config.workspacesDir, branchName);
194
+ const workspacePath = path.join(config.workspacesDir, workspaceId);
133
195
  const feature = {
134
- id: branchName,
196
+ id: workspaceId,
197
+ mode,
198
+ projectId: project?.id,
135
199
  branchName,
136
200
  description,
137
- repos: selectedRepos.map((r) => path.join(workspacePath, r.name)),
201
+ repos: inPlace
202
+ ? selectedRepos.map((r) => r.path)
203
+ : selectedRepos.map((r) => path.join(workspacePath, r.name)),
138
204
  originalRepos: selectedRepos.map((r) => r.path),
139
205
  repoBranches: branchOverrides.size > 0 ? Object.fromEntries(branchOverrides) : undefined,
140
206
  assistants: selectedAI,
141
207
  workspacePath,
142
208
  createdAt: new Date().toISOString(),
143
- localLlmEnabled,
144
209
  teamworkInstructions,
145
210
  };
146
- const wsSpinner = ora('Creating workspace with git worktrees...').start();
211
+ const wsSpinner = ora(inPlace ? 'Registering workspace...' : 'Creating workspace with git worktrees...').start();
147
212
  try {
148
213
  await createWorkspace(feature, selectedRepos, (repoName, index, total) => {
149
214
  wsSpinner.text = `Creating worktrees… ${repoName} (${index + 1}/${total})`;
@@ -161,15 +226,17 @@ export async function createCommand() {
161
226
  // ── 7-8. Analyze projects & generate context ────────────────────────
162
227
  // The worktrees are the product; if analysis/generation fails the workspace
163
228
  // is still usable, so keep it and tell the user how to retry rather than
164
- // exiting with an error.
165
- const workspaceRepos = selectedRepos.map((repo) => ({
166
- ...repo,
167
- path: path.join(workspacePath, repo.name),
168
- }));
229
+ // exiting with an error. In-place analysis runs on the source repos.
230
+ const workspaceRepos = inPlace
231
+ ? selectedRepos
232
+ : selectedRepos.map((repo) => ({
233
+ ...repo,
234
+ path: path.join(workspacePath, repo.name),
235
+ }));
169
236
  try {
170
237
  console.log(chalk.cyan('\nAnalyzing projects...'));
171
238
  const analysis = await analyzeAllRepos(workspaceRepos);
172
- const ctx = { feature, repos: workspaceRepos, analysis, localLlm: config.localLlm };
239
+ const ctx = { feature, repos: workspaceRepos, analysis };
173
240
  console.log(chalk.cyan('\nGenerating AI context files...'));
174
241
  await generateContextFiles(ctx, selectedAI, workspacePath);
175
242
  }
@@ -194,10 +261,11 @@ export async function createCommand() {
194
261
  // ── Done ────────────────────────────────────────────────────────────
195
262
  console.log(chalk.bold.green('\n✅ Workspace ready!\n'));
196
263
  console.log(` ${chalk.dim('Path:')} ${workspacePath}`);
197
- console.log(` ${chalk.dim('Branch:')} ${branchName}`);
264
+ console.log(inPlace
265
+ ? ` ${chalk.dim('Mode:')} in-place (working directly in the source repos)`
266
+ : ` ${chalk.dim('Branch:')} ${branchName}`);
198
267
  console.log(` ${chalk.dim('Repos:')} ${selectedRepos.map((r) => r.name).join(', ')}`);
199
268
  console.log(` ${chalk.dim('AI:')} ${selectedAI.join(', ')}`);
200
- console.log(` ${chalk.dim('Local AI:')} ${localLlmEnabled ? 'Enabled' : 'Disabled'}`);
201
269
  console.log(`\n ${chalk.dim('To navigate:')} cd "${workspacePath}"`);
202
270
  console.log();
203
271
  // ── 9. Start AI Assistant Session ───────────────────────────────────
@@ -219,16 +287,17 @@ export async function createCommand() {
219
287
  });
220
288
  if (confirmStart) {
221
289
  console.log(chalk.cyan(`\n🚀 Starting ${label} session inside workspace...\n`));
290
+ const sessionCwd = getSessionCwd(feature);
222
291
  try {
223
292
  await execa(launchCmd, [], {
224
- cwd: workspacePath,
293
+ cwd: sessionCwd,
225
294
  stdio: 'inherit',
226
295
  shell: process.platform === 'win32',
227
296
  });
228
297
  console.log(chalk.green(`\n👋 Exited ${label} session.`));
229
298
  }
230
299
  catch {
231
- console.log(chalk.yellow(`\n⚠️ Could not start ${label}. Please start it manually:\n ${chalk.dim(`cd "${workspacePath}" && ${launchCmd}`)}`));
300
+ console.log(chalk.yellow(`\n⚠️ Could not start ${label}. Please start it manually:\n ${chalk.dim(`cd "${sessionCwd}" && ${launchCmd}`)}`));
232
301
  }
233
302
  }
234
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsCH;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDxE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDxE"}
@@ -13,7 +13,6 @@ const CATEGORY_LABELS = {
13
13
  'Local Package Setup': '📦 Local Package Setup & Reference Versioning:',
14
14
  'Test Commands': '🧪 Test Commands:',
15
15
  'Core Artifacts': '📄 Core Artifacts:',
16
- 'Local AI Agent': '🤖 Local AI Agent:',
17
16
  };
18
17
  const CATEGORY_ORDER = Object.keys(CATEGORY_LABELS);
19
18
  function mark(status) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAoHjD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CjD"}