Verifies the JobyKit wrapper contract for this app.
Checks every component registered in the host's DesignManifest:
- Every entry points at a real Phoenix function component
(
:manifest_drift). - Every wrapper carries
data-component="Module.function"on its root element (:missing_data_component). - Every wrapper declares
attr :rest, :global(:missing_rest_global).
Plus a sweep across the host's source tree for any function that
carries data-component=... but is not registered in the manifest
(:unregistered_wrapper) — i.e. wrappers invisible to /design.json
and to agents.
Usage
mix joby_kit.lint
mix joby_kit.lint --format json
mix joby_kit.lint --manifest MyAppWeb.DesignManifest
mix joby_kit.lint --paths "lib/**/components/**/*.ex"
mix joby_kit.lint --strict # warnings count as failuresOptions
--manifest— manifest module to lint. Defaults to<App>Web.DesignManifestderived frommix.exs.--paths— glob pattern(s) to scan for unregistered wrappers. Repeatable. Defaults tolib/**/*.ex.--format—text(default) orjson.--strict— exit non-zero on warnings as well as errors.
Exit codes
0— clean.1— at least one error (or any violation under--strict).