Thanks for contributing to Squid Mesh.
Development Setup
Requirements:
- Elixir
~> 1.17 - Erlang/OTP compatible with the current CI matrix
- Postgres
Clone the repository and install dependencies:
mix deps.get
Prepare the example host app:
cd examples/minimal_host_app
mix deps.get
mix ecto.create
mix ecto.migrate
Local Verification
Run the root test suite:
mix test
mix format --check-formatted
Run the example host app test suite:
cd examples/minimal_host_app
mix test
MIX_ENV=test mix example.smoke
The example host app is part of the development harness. Changes that affect runtime behavior should keep that smoke path green.
Workflow For Changes
- Start from
main. - Create a short-lived branch for one focused slice.
- Keep commits small and intentional.
- Add or update tests with the change.
- Run the verification steps before opening a pull request.
Pull Requests
Pull requests should:
- describe the net change
- explain why the change is needed
- stay focused on one reviewable slice
- reference the issues they close when applicable
Documentation
Documentation changes are welcome and should keep these sources aligned:
README.mddocs/- example host app guides
- module docs for public or operationally important modules
Questions And Discussion
If you are unsure about a change, open an issue or draft pull request first so the direction can be aligned before implementation gets large.