Stay Out of my (Project) $HOME
I love making files organized. It gives me a sense of control over something in my life without really changing how things work. I'm an ardent fan of the XDG Base Directory Specification, I even use it on macOS to organize the various config files that Linux tools tend to spread everywhere.
Patrick Jackson takes this ethos to his project root directory. Wanting to organize the mess of special tool files that inevitably find themselves taking up valuable cognitive space in the project root. These files could easily be put into a configuration directory or tool director that would keep the project root clean and clear for, you know, actual project files.
It's odd that we allow these kinds of tools to just spray files
where ever they want. In wildly inconsistent locations, formats and
styles. Requiring the fastidious developer to employ yet another
tool (direnv
) to help fend off the rising tide of tool file
pollution. Are developers of these tools just that lazy? Or do they
not even think about it, because their tools should be the first
thing you see when you open a repository? Needless to say, I don't
fall into that latter camp.
I'm with Patrick on this one. We need an XDG-style specification (informal or not) to take root and provide some guidance for future generations. Otherwise we'll start seeing projects with more tool lines of code and config than actual program code.
Respond via email.