This guide is for PPTKit contributors and maintainers working in the TypeScript monorepo. It is not required for application developers using the published packages; start with Install PPTKit instead.
- Node.js 20 or newer
- pnpm 10.13 or compatible pnpm 10 release
git clone <your-pptkit-repository-url>
cd pptkit
pnpm installBuild the workspace before running checked examples or the workbench:
pnpm buildpnpm lint
pnpm typecheck
pnpm test
pnpm dev
pnpm buildpnpm dev starts the local examples workbench at http://localhost:3210.
Run the repository's checked Quick Start example with the workbench TypeScript runner:
pnpm --filter @pptkit/dev-app exec tsx \
--tsconfig ../../docs/examples/tsconfig.json \
../../docs/examples/quick-start.tsThis writes hello-pptkit.pptx in examples/dev-app/.
Documentation links, checked snippets, stale API references, and documentation example types are validated with:
pnpm docs:checkRun this when changing Markdown or files referenced by a doc-test marker.
When a new package is justified by architecture and roadmap scope:
- Create
packages/<name>/. - Add
package.json,tsconfig.json,README.md,src/index.ts, andtest/smoke.test.mjs. - Update root
tsconfig.jsonproject references. - Add or update any workspace-level documentation that mentions package inventory.
- Add the package to repository lint, boundary, documentation, and root TypeScript checks.
@pptkit/coreshould stay free of PPTX package concerns.@pptkit/layoutmay depend on@pptkit/core.@pptkit/pptx-exportermay depend on@pptkit/coreand@pptkit/layout.- avoid reverse dependencies that collapse documented boundaries
- package names use the
@pptkit/*scope - source entry points live under
src/ - smoke tests live under
test/
Update docs alongside structural changes when:
- package inventory changes
- public API contracts change
- contributor commands change
- architecture, API, or workflow documentation changes materially affect implementation direction