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.