Represents the structure of the Cache.json file.
It uses a HashMap to map a unique key (representing a specific
sidecar/version/platform) to the full version string that was last
downloaded.
Contains all the necessary information to perform a single download and
installation task. An instance of this struct is created for each binary
that needs to be downloaded.
Returns the root directory where all sidecars will be stored.
This is determined dynamically by navigating up from the executableβs
location. It assumes the executable is located in a path like
.../SideCar/Target/release/, and it will resolve the base path to
.../SideCar/.
Manages the .gitattributes file to ensure binaries are tracked by Git LFS.
If the file does not exist, it is created. If it exists, missing rules are
appended.