Open Source · Works with Cursor, Windsurf & Claude

Give your AIpermanent memoryof your codebase._

Your AI stops guessing. It starts knowing.

Scan your codebase once — every function, route, DB call, and API mapped into a searchable graph, connected to your AI editor via MCP. No hallucinations. No context overflow.

$npm install -g @nomik-ai/cli
CursorWindsurfClaude DesktopNeo4jLocal-First
The Problem & The Fix

Your AI assistant is flying blind.

Every time you ask Cursor or Claude about your codebase, it starts from zero. No memory. No map. Just vibes and grep.
Nomik gives your AI a permanent GPS of your entire codebase.

🗺️
Think of Nomik as GPS for your codebase.

Instead of your AI reading every road sign from scratch each trip, the map is already built. Functions, routes, database calls, queues, external APIs — all connected in a knowledge graph. Your AI queries that graph instead of reading raw files.

Without Nomik
🔍
AI reads 47 files.

You ask "what calls sendOrderConfirmation?" — your AI greps the string, pulls in 47 matches including comments, tests, and dead imports.

🌊
Context window overflows.

With 47 files loaded, your AI runs out of space and starts dropping the most relevant ones.

🎲
It guesses.

The AI fills gaps with confident-sounding answers. It misses the queue consumer that silently retries failed emails at 2am.

💥
You ship a bug.

The cron job, the webhook, and the refund handler all depended on that function. None of them were mentioned.

With Nomik
🧬
AI queries the graph.

Same question — Graph traversal returns 5 exact callers: the checkout route, refund handler, retry queue, cron job, and webhook.

🎯
Precise. In milliseconds.

No file dumps. No context overflow. Just the 6 nodes the AI actually needs, with file paths, line numbers, and edge types.

🔗
Full chain, visible.

Route → Function → SES API + orders table. Nominal knows the DB write, the external API call, and the queue consumer.

You ship with confidence.

Your AI tells you exactly what breaks if you change that function. No surprises at 2am.

Your AI is guessing.
It doesn't have to.

Without a graph, your AI reads 52 files for an answer that should take milliseconds. Give it a map instead of a firehose.

❌ Without Nomik
🔍"What calls sendOrderConfirmation?" → AI greps the string
📄52 files mention it — comments, imports, logs, tests
🌊Context window overflows with irrelevant noise
Misses the queue consumer that retries failed emails
✅ With Nomik
🧬"What calls sendOrderConfirmation?" → AI queries the graph
🎯5 callers: checkout route, refund handler, queue, cron, webhook
🔗Full chain: Route → Function → SES API → orders [DBTable]
Catches the retry queue, the cron job, and the DB write
Graph Traversal Result
Function:sendOrderConfirmation()
WRITES_TODBTable:orders
CALLS_EXTERNALExternalAPI:SES
CALLSRoute:POST /api/checkout
CALLSFunction:handleRefund()
CONSUMES_JOBQueueJob:emailRetryQueue

How It Works

It doesn't replace your agent. It gives it long-term memory.

Without Nomik
$ grep -r "syncInventory" src/
38 matches found now what?
inventory.ts:15export async function syncInventory()
inventory.ts:78return syncInventory(retryOpts)
api-routes.ts:42await syncInventory(req.body)
restock.ts:23// calls syncInventory on schedule
inventory.test.ts:8import { syncInventory }
inventory.test.ts:31syncInventory(mockData)
inventory.test.ts:55expect(...).resolves
logger.ts:91// inventory sync metrics
webhook.ts:14// shopify callback
README.md:120## inventory docs
...+28 more in docs, tests, comments
With Nomik
> What breaks if I change syncInventory?
✓ 6 precise nodes — exactly what matters
SOURCEsyncInventory()
HANDLESPOST /api/inventory
CALLSrestockJob()
WRITES_TOproducts [DBTable]
CALLS_EXTERNALShopify API
CALLSnotifyLowStock [CronJob]
Data Flow
📁Codebase
⚙️Parser
🧠Knowledge Graph
🔌MCP Server
🤖Agent Context
Getting Started

Up and running in
2 commands.

