Shared Credo policy and custom checks for Elixir codebases.
Installation
Add code_style to a consuming Mix project:
{:code_style, "~> 0.1.0", only: [:dev, :test], runtime: false}Then load the Credo plugin in .credo.exs:
%{
configs: [
%{
name: "default",
plugins: [{CodeStyle, []}]
}
]
}The plugin registers the shared Credo policy, ExSlop checks, migration safety, and the custom checks below.
Custom Checks
CodeStyle.Check.Design.NoDatabaseConstraints flags business-logic column options in
Ecto migration table blocks.
CodeStyle.Check.Warning.RepoInsideLoop flags direct Repo.* calls inside
Enum, Stream, and for loop bodies where the code is likely to create N+1 query
behavior.
Development
Run the package checks with Mix:
mix check