Skip to content

User config path violates XDG Base Directory Specification (XDG_CONFIG_HOME) #464

@malikwirin

Description

@malikwirin

Summary

Backlog.md stores per-user configuration under ~/.backlog/user and per-project configuration under .backlog/config.yml (repo-local).
This behavior does not follow the XDG Base Directory Specification, which defines $XDG_CONFIG_HOME (typically ~/.config) as the standard location for user-specific configuration files.

Current behavior

  • User config path: ~/.backlog/user.
  • Project config path: .backlog/config.yml.

Expected behavior (per spec)

  • User config should be stored under $XDG_CONFIG_HOME (fallback to ~/.config) in a tool-specific subdirectory, e.g. $XDG_CONFIG_HOME/backlog/….
  • Repo-local configuration under .backlog/config.yml can remain unchanged.

Why this is a problem

  • Not respecting the XDG Base Directory Specification makes configuration management inconsistent with established conventions and complicates dotfile management and declarative setups.

Proposed change (backwards compatible)

  1. Primary location: $XDG_CONFIG_HOME/backlog/… (or similar).
  2. Fallback when XDG_CONFIG_HOME is unset: ~/.config/backlog/….
  3. Compatibility: if legacy config exists at ~/.backlog/user, either read it as fallback or migrate (copy/symlink) once; please document precedence clearly.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions