Static command dependency analysis for HostKit resources.
@spec provided_commands([struct()]) :: MapSet.t(String.t())
@spec required_commands(struct()) :: [String.t()]
@spec validate([struct()]) :: :ok | {:error, HostKit.Diagnostics.t()}