-
Notifications
You must be signed in to change notification settings - Fork 206
Description
Dear Bloop Team,
I propose that Bloop relocates its project-specific files from the root .bloop/
folder to .config/bloop/
. This would hugely reduce clutter in the project's root directory.
A great example for this is the Mill build tool. By default, Mill uses:
-
.config/
for its settings -
out/
for its build output
Crucially, Mill's output location is flexible; a user can set the MILL_OUTPUT_DIR
environment variable to redirect build artifacts to a location like .local/state/mill/
, separating volatile state from project configuration.
Bloop could adopt a similar model. This change would make project directories cleaner and follows a proven, well-regarded XDG pattern.
Suggested Migration Path
To ensure a smooth transition for existing projects, Bloop could perform a one-time automatic migration.
-
on the first run in a project, Bloop would check for a .bloop directory in the root. If found, it would automatically move the entire .bloop directory to the new .config/bloop location
-
for all new projects, Bloop would simply use the
.config/bloop/
path by default
Further Reading
-
the
.config
Initiative: The source and discussion for the project-local.config
standard -
Scala and the XDG Standard: An article discussing the broader benefits of applying these directory standards within the Scala ecosystem
