Quality Configuration

Copy Markdown

Single source of truth for all quality settings.

Formatting Standards

SettingValueApplies To
Indent stylespacesAll files
Indent size2Elixir, YAML, JSON, Markdown
Line length120Elixir code
End of linelfAll files
Final newlineyesAll files
Trim trailing whitespaceyesAll files

Quality Checks by Stage

CheckPre-commitPre-pushCINotes
Formatting (Elixir)Yes-Yesmix format --check-formatted
Formatting (Markdown)Yes-Yesdprint check
Secret scanningYes-Yesgitleaks protect --staged
Compilation-YesYesmix compile --warnings-as-errors
Linting-YesYesmix credo --strict
Type checking-YesYesmix dialyzer
Unit tests-YesYesmix test --exclude slow --exclude integration
Integration tests--YesCI only
Dependency audit-YesYesmix deps.audit + mix hex.audit
Coverage--YesCI only

Validation Checklist

  • [ ] .editorconfig matches Formatting Standards
  • [ ] Linter configs match line length and indent
  • [ ] Pre-commit runs all "Pre-commit: Yes" checks
  • [ ] Pre-push runs all "Pre-push: Yes" checks
  • [ ] CI runs all checks marked "CI: Yes"