ComponentGuidance to its existing ComponentDefinition; it works for external
packages and components without a playground entry. Omission keeps existing
definitions compatible and means that no author guidance is declared.
Declare beside the component
This example belongs in a trusted package provider.AcmeSignatureField must be
your actual installed Filament field class; the example file must exist in your
distributed package.
Keep facts separate from advice
Guidance is immutable and detached from caller array aliases. Each declaration
has a 32 KiB metadata budget; compiled exported guidance has a 4 MiB aggregate
budget. Invalid metadata rejects before the registry candidate is committed.
The optional guidance renderer is checked without creating a field instance.
Read the installed contract
format: 1; declared guidance has its own format: 1. These are
discovery formats, not asset manifests, SDK ABI or stored-value versions.
Consumers should tolerate additional report fields, inspect format before
interpreting it, and check the command exit status. Invalid selectors and missing
examples return a nonzero exit with a format: 1 / error JSON object when
--json is selected. Text validation does not certify the accuracy of author advice.
Surface and child-contract renderers remain authoritative. Guidance can supply
a checked renderer when neither declares one. An absent renderer remains
not-declared; the command never guesses a class from a slug. A guidance-specific
documentation URL takes priority, including for third-party authors. Without an
explicit external URL, discovery does not invent a page on the FLEX docs site.
Nonempty guidance examples take precedence for this command; otherwise it uses
the component’s existing catalog examples. IDs are one-based and stable within
that installed definition. Output exposes labels and requested source, not local
file paths. Source is bounded to 128 KiB and 2000 lines, must be UTF-8 and is not
evaluated. The CLI has no remote fetching, record query or publication step.
The report intentionally does not enumerate arbitrary fluent methods. The
configurationOptions list comes from the declared child configuration contract;
it is not proof that every PHP callback can be serialized into a stored schema.