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. Contact ayman@nuanced.dev for custom licensing options.

Usage

Command Line Interface

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

# Get enriched context for a specific function
nuanced-ts enrich /path/to/file.ts function_name

The cli provides two methods to analyze and navigate code relationships: init and enrich.

init

$ nuanced-ts init src

initializes a new graph for a package.

enrich

# Get enriched information for a specific function
$ nuanced-ts enrich src/middleware/auth.middleware.ts authenticate

# Example output
{
  "typescript-project:src/middleware/auth.middleware.ts:8:8:authenticate": {
    "filepath": "/<project_path>/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 absolute 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.