{"repo":"elixir-vibe/ex_slop","free":true,"listed":false,"github":"https://github.com/elixir-vibe/ex_slop","clone":"git clone https://github.com/elixir-vibe/ex_slop.git","description":"Credo checks that catch AI-generated Elixir code slop","language":"Elixir","stars":145,"topics":["ai-code","anti-patterns","code-quality","credo","ecto","elixir","linter"],"license":"MIT","category":"dev-tools","readme_excerpt":"ExSlop Credo checks that catch AI-generated code slop in Elixir. 40 checks for patterns that LLMs produce but experienced Elixir developers don't — blanket rescues, narrator docs, obvious comments, anti-idiomatic Enum usage, try/rescue around non-raising functions, N+1 queries, and more. Most checks avoid built-in Credo overlap: Credo never inspects doc/comment content , doesn't catch Ecto anti-patterns or identity passthrough, and its MapInto / CaseTrivialMatches checks are disabled or deprecated. A few semantic-performance checks intentionally overlap with useful Credo refactors so ExSlop can serve generated-code validation pipelines. Installation Add to mix.exs : Register the plugin in your .credo.exs : This enables 31 high-signal checks automatically and leaves noisier style/performance checks opt-in. [!IMPORTANT] The plugins: line only enables the checks when your config does not declare an explicit checks.enabled list. If you ran mix credo.gen.config , your .credo.exs has a full enabled: list, and Credo treats it as authoritative — it discards the checks the plugin registers, so the plugin contributes nothing. Append the recommended set to your enabled: list instead: ExSlop prints a warning when it detects this situation. Or cherry-pick individual checks — append them to the extra list: Cherry-pick only the checks that make sense for your project. Checks Warnings Check What it catches ------- ----------------- BlanketRescue rescue - nil or rescue e - {:error, \"...\"} Res","default_branch":null,"files":null,"tree":[],"storefront":"/r/elixir-vibe","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/elixir-vibe/ex_slop/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}