Thank you for your interest in contributing to the MooseStack framework! This guide covers how to contribute to the core framework codebase.
The MooseStack framework is a monorepo containing:
- Rust CLI components
- TypeScript library (
ts-moose-lib)
- Python library (
py-moose-lib)
- Protocol buffer definitions
- Clone the repository
- Install dependencies - Use
pnpm install for JS/TS packages and cargo build for Rust
- Run tests - Ensure all tests pass before making changes
- Make your changes - Follow existing code patterns and conventions
- Must pass
cargo clippy --all-targets -- -D warnings
- Use
thiserror for error definitions
- Follow existing patterns for error handling
- Must pass linting checks
- Follow existing type patterns
- Keep API compatibility in mind when making breaking changes
- Follow PEP 8 style guidelines
- Ensure type hints are included
- Run tests with
pytest
- Create a branch - Branch from the main development branch
- Make your changes - Ensure all tests pass
- Submit a PR - Include a clear description of changes