@mrpatronz/nexusflow 0.2.17 → 0.2.18

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 (274) hide show
  1. package/.agents/skills/ccc/SKILL.md +71 -0
  2. package/.agents/skills/ccc/references/management.md +110 -0
  3. package/.agents/skills/ccc/references/settings.md +126 -0
  4. package/.github/dependabot.yml +52 -52
  5. package/.github/workflows/ci.yml +44 -0
  6. package/.github/workflows/dependabot-merge.yml +53 -53
  7. package/.github/workflows/release-desktop.yml +67 -0
  8. package/.github/workflows/release-npm.yml +65 -0
  9. package/.github/workflows/release-vscode.yml +61 -0
  10. package/.vscode/launch.json +17 -17
  11. package/.vscode/tasks.json +17 -17
  12. package/GETTING_STARTED.md +114 -114
  13. package/README.md +364 -336
  14. package/desktop/build-installer.js +228 -228
  15. package/desktop/build.js +118 -118
  16. package/desktop/installer/nexusflow.iss +35 -35
  17. package/desktop/neutralino.config.json +38 -38
  18. package/desktop/package-lock.json +1060 -1060
  19. package/desktop/package.json +14 -14
  20. package/dist/commands/adapter.d.ts +27 -0
  21. package/dist/commands/adapter.d.ts.map +1 -0
  22. package/dist/commands/adapter.js +318 -0
  23. package/dist/commands/adapter.js.map +1 -0
  24. package/dist/commands/add-repo.d.ts.map +1 -1
  25. package/dist/commands/add-repo.js +0 -1
  26. package/dist/commands/add-repo.js.map +1 -1
  27. package/dist/commands/commands.test.js +2 -2
  28. package/dist/commands/commands.test.js.map +1 -1
  29. package/dist/commands/config.d.ts +22 -0
  30. package/dist/commands/config.d.ts.map +1 -0
  31. package/dist/commands/config.js +50 -0
  32. package/dist/commands/config.js.map +1 -0
  33. package/dist/commands/create.d.ts.map +1 -1
  34. package/dist/commands/create.js +14 -17
  35. package/dist/commands/create.js.map +1 -1
  36. package/dist/commands/doctor.d.ts.map +1 -1
  37. package/dist/commands/doctor.js +11 -0
  38. package/dist/commands/doctor.js.map +1 -1
  39. package/dist/commands/refresh.d.ts +1 -0
  40. package/dist/commands/refresh.d.ts.map +1 -1
  41. package/dist/commands/refresh.js +2 -14
  42. package/dist/commands/refresh.js.map +1 -1
  43. package/dist/commands/sync.d.ts.map +1 -1
  44. package/dist/commands/sync.js +0 -5
  45. package/dist/commands/sync.js.map +1 -1
  46. package/dist/commands/tui.d.ts.map +1 -1
  47. package/dist/commands/tui.js +63 -10
  48. package/dist/commands/tui.js.map +1 -1
  49. package/dist/core/adapters/local-storage.d.ts +14 -0
  50. package/dist/core/adapters/local-storage.d.ts.map +1 -0
  51. package/dist/core/adapters/local-storage.js +58 -0
  52. package/dist/core/adapters/local-storage.js.map +1 -0
  53. package/dist/core/adapters/obsidian-storage.d.ts +28 -0
  54. package/dist/core/adapters/obsidian-storage.d.ts.map +1 -0
  55. package/dist/core/adapters/obsidian-storage.js +135 -0
  56. package/dist/core/adapters/obsidian-storage.js.map +1 -0
  57. package/dist/core/adapters/registry.d.ts +8 -0
  58. package/dist/core/adapters/registry.d.ts.map +1 -0
  59. package/dist/core/adapters/registry.js +37 -0
  60. package/dist/core/adapters/registry.js.map +1 -0
  61. package/dist/core/adapters/storage.test.d.ts +2 -0
  62. package/dist/core/adapters/storage.test.d.ts.map +1 -0
  63. package/dist/core/adapters/storage.test.js +106 -0
  64. package/dist/core/adapters/storage.test.js.map +1 -0
  65. package/dist/core/adapters/vault-storage.d.ts +16 -0
  66. package/dist/core/adapters/vault-storage.d.ts.map +1 -0
  67. package/dist/core/adapters/vault-storage.js +77 -0
  68. package/dist/core/adapters/vault-storage.js.map +1 -0
  69. package/dist/core/config.d.ts.map +1 -1
  70. package/dist/core/config.js +28 -4
  71. package/dist/core/config.js.map +1 -1
  72. package/dist/core/plugins/index.d.ts +14 -0
  73. package/dist/core/plugins/index.d.ts.map +1 -0
  74. package/dist/core/plugins/index.js +2 -0
  75. package/dist/core/plugins/index.js.map +1 -0
  76. package/dist/core/plugins/loader.d.ts +2 -0
  77. package/dist/core/plugins/loader.d.ts.map +1 -0
  78. package/dist/core/plugins/loader.js +34 -0
  79. package/dist/core/plugins/loader.js.map +1 -0
  80. package/dist/core/ports/storage.d.ts +59 -0
  81. package/dist/core/ports/storage.d.ts.map +1 -0
  82. package/dist/core/ports/storage.js +10 -0
  83. package/dist/core/ports/storage.js.map +1 -0
  84. package/dist/core/storage.d.ts +10 -0
  85. package/dist/core/storage.d.ts.map +1 -0
  86. package/dist/core/storage.js +29 -0
  87. package/dist/core/storage.js.map +1 -0
  88. package/dist/core/workspace.d.ts.map +1 -1
  89. package/dist/core/workspace.js +110 -16
  90. package/dist/core/workspace.js.map +1 -1
  91. package/dist/generators/base.d.ts.map +1 -1
  92. package/dist/generators/base.js +80 -79
  93. package/dist/generators/base.js.map +1 -1
  94. package/dist/generators/codex.js +11 -11
  95. package/dist/generators/copilot.js +17 -17
  96. package/dist/generators/cursor.js +5 -5
  97. package/dist/generators/diff-context.d.ts +6 -0
  98. package/dist/generators/diff-context.d.ts.map +1 -0
  99. package/dist/generators/diff-context.js +68 -0
  100. package/dist/generators/diff-context.js.map +1 -0
  101. package/dist/generators/index.d.ts +1 -1
  102. package/dist/generators/index.d.ts.map +1 -1
  103. package/dist/generators/index.js +125 -68
  104. package/dist/generators/index.js.map +1 -1
  105. package/dist/generators/map-generator.d.ts.map +1 -1
  106. package/dist/generators/map-generator.js +21 -25
  107. package/dist/generators/map-generator.js.map +1 -1
  108. package/dist/generators/plan-generator.d.ts.map +1 -1
  109. package/dist/generators/plan-generator.js +3 -5
  110. package/dist/generators/plan-generator.js.map +1 -1
  111. package/dist/generators/skills-generator.js +28 -28
  112. package/dist/gui/assets/index-CB-jWded.css +1 -0
  113. package/dist/gui/assets/index-DDXpZZu3.js +25 -0
  114. package/dist/gui/icons.svg +24 -24
  115. package/dist/gui/index.html +18 -18
  116. package/dist/index.js +131 -20
  117. package/dist/index.js.map +1 -1
  118. package/dist/server.d.ts.map +1 -1
  119. package/dist/server.js +46 -43
  120. package/dist/server.js.map +1 -1
  121. package/dist/server.test.js +105 -48
  122. package/dist/server.test.js.map +1 -1
  123. package/dist/types.d.ts +7 -2
  124. package/dist/types.d.ts.map +1 -1
  125. package/dist/utils/local-ai.d.ts.map +1 -1
  126. package/dist/utils/local-ai.js +7 -3
  127. package/dist/utils/local-ai.js.map +1 -1
  128. package/dist/utils/update-check.d.ts.map +1 -1
  129. package/dist/utils/update-check.js +0 -28
  130. package/dist/utils/update-check.js.map +1 -1
  131. package/dist/utils/workflow-advisor.d.ts +16 -0
  132. package/dist/utils/workflow-advisor.d.ts.map +1 -0
  133. package/dist/utils/workflow-advisor.js +100 -0
  134. package/dist/utils/workflow-advisor.js.map +1 -0
  135. package/extension/package-lock.json +6044 -2673
  136. package/extension/package.json +117 -108
  137. package/extension/src/extension.ts +653 -631
  138. package/extension/tsconfig.json +21 -21
  139. package/gui/README.md +73 -73
  140. package/gui/e2e/wizard.spec.ts +346 -346
  141. package/gui/eslint.config.js +26 -26
  142. package/gui/index.html +17 -17
  143. package/gui/package-lock.json +3079 -3079
  144. package/gui/package.json +36 -36
  145. package/gui/playwright.config.ts +41 -41
  146. package/gui/public/icons.svg +24 -24
  147. package/gui/src/App.css +1 -1
  148. package/gui/src/App.tsx +3632 -3407
  149. package/gui/src/assets/vite.svg +1 -1
  150. package/gui/src/features/changes/ChangesViewer.tsx +388 -388
  151. package/gui/src/features/knowledge/KnowledgeBase.tsx +84 -84
  152. package/gui/src/features/onboarding/OnboardingWizard.tsx +230 -230
  153. package/gui/src/features/plan/ImplementationPlan.tsx +32 -32
  154. package/gui/src/features/services/ServiceConsole.tsx +250 -250
  155. package/gui/src/features/sessions/SessionHistory.tsx +195 -195
  156. package/gui/src/features/workspace/WorkspaceList.tsx +666 -666
  157. package/gui/src/index.css +152 -152
  158. package/gui/src/main.tsx +94 -94
  159. package/gui/src/types.ts +62 -62
  160. package/gui/tsconfig.app.json +25 -25
  161. package/gui/tsconfig.json +7 -7
  162. package/gui/tsconfig.node.json +24 -24
  163. package/gui/vite.config.ts +12 -12
  164. package/package.json +55 -56
  165. package/resources/workflows/plan-implement-review.md +8 -8
  166. package/resources/workflows/research-verify.md +6 -6
  167. package/resources/workflows/solo-developer.md +3 -3
  168. package/scripts/simulate-workspaces.ts +55 -55
  169. package/skills-lock.json +11 -0
  170. package/src/analyzers/detect-apis.ts +290 -290
  171. package/src/analyzers/detect-deps.ts +315 -315
  172. package/src/analyzers/detect-existing.ts +74 -74
  173. package/src/analyzers/detect-ports.ts +110 -110
  174. package/src/analyzers/index.ts +97 -97
  175. package/src/analyzers/messaging-analyzer.ts +254 -254
  176. package/src/analyzers/readme-summarizer.ts +102 -102
  177. package/src/analyzers/run-analyzer.ts +269 -269
  178. package/src/analyzers/tech-stack.ts +283 -283
  179. package/src/commands/adapter.ts +348 -0
  180. package/src/commands/add-repo.ts +156 -157
  181. package/src/commands/commands.test.ts +156 -155
  182. package/src/commands/commit.ts +131 -131
  183. package/src/commands/config.ts +52 -0
  184. package/src/commands/create.ts +204 -207
  185. package/src/commands/desktop.ts +128 -128
  186. package/src/commands/diff.ts +125 -125
  187. package/src/commands/doctor.ts +370 -357
  188. package/src/commands/handoff.ts +266 -266
  189. package/src/commands/init.ts +134 -134
  190. package/src/commands/list.ts +46 -46
  191. package/src/commands/logs.ts +63 -63
  192. package/src/commands/mcp.ts +94 -92
  193. package/src/commands/open.ts +129 -129
  194. package/src/commands/refresh.ts +137 -147
  195. package/src/commands/remove.ts +98 -98
  196. package/src/commands/start.ts +117 -117
  197. package/src/commands/status.ts +54 -54
  198. package/src/commands/stop.ts +55 -55
  199. package/src/commands/sync.ts +147 -151
  200. package/src/commands/tui.ts +484 -424
  201. package/src/commands/ui.ts +111 -111
  202. package/src/core/adapters/local-storage.ts +66 -0
  203. package/src/core/adapters/obsidian-storage.ts +151 -0
  204. package/src/core/adapters/registry.ts +44 -0
  205. package/src/core/adapters/storage.test.ts +174 -0
  206. package/src/core/adapters/vault-storage.ts +86 -0
  207. package/src/core/config.test.ts +96 -96
  208. package/src/core/config.ts +140 -115
  209. package/src/core/graph.ts +344 -344
  210. package/src/core/plugins/index.ts +17 -0
  211. package/src/core/plugins/loader.ts +36 -0
  212. package/src/core/ports/storage.ts +71 -0
  213. package/src/core/scanner.test.ts +61 -61
  214. package/src/core/scanner.ts +91 -91
  215. package/src/core/storage.ts +37 -0
  216. package/src/core/workspace.ts +487 -380
  217. package/src/core/worktree.ts +120 -120
  218. package/src/generators/antigravity.ts +32 -32
  219. package/src/generators/base.ts +243 -240
  220. package/src/generators/claude.ts +34 -34
  221. package/src/generators/codex.ts +48 -48
  222. package/src/generators/copilot.ts +56 -56
  223. package/src/generators/cursor.ts +44 -44
  224. package/src/generators/diff-context.ts +75 -0
  225. package/src/generators/index.ts +322 -250
  226. package/src/generators/map-generator.test.ts +159 -159
  227. package/src/generators/map-generator.ts +539 -542
  228. package/src/generators/plan-generator.ts +483 -481
  229. package/src/generators/skills-generator.ts +259 -259
  230. package/src/index.ts +539 -426
  231. package/src/mcp/server.ts +294 -294
  232. package/src/orchestration/detect.ts +313 -313
  233. package/src/orchestration/index.ts +7 -7
  234. package/src/orchestration/runner.ts +283 -283
  235. package/src/server.test.ts +618 -555
  236. package/src/server.ts +1314 -1308
  237. package/src/types.ts +415 -408
  238. package/src/utils/detect-ai.test.ts +44 -44
  239. package/src/utils/detect-ai.ts +84 -84
  240. package/src/utils/detect-editors.test.ts +48 -48
  241. package/src/utils/detect-editors.ts +57 -57
  242. package/src/utils/git.test.ts +74 -74
  243. package/src/utils/git.ts +117 -117
  244. package/src/utils/local-ai.test.ts +130 -130
  245. package/src/utils/local-ai.ts +116 -111
  246. package/src/utils/multi-git.ts +313 -313
  247. package/src/utils/prompts.ts +209 -209
  248. package/src/utils/session-finder.ts +483 -483
  249. package/src/utils/system-scanner.test.ts +89 -89
  250. package/src/utils/system-scanner.ts +96 -96
  251. package/src/utils/update-check.ts +286 -309
  252. package/src/utils/workflow-advisor.ts +118 -0
  253. package/src/utils/workflows.test.ts +114 -114
  254. package/src/utils/workflows.ts +178 -178
  255. package/tsconfig.json +19 -19
  256. package/vitest.config.ts +14 -14
  257. package/.github/workflows/release.yml +0 -112
  258. package/dist/commands/pack.d.ts +0 -7
  259. package/dist/commands/pack.d.ts.map +0 -1
  260. package/dist/commands/pack.js +0 -64
  261. package/dist/commands/pack.js.map +0 -1
  262. package/dist/core/packer.d.ts +0 -14
  263. package/dist/core/packer.d.ts.map +0 -1
  264. package/dist/core/packer.js +0 -87
  265. package/dist/core/packer.js.map +0 -1
  266. package/dist/core/packer.test.d.ts +0 -2
  267. package/dist/core/packer.test.d.ts.map +0 -1
  268. package/dist/core/packer.test.js +0 -82
  269. package/dist/core/packer.test.js.map +0 -1
  270. package/dist/gui/assets/index-Ct3qq-X4.js +0 -25
  271. package/dist/gui/assets/index-P_ZrgHXg.css +0 -1
  272. package/src/commands/pack.ts +0 -73
  273. package/src/core/packer.test.ts +0 -99
  274. package/src/core/packer.ts +0 -107
