XDG Base Directory Specifications
Folders such as .config and .cache should only contain configuration and cache files, respectively
for programs on a machine. The
problem is, many programs do not adhere to these rules. There
are four main default XDG base directories that all programs on Unix-based systems should adhere to.
XDG_CONFIG_HOME -> $HOME/.config
XDG_CACHE_HOME -> $HOME/.cache
XDG_DATA_HOME -> $HOME/.local/share
XDG_STATE_HOME -> $HOME/.local/state
To call out some programs that do not adhere to these specifications: Firefox, Thunderbird, any chrome based application, VS Code, etc. The list goes on and on, but to make a point; So many of the most used applications on Unix-based systems do not follow these rules and they cause unnecessary home directory clutter.
Reference: https://wiki.archlinux.org/title/XDG_Base_Directory
Update 03.04.2026
Wow. Basically all the new things don’t care about this. All the new cli ai apps etc.