Feature idea
Extend the icd command by introducing a repository navigation option -r that allows users to directly navigate not only to a project but also into a specific repository within that project.
The new option should enhance the current navigation behavior by supporting both explicit and implicit repository selection.
Expected behavior:
- Basic usage (no argument)
No repository name is provided → fallback to the <project-name>.
- Explicit repository selection
icd -p IDEasy -r <repository-name>
The value after -r is interpreted as the repository (folder) name within the selected project. The repository is resolved in the context of the selected workspace.
- Workspace resolution behavior
If no workspace is explicitly provided, the command should:
- First search the workspace
main
- If no match is found, search all remaining workspaces
- Navigate to the first workspace (in this search order) containing the repository
- Error handling
If no matching repository is found in any workspace, the command should fail with a clear and informative error message, e.g:
Error: Repository '<name>' not found in any workspace.
Examples:
Example A (found in main):
icd -p IDEasy -r cli
→ navigate to /workspaces/main/IDEasy/cli
Example B (not in main, found in a next workspace)
icd -p IDEasy -r backend
Search order:
/workspaces/main/IDEasy/backend ❌
/workspaces/dev/IDEasy/backend ✅
→ navigate to /workspaces/dev/IDEasy/backend
Example C (fallback repo via project name)
icd -p IDEasy -r
→ navigate to /workspaces/main/IDEasy
Example D (repository not found anywhere)
icd -p IDEasy -r non-existing-repo
Search:
main ❌
dev ❌
Error: Repository 'non-existing-repo' not found in any workspace.
Additional context
No response
Feature idea
Extend the
icdcommand by introducing a repository navigation option-rthat allows users to directly navigate not only to a project but also into a specific repository within that project.The new option should enhance the current navigation behavior by supporting both explicit and implicit repository selection.
Expected behavior:
No repository name is provided → fallback to the
<project-name>.The value after
-ris interpreted as the repository (folder) name within the selected project. The repository is resolved in the context of the selected workspace.If no workspace is explicitly provided, the command should:
mainIf no matching repository is found in any workspace, the command should fail with a clear and informative error message, e.g:
Examples:
Example A (found in
main):icd -p IDEasy -r cli→ navigate to
/workspaces/main/IDEasy/cliExample B (not in
main, found in a next workspace)icd -p IDEasy -r backendSearch order:
/workspaces/main/IDEasy/backend❌/workspaces/dev/IDEasy/backend✅→ navigate to
/workspaces/dev/IDEasy/backendExample C (fallback repo via project name)
icd -p IDEasy -r→ navigate to
/workspaces/main/IDEasyExample D (repository not found anywhere)
icd -p IDEasy -r non-existing-repoSearch:
main❌dev❌Additional context
No response