Shameless plug: I am the author.
XDG doesn’t apply for CLI apps? About half of dirs I still have cluttering my home are GUI apps whose devs refuse to follow the specification, while I see less friction from CLI/TUI devs, since they’re the ones actually seeing these hidden locations.
What makes you think XDG doesn’t apply to non GUI apps?
It’s already in the name - XDG stands for X Desktop Group (nowadays freedesktop), which works on interoperability for desktop environments. In a pure shell environment (or even if you’re not running a full desktop) none of the XDG variables are defined, and especially in shell environments the default fallbacks specified by XDG are not necessarily what the operator would expect.
That name is decades old. XDG stands for “Cross Desktop Group”.
A “pure” X environment (e.g.
startx xterm
) also doesn’t define those variables, but many desktop environments do, just like many shell configurations do.