Thank you for your interest in contributing to ECSDb! This document outlines the development workflow and standards.
- Fork & Clone: Fork the repository and clone your fork.
- Create a Branch: Use descriptive branch names (
feat/add-thing,fix/issue-123). - Make Changes: Follow the code style guidelines below.
- Run Tests: Ensure all tests pass with
cargo test --workspace. - Check Formatting: Run
cargo fmt --allandcargo clippy --workspace -- -D warnings. - Commit: Write clear commit messages following Conventional Commits.
- Push & Open PR: Push your branch and open a pull request against the
mainbranch.
- Use
rustfmtwith the providedrustfmt.tomlconfiguration. - Follow Clippy lints (run
cargo clippy --workspace -- -D warnings). - Use
snake_casefor functions/variables,PascalCasefor types. - Document public APIs with doc comments (
///). - Prefer explicit error handling with
Resultandthiserror.
- Use
<script setup lang="ts">syntax with Composition API. - Follow ESLint and TypeScript strict mode.
- Use
camelCasefor variables/functions,PascalCasefor components.
- Write unit tests for new functionality in the same module.
- Integration tests go in
tests/directory. - Aim for >80% test coverage (measured via
tarpaulin).
- Update
README.mdif user-facing changes. - Update inline documentation for public APIs.
- Update architecture docs in
docs/if system design changes.
- Use GitHub Issues for bug reports and feature requests.
- Include steps to reproduce, expected vs actual behavior, environment details.
- PRs require at least one maintainer approval.
- All CI checks must pass.
- Keep PRs focused; split large changes into smaller PRs.
By contributing, you agree that your contributions will be licensed under the project's MIT OR Apache-2.0 license.