Nuanced Typescript is an private package that generates enriched call graphs with static analysis annotations, providing AI coding tools with deeper understanding of code behavior.

Quick Start

Installation

Nuanced Typescript is a private NPM package and requires a license to install. License is available via our Pro plan.

Usage

Command Line Interface

# Initialize a graph for a package
cd my_repo/my_package
nuanced-ts init .

# Get enriched context for a specific function
# Note: filepath is relative to where you ran init
nuanced-ts enrich src/utils/helpers.ts myFunction
The CLI provides two methods to analyze and navigate code relationships: init and enrich. The enrich command uses filepaths relative to the directory where you ran init.

init

$ nuanced-ts init .
initializes a new graph for a package.

enrich

The enrich command takes a filepath relative to where you ran init and a function name:
# If you ran 'nuanced-ts init .' from /my_project
# Then filepaths are relative to /my_project
$ nuanced-ts enrich src/middleware/auth.middleware.ts authenticate

# Example output
{
  "typescript-project:src/middleware/auth.middleware.ts:8:8:authenticate": {
    "filepath": "src/middleware/auth.middleware.ts",
    "start": "8:8",
    "end": "39:1",
    "callees": [
      "typescript-project:src/services/auth.service.ts:100:3:getUserById",
      "typescript-project:src/services/auth.service.ts:91:3:validateToken"
    ]
  }
}

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 enrich 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

Pricing Tiers

Nuanced Typescript is only available as a paid tier The paid tier provides essential call graph functionality:
  • Basic call graph generation with init and enrich commands
  • Function filepath information
  • List of function callees

Architecture

Nuanced Typescript 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 an enriched call graph. We chose Jelly because of it’s:
  • 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.