-
Notifications
You must be signed in to change notification settings - Fork 55
Description
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.claudebut not.kiro).
- For Claude use
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
Type
Projects
Status