@mrpatronz/nexusflow 0.2.1 → 0.2.3

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 (63) hide show
  1. package/dist/analyzers/index.d.ts +2 -0
  2. package/dist/analyzers/index.d.ts.map +1 -1
  3. package/dist/analyzers/index.js +9 -1
  4. package/dist/analyzers/index.js.map +1 -1
  5. package/dist/analyzers/messaging-analyzer.d.ts +17 -0
  6. package/dist/analyzers/messaging-analyzer.d.ts.map +1 -0
  7. package/dist/analyzers/messaging-analyzer.js +229 -0
  8. package/dist/analyzers/messaging-analyzer.js.map +1 -0
  9. package/dist/analyzers/readme-summarizer.d.ts.map +1 -1
  10. package/dist/analyzers/readme-summarizer.js +8 -4
  11. package/dist/analyzers/readme-summarizer.js.map +1 -1
  12. package/dist/analyzers/run-analyzer.d.ts +15 -0
  13. package/dist/analyzers/run-analyzer.d.ts.map +1 -0
  14. package/dist/analyzers/run-analyzer.js +246 -0
  15. package/dist/analyzers/run-analyzer.js.map +1 -0
  16. package/dist/core/config.js +1 -1
  17. package/dist/core/config.js.map +1 -1
  18. package/dist/generators/base.d.ts.map +1 -1
  19. package/dist/generators/base.js +18 -57
  20. package/dist/generators/base.js.map +1 -1
  21. package/dist/generators/index.d.ts.map +1 -1
  22. package/dist/generators/index.js +30 -14
  23. package/dist/generators/index.js.map +1 -1
  24. package/dist/generators/map-generator.d.ts +1 -1
  25. package/dist/generators/map-generator.d.ts.map +1 -1
  26. package/dist/generators/map-generator.js +157 -54
  27. package/dist/generators/map-generator.js.map +1 -1
  28. package/dist/generators/map-generator.test.js +71 -0
  29. package/dist/generators/map-generator.test.js.map +1 -1
  30. package/dist/generators/plan-generator.d.ts +2 -2
  31. package/dist/generators/plan-generator.d.ts.map +1 -1
  32. package/dist/generators/plan-generator.js +47 -67
  33. package/dist/generators/plan-generator.js.map +1 -1
  34. package/dist/generators/skills-generator.d.ts +15 -0
  35. package/dist/generators/skills-generator.d.ts.map +1 -0
  36. package/dist/generators/skills-generator.js +225 -0
  37. package/dist/generators/skills-generator.js.map +1 -0
  38. package/dist/gui/assets/index-B3PIuWJS.js +22 -0
  39. package/dist/gui/assets/index-D-VigurY.css +2 -0
  40. package/dist/gui/index.html +2 -2
  41. package/dist/mcp/server.d.ts.map +1 -1
  42. package/dist/mcp/server.js +16 -85
  43. package/dist/mcp/server.js.map +1 -1
  44. package/dist/types.d.ts +46 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/gui/src/App.tsx +85 -3
  47. package/gui/src/features/workspace/WorkspaceList.tsx +85 -3
  48. package/package.json +1 -1
  49. package/src/analyzers/index.ts +9 -1
  50. package/src/analyzers/messaging-analyzer.ts +254 -0
  51. package/src/analyzers/readme-summarizer.ts +9 -4
  52. package/src/analyzers/run-analyzer.ts +269 -0
  53. package/src/core/config.ts +1 -1
  54. package/src/generators/base.ts +19 -56
  55. package/src/generators/index.ts +32 -14
  56. package/src/generators/map-generator.test.ts +78 -0
  57. package/src/generators/map-generator.ts +164 -53
  58. package/src/generators/plan-generator.ts +53 -75
  59. package/src/generators/skills-generator.ts +255 -0
  60. package/src/mcp/server.ts +16 -89
  61. package/src/types.ts +54 -0
  62. package/dist/gui/assets/index-C8W6FoPa.js +0 -21
  63. package/dist/gui/assets/index-CJn2LW8K.css +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-analyzer.js","sourceRoot":"","sources":["../../src/analyzers/run-analyzer.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export function getDefaultConfig() {
25
25
  workspacesDir: path.join(os.homedir(), 'dev', 'workspaces'),
26
26
  defaultAssistant: null,
27
27
  scanDepth: 2,
28
- packContextXml: true,
28
+ packContextXml: false,
29
29
  excludePatterns: [
30
30
  '**/node_modules/**',
31
31
  '**/bin/**',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,iEAAiE;AACjE,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,+BAA+B;AAC/B,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC;QAC3D,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE;YACf,oBAAoB;YACpB,WAAW;YACX,WAAW;YACX,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,WAAW;YACX,sBAAsB;YACtB,mBAAmB;YACnB,cAAc;YACd,UAAU;YACV,UAAU;YACV,WAAW;YACX,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,aAAa;YACb,WAAW;YACX,eAAe;YACf,aAAa;SACd;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAE3D,8DAA8D;QAC9D,OAAO,EAAE,GAAG,gBAAgB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB;IACtD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,iEAAiE;AACjE,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,+BAA+B;AAC/B,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC;QAC3D,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE;YACf,oBAAoB;YACpB,WAAW;YACX,WAAW;YACX,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,WAAW;YACX,sBAAsB;YACtB,mBAAmB;YACnB,cAAc;YACd,UAAU;YACV,UAAU;YACV,WAAW;YACX,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,aAAa;YACb,WAAW;YACX,eAAe;YACf,aAAa;SACd;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAE3D,8DAA8D;QAC9D,OAAO,EAAE,GAAG,gBAAgB,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB;IACtD,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/generators/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAgErE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAqKjE"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/generators/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAwDrE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAwIjE"}
@@ -4,7 +4,6 @@
4
4
  * use as their foundation. Now includes rich project analysis data when available.
5
5
  */
6
6
  import * as path from 'node:path';
7
- import * as fs from 'node:fs';
8
7
  /**
9
8
  * Formats a ProjectAnalysis into a readable markdown section.
10
9
  */
@@ -12,7 +11,7 @@ function formatProjectSection(analysis, workspacePath) {
12
11
  const lines = [];
13
12
  lines.push(`### ${analysis.name}`);
14
13
  const mapPath = path.join(workspacePath, `nexusflow-map-${analysis.name}.md`).replace(/\\/g, '/');
15
- lines.push(`- **Architecture Map**: [nexusflow-map-${analysis.name}.md](file:///${mapPath}) — **Instruction**: You MUST read this architecture map before exploring or modifying the \`${analysis.name}\` repository to understand its layout, API endpoints, test commands, and detected usage patterns.`);
14
+ lines.push(`- **Architecture Map**: [nexusflow-map-${analysis.name}.md](file:///${mapPath}) — **Instruction**: Before modifying this repository, read its architecture map. For exploration, consult the map's section index on demand.`);
16
15
  // Tech stack
17
16
  const { techStack } = analysis;
18
17
  if (techStack.languages.length > 0 && techStack.languages[0] !== 'other') {
@@ -38,15 +37,7 @@ function formatProjectSection(analysis, workspacePath) {
38
37
  }
39
38
  // API endpoints
40
39
  if (analysis.endpoints.length > 0) {
41
- lines.push(`- **API endpoints** (${analysis.endpoints.length} detected):`);
42
- // Show up to 10 endpoints
43
- const shown = analysis.endpoints.slice(0, 10);
44
- for (const ep of shown) {
45
- lines.push(` - \`${ep.method} ${ep.path}\``);
46
- }
47
- if (analysis.endpoints.length > 10) {
48
- lines.push(` - _...and ${analysis.endpoints.length - 10} more_`);
49
- }
40
+ lines.push(`- **API surface**: ${analysis.endpoints.length} endpoints — see architecture map for details`);
50
41
  }
51
42
  // Ports
52
43
  if (analysis.ports.length > 0) {
@@ -114,24 +105,17 @@ ${allConfigs.join('\n')}
114
105
  parts.push(`- **Setup/Mock Command**: \`${mockCommand}\``);
115
106
  if (startCommand)
116
107
  parts.push(`- **Start/Run Command**: \`${startCommand}\``);
108
+ const standardCommands = [
109
+ 'npm run test', 'npm test', 'npm t', 'yarn test', 'yarn t', 'pnpm test', 'pnpm t', 'bun test',
110
+ 'dotnet test',
111
+ 'pytest', 'python -m unittest', 'python -m pytest',
112
+ 'go test', 'go test ./...',
113
+ 'cargo test',
114
+ ];
117
115
  if (testCommand) {
118
- if (testCommand === 'npm run test') {
119
- const hasJs = repos.some(r => {
120
- const a = analysis?.get(r.path);
121
- return a?.techStack.languages.includes('typescript') || a?.techStack.languages.includes('javascript');
122
- });
123
- const hasCsharp = repos.some(r => {
124
- const a = analysis?.get(r.path);
125
- return a?.techStack.languages.includes('csharp');
126
- });
127
- if (hasCsharp && !hasJs) {
128
- testCommand = 'dotnet test';
129
- }
130
- else if (!hasJs && !hasCsharp) {
131
- testCommand = undefined;
132
- }
133
- }
134
- if (testCommand) {
116
+ const normalizedCmd = testCommand.trim().toLowerCase();
117
+ const isStandard = standardCommands.some(cmd => normalizedCmd === cmd || normalizedCmd.startsWith(cmd + ' '));
118
+ if (!isStandard) {
135
119
  parts.push(`- **Verification/Test Command**: \`${testCommand}\``);
136
120
  }
137
121
  }
@@ -147,38 +131,15 @@ ${parts.join('\n')}
147
131
  `;
148
132
  }
149
133
  }
150
- // Check if overview.md already exists
151
- const overviewFile = path.join(workspacePath, 'nexusflow-overview.md');
152
- const hasOverview = fs.existsSync(overviewFile);
153
- let taskSection = '';
154
- if (hasOverview) {
155
- taskSection = `## Task & Step-by-Step Maintenance
156
-
157
- The universal reference file **\`nexusflow-overview.md\`** has already been created. Your task is to:
158
-
159
- 1. **Keep it Updated**: Maintain and update \`nexusflow-overview.md\` with any new architectural findings, layout changes, or assumptions.
160
- 2. **Review Assumptions**: Ensure that inter-repo relationships and package dependencies documented there reflect the current codebase.
161
- 3. **Address Open Questions**: If there are outstanding items in the "Clarifying Questions for the User" section, discuss them with the user.
162
- `;
163
- }
164
- else {
165
- taskSection = `## Task & Step-by-Step Initialization
166
-
167
- Your very first task upon entering this workspace is to analyze the codebase and document it in a universal reference file:
134
+ const knowledgePath = path.join(workspacePath, 'nexusflow-knowledge.md').replace(/\\/g, '/');
135
+ const taskSection = `## First Steps
168
136
 
169
- 1. **Create \`nexusflow-overview.md\`** at the workspace root.
170
- 2. **Project Assumptions**: For each project, write down a clear assumption of what it does, its primary tech stack, and its core responsibilities.
171
- 3. **Inter-Repo Relationships**: Document how the repos relate:
172
- - Shared libraries/packages (producers and consumers).
173
- - API boundaries (which repos expose APIs, which ones consume them).
174
- - Data flows and dependencies.
175
- 4. **Clarifying Questions**: If any feature requirements, architectural patterns, or API contracts are unclear, list them explicitly under a section called **"Clarifying Questions for the User"**.
176
- 5. **Universal Reference**: Keep this file updated. This acts as a universal reference so that any LLM assistant (Claude, Antigravity, Codex, Cursor, Copilot) joining this workspace instantly understands the project landscape.
137
+ Your very first task upon entering this workspace is to explore the codebase and align with the user:
177
138
 
178
- Once you have created \`nexusflow-overview.md\` and compiled your questions, ask the user to verify your assumptions and answer your questions before proceeding to write code.
139
+ 1. **Verify Assumptions**: Open [nexusflow-knowledge.md](file:///${knowledgePath}) and fill in the **Project Assumptions** section with a brief description of what each project does, its tech stack, and responsibilities.
140
+ 2. **Raise Questions**: Document any outstanding uncertainties or architectural questions in the **Clarifying Questions for the User** section.
141
+ 3. **Obtain Approval**: Ask the user to confirm your assumptions and answer your questions before writing any code.
179
142
  `;
180
- }
181
- const knowledgePath = path.join(workspacePath, 'nexusflow-knowledge.md').replace(/\\/g, '/');
182
143
  return `# Multi-Repo Workspace Context
183
144
 
184
145
  ## Feature: ${feature.id}
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/generators/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/generators/base.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA8FjE;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,WAAW,EAAE,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAoFf;AAGD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoGjE;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,WAAW,EAAE,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAgGf;AAGD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
@@ -7,7 +7,7 @@ import { generateCopilotConfig } from './copilot.js';
7
7
  import { generateCursorConfig } from './cursor.js';
8
8
  import { buildContextContent } from './base.js';
9
9
  import { generateImplementationPlan } from './plan-generator.js';
10
- import { generateWorkspaceGraphFiles } from '../core/graph.js';
10
+ import { generateSkills } from './skills-generator.js';
11
11
  /** Maps each assistant to its generator function and the file it produces. */
12
12
  const GENERATORS = {
13
13
  claude: { generate: generateClaudeConfig, outputFile: 'CLAUDE.md' },
@@ -53,6 +53,18 @@ ${feature.description}
53
53
 
54
54
  ${repoList}
55
55
 
56
+ ## Project Assumptions (verify with user)
57
+
58
+ <!-- AI assistants: Fill this in during your first session. List each project and describe what you assume its main purpose, tech stack, and responsibilities are. -->
59
+
60
+ _(No assumptions recorded yet. AI assistant to populate.)_
61
+
62
+ ## Clarifying Questions for the User
63
+
64
+ <!-- AI assistants: List any clarifying questions or ambiguities about requirements/architecture here. -->
65
+
66
+ _(No open questions recorded yet. AI assistant to populate.)_
67
+
56
68
  ## Architecture Decisions
57
69
 
58
70
  <!-- AI assistants: append decisions here as they are made during development.
@@ -74,12 +86,6 @@ ${progressItems}
74
86
  the same debugging. -->
75
87
 
76
88
  _(No gotchas recorded yet.)_
77
-
78
- ## Open Questions
79
-
80
- <!-- Add questions that need human input before the AI can proceed. -->
81
-
82
- _(No open questions.)_
83
89
  `;
84
90
  }
85
91
  /**
@@ -118,12 +124,22 @@ export async function generateContextFiles(ctx, assistants, workspacePath) {
118
124
  }
119
125
  // Generate per-repo architecture maps
120
126
  if (ctx.analysis) {
127
+ const allProduced = new Set();
128
+ for (const [, a] of ctx.analysis) {
129
+ if (a.produces) {
130
+ for (const p of a.produces) {
131
+ allProduced.add(p.name.toLowerCase());
132
+ }
133
+ }
134
+ // Also treat the repository name as a produced package concept
135
+ allProduced.add(a.name.toLowerCase());
136
+ }
121
137
  for (const repo of ctx.repos) {
122
138
  const a = ctx.analysis.get(repo.path);
123
139
  if (a) {
124
140
  try {
125
141
  const { generateRepoMap } = await import('./map-generator.js');
126
- await generateRepoMap(repo, a, workspacePath);
142
+ await generateRepoMap(repo, a, workspacePath, allProduced);
127
143
  console.log(chalk.green(' ✔'), `Generated Architecture Map for ${chalk.bold(repo.name)}`);
128
144
  }
129
145
  catch (error) {
@@ -144,21 +160,21 @@ export async function generateContextFiles(ctx, assistants, workspacePath) {
144
160
  console.error(chalk.red(' ✖'), `Failed to generate ${entry.outputFile} for ${assistant}: ${message}`);
145
161
  }
146
162
  }
147
- // Generate Workspace Architecture Graph
163
+ // Generate implementation plan from dependency analysis (if analysis data available)
148
164
  try {
149
- await generateWorkspaceGraphFiles(ctx, workspacePath);
165
+ await generateImplementationPlan(ctx, workspacePath);
150
166
  }
151
167
  catch (error) {
152
168
  const message = error instanceof Error ? error.message : String(error);
153
- console.error(chalk.red(' ✖'), `Failed to generate workspace architecture graph: ${message}`);
169
+ console.error(chalk.red(' ✖'), `Failed to generate implementation plan: ${message}`);
154
170
  }
155
- // Generate implementation plan from dependency analysis (if analysis data available)
171
+ // Generate skills files for selected assistants
156
172
  try {
157
- await generateImplementationPlan(ctx, workspacePath);
173
+ await generateSkills(ctx, assistants, workspacePath);
158
174
  }
159
175
  catch (error) {
160
176
  const message = error instanceof Error ? error.message : String(error);
161
- console.error(chalk.red(' ✖'), `Failed to generate implementation plan: ${message}`);
177
+ console.error(chalk.red(' ✖'), `Failed to generate skills: ${message}`);
162
178
  }
163
179
  }
164
180
  // Re-export individual generators for direct use
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,5 @@ import type { ProjectAnalysis, RepoInfo } from '../types.js';
11
11
  * @param analysis - The repository analysis result.
12
12
  * @param workspacePath - Absolute path to the workspace root directory.
13
13
  */
14
- export declare function generateRepoMap(repo: RepoInfo, analysis: ProjectAnalysis, workspacePath: string): Promise<void>;
14
+ export declare function generateRepoMap(repo: RepoInfo, analysis: ProjectAnalysis, workspacePath: string, allProducedPackages?: Set<string>): Promise<void>;
15
15
  //# sourceMappingURL=map-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-generator.d.ts","sourceRoot":"","sources":["../../src/generators/map-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqG7D;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Rf"}
1
+ {"version":3,"file":"map-generator.d.ts","sourceRoot":"","sources":["../../src/generators/map-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAoG7D;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,EACrB,mBAAmB,GAAE,GAAG,CAAC,MAAM,CAAa,GAC3C,OAAO,CAAC,IAAI,CAAC,CA0Yf"}
@@ -6,7 +6,6 @@
6
6
  import * as fs from 'node:fs/promises';
7
7
  import * as path from 'node:path';
8
8
  import { globby } from 'globby';
9
- import { loadConfig } from '../core/config.js';
10
9
  const LANG_PATTERNS = {
11
10
  csharp: [
12
11
  {
@@ -104,7 +103,7 @@ const LANG_PATTERNS = {
104
103
  * @param analysis - The repository analysis result.
105
104
  * @param workspacePath - Absolute path to the workspace root directory.
106
105
  */
107
- export async function generateRepoMap(repo, analysis, workspacePath) {
106
+ export async function generateRepoMap(repo, analysis, workspacePath, allProducedPackages = new Set()) {
108
107
  const repoName = repo.name;
109
108
  const worktreePath = path.join(workspacePath, repoName);
110
109
  const md = [];
@@ -115,13 +114,6 @@ export async function generateRepoMap(repo, analysis, workspacePath) {
115
114
  md.push(`> **Regeneration Command**: Run \`nexusflow sync\` to update this map and workspace planning files.`);
116
115
  md.push(`> **Note**: Maps are advisory snapshots of the codebase. Always verify route parameters, patterns, and filenames before relying on them.`);
117
116
  md.push('');
118
- const config = await loadConfig();
119
- if (config.packContextXml) {
120
- const contextXmlPath = path.join(workspacePath, `nexusflow-context-${repoName}.xml`).replace(/\\/g, '/');
121
- md.push(`> **AI-friendly Packed Context**: [nexusflow-context-${repoName}.xml](file:///${contextXmlPath})`);
122
- md.push(`> — **Instruction**: If you need a complete, AI-friendly XML snapshot of this repository's codebase, read this file.`);
123
- md.push('');
124
- }
125
117
  // 1. Solution/Project Layout
126
118
  md.push('## 🏗️ Project Layout');
127
119
  md.push('');
@@ -166,16 +158,52 @@ export async function generateRepoMap(repo, analysis, workspacePath) {
166
158
  md.push('_No project layout files discovered or error occurred._');
167
159
  md.push('');
168
160
  }
161
+ // 1.5. Messaging Topology
162
+ md.push('## 📨 Messaging Topology');
163
+ md.push('');
164
+ if (analysis.messaging && (analysis.messaging.publishers.length > 0 || analysis.messaging.subscribers.length > 0)) {
165
+ if (analysis.messaging.publishers.length > 0) {
166
+ md.push('### Publishes');
167
+ md.push('| Message Contract | Topic/Queue/Channel | Publisher (file) |');
168
+ md.push('|---|---|---|');
169
+ for (const p of analysis.messaging.publishers) {
170
+ const fileLink = p.publisherFile
171
+ ? `[${path.basename(p.publisherFile)}](file:///${path.join(worktreePath, p.publisherFile)})`
172
+ : '—';
173
+ md.push(`| ${p.contractType} | ${p.topicOrQueue} | ${fileLink} |`);
174
+ }
175
+ md.push('');
176
+ }
177
+ if (analysis.messaging.subscribers.length > 0) {
178
+ md.push('### Subscribes');
179
+ md.push('| Message Contract | Handler (file) | Registered in |');
180
+ md.push('|---|---|---|');
181
+ for (const s of analysis.messaging.subscribers) {
182
+ const handlerLink = s.handlerFile
183
+ ? `[${path.basename(s.handlerFile)}](file:///${path.join(worktreePath, s.handlerFile)})`
184
+ : '—';
185
+ const regLink = s.registrationFile
186
+ ? `[${path.basename(s.registrationFile)}](file:///${path.join(worktreePath, s.registrationFile)})`
187
+ : '—';
188
+ md.push(`| ${s.contractType} | ${handlerLink} | ${regLink} |`);
189
+ }
190
+ md.push('');
191
+ }
192
+ }
193
+ else {
194
+ md.push('_No pub/sub messaging patterns detected in this repository._');
195
+ md.push('');
196
+ }
169
197
  // 2. Extensible Usage Pattern Scanning
170
198
  md.push('## 💡 Detected Architectural Patterns & Usages');
171
199
  md.push('');
172
200
  const detectedLanguages = analysis.techStack.languages;
173
- const patternCounts = new Map();
174
- // Initialize counts
201
+ const patternExamples = new Map();
202
+ // Initialize examples
175
203
  for (const lang of detectedLanguages) {
176
204
  const rules = LANG_PATTERNS[lang] || [];
177
205
  for (const rule of rules) {
178
- patternCounts.set(rule.name, { label: rule.label, count: 0, description: rule.description });
206
+ patternExamples.set(rule.name, { label: rule.label, description: rule.description });
179
207
  }
180
208
  }
181
209
  // Scan files for pattern usage
@@ -205,11 +233,12 @@ export async function generateRepoMap(repo, analysis, workspacePath) {
205
233
  for (const lang of detectedLanguages) {
206
234
  const rules = LANG_PATTERNS[lang] || [];
207
235
  for (const rule of rules) {
236
+ const val = patternExamples.get(rule.name);
237
+ if (val.firstFile)
238
+ continue; // Already found an example
208
239
  rule.regex.lastIndex = 0;
209
- const matches = content.match(rule.regex);
210
- if (matches) {
211
- const val = patternCounts.get(rule.name);
212
- val.count += matches.length;
240
+ if (rule.regex.test(content)) {
241
+ val.firstFile = file.replace(/\\/g, '/');
213
242
  }
214
243
  }
215
244
  }
@@ -220,36 +249,86 @@ export async function generateRepoMap(repo, analysis, workspacePath) {
220
249
  // Ignore errors
221
250
  }
222
251
  md.push('### Static Analysis Findings');
223
- if (patternCounts.size > 0) {
224
- for (const [, v] of patternCounts) {
225
- md.push(`- **${v.label}**: Found ${v.count} occurrence(s). _(${v.description})_`);
252
+ let hasFindings = false;
253
+ if (patternExamples.size > 0) {
254
+ for (const [, v] of patternExamples) {
255
+ if (v.firstFile) {
256
+ hasFindings = true;
257
+ const fileLink = `[${path.basename(v.firstFile)}](file:///${path.join(worktreePath, v.firstFile).replace(/\\/g, '/')})`;
258
+ md.push(`- **${v.label}** example: ${fileLink} _(${v.description})_`);
259
+ }
226
260
  }
227
261
  }
228
- else {
262
+ if (!hasFindings) {
229
263
  md.push('_No architectural usage patterns detected via static analysis._');
230
264
  }
231
265
  md.push('');
232
266
  md.push('### Packages Present (Dependencies)');
233
- if (analysis.dependencies.length > 0) {
234
- for (const dep of analysis.dependencies) {
267
+ // Filter dependencies: only show internal packages produced by repos in this workspace,
268
+ // or those matching a common organization namespace prefix (e.g. if one package is MyOrg.Common, then MyOrg.*).
269
+ const internalPrefixes = Array.from(allProducedPackages).map(p => {
270
+ const parts = p.split('.');
271
+ return parts.length > 1 ? parts[0] + '.' : null;
272
+ }).filter((p) => p !== null);
273
+ const filteredDeps = analysis.dependencies.filter(dep => {
274
+ const depNameLower = dep.name.toLowerCase();
275
+ if (allProducedPackages.has(depNameLower))
276
+ return true;
277
+ return internalPrefixes.some(prefix => depNameLower.startsWith(prefix));
278
+ });
279
+ if (filteredDeps.length > 0) {
280
+ for (const dep of filteredDeps) {
235
281
  md.push(`- \`${dep.name}\` (${dep.version || 'unknown version'})`);
236
282
  }
237
283
  }
238
284
  else {
239
- md.push('_No package dependencies detected._');
285
+ md.push('_No cross-repo or organization-internal package dependencies detected._');
240
286
  }
241
287
  md.push('');
242
288
  // 3. Endpoint Inventory
243
289
  md.push('## 🔌 API Endpoints');
244
290
  md.push('');
245
291
  if (analysis.endpoints.length > 0) {
246
- md.push('| Method | Route | Controller/Source File |');
247
- md.push('|:---|:---|:---|');
292
+ md.push('| Endpoint Group (Router/Module/File) | Route Prefix / Pattern | Verbs | Source File |');
293
+ md.push('|:---|:---|:---|:---|');
294
+ // Group endpoints by source file
295
+ const grouped = new Map();
248
296
  for (const ep of analysis.endpoints) {
249
- const sourceLink = ep.source
250
- ? `[${path.basename(ep.source)}](file:///${path.join(worktreePath, ep.source)})`
297
+ const src = ep.source || 'Unknown';
298
+ if (!grouped.has(src)) {
299
+ grouped.set(src, []);
300
+ }
301
+ grouped.get(src).push(ep);
302
+ }
303
+ const findCommonPrefix = (paths) => {
304
+ if (paths.length === 0)
305
+ return '';
306
+ if (paths.length === 1)
307
+ return paths[0];
308
+ const sorted = [...paths].sort();
309
+ const first = sorted[0].split('/');
310
+ const last = sorted[sorted.length - 1].split('/');
311
+ const common = [];
312
+ for (let i = 0; i < first.length; i++) {
313
+ if (first[i] === last[i]) {
314
+ common.push(first[i]);
315
+ }
316
+ else {
317
+ break;
318
+ }
319
+ }
320
+ const prefix = common.join('/');
321
+ return prefix || '/';
322
+ };
323
+ for (const [src, eps] of grouped) {
324
+ const groupName = src !== 'Unknown' ? path.basename(src, path.extname(src)) : 'Inferred';
325
+ const paths = eps.map(e => e.path);
326
+ const commonPrefix = findCommonPrefix(paths);
327
+ const verbs = Array.from(new Set(eps.map(e => e.method.toUpperCase()))).join(', ');
328
+ const sourceLink = src !== 'Unknown'
329
+ ? `[${path.basename(src)}](file:///${path.join(worktreePath, src).replace(/\\/g, '/')})`
251
330
  : '—';
252
- md.push(`| \`${ep.method}\` | \`${ep.path}\` | ${sourceLink} |`);
331
+ md.push(`| ${groupName} | \`${commonPrefix}\` | \`${verbs}\` | ${sourceLink} |`);
253
332
  }
254
333
  }
255
334
  else {
@@ -304,6 +383,46 @@ export async function generateRepoMap(repo, analysis, workspacePath) {
304
383
  md.push(`- **Run Command**: \`${testCommand}\``);
305
384
  }
306
385
  md.push('');
386
+ // 4.5. Running Locally
387
+ md.push('## ▶️ Running Locally');
388
+ md.push('');
389
+ if (analysis.runConfig) {
390
+ const { entryPoints, databases, sharedInfraWarnings, committedSecrets } = analysis.runConfig;
391
+ if (entryPoints.length > 0) {
392
+ md.push('### Entry Points');
393
+ for (const ep of entryPoints) {
394
+ md.push(`- **${ep.type.toUpperCase()} App**: \`${ep.command || 'dotnet run'}\` (configured in \`${ep.projectPath}\`)`);
395
+ }
396
+ md.push('');
397
+ }
398
+ if (databases.length > 0) {
399
+ md.push('### Databases & Data Stores');
400
+ md.push('| Provider | Target Host | Config File |');
401
+ md.push('|---|---|---|');
402
+ for (const db of databases) {
403
+ md.push(`| ${db.provider} | ${db.host} | \`${db.configFile}\` |`);
404
+ }
405
+ md.push('');
406
+ }
407
+ if (sharedInfraWarnings.length > 0) {
408
+ md.push('### ⚠️ Shared Infrastructure Warnings');
409
+ for (const w of sharedInfraWarnings) {
410
+ md.push(`- ${w.warning}`);
411
+ }
412
+ md.push('');
413
+ }
414
+ if (committedSecrets.length > 0) {
415
+ md.push('### 🔒 Potential Committed Secrets');
416
+ for (const s of committedSecrets) {
417
+ md.push(`- **Warning**: Possible plaintext secret/key/password found in \`${s.file}\` (key hint: \`${s.lineHint}\`)`);
418
+ }
419
+ md.push('');
420
+ }
421
+ }
422
+ else {
423
+ md.push('_No run configurations detected._');
424
+ md.push('');
425
+ }
307
426
  // 5. Custom Skills
308
427
  md.push('## 🛠️ Custom Agent Skills');
309
428
  md.push('');
@@ -343,42 +462,26 @@ export async function generateRepoMap(repo, analysis, workspacePath) {
343
462
  }
344
463
  md.push('');
345
464
  // 7. Project-Specific Conventions (Agent-Defined)
465
+ md.push('## 📝 Discovered Conventions');
466
+ md.push('');
346
467
  const conventionsFile = path.join(workspacePath, `nexusflow-conventions-${repoName}.md`);
347
- let hasConventions = false;
348
- try {
349
- await fs.access(conventionsFile);
350
- hasConventions = true;
351
- }
352
- catch { }
353
- if (!hasConventions) {
354
- const starterContent = [
355
- `# Project Conventions — ${repoName}`,
356
- '',
357
- `<!--`,
358
- `This file is dedicated for the AI assistant and developers to document project-specific conventions.`,
359
- `Any corrections or guidelines discovered during implementation should be appended here.`,
360
- `The NexusFlow generator will automatically merge these into the architecture map during sync.`,
361
- `-->`,
362
- '',
363
- `## 📌 Custom Rules & Discovered Conventions`,
364
- '- ',
365
- ].join('\n');
366
- try {
367
- await fs.writeFile(conventionsFile, starterContent, 'utf-8');
368
- }
369
- catch { }
370
- }
371
468
  let customConventions = '';
372
469
  try {
373
470
  customConventions = await fs.readFile(conventionsFile, 'utf-8');
471
+ // Strip the title from the old conventions file if present
472
+ customConventions = customConventions.replace(/^#\s+.+\n?/, '').trim();
374
473
  }
375
474
  catch { }
376
475
  if (customConventions) {
377
- md.push('## 📝 Project-Specific Conventions (Agent-Defined)');
378
- md.push('');
379
476
  md.push(customConventions);
380
477
  md.push('');
381
478
  }
479
+ else {
480
+ md.push('<!-- AI assistants: Document any project-specific conventions, gotchas, or coding rules discovered here. -->');
481
+ md.push('');
482
+ md.push('- None recorded yet.');
483
+ md.push('');
484
+ }
382
485
  const outPath = path.join(workspacePath, `nexusflow-map-${repoName}.md`);
383
486
  await fs.writeFile(outPath, md.join('\n'), 'utf-8');
384
487
  }