Basics
This check is disabled by default.
Learn how to enable it via .credo.exs.
This check has a base priority of normal and works with any version of Elixir.
Explanation
Every public function carries a @doc.
CLAUDE.md, Conventions:
Document public API. Every module gets a
@moduledocand every public function a@doc(and a@spec); these are the pure core's contract and feedex_doc. Use@moduledoc falseonly for modules with no public surface. Private functions (defp) don't need@doc; clarify them with a brief comment when non-obvious.
Two thirds of that sentence are enforced elsewhere — Credo.Check.Readability.ModuleDoc for
the moduledoc and Credo.Check.Readability.Specs for the spec, both taking the same files:
exclusions as this check. This is the third.
A function counts as documented when a @doc precedes it (@doc false included — it is a
deliberate statement that the function has no public documentation) or when it carries
@impl, since a callback implementation takes its contract from the behaviour. Only the
first clause of a function needs one; each arity is its own function and wants its own.
Check-Specific Parameters
There are no specific parameters for this check.
General Parameters
Like with all checks, general params can be applied.
Parameters can be configured via the .credo.exs config file.