Skip to main content

Contributing to MAIAR

Prerequisites​

IMPORTANT

Please make sure to checkout the contributing guide first and foremost

  1. Make sure you have the following installed:
  • Node.js (v22.13.1) - We recommend using nvm to manage Node.js versions:
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
  1. Install the project dependencies:

From the root of the repository

pnpm install
  1. 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:

  1. Cleans any previous build state
  2. Builds all core packages
  3. 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
  4. 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:

  1. Watches for changes in both the starter project's source files and the core packages through the .build-complete marker file
  2. Rebuilds the starter project
  3. 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 in packages/*, with apps/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.