Skip to content

Latest commit

Β 

History

History
127 lines (79 loc) Β· 1.69 KB

File metadata and controls

127 lines (79 loc) Β· 1.69 KB

πŸ›  Development Guide

Welcome! This document provides instructions for contributing to the project. It covers setup, development workflows, testing, linting, formatting, and more.


πŸ“¦ Prerequisites

This project uses pnpm as its package manager.

Enable and install pnpm via Corepack:

corepack enable pnpm
pnpm install

πŸš€ Development

Start all packages (tests, examples, and xstate) in development mode:

pnpm dev

πŸ§ͺ Testing

Run all tests once:

pnpm test

Watch tests during development:

pnpm test:watch

πŸ— Building

Compile all packages:

pnpm build

βœ… Verify All

Run all checks (formatting, build, tests, lint):

pnpm verify

✨ Linting & Formatting

Lint all packages:

pnpm lint

Format code:

pnpm format

Check formatting:

pnpm format-check

πŸ“¦ Changesets (Release Management)

This project uses Changesets for versioning and changelogs.

To create a new changeset (ideally in any PR):

pnpm changeset

Follow the interactive prompt to describe your changes.

To create a new release:

pnpm changeset version

and raise a PR. The new package will be automatically published after merge.


πŸ§ͺ Running Examples

To run the examples package in dev mode:

pnpm examples

🧭 Notes

  • This is a monorepo managed by pnpm workspaces.
  • Shared scripts are run recursively using pnpm -r.
  • For focused work, use filters:
    pnpm --filter <package-name> <command>