The Nuanced CLI provides commands for startin the MCP server, indexing code, and inspecting the code graph directory in the terminal.

Usage

Quick start

# Index a package
cd my_repo/my_package
nuanced index .

# Get context for a specific function
nuanced analyze-function src/utils/helpers.ts myFunction

MCP commands

mcp
command
Start the MCP server in a directory.

Code graph commands

The CLI provides several commands to analyze and navigate code relationships.
index
command
Index the code in a directory.
status
command
Show the status of the index.
find-function
command
Find functions with a given name in the project.Returns a list of file paths containing the function in JSON format.
analyze-function
command
Analyze a function with a given name in the project.Returns code graph information about the function in JSON format.

License commands

activate
command
Activate Nuanced with a license key,

Graph Schema

Node Types

Each node in the graph represents a module or function. Nodes are uniquely identified by fully qualified names.

Node Attributes

Function nodes in the graph returned by the nuanced analyze-function command have the following attributes:
NameDescriptionEmpty if
calleesA list of fully qualified function names uniquely identifying functions that are invoked by the functionFunction has no callees
filepathThe relative path to the file where the function is definedN/A
startThe starting line:column position of the function definitionN/A
endThe ending line:column position of the function definitionN/A

Architecture

Nuanced Typescript code graph builds upon Jelly’s core call graph generation, extending it with a specialized focus on AI tooling integration. In jellycg, our fork of Jelly, we export the functions that allow us to run the analysis and interact with the results to form the Nuanced code graph. We chose Jelly because it provides:
  • Accurate resolution of function definitions and calls across files
  • Full understanding of TypeScript syntax and type annotations
  • Reliable handling of imports, exports, and module boundaries
  • Support for modern JavaScript/TypeScript features
We’ve developed a layer on top that standardizes function identification and provides a consistent API for AI consumption. Our wrapper adds structured error handling and simplified querying capabilities that make it practical for real-world AI tooling scenarios.