A generated source file.
@type kind() :: :elixir | :erlang | :test | :config | :mix_project
@type t() :: %ProgramFacts.File{kind: kind(), path: String.t(), source: String.t()}