Skip to content

Add repositories symlink feature for advanced AI usage #1735

@hohwille

Description

@hohwille

Feature idea

As an IDEasy user, I want my project to be preconfigured for my AI tool-chain.
Unfortunately the AI tool makers and IDE vendors do not have a common standard or a smart approach for AI configuration yet. The current status is:

  • Your configuration folder has to be in the workspace root
  • The configuration folder name is specific for your AI tool
    • For Claude use .claude
    • For Kira use .kiro
    • For Copilot use .github (while it also honors .claude but not .kiro).

Surely you want to have your AI stuff in a git repository to share them with your team.
The most intuitive or naive way is that projects simply add such folder(s) directly to their git repo together with their code.
However, this may cause multiple problems:

  • No support for multiple AI tools (without massive redundant maintenance)
  • Problem if your project uses multiple git repositories (micro-services without mono-repo approach, and believe me if you are not Google then mono-repo is not the answer!)
  • AI is moving fast but your code repo may be big and have complex pipelines to bring in changes so it might be slow you down to bring fast and frequent changes to skills, hooks, or instructions (to many branches)

The idea for this story is therefore that IDEasy will support a new property in the properties configuration of a repository:

git_url=https://github.com/someorg/ai-instructions.git
workspace=*
links=.github,.claude,.kiro
active=true

This is a generic feature that is not AI specific:

  • workspaces=* means all existing workspaces.
  • links=«path»[,«path»] means a comma separated list of relative paths that will be created as symbolic link to point to the cloded git repo.

When I run ide update again, it will honour this feature and find out if new workspaces have been created and links are missing and create all missing symlinks automatically and seamless.

As a result we should get this in every folder $IDE_HOME/workspaces/«workspace»:

/ 
├──/ .claude/ → ai-instructions/
├──/ .github/ → ai-instructions/
├──/ .kiro/ → ai-instructions/
├──/ ai-instructions/
│  ├──/ hooks/
│  ├──/ rules/
│  ├──/ skills/
│  ├──/ steering/
│  ├──/ CLAUDE.md
│  └──/ copilot-instructions.md
└──/ .../

Additional context

To support workspaces=* we have to collect all explicit workspaces from all repository properties upfront to avoid bugs that depending on the name order of multiple «repository».properties you will get different results.
However, additionally also all existing folders in workspaces need to be honored if the user manually creates them.

p.s.: We hope that AI and IDE vendors will get together and improve standardisation to prevent much of this mess. It is especially sad that there is no standard for instructions (.claude/CLAUDE.md vs. .github/copilot-instructions.md vs. .kiro/steering/*.md). Meanwhile you might use git-symbolic-links-feature as a workaround for such things.

Metadata

Metadata

Assignees

Labels

AIartificial intelligence, GenAI, etc.createCreate commandlet used to create new IDEasy projects with "ide create"enhancementNew feature or requestrepositoryCommandlet to clone, build or import git repositoriesupdaterelated to updating software or the entire ide

Projects

Status

✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions