npm not analyzable

gitnexus

v1.6.7
npm

Graph-powered code intelligence for AI agents. Index any codebase, query via MCP or CLI.

maintainer
abhigyanpatwari
license
PolyForm-Noncommercial-1.0.0
first seen
2026-05-22
last seen
2026-06-17
releases · 30d
214
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution in gitnexus
capabilities 0 tools
transport stdio · streamable-http · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals npm-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed v1.6.7 · analyzer v18 · 11h ago

danger signals1

code evidence v1.6.7 · npm-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

last analysis: fetch-failed · showing evidence from the last successful analysis (1w ago)

filesystem 70

  • fs package/dist/cli/ai-context.js :8 import fs from 'fs/promises';
  • fs package/dist/cli/analyze-config.js :30 import fs from 'node:fs';
  • fs package/dist/cli/analyze.js :24 import fs from 'fs/promises';
  • fs package/dist/cli/clean.js :7 import fs from 'fs/promises';
  • fs package/dist/cli/eval-server.js :33 import { writeSync } from 'node:fs';
  • fs package/dist/cli/group.js :31 await fs.writeFile(path.join(groupDir, 'group.yaml'), yaml.dump(config), 'utf-8');
  • fs package/dist/cli/index-repo.js :12 import fs from 'fs/promises';
  • fs package/dist/cli/remove.d.ts :19 * - Atomic order mirrors `clean`: fs.rm FIRST, then unregister. A
  • fs package/dist/cli/remove.js :19 * - Atomic order mirrors `clean`: fs.rm FIRST, then unregister. A
  • fs package/dist/cli/setup.js :8 import fs from 'fs/promises';
  • fs package/dist/cli/skill-gen.js :9 import fs from 'fs/promises';
  • fs package/dist/cli/tool.js :17 import { writeSync } from 'node:fs';
  • fs package/dist/config/ignore-service.js :2 import fs from 'fs/promises';
  • fs package/dist/core/embeddings/embedder.js :15 import { existsSync } from 'fs';
  • fs package/dist/core/embeddings/server-mapping.js :7 import fs from 'fs/promises';
  • fs package/dist/core/group/bridge-db.js :1 import fsp from 'node:fs/promises';
  • fs package/dist/core/group/cross-impact.js :5 import fsp from 'node:fs/promises';
  • fs package/dist/core/group/extractors/elixir-workspace-extractor.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/group/extractors/fs-utils.js :1 import * as fs from 'node:fs';
  • fs package/dist/core/group/extractors/go-workspace-extractor.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/group/extractors/include-extractor.js :2 import * as fs from 'node:fs/promises';
  • fs package/dist/core/group/extractors/java-workspace-extractor.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/group/extractors/node-workspace-extractor.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/group/extractors/python-workspace-extractor.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/group/extractors/rust-workspace-extractor.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/group/service-boundary-detector.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/group/service.js :5 import fsp from 'node:fs/promises';
  • fs package/dist/core/group/storage.js :1 import * as fs from 'node:fs';
  • fs package/dist/core/group/sync.js :1 import fs from 'node:fs/promises';
  • fs package/dist/core/ingestion/filesystem-walker.js :3 import fs from 'fs/promises';
  • fs package/dist/core/ingestion/language-config.js :1 import fs from 'fs/promises';
  • fs package/dist/core/ingestion/languages/c/header-scan.js :1 import { readdirSync } from 'fs';
  • fs package/dist/core/ingestion/languages/cpp/header-scan.js :1 import { readdirSync } from 'fs';
  • fs package/dist/core/ingestion/languages/php/import-target.js :18 import { readFileSync } from 'node:fs';
  • fs package/dist/core/ingestion/pipeline-phases/parse-impl.js :27 import fs from 'node:fs';
  • fs package/dist/core/ingestion/utils/heap-probe.js :7 import { appendFileSync } from 'node:fs';
  • fs package/dist/core/ingestion/workers/worker-pool.js :3 import fs from 'node:fs';
  • fs package/dist/core/lbug/csv-generator.js :14 import fs from 'fs/promises';
  • fs package/dist/core/lbug/lbug-adapter.d.ts :30 * @param wsFactory Optional WriteStream factory (defaults to fs.createWriteStream)
  • fs package/dist/core/lbug/lbug-adapter.js :1 import fs from 'fs/promises';
  • fs package/dist/core/lbug/lbug-config.js :1 import fs from 'fs/promises';
  • fs package/dist/core/lbug/native-check.js :1 import fs from 'fs';
  • fs package/dist/core/lbug/pool-adapter.js :17 import fs from 'fs/promises';
  • fs package/dist/core/lbug/sidecar-recovery.js :1 import fs from 'fs/promises';
  • fs package/dist/core/run-analyze.js :12 import fs from 'fs/promises';
  • fs package/dist/core/wiki/generator.js :12 import fs from 'fs/promises';
  • fs package/dist/core/wiki/html-viewer.js :7 import fs from 'fs/promises';
  • fs package/dist/core/wiki/local-cli-client.js :7 import fs from 'fs/promises';
  • fs package/dist/mcp/local/local-backend.js :8 import fs from 'fs/promises';
  • fs package/dist/server/api.js :13 import fs from 'fs/promises';
  • fs package/dist/server/git-clone.js :10 import fs from 'fs/promises';
  • fs package/dist/storage/file-hash.js :21 import fs from 'fs/promises';
  • fs package/dist/storage/git.js :2 import { statSync } from 'fs';
  • fs package/dist/storage/parse-cache.js :26 import fs from 'fs/promises';
  • fs package/dist/storage/parsedfile-store.js :50 import { promises as fs, mkdirSync, writeFileSync } from 'node:fs';
  • fs package/dist/storage/repo-manager.d.ts :341 * proceeding would mean `fs.rm(recursive: true)` on whatever odd path
  • fs package/dist/storage/repo-manager.js :8 import fs from 'fs/promises';
  • fs package/dist/storage/scope-index-store.js :28 import { mkdirSync, writeFileSync, readFileSync, rmSync } from 'node:fs';
  • fs package/hooks/antigravity/gitnexus-antigravity-hook.cjs :23 const fs = require('fs');
  • fs package/hooks/claude/gitnexus-hook.cjs :14 const fs = require('fs');
  • fs package/hooks/claude/hook-db-lock-probe.cjs :16 const fs = require('fs');
  • fs package/hooks/claude/hook-lock.cjs :1 const fs = require('fs');
  • fs package/hooks/claude/resolve-analyze-cmd.cjs :30 const fs = require('fs');
  • fs package/scripts/build-tree-sitter-dart.cjs :6 const fs = require('fs');
  • fs package/scripts/build-tree-sitter-proto.cjs :32 const fs = require('fs');
  • fs package/scripts/build-tree-sitter-swift.cjs :16 const fs = require('fs');
  • fs package/scripts/build.js :12 import fs from 'node:fs';
  • fs package/scripts/install-duckdb-extension.mjs :2 import fs from 'node:fs/promises';
  • fs package/scripts/materialize-vendor-grammars.cjs :12 const fs = require('fs');
  • fs package/scripts/run-cross-platform.ts :13 import fs from 'fs';

