Thank you for your interest in contributing!
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/OpenModelStudio.git - Create a branch:
git checkout -b feat/my-feature - Set up the development environment:
make dev
# Start local dev environment
make dev
# Make your changes...
# Run lints
make lint
# Run tests
make test
# Commit with conventional commits
git commit -m "feat: add cool new feature"We use Conventional Commits:
| Prefix | Description |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation changes |
refactor: |
Code refactoring |
test: |
Adding or updating tests |
chore: |
Maintenance tasks |
perf: |
Performance improvements |
- Follow
rustfmtdefaults - Run
cargo clippywith no warnings - All public functions need doc comments
- ESLint (config in
web/eslint.config.mjs) - Use functional components with hooks
- Prefer
constoverlet
- Lowercase keywords
- Snake_case for table and column names
- Every migration must be reversible
- Ensure all tests pass (
make test) - Update documentation if needed
- Add tests for new features
- Fill out the PR template
- Request review from a maintainer
- Use GitHub Issues
- Include reproduction steps
- Include environment details (OS, versions)
- Screenshots for UI issues
Major changes should be discussed in an issue first. Include:
- Problem statement
- Proposed solution
- Alternatives considered
- Impact on existing code
By contributing, you agree that your contributions will be licensed under the MIT License.