Credo Custom Checks
Use when creating custom Credo checks for project-specific code quality rules and standards in El…
by thebushidocollective · Apache-2.0
The skill
Use when creating custom Credo checks for project-specific code quality rules and standards in Elixir.
Credo Custom Checks
Creating custom Credo checks for project-specific rules.
Creating a Custom Check
defmodule MyApp.Credo.Check.NoHardcodedSecrets do
use Credo.Check,
category: :warning,
base_priority: :high,
explanations: [
check: """
Detects hardcoded secrets in code.
"""
]
@impl true
def run(%SourceFile{} = source_file, params) do
issue_meta = IssueMeta.for(source_file, params)
Credo.Code.prewalk(source_file, &traverse(&1, &2, issue_meta))
end
defp traverse(
{:@, _, [{:secret_key, _, [value]}]} = ast,
issues,
issue_meta
)
when is_binary(value) do
new_issue = issue_for(issue_meta, value)
{ast, [new_issue | issues]}
end
defp traverse(ast, issues, _issue_meta) do
{ast, issues}
end
defp issue_for(issue_meta, value) do
format_issue(
issue_meta,
message: "Hardcoded secret found: #{String.slice(value, 0..5)}...",
trigger: value
)
end
end
Using Custom Checks
# .credo.exs
%{
configs: [
%{
name: "default",
requires: ["./lib/my_app/credo/check/*.ex"],
checks: %{
enabled: [
{MyApp.Credo.Check.NoHardcodedSecrets, []}
]
}
}
]
}
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: thebushidocollective/credo-custom-checks-87418830234.
Details
- Publisher
- thebushidocollective
- Category
- Software Development › Testing & QA
- License
- Apache-2.0
- Updated
- 2026-09-08
References
More from thebushidocollective
- Create Blog Post Research Reddit discussions and write a blog post about how Han addresses the topic
- Create Do Create a new discipline plugin with specialized agents
- Create Hashi Create a new bridge plugin for MCP server integration
- Create Jutsu Create a new technique plugin for a technology (language, tool, framework, or validation)