shell / exec 88

  • shell package/dist/cli/analyze.js :12 import { spawn } from 'child_process';
  • shell package/dist/cli/resolve-invocation.js :13 import { execFileSync } from 'node:child_process';
  • shell package/dist/cli/setup.js :11 import { execFile, execFileSync } from 'child_process';
  • shell package/dist/cli/wiki.js :9 import { execSync, execFileSync } from 'child_process';
  • shell package/dist/core/embeddings/embedder.js :16 import { execFileSync } from 'child_process';
  • shell package/dist/core/git-staleness.js :5 import { execFile, execFileSync } from 'node:child_process';
  • shell package/dist/core/group/extractors/elixir-workspace-extractor.js :50 while ((match = aliasRegex.exec(content)) !== null) {
  • shell package/dist/core/group/extractors/go-workspace-extractor.js :122 while ((match = typeRegex.exec(content)) !== null) {
  • shell package/dist/core/group/extractors/grpc-extractor.js :127 while ((headerMatch = headerRe.exec(sanitized)) !== null) {
  • shell package/dist/core/group/extractors/grpc-patterns/go.js :54 const registerMatch = REGISTER_RE.exec(fnText);
  • shell package/dist/core/group/extractors/grpc-patterns/java.js :124 const m = IMPL_BASE_RE.exec(text);
  • shell package/dist/core/group/extractors/grpc-patterns/node.js :219 const svcMatch = SERVICE_CLIENT_RE.exec(typeText);
  • shell package/dist/core/group/extractors/grpc-patterns/python.js :41 const addServicer = ADD_SERVICER_RE.exec(fnText);
  • shell package/dist/core/group/extractors/http-patterns/java.js :149 const match = REQUEST_LINE_VERB_RE.exec(raw);
  • shell package/dist/core/group/extractors/include-extractor.js :492 while ((m = INCLUDE_REGEX.exec(scanTarget)) !== null) {
  • shell package/dist/core/group/extractors/java-workspace-extractor.js :89 while ((match = importRegex.exec(content)) !== null) {
  • shell package/dist/core/group/extractors/node-workspace-extractor.js :49 while ((match = esImportRegex.exec(content)) !== null) {
  • shell package/dist/core/group/extractors/python-workspace-extractor.js :83 while ((match = fromImportRegex.exec(content)) !== null) {
  • shell package/dist/core/group/extractors/rust-workspace-extractor.js :28 const m = /^name\s*=\s*"([^"]+)"/.exec(line);
  • shell package/dist/core/group/extractors/thrift-extractor.js :94 while ((match = namespaceRe.exec(sanitizedContent)) !== null) {
  • shell package/dist/core/ingestion/call-processor.js :314 while ((match = destructurePattern.exec(content)) !== null) {
  • shell package/dist/core/ingestion/call-routing.js :63 const match = /@return\s+\[([^\]]+)\]/.exec(sibling.text);
  • shell package/dist/core/ingestion/cobol/cobol-copy-expander.js :91 while ((tm = tokenRe.exec(text)) !== null) {
  • shell package/dist/core/ingestion/cobol/cobol-preprocessor.js :445 while ((qm = quotedRe.exec(text)) !== null) {
  • shell package/dist/core/ingestion/cpp-ue-preprocessor.js :245 while ((match = re.exec(source)) !== null) {
  • shell package/dist/core/ingestion/import-resolvers/standard.js :171 const match = JS_EXTENSION_PATTERN.exec(path);
  • shell package/dist/core/ingestion/languages/cpp/adl.js :338 const m = SITE_KEY_RE.exec(key);
  • shell package/dist/core/ingestion/languages/csharp/namespace-siblings.js :213 const ns = CS_NAMESPACE_RE.exec(line);
  • shell package/dist/core/ingestion/languages/dart/interpret.js :62 const gen = SINGLE_ARG_CONTAINERS.exec(s);
  • shell package/dist/core/ingestion/languages/javascript/captures.js :267 while ((m = re.exec(text)) !== null) {
  • shell package/dist/core/ingestion/languages/php/captures.js :570 while ((m = PHPDOC_PARAM_RE.exec(commentBlock)) !== null) {
  • shell package/dist/core/ingestion/markdown-processor.js :90 while ((linkMatch = LINK_RE.exec(file.content)) !== null) {
  • shell package/dist/core/ingestion/method-extractors/configs/php.js :46 const match = PHPDOC_RETURN_RE.exec(sibling.text);
  • shell package/dist/core/ingestion/method-extractors/configs/ruby.js :233 const match = YARD_RETURN_RE.exec(sibling.text);
  • shell package/dist/core/ingestion/method-extractors/configs/typescript-javascript.js :175 const match = JSDOC_RETURN_RE.exec(sibling.text);
  • shell package/dist/core/ingestion/pipeline-phases/routes.js :61 while ((match = pattern.exec(content)) !== null) {
  • shell package/dist/core/ingestion/pipeline-phases/tools.js :48 while ((match = toolPattern.exec(content)) !== null) {
  • shell package/dist/core/ingestion/route-extractors/fastapi-router-bindings.js :121 while ((m = FROM_IMPORT_ROUTER_RE.exec(content)) !== null) {
  • shell package/dist/core/ingestion/route-extractors/middleware.js :38 while ((nested = nestedRe.exec(remaining)) !== null) {
  • shell package/dist/core/ingestion/route-extractors/response-shapes.js :55 while ((jsonMatch = jsonPattern.exec(content)) !== null) {
  • shell package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js :34 const match = MAP_TUPLE_SENTINEL_RE.exec(text);
  • shell package/dist/core/ingestion/type-extractors/php.js :105 const match = PHPDOC_VAR_RE.exec(sibling.text);
  • shell package/dist/core/ingestion/type-extractors/ruby.js :115 while ((match = YARD_PARAM_RE.exec(commentBlock)) !== null) {
  • shell package/dist/core/ingestion/type-extractors/typescript.js :61 while ((match = JSDOC_PARAM_RE.exec(commentBlock)) !== null) {
  • shell package/dist/core/ingestion/vue-sfc-extractor.js :222 while ((match = SCRIPT_RE.exec(vueContent)) !== null) {
  • shell package/dist/core/ingestion/workers/parse-worker.js :677 while ((m = PRISMA_QUERY_RE.exec(content)) !== null) {
  • shell package/dist/core/lbug/extension-loader.js :1 import { spawn } from 'child_process';
  • shell package/dist/core/lbug/lbug-config.js :6 import { execFileSync } from 'child_process';
  • shell package/dist/core/run-analyze.js :13 import { execFileSync } from 'child_process';
  • shell package/dist/core/wiki/cursor-client.js :9 import { spawn, execSync } from 'child_process';
  • shell package/dist/core/wiki/generator.js :14 import { execSync, execFileSync } from 'child_process';
  • shell package/dist/core/wiki/local-cli-client.js :11 import { execFileSync, spawn } from 'child_process';
  • shell package/dist/mcp/local/local-backend.js :2006 const { execFileSync } = await import('child_process');
  • shell package/dist/server/analyze-job.d.ts :11 import type { ChildProcess } from 'child_process';
  • shell package/dist/server/analyze-worker.d.ts :4 * This file is the entry point for `child_process.fork()`.
  • shell package/dist/server/analyze-worker.js :4 * This file is the entry point for `child_process.fork()`.
  • shell package/dist/server/api.js :23 import { fork } from 'child_process';
  • shell package/dist/server/git-clone.js :7 import { spawn } from 'child_process';
  • shell package/dist/storage/git.js :1 import { execSync } from 'child_process';
  • shell package/hooks/antigravity/gitnexus-antigravity-hook.cjs :25 const { spawnSync } = require('child_process');
  • shell package/hooks/claude/gitnexus-hook.cjs :16 const { spawnSync } = require('child_process');
  • shell package/hooks/claude/hook-db-lock-probe.cjs :18 const { spawnSync } = require('child_process');
  • shell package/hooks/claude/resolve-analyze-cmd.cjs :29 const { execFileSync } = require('child_process');
  • shell package/scripts/bench-scope-resolution.ts :79 while ((m = classRe.exec(f.content)) !== null) {
  • shell package/scripts/build-tree-sitter-dart.cjs :8 const { execSync } = require('child_process');
  • shell package/scripts/build-tree-sitter-proto.cjs :34 const { execSync } = require('child_process');
  • shell package/scripts/build.js :11 import { execSync } from 'node:child_process';
  • shell package/scripts/cross-platform-tests.ts :17 * child_process with real spawning, filesystem locking, path.sep), add
  • shell package/scripts/run-cross-platform.ts :12 import { execFileSync } from 'child_process';
  • shell package/web/assets/blockDiagram-7IZFK4PR-B4niSLvR.js :6 `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:u(function(){return this.next()||this.lex()},`lex`),begin:u(function(e){this.conditionStack.push(e)},`begin`),popState:u(fun
  • shell package/web/assets/chunk-3SSMPTDK-BzGeeheI.js :4 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}e(f,`_nonIterableSpread`);function p(e,t){return n(e)||u(e,t)||v(e,t)||d()}e(p,`_slicedToArray`);function m(e){retu
  • shell package/web/assets/chunk-4R4BOZG6-mKhL59ul.js :46 \r \v \xA0            \u2028\u2029   `.split(``);function Oa(e){let t=typeof e==`string`?new RegExp(e):e;return Da.some(e=>t.test(e))}e(Oa,`isWhitespace`),s(Oa,`isWhitespace`);function ka(e){return e
  • shell package/web/assets/chunk-7W6UQGC5-CgFyfZ6k.js :1 import{i as e,n as t,t as n}from"./chunk-AQ6EADP3-CCFje6lL.js";var r=t((e,t)=>{(function(n,r){typeof e==`object`&&typeof t<`u`?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof g
  • shell package/web/assets/chunk-INKRHTLW-ELpfuk9h.js :1 import{C as e,f as t,l as n,r,u as i}from"./chunk-67TQ5CYL-CChC2cAv.js";import{t as a}from"./chunk-AQ6EADP3-CCFje6lL.js";import{V as o,q as s}from"./chunk-7W6UQGC5-CgFyfZ6k.js";import{r as c}from"./ch
  • shell package/web/assets/chunk-KGFNY3KK-W-VR57xb.js :10 M${g},${_-Q} L${g},${_+p}`;t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let w=y.path(S,b),D=o.insert(()=>w,`:first-child`);return D.attr(`transform`,`translate(${Q/2}, ${Q/2})`),D.attr(`c
  • shell package/web/assets/chunk-LCXTWHL2-By5HB3b-.js :6 `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:l(function(){return this.next()||this.lex()},`lex`),begin:l(function(e){this.conditionStack.push(e)},`begin`),popState:l(fun
  • shell package/web/assets/chunk-QA3QBVWF-D5Ha3GgB.js :2 `,`ig`);e=e.trim().replace(r,``).replace(/'/gm,`"`),f.debug(`Detecting diagram directive${n===null?``:` type:`+n} based on the text:${e}`);let i,a=[];for(;(i=t.exec(e))!==null;)if(i.index===t.lastInde
  • shell package/web/assets/chunk-RG4AUYOV-BQE_DkpL.js :6 `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:f(function(){return this.next()||this.lex()},`lex`),begin:f(function(e){this.conditionStack.push(e)},`begin`),popState:f(fun
  • shell package/web/assets/chunk-RKZBBQEN-BmTPLSyv.js :1 import{t as e}from"./chunk-AQ6EADP3-CCFje6lL.js";import{_ as t,f as n,h as r,i,m as a,n as o,o as s,p as c,t as l}from"./chunk-4R4BOZG6-mKhL59ul.js";var u=class extends i{static{e(this,`TreemapTokenBu
  • shell package/web/assets/chunk-W44A43WB-lrCpuupA.js :1 import{t as e}from"./chunk-AQ6EADP3-CCFje6lL.js";var t=typeof global==`object`&&global&&global.Object===Object&&global,n=typeof self==`object`&&self&&self.Object===Object&&self,r=t||n||Function(`retur
  • shell package/web/assets/diagram-GF46GFSD-B1qab2Ah.js :1 import{F as e,H as t,I as n,K as r,N as i,R as a,S as o,Y as s,j as c,l,tt as u}from"./chunk-67TQ5CYL-CChC2cAv.js";import{t as d}from"./chunk-AQ6EADP3-CCFje6lL.js";import{T as f,V as p,n as m,p as h,q
  • shell package/web/assets/erDiagram-L5TCEMPS-Db-IYTmm.js :6 `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:d(function(){return this.next()||this.lex()},`lex`),begin:d(function(e){this.conditionStack.push(e)},`begin`),popState:d(fun
  • shell package/web/assets/flowDiagram-H6V6AXG4-BHDoyVoW.js :9 You have to call mermaid.initialize.`)}isLinkData(e){return typeof e==`object`&&!!e&&`id`in e&&typeof e.id==`string`}addLink(e,t,n){let r=this.isLinkData(n)?n.id.replace(`@`,``):void 0;h.info(`addLink
  • shell package/web/assets/ganttDiagram-JCBTUEKG-BHQssTz6.js :1 import{F as e,H as t,I as n,K as r,N as i,S as a,Y as o,Z as s,r as c,tt as l}from"./chunk-67TQ5CYL-CChC2cAv.js";import{i as u,n as d,t as f}from"./chunk-AQ6EADP3-CCFje6lL.js";import{A as p,B as m,C a
  • shell package/web/assets/katex-K3KEBU37-CrVLz8l7.js :1 import{t as e}from"./chunk-AQ6EADP3-CCFje6lL.js";var t=class t{static{e(this,`SourceLocation`)}constructor(e,t,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end
  • shell package/web/assets/requirementDiagram-JXO7QTGE-QCD6I29n.js :6 `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:u(function(){return this.next()||this.lex()},`lex`),begin:u(function(e){this.conditionStack.push(e)},`begin`),popState:u(fun
  • shell package/web/assets/sequenceDiagram-VS2MUI6T-DScFwLz2.js :10 }`,o=E(e,{schema:T})}r=o?.type??r,o?.alias&&(!n||n.text===t)&&(n={text:o.alias,wrap:n?.wrap,type:r});let s=this.state.records.actors.get(e);if(s){if(this.state.records.currentBox&&s.box&&this.state.re
  • shell package/web/assets/wardleyDiagram-CUQ6CDDI-Dk1z7H2T.js :1 import{F as e,H as t,I as n,K as r,N as i,R as a,S as o,Y as s,Z as c,l,tt as u}from"./chunk-67TQ5CYL-CChC2cAv.js";import{t as d}from"./chunk-AQ6EADP3-CCFje6lL.js";import{q as f}from"./chunk-7W6UQGC5-

network 13

  • net package/dist/cli/eval-server.js :31 import http from 'http';
  • net package/dist/cli/publish.js :91 response = await fetch(UNDERSTAND_QUICKLY_DISPATCH_URL, {
  • net package/dist/core/group/extractors/http-patterns/node.js :8 * - `fetch(url)` / `fetch(url, { method: 'POST' })` consumers
  • net package/dist/core/ingestion/call-processor.d.ts :13 * from `fetch()` calls to Next.js Route nodes.
  • net package/dist/core/ingestion/call-processor.js :13 * from `fetch()` calls to Next.js Route nodes.
  • net package/dist/core/ingestion/pipeline-phases/routes.d.ts :6 * Also links middleware, processes fetch() calls, and scans HTML templates.
  • net package/dist/core/ingestion/pipeline-phases/routes.js :6 * Also links middleware, processes fetch() calls, and scans HTML templates.
  • net package/dist/core/ingestion/route-extractors/nextjs.js :13 // from page-level route handlers that fetch() calls won't match anyway).
  • net package/dist/core/ingestion/tree-sitter-queries.js :332 ; HTTP consumers: fetch('/path'), axios.get('/path'), $.get('/path'), etc.
  • net package/dist/core/ingestion/workers/parse-worker.js :596 * Walk a tree-sitter AST subtree looking for a call to the global `fetch()` function.
  • net package/dist/core/wiki/llm-client.js :147 // Validate base URL before any fetch (CodeQL js/http-to-file-access)
  • net package/dist/server/git-clone.js :11 import { isIP } from 'net';
  • net package/web/assets/katex-K3KEBU37-CrVLz8l7.js :256 `+g+` children.`);for(var b=0;b<g;b++){var x=new qe([new Je(f[b])],{width:`400em`,height:k(h),viewBox:`0 0 `+e+` `+m,preserveAspectRatio:v[b]+` slice`}),S=W.makeSvgSpan([_[b]],[x],n);if(g===1)return{s

secrets 3

  • secrets package/dist/cli/wiki.js :314 const envKey = process.env.GITNEXUS_API_KEY || process.env.OPENAI_API_KEY || '';
  • secrets package/dist/core/embeddings/http-client.js :45 apiKey: process.env.GITNEXUS_EMBEDDING_API_KEY ?? 'unused',
  • secrets package/dist/core/wiki/llm-client.js :27 process.env.GITNEXUS_API_KEY ||

install hooks 1

  • postinstall package/package.json :52 node scripts/materialize-vendor-grammars.cjs && node scripts/build-tree-sitter-dart.cjs && node scripts/build-tree-sitter-proto.cjs && node scripts/build-tree-sitter-swift.cjs

declared dependencies 49

  • @huggingface/transformers@^4.1.0
  • @ladybugdb/core@^0.17.0
  • @modelcontextprotocol/sdk@^1.0.0
  • @scarf/scarf@^1.4.0
  • cli-progress@^3.12.0
  • commander@^14.0.3
  • cors@^2.8.5
  • express@^5.2.1
  • express-rate-limit@^8.4.1
  • glob@^13.0.6
  • graphology@^0.26.0
  • graphology-indices@^0.17.0
  • graphology-utils@^2.3.0
  • ignore@^7.0.5
  • js-yaml@^4.1.1
  • jsonc-parser@^3.3.1
  • mnemonist@^0.40.3
  • onnxruntime-common@^1.26.0
  • onnxruntime-node@^1.24.0
  • pandemonium@^2.4.0
  • pino@^10.3.1
  • pino-pretty@^13.1.3
  • tree-sitter@0.21.1
  • tree-sitter-c@0.21.4
  • tree-sitter-c-sharp@0.23.1
  • tree-sitter-cpp@0.23.2
  • tree-sitter-go@^0.23.0
  • tree-sitter-java@^0.23.5
  • tree-sitter-javascript@^0.23.0
  • tree-sitter-php@^0.23.0
  • tree-sitter-python@0.23.4
  • tree-sitter-ruby@^0.23.1
  • tree-sitter-rust@0.23.1
  • tree-sitter-typescript@^0.23.2
  • uuid@^14.0.0
  • @types/cli-progress@^3.11.6
  • @types/cors@^2.8.17
  • @types/express@^5.0.6
  • @types/js-yaml@^4.0.9
  • @types/node@^25.6.0
  • @types/uuid@^11.0.0
  • @vitest/coverage-v8@^4.0.18
  • gitnexus-shared@file:../gitnexus-shared
  • tsx@^4.0.0
  • typescript@^5.4.5
  • vitest@^4.0.18
  • node-addon-api@^8.0.0
  • node-gyp-build@^4.8.0
  • tree-sitter-kotlin@^0.3.8