Issue
Path construction is inconsistent across the codebase:
Examples:
task/create.go:28: Uses fmt.Sprintf("%s%s", path, name) ❌
utils/storage.go:13: Uses filepath.Join(cfg.General.VaultPath, projectName) ✓
task/finish.go:82: Uses utils.ListMarkdownFiles() ✓
- Other places mix approaches
Problem
Solution
- Always use
filepath.Join for path construction
- Create wrapper function in utils if needed:
func GetProjectDir(cfg config.Config, projectName string) string {
return filepath.Join(cfg.General.VaultPath, projectName)
}
- Audit entire codebase for consistency
Impact
🟢 Low - Code quality and safety