No config files. No cloud. Just scan your codebase and plug into your AI editor.

01Install
$npm install -g @nomik-ai/cli

Install the Nomik CLI globally. One-time setup — works with any project from day one.

02Initialize
$nomik init

Scans your project and builds the knowledge graph. Files, functions, DB writes, imports — all captured.

03Connect your AI
$nomik setup-cursor

Injects Nomik into Cursor (or Windsurf, Claude Desktop) as an MCP server. Your AI now has graph context.

You're done.
Your AI now reasons over a live graph.
$ Terminal
Tutorial
npm install -g · nomik init · nomik setup-cursor
~30 seconds
Capabilities

21 MCP Tools.
Zero Hallucinations.

Your AI calls them directly. No file dumps, no context window overflow.

nm_search

Search for nodes by name, path, or pattern. Supports wildcards and case-insensitive matching.

"Find all auth-related functions"
nm_impact

Downstream impact analysis with confidence filtering. Which nodes break if a symbol is modified.

"What breaks if I change parseFile?"
nm_context

Rich context for a file or function: contains, calls, calledBy, imports, inheritance.

"Give me context for graph.service.ts"
nm_health

Full health metrics: dead code, god objects, god files, duplicates, all 17 node type counts.

"Are there any dead code or god objects?"
nm_explain

Full symbol explanation: type, file, callers, callees, edge counts, container context.

"Explain the createGraphService function"
nm_flows

Execution flow tracing from entry points (routes, events, queues) through the call graph.

"Trace the request lifecycle for /api/checkout"

Polyglot Support

TypeScriptJavaScriptPythonRustSQLC# / .NETMarkdown
nomik-cli v1.0.0
nomik initInitialize project + Neo4j
nomik scanParse files & build graph
nomik scan:incrementalGit diff-based selective re-scan
nomik statusConnection & project stats
nomik watchLive file monitoring
nomik queryRaw Cypher queries
nomik recentRecently modified nodes
nomik impactBlast-radius analysis
nomik explainFull symbol context
nomik pr-impactPR blast-radius (diff → graph)
nomik test-impactAffected test files
nomik renameGraph-aware rename
+ 21 more commands
Live Demo

See It In Action

Watch Nomik analyze impact, review PRs, and onboard — all from the CLI. Click "Run Demo" to start the interactive walkthrough.

nomik — interactive demo

Watch Nomik scan a codebase, analyze impact, and detect code health issues — all from the terminal.

AI Demo

Ask your codebase anything.
Get exact answers.

Watch Nomik reason through real engineering questions — tracing auth, ownership, and architecture in seconds.

What are the biggest modules in this codebase and what do they do?
Architecture
Nomik · Graph-powered reasoning
1 / 2

Real questions. Real answers. No hallucination.

Visualization

See your codebase
like never before.

Nomik builds a live knowledge graph of your entire codebase — explorable in 3D, searchable in milliseconds.

Graph · 3D mode
Nomik 3D knowledge graph — full codebase visualization
Full Graph View

Every file, function, and dependency — rendered as a living 3D graph. Navigate your entire codebase at a glance.

Search · Focus mode
Nomik focused search — function detail panel with callers and callees
Deep Function Context

Click any node to instantly see its callers, callees, file location, and properties — no grep, no guessing.

Nomik · Live demo
From the creator

One scan.
Your whole codebase,
explained.

Watch how Nomik scans a real project and instantly builds a navigable knowledge graph — file relationships, function chains, DB writes, and external calls — all visible in seconds.

Instant scan
Full graph built in under 10 seconds
🕸️
3D + 2D views
Explore by module, flow, or file
🧠
AI-ready context
Plug directly into Cursor, Windsurf, Claude
Built & Tested

Built, Tested, Shipping.

Every feature works today. 100% local — no cloud, no data leaves your machine.

232
Tests Passing
📦
8
Packages
🔌
21
MCP Tools
⌨️
33
CLI Commands
🌐
7+
Languages
🔒
100%
Local & Private
npm install -g @nomik-ai/cli
TypeScriptNeo4jTree-sitterMCP SDKTurborepoPino