Thank you for your interest in contributing to Jido Messaging! This document provides guidelines and instructions for contributing.
Clone the repository and install dependencies:
git clone https://github.com/epic-creative/jido_messaging.git
cd jido_messaging
mix setup# Run core tests (default lane)
mix test
# Explicit core lane
mix test.core
# Run integration lane
mix test.integration
# Run story/spec lane
mix test.story
# Run full suite (except :flaky)
mix test.all
# Run tests with coverage
mix coveralls
# Generate HTML coverage report
mix coveralls.htmlAll code must pass quality checks before submission:
# Run all quality checks
mix quality
# Individual checks
mix format --check-formatted
mix compile --warnings-as-errors
mix credo --min-priority higher
mix dialyzerWe follow Conventional Commits:
<type>(<scope>): <description>
<body>
<footer>
Types: feat, fix, docs, style, refactor, perf, test, chore, ci
Example:
feat(messaging): add message queue support
This adds a persistent message queue implementation using ETS
for storing pending messages.
Closes #42
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes
- Run
mix qualityand ensure all checks pass - Run
mix test(ormix test.core) and ensure it passes - Run
mix test.allbefore merging cross-cutting/runtime changes - Commit with conventional format
- Push to your fork and create a Pull Request
- Follow standard Elixir conventions
- Use pattern matching for control flow
- Write documentation for all public functions
- Include examples in @doc strings