Skip to content

Feature request: Add custom repository display names #472

Description

@aidxun

Problem

When two different local directories contain repositories with the same folder/repo name, Helmor shows them with the same repository name in navigation and repository selection surfaces. This makes it hard to tell which repository is which without relying on workspace context or filesystem memory.

Example:

  • /path/a/helmor
  • /path/b/helmor

Both appear as helmor, even though they are distinct local repositories.

Requested behavior

Add a user-editable repository display name / alias so each repository can be identified clearly inside Helmor without changing the actual Git remote, folder name, or workspace paths.

Expected UX

  • Repository settings should allow editing a custom display name.
  • Repository lists, workspace start selectors, navigation, and settings should prefer the custom display name when present.
  • The real repo name/path should remain available as secondary context, especially when two repositories share the same display name.
  • Clearing the custom name should fall back to the current derived repository name.

Acceptance criteria

  • Users can set, update, and clear a custom display name for a repository.
  • Custom names persist across app restarts.
  • Two repositories with the same folder name can be visually distinguished in all primary repo selection surfaces.
  • Existing repositories keep their current display behavior after migration.
  • The feature does not affect Git operations, remotes, workspace paths, branch names, or repo identity matching.

Implementation notes

The current repository list model exposes RepositoryCreateOption.name from the repos table. A low-risk implementation could add a nullable custom display-name field to repository storage, expose it through the typed API, and centralize the display-name fallback so UI surfaces do not each invent their own logic.

This should be treated as a display/UX preference, not as a change to repository identity.

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