Thank you for your interest in contributing to ExMaude!
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/ex_maude.git - Install dependencies:
mix setup - Create a feature branch:
git checkout -b feature/amazing-feature
mix setup # Install dependencies
mix test # Run tests
mix lint # Run linters (format, credo, dialyzer)
mix check # Run all quality checks
mix docs # Generate documentation
mix bench # Run benchmarksIntegration tests require Maude to be installed:
mix maude.install # Install Maude
mix test --include integration # Run all tests including integrationBefore submitting a PR, ensure:
- All tests pass:
mix test - Code is formatted:
mix format - Credo passes:
mix credo --strict - Dialyzer passes:
mix dialyzer - Documentation is updated
Follow Conventional Commits:
feat:new featuresfix:bug fixesdocs:documentation changesrefactor:code refactoringtest:test additions or changeschore:maintenance tasks
- Ensure your code follows the project style
- Update documentation as needed
- Add tests for new functionality
- Update CHANGELOG.md with your changes
- Submit a PR with a clear description
Releases are managed by maintainers using git_ops:
- Ensure all tests pass:
mix check - Run
mix release(alias formix git_ops.release) — updates changelog, bumps version, commits, and tags - Push with tags:
git push --follow-tags - CI will publish to Hex.pm on the
v*tag
Open an issue for questions or discussions.