You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specs/active/2026-02-18-nextjs-migration.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ tier: standard
10
10
11
11
## Context
12
12
13
-
Migrate codebase-visualizer from Express+vanilla HTML to Next.js App Router with Tailwind CSS and shadcn/ui. Full rewrite of the 3D rendering layer (3d-force-graph CDN → react-force-graph-3d npm), Express API routes → Next.js Route Handlers, MCP tools → Next.js API integration. Pipeline code (parser/graph/analyzer) stays untouched.
13
+
Migrate codebase-intelligence from Express+vanilla HTML to Next.js App Router with Tailwind CSS and shadcn/ui. Full rewrite of the 3D rendering layer (3d-force-graph CDN → react-force-graph-3d npm), Express API routes → Next.js Route Handlers, MCP tools → Next.js API integration. Pipeline code (parser/graph/analyzer) stays untouched.
14
14
15
15
## Codebase Impact (MANDATORY)
16
16
@@ -67,9 +67,9 @@ Migrate codebase-visualizer from Express+vanilla HTML to Next.js App Router with
67
67
68
68
ACTOR: Developer analyzing a TypeScript codebase
69
69
GOAL: Visualize codebase structure in an interactive 3D graph with modern UI
-> System starts MCP stdio server (unchanged behavior)
98
98
-> LLM tools work as before
99
99
@@ -133,7 +133,7 @@ EC3. No git history: Churn metrics show 0, churn view still renders with uniform
133
133
134
134
### Must Have (BLOCKING)
135
135
136
-
-[ ] AC-1: GIVEN a TS project WHEN user runs `codebase-visualizer ./src` THEN Next.js server starts and browser opens with 3D graph
136
+
-[ ] AC-1: GIVEN a TS project WHEN user runs `codebase-intelligence ./src` THEN Next.js server starts and browser opens with 3D graph
137
137
-[ ] AC-2: GIVEN the app is loaded WHEN user clicks each of the 8 view tabs THEN graph re-renders with correct view-specific styling (colors, sizes, layout)
138
138
-[ ] AC-3: GIVEN a graph is rendered WHEN user clicks a node THEN shadcn-styled detail panel shows with all file metrics
139
139
-[ ] AC-4: GIVEN the settings panel WHEN user adjusts any slider/checkbox THEN graph updates in real-time
@@ -268,7 +268,7 @@ Confirmed — spec solves the right problem. The current vanilla HTML approach w
268
268
### Open Items
269
269
270
270
-[risk] react-force-graph-3d scene access for module clouds -> explore (spike before full implementation)
271
-
-[question] Should CLI `codebase-visualizer ./src` run `next dev` or `next start` (pre-built)? -> question
271
+
-[question] Should CLI `codebase-intelligence ./src` run `next dev` or `next start` (pre-built)? -> question
272
272
-[improvement] Consider keeping Express as fallback for environments where Next.js is too heavy -> no action (out of scope)
codebase-visualizer has strong 3D visualization + file-level metrics but weak agent tooling. GitNexus proves that precomputed symbol-level intelligence (call graphs, process tracing, community detection, search) makes coding agents 5-10x more effective. Goal: surpass GitNexus on both fronts — richer UI for humans AND more complete MCP tools for AI agents.
14
+
codebase-intelligence has strong 3D visualization + file-level metrics but weak agent tooling. GitNexus proves that precomputed symbol-level intelligence (call graphs, process tracing, community detection, search) makes coding agents 5-10x more effective. Goal: surpass GitNexus on both fronts — richer UI for humans AND more complete MCP tools for AI agents.
|`d3-force-clustering` works with react-force-graph-3d | Same author, docs say "compatible with d3-force-3d" | Kill criteria triggered — used custom force instead | RESOLVED (custom `createClusterForce` works, extracted to `lib/cluster-force.ts`) |
146
146
| Box geometry improves group visibility over sphere | Visual verification: boxes have clear edges, labels sit above | Boxes can clip when groups are close | VALID (visually confirmed on both small and large projects) |
147
-
| Default strength 0.3 produces good results | Visible clustering on codebase-visualizer (19 files) | Inter-group links may dominate on dense graphs | VALID (slider allows tuning; 0.3 is a safe default) |
147
+
| Default strength 0.3 produces good results | Visible clustering on codebase-intelligence (19 files) | Inter-group links may dominate on dense graphs | VALID (slider allows tuning; 0.3 is a safe default) |
148
148
| distanceMin=5 prevents oscillation | Nodes within 5 units of centroid skip force | Centroid shifts each tick — boundary jitter possible | RISKY (mitigated by velocity decay; not observed in practice) |
0 commit comments