# Contributing
How to contribute to MRRC.
- [Development Setup](development-setup.md) - Setting up a local development environment
- [Project Layout](project-layout.md) - Codebase structure, build system, and how components relate
- [Architecture](architecture.md) - Implementation details (GIL release, parser internals, concurrency)
- [Testing](testing.md) - Running the test suite
- [Fuzzing](fuzzing.md) - cargo-fuzz targets, local runs, and memory-safety checks
- [Benchmarking](benchmarking.md) - Performance measurement
- [Profiling](profiling.md) - Profiling the hot paths
- [Formal Methods](formal-methods.md) - Property tests and verification
- [Release Procedure](release-procedure.md) - How releases are made
For the `Exxx`/`Wxxx` error catalog, its stability rules, and how to add a code,
see [Error codes](../reference/error-codes.md).