@@ -1,24 +1,24 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
- "target": "es2023",
5
- "lib": ["ES2023"],
6
- "module": "esnext",
7
- "types": ["node"],
8
- "skipLibCheck": true,
9
-
10
- /* Bundler mode */
11
- "moduleResolution": "bundler",
12
- "allowImportingTsExtensions": true,
13
- "verbatimModuleSyntax": true,
14
- "moduleDetection": "force",
15
- "noEmit": true,
16
-
17
- /* Linting */
18
- "noUnusedLocals": true,
19
- "noUnusedParameters": true,
20
- "erasableSyntaxOnly": true,
21
- "noFallthroughCasesInSwitch": true
22
- },
23
- "include": ["vite.config.ts"]
24
- }
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "es2023",
5
+ "lib": ["ES2023"],
6
+ "module": "esnext",
7
+ "types": ["node"],
8
+ "skipLibCheck": true,
9
+
10
+ /* Bundler mode */
11
+ "moduleResolution": "bundler",
12
+ "allowImportingTsExtensions": true,
13
+ "verbatimModuleSyntax": true,
14
+ "moduleDetection": "force",
15
+ "noEmit": true,
16
+
17
+ /* Linting */
18
+ "noUnusedLocals": true,
19
+ "noUnusedParameters": true,
20
+ "erasableSyntaxOnly": true,
21
+ "noFallthroughCasesInSwitch": true
22
+ },
23
+ "include": ["vite.config.ts"]
24
+ }
@@ -1,12 +1,12 @@
1
- import { defineConfig } from 'vite'
2
- import react from '@vitejs/plugin-react'
3
- import tailwindcss from '@tailwindcss/vite'
4
-
5
- // https://vite.dev/config/
6
- export default defineConfig({
7
- plugins: [react(), tailwindcss()],
8
- build: {
9
- outDir: '../dist/gui',
10
- emptyOutDir: true,
11
- },
12
- })
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+ import tailwindcss from '@tailwindcss/vite'
4
+
5
+ // https://vite.dev/config/
6
+ export default defineConfig({
7
+ plugins: [react(), tailwindcss()],
8
+ build: {
9
+ outDir: '../dist/gui',
10
+ emptyOutDir: true,
11
+ },
12
+ })
package/package.json CHANGED
@@ -1,56 +1,55 @@
1
- {
2
- "name": "@mrpatronz/nexusflow",
3
- "version": "0.2.17",
4
- "description": "Combine multiple repos into a workspace with rich AI assistant context",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "bin": {
8
- "nexusflow": "dist/index.js"
9
- },
10
- "scripts": {
11
- "build": "tsc && npm run build --prefix gui && npm run extension:compile",
12
- "dev": "tsc --watch",
13
- "start": "node dist/index.js",
14
- "ui": "node dist/index.js ui",
15
- "test": "vitest run --passWithNoTests",
16
- "test:watch": "vitest",
17
- "test:gui": "npm run test:e2e --prefix gui",
18
- "clean": "rimraf dist",
19
- "prepublishOnly": "npm run build",
20
- "extension:install": "npm install --prefix extension",
21
- "extension:compile": "npm run compile --prefix extension"
22
- },
23
- "keywords": [
24
- "ai",
25
- "workspace",
26
- "multi-repo",
27
- "claude",
28
- "codex",
29
- "copilot",
30
- "cursor",
31
- "developer-tools"
32
- ],
33
- "author": "",
34
- "license": "MIT",
35
- "dependencies": {
36
- "@hono/node-server": "^2.0.4",
37
- "@inquirer/prompts": "^8.5.2",
38
- "@modelcontextprotocol/sdk": "^1.29.0",
39
- "chalk": "^5.3.0",
40
- "commander": "^15.0.0",
41
- "execa": "^9.5.0",
42
- "fs-extra": "^11.2.0",
43
- "globby": "^16.2.0",
44
- "hono": "^4.12.25",
45
- "ora": "^9.4.0",
46
- "pm2": "^7.0.1",
47
- "repomix": "^1.14.1"
48
- },
49
- "devDependencies": {
50
- "@types/fs-extra": "^11.0.4",
51
- "@types/node": "^25.9.3",
52
- "rimraf": "^6.0.0",
53
- "typescript": "^6.0.3",
54
- "vitest": "^4.1.8"
55
- }
56
- }
1
+ {
2
+ "name": "@mrpatronz/nexusflow",
3
+ "version": "0.2.18",
4
+ "description": "Combine multiple repos into a workspace with rich AI assistant context",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "nexusflow": "dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc && npm run build --prefix gui",
12
+ "dev": "tsc --watch",
13
+ "start": "node dist/index.js",
14
+ "ui": "node dist/index.js ui",
15
+ "test": "vitest run --passWithNoTests",
16
+ "test:watch": "vitest",
17
+ "test:gui": "npm run test:e2e --prefix gui",
18
+ "clean": "rimraf dist",
19
+ "prepublishOnly": "npm run build",
20
+ "extension:install": "npm install --prefix extension",
21
+ "extension:compile": "npm run compile --prefix extension"
22
+ },
23
+ "keywords": [
24
+ "ai",
25
+ "workspace",
26
+ "multi-repo",
27
+ "claude",
28
+ "codex",
29
+ "copilot",
30
+ "cursor",
31
+ "developer-tools"
32
+ ],
33
+ "author": "",
34
+ "license": "MIT",
35
+ "dependencies": {
36
+ "@hono/node-server": "^2.0.4",
37
+ "@inquirer/prompts": "^8.5.2",
38
+ "@modelcontextprotocol/sdk": "^1.29.0",
39
+ "chalk": "^5.3.0",
40
+ "commander": "^15.0.0",
41
+ "execa": "^9.5.0",
42
+ "fs-extra": "^11.2.0",
43
+ "globby": "^16.2.0",
44
+ "hono": "^4.12.25",
45
+ "ora": "^9.4.0",
46
+ "pm2": "^7.0.1"
47
+ },
48
+ "devDependencies": {
49
+ "@types/fs-extra": "^11.0.4",
50
+ "@types/node": "^25.9.3",
51
+ "rimraf": "^6.0.0",
52
+ "typescript": "^6.0.3",
53
+ "vitest": "^4.1.8"
54
+ }
55
+ }
@@ -1,8 +1,8 @@
1
- # Team Cooperation Guidelines
2
-
3
- You are the lead developer. You must coordinate a Plan-Implement-Review loop to complete the task:
4
-
5
- 1. **Research & Plan**: Research the requirements and codebase first. Create a plan (`implementation_plan.md`) describing the proposed changes.
6
- 2. **Implement**: Define a `Code_Implementer` subagent equipped with code editing and terminal tools. Send them the plan and instruct them to write the changes.
7
- 3. **Review**: Once implemented, define a `Code_Reviewer` subagent to run verification tests and review the changes for correctness.
8
- 4. **Loop**: If the reviewer finds bugs or test failures, send the feedback back to the implementer and repeat the cycle until the changes are approved.
1
+ # Team Cooperation Guidelines
2
+
3
+ You are the lead developer. You must coordinate a Plan-Implement-Review loop to complete the task:
4
+
5
+ 1. **Research & Plan**: Research the requirements and codebase first. Create a plan (`implementation_plan.md`) describing the proposed changes.
6
+ 2. **Implement**: Define a `Code_Implementer` subagent equipped with code editing and terminal tools. Send them the plan and instruct them to write the changes.
7
+ 3. **Review**: Once implemented, define a `Code_Reviewer` subagent to run verification tests and review the changes for correctness.
8
+ 4. **Loop**: If the reviewer finds bugs or test failures, send the feedback back to the implementer and repeat the cycle until the changes are approved.
@@ -1,6 +1,6 @@
1
- # Team Cooperation Guidelines
2
-
3
- You are the lead investigator. You must coordinate a research-heavy cycle:
4
-
5
- 1. **Deep Research**: Define a `Research_Specialist` subagent to scan the codebase, find dependencies, and write a thorough context guide outlining how the system works.
6
- 2. **Test-Driven Implement**: Write test suites first based on the research findings, then spawn a developer subagent to code until all tests pass successfully.
1
+ # Team Cooperation Guidelines
2
+
3
+ You are the lead investigator. You must coordinate a research-heavy cycle:
4
+
5
+ 1. **Deep Research**: Define a `Research_Specialist` subagent to scan the codebase, find dependencies, and write a thorough context guide outlining how the system works.
6
+ 2. **Test-Driven Implement**: Write test suites first based on the research findings, then spawn a developer subagent to code until all tests pass successfully.
@@ -1,3 +1,3 @@
1
- # Direct Execution Guidelines
2
-
3
- You are a solo developer. Do not spawn subagents. Research, plan, edit, and verify all code changes yourself. Focus on delivering direct, simple edits to target files.
1
+ # Direct Execution Guidelines
2
+
3
+ You are a solo developer. Do not spawn subagents. Research, plan, edit, and verify all code changes yourself. Focus on delivering direct, simple edits to target files.
@@ -1,55 +1,55 @@
1
- import * as path from 'node:path';
2
- import * as os from 'node:os';
3
- import { loadConfig } from '../src/core/config.js';
4
- import { createWorkspace } from '../src/core/workspace.js';
5
- import { analyzeAllRepos } from '../src/analyzers/index.js';
6
- import { generateContextFiles } from '../src/generators/index.js';
7
-
8
- async function main() {
9
- const config = await loadConfig();
10
- const repoPath = 'C:\\Users\\patro\\dev\\easyagent_container';
11
-
12
- console.log('Creating Workspace 1: feat/rate-limiting-standard (Local LLM DISABLED)');
13
- const ws1Path = path.join(config.workspacesDir, 'feat/rate-limiting-standard');
14
- const feature1 = {
15
- id: 'feat/rate-limiting-standard',
16
- branchName: 'feat/rate-limiting-standard',
17
- description: 'Implement rate limiting and connection pooling',
18
- repos: [repoPath],
19
- assistants: ['claude'],
20
- workspacePath: ws1Path,
21
- createdAt: new Date().toISOString(),
22
- localLlmEnabled: false,
23
- };
24
- const repos1 = [{ name: 'easyagent_container', path: path.join(ws1Path, 'easyagent_container'), isGitRepo: true, defaultBranch: 'master' }];
25
-
26
- await createWorkspace(feature1, [{ name: 'easyagent_container', path: repoPath, isGitRepo: true, defaultBranch: 'master' }]);
27
- const analysis1 = await analyzeAllRepos(repos1);
28
- const ctx1 = { feature: feature1, repos: repos1, analysis: analysis1 };
29
- await generateContextFiles(ctx1, ['claude'], ws1Path);
30
- console.log('✅ Workspace 1 created at:', ws1Path);
31
-
32
- console.log('\nCreating Workspace 2: feat/rate-limiting-local-llm (Local LLM ENABLED)');
33
- const ws2Path = path.join(config.workspacesDir, 'feat/rate-limiting-local-llm');
34
- const feature2 = {
35
- id: 'feat/rate-limiting-local-llm',
36
- branchName: 'feat/rate-limiting-local-llm',
37
- description: 'Implement rate limiting and connection pooling',
38
- repos: [repoPath],
39
- assistants: ['claude'],
40
- workspacePath: ws2Path,
41
- createdAt: new Date().toISOString(),
42
- localLlmEnabled: true,
43
- };
44
- const repos2 = [{ name: 'easyagent_container', path: path.join(ws2Path, 'easyagent_container'), isGitRepo: true, defaultBranch: 'master' }];
45
-
46
- await createWorkspace(feature2, [{ name: 'easyagent_container', path: repoPath, isGitRepo: true, defaultBranch: 'master' }]);
47
- const analysis2 = await analyzeAllRepos(repos2);
48
- const ctx2 = { feature: feature2, repos: repos2, analysis: analysis2, localLlm: config.localLlm };
49
- await generateContextFiles(ctx2, ['claude'], ws2Path);
50
- console.log('✅ Workspace 2 created at:', ws2Path);
51
-
52
- console.log('\nBoth test workspaces are ready!');
53
- }
54
-
55
- main().catch(console.error);
1
+ import * as path from 'node:path';
2
+ import * as os from 'node:os';
3
+ import { loadConfig } from '../src/core/config.js';
4
+ import { createWorkspace } from '../src/core/workspace.js';
5
+ import { analyzeAllRepos } from '../src/analyzers/index.js';
6
+ import { generateContextFiles } from '../src/generators/index.js';
7
+
8
+ async function main() {
9
+ const config = await loadConfig();
10
+ const repoPath = 'C:\\Users\\patro\\dev\\easyagent_container';
11
+
12
+ console.log('Creating Workspace 1: feat/rate-limiting-standard (Local LLM DISABLED)');
13
+ const ws1Path = path.join(config.workspacesDir, 'feat/rate-limiting-standard');
14
+ const feature1 = {
15
+ id: 'feat/rate-limiting-standard',
16
+ branchName: 'feat/rate-limiting-standard',
17
+ description: 'Implement rate limiting and connection pooling',
18
+ repos: [repoPath],
19
+ assistants: ['claude'],
20
+ workspacePath: ws1Path,
21
+ createdAt: new Date().toISOString(),
22
+ localLlmEnabled: false,
23
+ };
24
+ const repos1 = [{ name: 'easyagent_container', path: path.join(ws1Path, 'easyagent_container'), isGitRepo: true, defaultBranch: 'master' }];
25
+
26
+ await createWorkspace(feature1, [{ name: 'easyagent_container', path: repoPath, isGitRepo: true, defaultBranch: 'master' }]);
27
+ const analysis1 = await analyzeAllRepos(repos1);
28
+ const ctx1 = { feature: feature1, repos: repos1, analysis: analysis1 };
29
+ await generateContextFiles(ctx1, ['claude'], ws1Path);
30
+ console.log('✅ Workspace 1 created at:', ws1Path);
31
+
32
+ console.log('\nCreating Workspace 2: feat/rate-limiting-local-llm (Local LLM ENABLED)');
33
+ const ws2Path = path.join(config.workspacesDir, 'feat/rate-limiting-local-llm');
34
+ const feature2 = {
35
+ id: 'feat/rate-limiting-local-llm',
36
+ branchName: 'feat/rate-limiting-local-llm',
37
+ description: 'Implement rate limiting and connection pooling',
38
+ repos: [repoPath],
39
+ assistants: ['claude'],
40
+ workspacePath: ws2Path,
41
+ createdAt: new Date().toISOString(),
42
+ localLlmEnabled: true,
43
+ };
44
+ const repos2 = [{ name: 'easyagent_container', path: path.join(ws2Path, 'easyagent_container'), isGitRepo: true, defaultBranch: 'master' }];
45
+
46
+ await createWorkspace(feature2, [{ name: 'easyagent_container', path: repoPath, isGitRepo: true, defaultBranch: 'master' }]);
47
+ const analysis2 = await analyzeAllRepos(repos2);
48
+ const ctx2 = { feature: feature2, repos: repos2, analysis: analysis2, localLlm: config.localLlm };
49
+ await generateContextFiles(ctx2, ['claude'], ws2Path);
50
+ console.log('✅ Workspace 2 created at:', ws2Path);
51
+
52
+ console.log('\nBoth test workspaces are ready!');
53
+ }
54
+
55
+ main().catch(console.error);
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 1,
3
+ "skills": {
4
+ "ccc": {
5
+ "source": "cocoindex-io/cocoindex-code",
6
+ "sourceType": "github",
7
+ "skillPath": "skills/ccc/SKILL.md",
8
+ "computedHash": "ad5f1c8501fd81d45e20501cbfa2b13699a6bbb4fd218c1b1034fec7b9659eff"
9
+ }
10
+ }
11
+ }