npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@codragraph/sdk

v2.2.0

Published

One-import surface for the CodraGraph platform — graph intelligence, dynamic harness, compression. Works with Claude Code, Codex, OpenCode, any inference.

Readme

@codragraph/sdk

One-import surface for the CodraGraph platform.

Developer preview. Single-import surface that re-exports the graph, harness, swarm, graphstore, recipes, and compression namespaces with subpath imports for selective bundling.

Install @codragraph/cli as the indexing layer first; the SDK reads the repositories that the CLI already indexed and registered locally.

Install

npm i @codragraph/sdk

Use

import { harness, graph } from "@codragraph/sdk";

// In-process graph client — wraps the same LocalBackend the codragraph
// CLI uses, so you read from the registered repos without an HTTP hop.
const graphClient = await graph.createLocalGraphClient();

// Run a Meta-Harness search over a task family
const inference = await harness.makeInferenceProvider("claude");
const result = await harness.search({
  tasks: tasksFromJsonFile,
  iterations: 20,
  candidatesPerIteration: 2,
  inference,
  graph: graphClient,
  proposer: new harness.ClaudeCodeProposer({ contractPath: "..." }),
  store: new harness.CandidateStore("./runs/today/candidates"),
  evaluator: new harness.CodebaseQAEvaluator(),
  seeds: harness.ALL_SEEDS,
  budget: { maxInputTokens: 16000, maxOutputTokens: 1024 },
  loadCandidate: async (dir) => {
    /* dynamic import of dir/source/index.ts */
  },
});

console.log(result.frontier);

// Direct graph queries against the same in-process backend
const ctx = await graphClient.context({ name: "validateUser" });

// Feature-level context packs for product areas like Settings/Auth/AI
const settings = await graphClient.contextPack({ name: "Settings" });
const settingsImpact = await graphClient.clusterImpact({ name: "Settings", direction: "both" });
console.log(settings.members.map((m) => [m.file, m.startLine, m.endLine]));
console.log(settingsImpact.impactSummary.riskLevel);

Package composition

Use @codragraph/sdk when you are building your own agent, eval harness, or internal tool. Pair it with:

| Pair with | Why | |---|---| | @codragraph/cli | Index repos, build FeatureCluster context packs, and register them for local graph clients | | @codragraph/harness | Run Pareto search over task families using the same graph client | | @codragraph/graphstore | Snapshot/diff the graph when you need history or review automation | | @codragraph/compress | Compress feature context packs before sending them to an LLM |

Out-of-process / hosted access

For programmatic access to a running codragraph serve instance from another process or machine, use graph.HttpGraphClient. It supports search, symbol context, symbol impact, feature-cluster lists, context packs, and cluster impact over the same REST API the web app uses. Use MCP over HTTP when you need the full MCP tool/resource surface.

import { HttpGraphClient } from "@codragraph/sdk/graph";

const graph = new HttpGraphClient({ baseURL: "http://127.0.0.1:4747" });
const settings = await graph.contextPack({ name: "Settings", repo: "MyRepo" });

When baseURL is omitted, HttpGraphClient reads CODRAGRAPH_URL and then falls back to http://127.0.0.1:4747.

Sub-namespaces

import { search, ALL_SEEDS } from "@codragraph/sdk/harness";
import { createLocalGraphClient, LocalGraphClient } from "@codragraph/sdk/graph";

Provider-agnostic inference

Built-in adapters: claude, openai (covers Codex), opencode. Any provider implementing InferenceProvider works:

import type { InferenceProvider } from "@codragraph/sdk";

class MyProvider implements InferenceProvider {
  readonly name = "my";
  async complete(input) {
    /* ... */
  }
}

License

Apache-2.0. You can use, modify, redistribute, bundle, and host this package commercially, subject to the Apache-2.0 notice and attribution requirements.