Thank you for your interest in contributing to Mizzle ORM!
- Fork and clone the repository
- Install dependencies:
pnpm install
- Build the project:
pnpm build
- Run tests:
pnpm test
This is a monorepo managed with pnpm workspaces and Turborepo:
mizzle-orm/
├── packages/
│ └── mizzle-orm/ # Core ORM package
├── .changeset/ # Changesets for versioning
├── .github/ # GitHub Actions workflows
└── turbo.json # Turborepo configuration
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes in the appropriate package
-
Add tests for your changes
-
Run the test suite:
pnpm test -
Create a changeset:
pnpm changeset
-
Commit your changes following Conventional Commits:
feat: add new feature fix: fix bug docs: update documentation chore: update dependencies -
Push and create a pull request
- We use Prettier for code formatting
- We use ESLint for linting
- Run
pnpm formatbefore committing
- Write tests for all new features
- Ensure all tests pass before submitting a PR
- Aim for high test coverage
- Ensure your PR has a clear description of the changes
- Link any related issues
- Ensure all CI checks pass
- Request review from maintainers
- Address any feedback
Releases are automated using Changesets:
- Changesets are created during development
- On merge to main, a release PR is automatically created
- Merging the release PR publishes to npm
Feel free to open an issue for any questions or concerns!