Contributing
We welcome contributions of all kinds — bug fixes, new features, documentation improvements, and test coverage.Getting Started
Set up your environment
Follow the Development Setup guide to install dependencies and configure your local environment.
Make changes and test
Write your code, then run the test suite. See the Testing Guide for details.
Branch Naming
| Prefix | Use |
|---|---|
feat/ | New features |
fix/ | Bug fixes |
refactor/ | Code restructuring without behavior change |
docs/ | Documentation only |
test/ | Adding or improving tests |
Commit Messages
Use concise, imperative-mood messages:Code Style
Rust
- Run
cargo fmtbefore committing - Run
cargo clippyand resolve all warnings - Follow existing patterns in the codebase — when in doubt, look at neighboring code
TypeScript (Dashboard)
- Run
pnpm lintin thedashboard/directory - Use the existing SWR +
fetchAPI()patterns for data fetching
Pull Request Guidelines
- Keep PRs focused — one logical change per PR
- Include a clear description of what changed and why
- Add or update tests for any behavior changes
- If your change affects the API surface, update the relevant documentation
Reporting Bugs
Open a GitHub issue with:- Steps to reproduce
- Expected vs actual behavior
- Memorose version and environment details (OS, Rust version, LLM provider)
Documentation Contributions
Documentation lives in thememorose-docs/ repository, built with Mintlify.
http://localhost:3000.