[FEATURE] Support for XDG Base Directory Specification in Doppler
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 396
- Forks
- 83
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 3
Description
Is your feature request related to a problem? Please describe.
I'm often frustrated when applications like Doppler store configuration, data, or cache files in non-standard locations within my home directory, cluttering it with hidden files and folders. This makes it harder to manage my user-specific data and configurations, especially on Linux systems where the XDG Base Directory Specification provides a standardized way to organize such files. Currently, Doppler does not respect the XDG Base Directory Specification, which leads to inconsistency with other modern applications that follow this standard.
Describe the solution you'd like
I would like Doppler to support the XDG Base Directory Specification by storing its files in the appropriate directories as defined by the relevant environment variables.If these environment variables are not set or are empty, Doppler should fall back to the default paths as outlined in the XDG Base Directory Specification. This would ensure consistency with other applications and reduce clutter in the user's home directory.
Describe alternatives you've considered
One alternative is to provide a configuration option for users to manually specify storage paths, but this places the burden on the user to maintain consistency and does not inherently solve the problem of standardization. Supporting XDG by default, with an optional override for custom paths, would be the most user-friendly and standards-compliant approach.
Additional context
The XDG Base Directory Specification is a widely accepted standard on Linux and other Unix-like systems for organizing user-specific files. It helps maintain a clean home directory by defining standard locations for configuration, data, cache, state, and runtime files through environment variables like $XDG_CONFIG_HOME, $XDG_DATA_HOME, and others. Many modern applications and tools adhere to this specification, and supporting it in Doppler would improve interoperability and user experience on these platforms.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named in the issue. Start by locating where Doppler currently stores configuration, data, cache, state, and runtime files, then compare those paths with the XDG Base Directory Specification. Done means the relevant XDG environment variables and specified defaults are respected, with any supported custom override behavior covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100