Thanks for contributing to Squidie.
Development Setup
Requirements:
- Elixir
~> 1.18 - 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 verification gate:
mix precommit
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.
Run coverage when changing tests or coverage-sensitive runtime paths:
MIX_ENV=test mix coveralls
Coverage thresholds are configured in coveralls.json and codecov.yml.
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.