Thank you for your interest in contributing to Arcadic!
Prerequisites
- Elixir 1.15+ and Erlang/OTP 26+
- ArcadeDB (for integration tests) — e.g.
docker run -p 2480:2480 \ -e JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata" arcadedata/arcadedb:latest
Getting Started
git clone https://github.com/baselabs/arcadic.git
cd arcadic
mix deps.get
mix test
Development Workflow
- Create a feature branch from
main. - Make your changes with clear, descriptive commit messages.
- Ensure all checks pass before opening a PR:
mix compile --warnings-as-errors # Zero warnings
mix quality # format --check-formatted + credo --strict + dialyzer
mix test # Run tests (add ARCADIC_TEST_URL for the integration suite)
- Update
CHANGELOG.mdunder[Unreleased]. - Open a Pull Request against
main.
Code Style
- Use
mix format—.formatter.exsholds the config. - Add
@moduledocand@docto public modules and functions. - Read
AGENTS.mdbefore changing transport, error, or parameterization code — its Critical Rules are binding.
License
By contributing, you agree that your contributions will be licensed under the MIT License.