Thank you for your interest in improving Movera! This document describes the contribution workflow, coding conventions, and review expectations for this monorepo.
By participating you agree to foster a respectful and inclusive community. Please act professionally in all communications.
apps/frontend: Next.js application (movera-websiteworkspace).apps/backend: NestJS API service (movera-backendworkspace).packages/contracts: Move packages (movera-contractsworkspace).packages/sdk: TypeScript SDK (movera-sdkworkspace).
Each workspace has its own documentation and scripts; consult those READMEs for deeper details.
- Fork the repository and create a feature branch off
main. - Install dependencies:
yarn install
- Create environment files as needed:
cp apps/frontend/.env.example apps/frontend/.env.local cp apps/backend/.env.example apps/backend/.env
- Run the relevant dev servers or tests before you begin making changes.
- Branch naming:
feature/<topic>,fix/<issue>, orchore/<task>. - Keep commits focused. Reference GitHub issues with
#<number>when applicable. - Commit message format:
Recommended types include
type(scope?): short summary Optional body with context, motivation, and references.feat,fix,chore,docs,test, andrefactor.
- Follow existing linting rules (
eslint,prettier,tsconfigsettings). - Prefer TypeScript over JavaScript for new code in apps and SDK.
- For Move code, match the formatting of the surrounding module and run
move fmt. - Keep API and SDK changes typed and documented.
- Add comments for complex logic. Avoid adding TODO comments without creating a follow-up issue.
- Frontend:
yarn workspace movera-website lintandtest. - Backend:
yarn workspace movera-backend lint,test, andtest:e2ewhen API behavior changes. - Contracts:
yarn workspace movera-contracts test(Move CLI) after modifying Move sources. - SDK:
yarn workspace movera-sdk test. - Add new unit or integration tests for all features and bug fixes.
- Update relevant README files when behavior or setup changes.
- Document public APIs and environment variables.
- Note any contract migrations or schema updates in the release checklist.
- Rebase your branch onto the latest
mainbefore opening a PR. - Fill in the PR template (coming soon) with summary, testing evidence, screenshots, and release notes.
- Ensure CI passes (lint, test, build).
- Request review from at least one maintainer.
- Address review feedback promptly; prefer follow-up commits over force pushes to keep history clear.
Maintainers will handle tagging, releases, and deployment. Contributor branches may be deleted after merge.
If you need help, open a GitHub discussion or reach out to the maintainers listed in README.md. We appreciate your contributions!