Zunex scans your project and extracts its real architecture, entity relationships and business rules — so Claude Code, Codex and Copilot code with facts, not guesses from individual files.
$ zunex sync Synced 1,524 artifacts · Entities 96 · Services 140 · Rules 612 $ zunex ask "how many pending orders can a user have at once?" — grounded in MentorApplication, OrderService, and a Behavior rule from the tests — A user may have at most one PENDING order: enforced by the guard clause in OrderService.placeOrder and asserted by OrderServiceTest. Order has-many OrderItem (1..N); status moves PENDING → PAID → SHIPPED. $ claude # the agent now calls zunex_impact / zunex_rules before editing
Try the dashboard — interactive, right here
This is the real dashboard running on a sample project — drag nodes, hover, switch to the ER view. When you run zunex serve locally it shows your code, fully offline.
Kinds
Questions & terms
The common questions, and plain-English meanings for the jargon below.
zunex sync — no build, no special comments, no setup in your project.requirements/ docs are folded in too.Why Zunex
Static analysis turns your project into a queryable knowledge graph — structure, relationships and rules — that any AI agent can consult on demand.
Every class, service, entity and dependency mapped — coloured by kind, navigable, with blast-radius impact analysis.
Entities become tables with full columns and types; foreign-key relationships drawn with cardinality (1..1 / 1..N). No DB connection needed — and one click exports to Mermaid for your README or PR.
Natural-language Q&A grounded in metadata. Optional read source for deep questions, plus a feature-slice retriever and a search that matches rules and column names — not just type names.
Exposes the graph as 9 tools to Claude Code, Codex and Copilot — including a git-diff blast-radius check. Generate a CLAUDE.md / AGENTS.md so the agent consults Zunex before editing.
Optional local embedding index (Ollama) so ask finds the right context by meaning, even when the question shares no keywords.
Drop business docs in requirements/ — or anywhere as .md/.pdf/.docx/.xlsx/.pptx — and answers cite them alongside the code.
Test names and assertions become Behavior rules — the edge cases your suite guarantees, surfaced as business knowledge.
Before any change, see exactly which artifacts depend on what you're about to touch — the blast radius, ranked by depth.
Metadata-only and local-first. Run entirely on Ollama and nothing leaves your machine — or pick a cloud model, with clear warnings before any source is sent.
What it knows
Beyond structure, Zunex lifts the rules that usually live only in developers' heads — across C#, Java/Spring, Node, NestJS and Laravel.
How it works
zunex sync parses your code and builds .zunex/metadata.json — no build, no DB.
zunex serve opens a dashboard: graph, ER diagram, rules and chat.
Register the MCP server & write the instruction file so your agent uses Zunex.
The agent checks impact, rules and relationships before changing anything.
Get started
.NET 10 · cross-platform · packaged as a dotnet tool. Hover any block to copy it.
git clone https://github.com/iamdwn/zunex cd zunex ./install.ps1
Installs zunex (CLI) and zunex-mcp (MCP server) as global dotnet tools. Re-run after pulling updates.
zunex sync --path ./my-app zunex serve --path ./my-app # http://localhost:5173
Builds .zunex/metadata.json — no build step, no DB connection — and opens the dashboard: graph, ER diagram, rules and Ask AI.
claude mcp add zunex -- zunex-mcp --root ./my-app zunex agent claude # writes CLAUDE.md
Using Codex or Copilot instead? Full per-agent steps are in Agent setup below.
ollama pull nomic-embed-text zunex embed --path ./my-app
ask then finds the right context by meaning, even when your question shares no keywords with the code.
claude mcp remove zunex # if registered with Claude Code zunex hook uninstall --path ./my-app # if auto-sync git hooks were installed dotnet tool uninstall --global Zunex.Cli dotnet tool uninstall --global Zunex.Mcp
Close any running agent first — it holds zunex-mcp open. For Codex/Copilot, also remove the zunex entry from ~/.codex/config.toml or .vscode/mcp.json. Optionally delete the instructions file (CLAUDE.md / AGENTS.md) and the .zunex/ folder from your projects.
Agent setup
Zunex ships an MCP server. Register it once per project, generate an instructions file, and the agent consults the knowledge graph before every edit. Replace ./my-app with your project path.
claude mcp add zunex -- zunex-mcp --root ./my-app
Scoped to this project — Claude Code launches zunex-mcp automatically.
zunex agent claude
Creates CLAUDE.md telling the agent to consult Zunex (architecture, rules, impact, relationships) before editing.
/mcp
Inside a session, zunex appears with its 9 tools. Try: "use zunex to show the impact of changing OrderService".
~/.codex/config.toml[mcp_servers.zunex] command = "zunex-mcp" args = ["--root", "./my-app"]
Codex loads MCP servers from this file — restart Codex after editing.
zunex agent codex
Creates AGENTS.md so Codex knows when to call the zunex tools.
Ask Codex to list its available tools — the zunex tools should appear. Then prompt e.g. "use zunex to explain the orders module".
.vscode/mcp.json in the project{
"servers": {
"zunex": {
"command": "zunex-mcp",
"args": ["--root", "./my-app"]
}
}
}VS Code / Copilot agent mode reads MCP servers from this file.
zunex agent copilot
Creates .github/copilot-instructions.md.
Reload the window, open Copilot agent mode and confirm the zunex tools load — then prompt against the project.
{
"mcpServers": {
"zunex": {
"command": "zunex-mcp",
"args": ["--root", "./my-app"]
}
}
}Most MCP-compatible agents accept this shape — paste it into the agent's MCP config.
zunex-mcp --root ./my-app
Any MCP client can launch this command.
zunex hook install
Installs git hooks so zunex sync runs automatically on every commit / merge / checkout — your agent always sees up-to-date architecture without you re-syncing by hand. Remove any time with zunex hook uninstall.
Ask AI setup
Ask AI answers questions about your project, grounded in the knowledge graph. Ollama runs fully local and is the default; Gemini and GPT plug in with an API key.
# Windows winget install Ollama.Ollama # macOS brew install ollama # Linux curl -fsSL https://ollama.com/install.sh | sh ollama pull llama3.2
Privacy
Zunex sends metadata only by default: names, shapes, relationships and rules — never method bodies. Run on a local model and nothing leaves the machine at all.
Works with
Coding agents — consume Zunex via MCP
Ask AI models — answer questions over the metadata