SquidSonar is an embeddable Phoenix UI for inspecting Squidie workflow runs. Keep changes small, focused, and easy to review.
Development
Use the toolchain in .tool-versions, then run:
mix deps.get
mix precommit
mix precommit runs compile, format checks, and tests.
Quality Gates
The repo includes strict quality-gate aliases for duplicate-code and code-flow review:
mix quality_gates
mix quality_gates.ex_dna
mix quality_gates.reach
Current tool versions are ex_dna 1.5.2 and reach 2.7.1. Both are
dev/test-only dependencies with runtime: false.
mix quality_gates.ex_dna runs
mix ex_dna --min-mass 40 --max-clones 0 --format console. This fails on any
reported clone at the configured mass threshold.
mix quality_gates.reach runs mix reach.check --smells --strict. This fails
on any Reach smell finding.
These checks are part of mix precommit and CI. Do not bundle broad cleanup
with unrelated changes. Fix meaningful findings in the smallest behavior-safe
slice, and suppress an intentional finding only when the source comment explains
the domain reason it should remain.
Example App Coverage
Every user-facing feature should include matching example-app coverage when the behavior can be demonstrated in a running Phoenix app. The example app should make new dashboard behavior visible with real Squidie workflow data.
Pull Requests
- Use Conventional Commits.
- Keep one coherent intent per PR.
- Include the exact verification commands you ran.
- Include screenshots or video for UI changes when practical.
- Do not include secrets, local paths, hostnames, or machine-specific metadata.