Counterfact is organized as a monorepo. The published counterfact package,
its complete overview, and its canonical user documentation live in
packages/counterfact.
The root package is private and exists only to coordinate workspace builds, tests, releases, examples, and the documentation website.
Focused workspace packages:
@counterfact/client— reusable, OpenAPI-aware HTTP requests without the simulator or REPL.@counterfact/generator— route scaffolds, generated TypeScript contracts, scenarios, and compatible shared templates.@counterfact/openapi— standalone OpenAPI loading, bundling, dereferencing, and overlays.@counterfact/repl— an embeddable Node.js REPL over focused client and runtime contracts.@counterfact/runtime— route dispatch, registries, validation, hot reload, proxying, and Koa/MSW adapters.@counterfact/types— shared TypeScript contracts used by Counterfact internals and generated handlers.