credo-custom-checks
Use when creating custom Credo checks for project-specific code quality rules and standards in Elixir.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
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, []}
]
}
}
]
}
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-02-04
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!