Contributing to MAIAR
Prerequisites​
IMPORTANT
Please make sure to checkout the contributing guide first and foremost
- Make sure you have the following installed:
nvm install 22.13.1
nvm use 22.13.1
- The pnpm package manager explicitly - Required for managing the monorepo workspace and its dependencies efficiently
- Install the project dependencies:
From the root of the repository
pnpm install
- Start the development environment. You'll need two terminal windows:
Terminal 1 - Core Packages​
From the root of the repository
pnpm dev
This command watches for changes in the core packages (packages/**/*.ts
) and automatically rebuilds them. It:
- Cleans any previous build state
- Builds all core packages
- Updates the
.build-complete
marker file with current timestamp to indicate the core packages build is finished as a state file to communicate with the starter project - Watches for changes and repeats the process
Terminal 2 - Starter Project​
From the root of the repository
cd apps/starter
pnpm dev
This command runs the starter project in development mode. It:
- Watches for changes in both the starter project's source files and the core packages through the
.build-complete
marker file - Rebuilds the starter project
- Restarts the application automatically and handles exiting gracefully so orphaned processes are cleaned up
This setup ensures that changes to either the core packages or the starter project are automatically rebuilt and reflected in your running application, providing a seamless development experience.
NOTE
The
apps/starter
project serves as a reference implementation demonstrating how to develop against the core MAIAR packages. You can apply this same development setup to any project that depends on MAIAR packages - simply mirror the dev script configuration and.build-complete
marker file handling shown in the starter project's package.json. The key focus of this repository is the core packages inpackages/*
, withapps/starter
serving as an example consumer.
MAIAR Bounty Program​
The MAIAR Bounty Program is a program that allows you to earn rewards by contributing to the MAIAR project.
To participate, please refer to the Bounty Program Docs.