Contributing
Contributions are welcome — issues, docs improvements, and PRs.
Development setup
Section titled “Development setup”git clone https://github.com/LarsArtmann/typespec-asyncapicd typespec-asyncapipnpm installpnpm run build # Build TypeScript (0 errors)pnpm run lint # ESLint + oxlint (0 errors, 0 warnings)Run all commands inside nix develop .#default to get the pinned toolchain (pnpm + bun + Node.js). Use pnpm for package management and scripts.
The verification gate
Section titled “The verification gate”pnpm run verifyRuns the full gate: build, lint, test typecheck, 1259 tests, coverage gate (75% minimum per file), and clone detection (0% threshold). The CI runs exactly this — if it passes locally, it passes in CI.
Project layout
Section titled “Project layout”src/— the emitter (schema generation, document builders, decorators, validation)lib/main.tsp— the TypeSpec library surface (30 decorators,EmitterOptionsmodel)test/— compliance, golden, property, integration, e2e, realworld suitesexamples/— 13 runnable examples, all CI-validatedwebsite/— this documentation site (Astro + Starlight)
Releasing
Section titled “Releasing”Releases publish automatically from the release.yml workflow: pushing a v* tag runs the full verify gate and publishes to npm with provenance attestation. Bump package.json and update CHANGELOG.md first.
Where to go next
Section titled “Where to go next”- GitHub issues — open bugs and feature requests
- Related Tools — the ecosystem around the emitter