fix: consolidate icon imports, fix stale refs and package name collision (#2343)

* fix: consolidate icon imports, fix stale refs and package name collision

three components were importing directly from lucide-react instead of
going through the centralized @/lib/lucide-icons module like the rest
of the codebase. added the missing Keyboard and BarChart2 exports to
the icons module and updated the imports.

also:
- removed duplicate mermaid init comment in ProcessFlowModal
- replaced placeholder issue #XXX with a descriptive note in git.ts
- updated stale KuzuDB reference to LadybugDB in ARCHITECTURE.md
- renamed gitnexus-web package.json name from "gitnexus" to "gitnexus-web"
  to avoid collision with the CLI package

* fix: complete package rename in lockfile and cite #2054 in git.ts comment

Address tri-review findings: package-lock.json name fields (top-level and
packages[""]) now match the renamed gitnexus-web package, and the
getCanonicalRemote doc comment cites #2054 instead of dropping the issue
reference.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore(autofix): apply prettier + eslint fixes via /autofix command

---------

Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Semianchuk Vitalii 2026-07-02 11:01:12 +01:00 committed by GitHub
parent 63527cf44d
commit 6ef173fc51
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 19 additions and 9 deletions

View file

@ -17,7 +17,7 @@ Monorepo: **CLI/MCP** (`gitnexus/`) + **browser UI** (`gitnexus-web/`).
1. **Ingestion**`analyze.ts``runFullAnalysis` (`run-analyze.ts`) → `runPipelineFromRepo` (`pipeline.ts`). DAG of 14 phases builds a `KnowledgeGraph` in memory, then loads into LadybugDB under `.gitnexus/`. Repo registered in `~/.gitnexus/registry.json` for MCP discovery. 1. **Ingestion**`analyze.ts``runFullAnalysis` (`run-analyze.ts`) → `runPipelineFromRepo` (`pipeline.ts`). DAG of 14 phases builds a `KnowledgeGraph` in memory, then loads into LadybugDB under `.gitnexus/`. Repo registered in `~/.gitnexus/registry.json` for MCP discovery.
2. **Persistence**`repo-manager.ts` (paths, registry, KuzuDB cleanup). `lbug-adapter.ts` (graph load, queries, embedding batches). 2. **Persistence**`repo-manager.ts` (paths, registry, LadybugDB cleanup). `lbug-adapter.ts` (graph load, queries, embedding batches).
3. **Query layer** — three interfaces to the same backend: 3. **Query layer** — three interfaces to the same backend:
- **MCP (stdio):** `mcp.ts``LocalBackend` → tools (`tools.ts`) + resources (`resources.ts`) - **MCP (stdio):** `mcp.ts``LocalBackend` → tools (`tools.ts`) + resources (`resources.ts`)

View file

@ -1,11 +1,11 @@
{ {
"name": "gitnexus", "name": "gitnexus-web",
"version": "0.0.0", "version": "0.0.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "gitnexus", "name": "gitnexus-web",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@langchain/anthropic": "^1.3.29", "@langchain/anthropic": "^1.3.29",

View file

@ -1,5 +1,5 @@
{ {
"name": "gitnexus", "name": "gitnexus-web",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"engines": { "engines": {

View file

@ -1,5 +1,14 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import { X, GitBranch, Search, Filter, Zap, Keyboard, BarChart2, HelpCircle } from 'lucide-react'; import {
X,
GitBranch,
Search,
Filter,
Zap,
Keyboard,
BarChart2,
HelpCircle,
} from '@/lib/lucide-icons';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
interface HelpPanelProps { interface HelpPanelProps {

View file

@ -6,7 +6,7 @@
import { useEffect, useRef, useCallback, useState } from 'react'; import { useEffect, useRef, useCallback, useState } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { Copy, Focus, ZoomIn, ZoomOut } from 'lucide-react'; import { Copy, Focus, ZoomIn, ZoomOut } from '@/lib/lucide-icons';
import mermaid from 'mermaid'; import mermaid from 'mermaid';
import DOMPurify from 'dompurify'; import DOMPurify from 'dompurify';
import { ProcessData, generateProcessMermaid } from '../lib/mermaid-generator'; import { ProcessData, generateProcessMermaid } from '../lib/mermaid-generator';
@ -18,7 +18,6 @@ interface ProcessFlowModalProps {
isFullScreen?: boolean; isFullScreen?: boolean;
} }
// Initialize mermaid with cyan/purple theme matching GitNexus
// Initialize mermaid with cyan/purple theme matching GitNexus // Initialize mermaid with cyan/purple theme matching GitNexus
mermaid.initialize({ mermaid.initialize({
startOnLoad: false, startOnLoad: false,

View file

@ -18,7 +18,7 @@ import {
Sparkles, Sparkles,
Lightbulb, Lightbulb,
Layers, Layers,
} from 'lucide-react'; } from '@/lib/lucide-icons';
import { useAppState } from '../hooks/useAppState'; import { useAppState } from '../hooks/useAppState';
import { ProcessFlowModal } from './ProcessFlowModal'; import { ProcessFlowModal } from './ProcessFlowModal';
import type { ProcessData, ProcessStep } from '../lib/mermaid-generator'; import type { ProcessData, ProcessStep } from '../lib/mermaid-generator';

View file

@ -47,6 +47,7 @@ export {
ArrowDown, ArrowDown,
ArrowRight, ArrowRight,
AtSign, AtSign,
BarChart2,
Brain, Brain,
Box, Box,
Braces, Braces,
@ -71,6 +72,7 @@ export {
Heart, Heart,
HelpCircle, HelpCircle,
Home, Home,
Keyboard,
Key, Key,
Layers, Layers,
Lightbulb, Lightbulb,

View file

@ -42,7 +42,7 @@ export const getCurrentCommit = (repoPath: string): string => {
* Get a stable canonical identifier for the repo's `origin` remote, if any. * Get a stable canonical identifier for the repo's `origin` remote, if any.
* *
* Used to fingerprint two on-disk clones as the same logical repository * Used to fingerprint two on-disk clones as the same logical repository
* (issue #XXX silent graph drift across sibling clones). `path` alone * (prevents silent graph drift across sibling clones see #2054). `path` alone
* is unreliable: worktrees, "clean clone for indexing" hygiene, and * is unreliable: worktrees, "clean clone for indexing" hygiene, and
* multi-agent workspaces routinely have the same repo at multiple * multi-agent workspaces routinely have the same repo at multiple
* absolute paths. The remote URL is the only on-disk signal that * absolute paths. The remote URL is the only on-disk signal that