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
A resource with a data layer but no actions defined cannot be interacted with through the Ash API. This is almost always an oversight.
Add an actions block:
actions do
defaults [:read, :destroy, create: :*, update: :*]
endThis check uses Ash's runtime introspection (Ash.Resource.Info.actions/1)
to see the fully-resolved action list. That means it correctly handles
resources whose actions are spliced in via Spark.Dsl.Fragment or
injected by extensions - cases the AST scanner would miss and
false-positive on.
Requirements
Your project must be compiled before running mix credo. If Ash is
not available in the VM running Credo, the check is a no-op and emits
a single diagnostic.
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.