Ax is a TypeScript-first DSPy framework for building with LLMs, with multi-language bindings and a provider-agnostic design. It offers typed generation, provider abstractions, agents, flows, and optimizers across TS and other languages.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
Ax is TypeScript-first and ships today as @ax-llm/ax. The same signatures, provider mappings, agents, flows, runtime contracts, and optimizers are also compiled into verified generated Python, Java, C++, Go, and Rust libraries.
How it works
The tool defines signatures for typed structured generation, provider descriptors / AI clients, agents with runtime execution, and flows as typed program graphs. It supports streaming by default, with forward() for final objects and streamingForward() for incremental output. It includes a streaming benchmark and provides multiple language ports with generated packages checked into the repo.
Getting started
import { ai, ax } from "@ax-llm/ax";
const llm = ai({ name: "openai", apiKey: process.env.OPENAI_APIKEY });
const classify = ax(
'review:string -> sentiment:class "positive, negative, neutral"',
);
const { sentiment } = await classify.forward(llm, {
review: "This product is amazing!",
});
No prompt engineering. Switch name: "openai" to other providers — same signature, same code.
Traction
- Stars: 2855
- Forks: 186
- Open issues: 8
- Created: 2023-02-23
- Last push: 2026-08-03
Recent releases
- 23.0.9 Release 23.0.9 (2026-07-31): chore(axir): reconcile backlog after main update 55f9a0ba; fix(axir): split GPT-5.6 reasoning surfaces f76a950d; fix(axir): publish cleared backlog capabilities 87ef028c; chore(axir): close porta
- 23.0.8 Release 23.0.8 (2026-07-31): fix(openai): stop sending max reasoning effort on the chat path (#569) d749bdd3
- 23.0.7 Release 23.0.7 (2026-07-31): fix: stop duplicating object array items when streaming structured output (#565) f414c6d7; fix: validate url arrays per-item instead of on the whole array (#567) 87a67208; feat(openai): add GPT-5.
- 23.0.6 Release 23.0.6 (2026-07-29): fix(ai): recover from stale context caches 906d8c57; fix(agent): reject multiple code blocks per turn (#563) 1ef0968c
- 23.0.5 Release 23.0.5 (2026-07-24): chore(axir): close usage context backlog 84dd28a0; fix(agent): preserve usage context in internal summaries 0d10c430
License and other facts
- Language: TypeScript
- License: Apache-2.0
- Repository language: TypeScript
Caveats
No explicit caveats provided in the excerpt beyond release notes and standard license constraints.






