mobile-dev-inc/maestro

Maestro dumps its state files into `$HOME`

Open

#1,798 建立於 2024年7月12日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)Kotlin (306 fork)batch import
P3buggood first issuemaestro cli

倉庫指標

Star
 (6,111 star)
PR 合併指標
 (平均合併 12天 2小時) (30 天內合併 39 個 PR)

描述

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

貢獻者指南