Skip to content

Repository files navigation

prodkit monorepo

This repository is the prodkit monorepo, managed with pnpm workspaces and Turborepo (turbo). It is organized for multiple publishable packages plus dedicated top-level workspaces for examples, benchmarks, and maintainer tooling.

canonical package docs

Use each publishable package README under packages/*/README.md as the source of truth for that package's installation, API reference, usage examples, and consumer-facing commands:

Other workspace roots are maintainer- or CI-oriented: examples (@prodkit/examples, topic folders under examples/op/ and examples/op/di/), tools (@prodkit/tools), and benchmarks (@prodkit/benchmarks).

documentation map

Audience Doc Purpose
npm consumers packages/op/README.md Hub, quick start, core API
npm consumers packages/op/docs/ Comparison, performance, subpaths, lifecycle (ships on npm)
npm consumers packages/op-lint/README.md Lint plugin install and rules
contributors CONTRIBUTING.md Setup, gate, testing, release
security SECURITY.md Vulnerability reporting and disclosure
contributors docs/CONTEXT.md Domain vocabulary, doc roles, where new modules live
contributors docs/contributor/op-invariants.md Runtime invariants and enforcement map
contributors docs/contributor/runtime-architecture.md Module graph and execution flow
architects docs/adr/ Why decisions were made

Changelogs: packages/op/CHANGELOG.md, packages/op-lint/CHANGELOG.md, packages/std/CHANGELOG.md.

workspace layout

  • packages/: library packages
  • apps/*: reserved pnpm workspace slot for runnable product/demo applications (no app tree is checked in)
  • examples: consumer examples and smoke workspace (@prodkit/examples)
  • benchmarks: performance benchmark harnesses (@prodkit/benchmarks)
  • tools: maintainer tooling workspace (@prodkit/tools)
  • .github/workflows: CI and release automation

development

  • Node: >=24.14.0 on the 24.x line; .nvmrc pins the local contributor version.
  • contributor guide: CONTRIBUTING.md

Primary quality gate:

pnpm run gate

release flow

Pushing a package-scoped tag (op-v*, op-lint-v*, std-v*) triggers .github/workflows/release.yml, which publishes the matching npm package with trusted publishing and provenance. Release helpers live on each publishable package:

pnpm --filter @prodkit/op run release:patch   # or release:minor
pnpm --filter @prodkit/op run release:push

pnpm --filter @prodkit/op-lint run release:patch   # or release:minor
pnpm --filter @prodkit/op-lint run release:push

pnpm --filter @prodkit/std run release:patch
pnpm --filter @prodkit/std run release:push

license

MIT

About

A runtime-agnostic, composable library for writing predictable operations in TypeScript.

Topics

Resources

Contributing

Security policy

Stars

23 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages