Skip to main content

Contributing

We welcome contributions of all kinds — bug fixes, new features, documentation improvements, and test coverage.

Getting Started

1

Fork and clone

Fork the repository on GitHub, then clone your fork locally.
2

Set up your environment

Follow the Development Setup guide to install dependencies and configure your local environment.
3

Create a branch

Create a feature branch from main:
4

Make changes and test

Write your code, then run the test suite. See the Testing Guide for details.
5

Submit a pull request

Push your branch and open a PR against main.

Branch Naming

Commit Messages

Use concise, imperative-mood messages:

Code Style

Rust

  • Run cargo fmt before committing
  • Run cargo clippy and resolve all warnings
  • Follow existing patterns in the codebase — when in doubt, look at neighboring code

TypeScript (Dashboard)

  • Run pnpm lint in the dashboard/ 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 the memorose-docs/ repository, built with Mintlify.
Preview your changes at http://localhost:3000.