CandidateProvider
Provides the canonical list of candidate paths for export-ignore rules.
ExistenceChecker
Checks the existence of files and directories in a given base path.
Merger
Merges .gitattributes content with generated export-ignore rules.
Reader
Reads raw .gitattributes content from the filesystem.
Writer
Persists normalized .gitattributes content.