mobile-dev-inc/maestro

Maestro dumps its state files into `$HOME`

Open

#1,798 opened on Jul 12, 2024

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Kotlin (6,111 stars) (306 forks)batch import
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 the applesimutil binary, which we may not need soon, see #1797
  • lib/ contains JARs. Not sure where they exactly they should go (let's look at how other JVM apps do this)
  • sessions -> XDG_STATE_HOME
  • tests/ -> XDG_STATE_HOME
  • tmp/ -> 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

Contributor guide