Contributing¶
We welcome contributions to Shinrin! This document outlines the process for contributing.
Development Setup¶
- Clone the repository:
- Install development dependencies:
- Install the
justcommand runner for convenient tasks.
Project Commands¶
The project uses just for task automation. Common commands:
just format # Format Rust (rustfmt) and Python (ruff format)
just lint # Lint Rust (clippy), Python (ruff check, ty)
just fix # Auto-fix linting issues
just test # Run all tests
just check # Run lint and test
Commit Messages¶
All commits follow Conventional Commits semantics:
feat(parser): add support for typed arrays
fix(api): resolve null pointer in request handler
docs(readme): update installation instructions
Pull Request Process¶
- Fork the repository
- Create a feature branch (
feature/my-feature) - Make your changes
- Run
just checkto ensure lint and tests pass - Submit a pull request
Code Style¶
- Rust: Follow
rustfmtandclippyconventions - Python: Follow
ruffconventions - All type hints should be included