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

@ashish-tradex/kortex

v0.14.1

Published

A system of ReAct agents — each reasons and acts (tool use) to complete a task, coordinated by a router. Same hosted-gateway family as wryt/nexel.

Downloads

4,261

Readme

kortex

A system of ReAct agents. Each agent reasons and acts — it thinks, calls tools, observes the results, and repeats until the task is done (ReAct: Synergizing Reasoning and Acting in Language Models, Yao et al. 2022). A router (the "cortex") sends each task to the best-fit agent.

Same hosted-gateway family as wryt and nexel — its own config (~/.kortex), falls back to an existing ~/.nexel key for zero setup.

Install

npm i -g @ashish-tradex/kortex

Setup

kortex login <your-gateway-key>   # or reuse an existing ~/.nexel key automatically

Use

kortex "write a blog post about why small teams ship faster"   # routes to the best agent
kortex run blogger "write about the state of AI video in 2026"  # run a specific agent
kortex agents                                                   # list agents

How an agent works (ReAct)

task ─▶ [reason] ─▶ [act: call a tool] ─▶ [observe result] ─▶ [reason] ─▶ … ─▶ final answer

The engine (src/react.ts) drives this with native function-calling: while the model returns tool calls, it runs them and feeds the results back; the first turn with no tool call is the final answer.

Agents

kortex is a system of many root agents. Each is self-contained.

  • blogger — plans a style-matched outline (validate/retry loop), writes the full draft (validate/retry loop), ends with alternate titles + tweet hooks.

Adding a root agent

Each root agent is one module under src/agents/ holding its Agent definition and any agent-specific tools (see src/agents/blogger.ts for the shape). Then register it in src/agents/index.ts:

import { <name> } from "./<name>.js";
register(<name>);

The router picks between all registered agents by their description — no other wiring needed.

Layout

src/
  agent.ts          # the Agent type + registry (register / getAgent / listAgents)
  react.ts          # the shared ReAct runtime
  tools.ts          # shared tools (web_search, read_url) + the Tool interface
  orchestrator.ts   # routes a task to the best-fit agent, runs it
  library.ts        # reference blogger-style loader (shared resource)
  agents/
    index.ts        # registers every root agent
    blogger.ts      # a root agent: its Agent def + its own tools
  blog-pipeline.ts  # the blogger's plan/write loops