# CodeStyle
Shared Credo policy and custom checks for Elixir codebases.
## Installation
Add `code_style` to a consuming Mix project:
```elixir
{:code_style, "~> 0.1.0", only: [:dev, :test], runtime: false}
```
Then load the Credo plugin in `.credo.exs`:
```elixir
%{
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:
```bash
mix check
```