TypeScript testing helpers for AI-native codebases: compose agents, workspace fixtures, and MCP stubs in one harness — framework-agnostic (Vitest, Jest, Node test runner, …).
Documentation: https://testingai.ai
| Layer | Packages | Role |
|---|---|---|
| Core | @testingai/testai |
TestAI.createTestingEnv, createProject, agents, createMcp / @testingai/testai/mcp. |
| MCP stubs | @testingai/mcp-* |
Trackable mock MCP servers (Datadog, Slack, Figma, Linear) — assert which tools were invoked without live services. |
| Presets | @testingai/pkg-* |
Stack fixtures (pkg-react, pkg-nuxt, pkg-fastapi, …) that return a fresh TestProject handle. |
The library is evolving: preset factories currently allocate temp directories and return a stable TestProject handle; full clone, skill sync, and harness execution are on the roadmap — the public API is already shaped for that future.
- Node.js ≥ 20
npm install @testingai/testai
npm install @testingai/mcp-datadog # optional MCP stub
npm install @testingai/pkg-nuxt # optional preset fixtureSee Installation for the full package list.
import { TestAI, createProject } from "@testingai/testai";
import { datadog } from "@testingai/mcp-datadog";
import { nuxtProject } from "@testingai/pkg-nuxt";
// Existing checkout on disk + MCP stubs
const env = await TestAI.createTestingEnv({
project: createProject("./my-demo-project"),
mcp: [datadog],
});
// Or a preset stack fixture
await TestAI.createTestingEnv({ project: nuxtProject() });
await env.dispose();Walkthrough: Getting started · Testing environment · Vendor MCP stubs
| Topic | Link |
|---|---|
| Getting started | testingai.ai/guide/getting-started |
| Installation | testingai.ai/guide/installation |
| Testing environment | testingai.ai/guide/testing-environment |
| Projects & fixtures | testingai.ai/guide/projects |
| Agents | testingai.ai/guide/agents |
| MCP stubs | testingai.ai/guide/mcp-stubs |
| Preset projects | testingai.ai/guide/preset-projects |
| Monorepo layout | testingai.ai/guide/monorepo |
| Development | testingai.ai/guide/development |
| Path | Packages |
|---|---|
core/ |
@testingai/testai |
mcp/ |
@testingai/mcp-datadog, @testingai/mcp-slack, @testingai/mcp-figma, @testingai/mcp-linear |
projects/ |
@testingai/pkg-react, @testingai/pkg-nuxt, @testingai/pkg-fastapi, … |
docs/ |
VitePress site — testingai.ai |
Commands run from the repo root. Full reference: Development.
| Script | Description |
|---|---|
npm run build |
Builds testai → all mcp-* → all pkg-*. |
npm test |
Bootstrap build, then test in every workspace (including e2e). |
npm run test:packages |
Workspace tests only (no e2e). |
npm run lint |
ESLint over core/, mcp/, projects/, e2e/. |
npm run typecheck |
Builds testai + mcp-*, then typecheck everywhere. |
npm run check |
lint + typecheck + test + build. |
npm run docs:dev |
Local VitePress dev server for docs/. |
MIT
