# Contributing to Reventless Thank you for your interest in contributing to the Reventless framework! This document provides guidelines and instructions for contributing. ## Table of Contents - [Getting Started](#getting-started) - [Making Changes](#making-changes) - [Commit Guidelines](#commit-guidelines) - [Submitting Changes](#submitting-changes) - [Development Workflow](#development-workflow) - [Package Management with Lerna](#package-management-with-lerna) - [Making Releases](#making-releases) - [Publishing Packages](#publishing-packages) - [Questions or Issues?](#questions-or-issues) > **Note:** For detailed release process documentation, see [RELEASE.md](RELEASE.md). For project setup instructions, see [README.md](README.md). ## Getting Started ### Prerequisites Before you begin, ensure you have: - A GitHub account - Node.js (see [`.node-version`](.node-version) for the required version) - Git installed on your machine ### Fork and Clone 1. **Fork the Repository** Fork this repository to your own GitHub account. 2. **Clone Your Fork** ```bash git clone cd reventless-core ``` 3. **Set Up Development Environment** This repo uses **pnpm** (not npm) and a one-command bootstrap: ```bash corepack enable # pins the pnpm version from package.json pnpm run setup # workspace symlink + install + PPX binary + example users + build ``` See [Getting Started in README.md](README.md#-getting-started) for what each step does and platform-specific notes (e.g. the ReScript PPX binary). 4. **Create a Feature Branch** ```bash git checkout -b feature/your-feature-name ``` Or for bug fixes: ```bash git checkout -b fix/your-bug-fix ``` ## Code Standards - Write clean, maintainable code - Follow existing code style and conventions - Add tests for new features - Update documentation as needed ## 🛠️ Development ### Commands (All Packages) ```bash pnpm run build # Build all packages pnpm run watch # Watch mode pnpm run clean # Clean all packages pnpm test # Run tests ``` ### Per-Package Commands ```bash cd reventless/ # or rescript/, examples//, packages/ pnpm run build # rescript build pnpm run start # rescript build -w (watch mode) pnpm test # jest ``` ## Commit Guidelines This project uses [Conventional Commits](https://www.conventionalcommits.org/) for commit messages. This enables automatic versioning and changelog generation. ### Commit Message Format ``` ():