WorkIt is a TypeScript structured concurrency runtime for Node.js server runtimes.
WorkIt owns related async work through scope, cancellation, cleanup, context, events, and child task lifecycles.
npm install @workit/coreimport { run, work } from "@workit/core";WorkIt is Apache-2.0 licensed. Contributions are welcome through issues and
pull requests; please follow CONTRIBUTING.md and
CODE_OF_CONDUCT.md.
Live examples: https://workruntime.github.io/workit/
npm package: https://www.npmjs.com/package/@workit/core
Changelog: CHANGELOG.md
WorkIt follows semver with a stricter release discipline:
- Patch releases, such as
0.1.x, are for fixes, build/release hardening, layout migrations, documentation, and evidence updates. They must not add new public runtime APIs. - Minor releases, such as
0.2.0, may add new subpaths or feature families when they are backed by tests, evidence, package-consumer checks, and documentation. - The root
@workit/coreimport remains size-disciplined. New heavier capabilities should live in subpaths or companion packages. 1.0.0will mark a frozen public API and long-term compatibility policy, not a shortcut for credibility. Current0.xreleases are validated and usable, with changes managed through semver and release notes.
If you use WorkIt in research, benchmarks, or reproducible artifacts, please cite the software release you used:
@software{workit2026,
author = {Admilson B. F. Cossa},
title = {WorkIt: A TypeScript Structured Concurrency Runtime for Node.js Server Runtimes},
year = {2026},
url = {https://github.com/WorkRuntime/workit},
version = {0.1.5},
license = {Apache-2.0}
}This repository uses a monorepo layout. The published package contract is still
owned by packages/core.
| Path | Purpose |
|---|---|
packages/core |
Source, tests, samples, evidence, benchmarks, and release scripts for @workit/core. |
apps/use-cases-site |
GitHub Pages site with executable WorkIt examples. |
articles |
Public article drafts and released article materials. |
The monorepo layout must not change how users install or import WorkIt.
Stable consumer paths for this release line:
@workit/core
@workit/core/ai
@workit/core/channel
@workit/core/diagnostics
@workit/core/observability
@workit/core/otel
@workit/core/workerRun the core gates from the repository root:
npm run verify
npm run test:coverage
npm run check:size
npm run check:package-consumerRun the site gates from the repository root:
npm run site:build