P3buggood first issuemaestro cli
Description
Some users don't like when programs write tmp/state/config files to their $HOME (me included).
Current behavior
Upon installation, Maestro creates the ~/.maestro directory and stores some data there.
Expected behavior
There exist a spec called XDG Base Directory Specification. Maestro should follow it.
Implementation idea
$ ls -1F ~/.maestro
bin/
deps/
lib/
sessions
tests/
tmp/
uuid
I suggest the following:
bin/should be in the path made for that, e.g./usr/local/bin(or wherever your OS package manager installs programs)deps/contains only theapplesimutilbinary, which we may not need soon, see #1797lib/contains JARs. Not sure where they exactly they should go (let's look at how other JVM apps do this)sessions->XDG_STATE_HOMEtests/->XDG_STATE_HOMEtmp/->XDG_CACHE_HOME(not sure what goes in there, it's always empty on my machine)uuid->XDG_STATE_HOME
To support existing CLI installs, we should first look for ~/.maestro, and then fallback to XDG base dir spec.
Additional context
- Some logs are also saved in
~/Library/Logs/maestro(at least on macOS) (code link) - Dotfile madness, very good read
- XDG_STATE_HOME in XDG Base Directory Spec
- Community contributions are welcome!