# Contributing to moonbit-relief

Thank you for your interest in contributing to `moonbit-relief`!

## Code Quality Standards
Before submitting pull requests, ensure that:
1. All MoonBit source files pass formatting check: `moon fmt --check`.
2. All supported backends pass type checking: `moon check --target all`.
3. All supported backends pass tests: `moon test --target all`.
4. Strict diagnostics remain clean: `moon check --deny-warn` and `moon test --deny-warn`.
5. Public interface generation is stable: `moon info` followed by `git diff --exit-code`.
6. The reference engineering cases run: `moon run cmd/benchmark --target native`.

## Commit Message Format
We follow standard Conventional Commits conventions:
- `feat(...)`: New features or calculation modules
- `fix(...)`: Bug fixes or formula corrections
- `test(...)`: Unit tests or textbook benchmark test cases
- `docs(...)`: Documentation updates
- `ci(...)`: GitHub Actions or build system updates
