Prerequisites

Bun

While not explicitly required, it’s recommended to use Bun as your node runtime since that’s what our team uses. To install bun:
curl -fsSL https://bun.sh/install | bash
All other contribution-related docs will refer to bun in commands - but you can replace with npm if preferred

Monorepo Setup

git clone https://github.com/magnitudedev/magnitude.git
Then run:
bun i && bun run build
The monorepo now has dependencies installed and is built.

Building Packages

Whenever you make a change to magnitude-core that you want to be reflected in magnitude-test during testing, make sure to rebuild with bun run build.

Local Testing

When you make changes to magnitude-test that you want to test in your project or elsewhere, you need a way to refer to your local package. To do this, you can use yalc. Install yalc:
bun i -g yalc
Then in the monorepo:
cd packages/magnitude-test
bun run pubdev
In your other project:
yalc add magnitude-test
This will add the yalc (local) version of magnitude-test instead of the one published on npm Run pubdev again as needed to update your other project with your modified version of Magnitude.