Currently, APM dependencies only support folder-level granularity. When specifying a dependency path, all instruction files within that folder are loaded. This creates challenges when a folder contains multiple instruction files, but only specific ones are needed for a particular project.
Current Behavior
In apm.yml, dependencies are specified at the folder level:
dependencies:
apm:
- organization/copilot-instructions/team-name
This loads all instruction files under the tribe-name folder, even if only some are relevant to the current project.
Desired Behavior
Allow specifying individual files by their full path:
dependencies:
apm:
- organization/copilot-insturctions/team-name/hapijs.common.instructions.md
- organization/copilot-insturctions/team-name/nestjs.common.instructions.md
This would load only the specified instruction files, providing better control over which instructions apply to each project.
Use Case
My project folder (market-supply/) contains instruction files for multiple tech stacks:
hapijs.common.instructions.md
nestjs.common.instructions.md
java.common.instructions.md
react.common.instructions.md
android.common.instructions.md
etc.
A NestJS project should only load the NestJS-relevant instructions, not Java, Android, or HapiJS instructions. Currently, there's no way to selectively include only the needed files.
Benefits
Precision: Load only relevant instructions for each project
Performance: Reduce context size by excluding unnecessary files
Clarity: Explicit declaration of which instructions apply
Flexibility: Mix folder and file-level dependencies as needed
Proposed Syntax
Support both folder and file paths:
dependencies:
apm:
- organization/copilot-insturctions/team-name # folder - loads all files
- organization/copilot-insturctions/team-name/nestjs.common.instructions.md # specific file
Currently, APM dependencies only support folder-level granularity. When specifying a dependency path, all instruction files within that folder are loaded. This creates challenges when a folder contains multiple instruction files, but only specific ones are needed for a particular project.
Current Behavior
In apm.yml, dependencies are specified at the folder level:
This loads all instruction files under the
tribe-namefolder, even if only some are relevant to the current project.Desired Behavior
Allow specifying individual files by their full path:
This would load only the specified instruction files, providing better control over which instructions apply to each project.
Use Case
My project folder (market-supply/) contains instruction files for multiple tech stacks:
hapijs.common.instructions.mdnestjs.common.instructions.mdjava.common.instructions.mdreact.common.instructions.mdandroid.common.instructions.mdetc.
A NestJS project should only load the NestJS-relevant instructions, not Java, Android, or HapiJS instructions. Currently, there's no way to selectively include only the needed files.
Benefits
Precision: Load only relevant instructions for each project
Performance: Reduce context size by excluding unnecessary files
Clarity: Explicit declaration of which instructions apply
Flexibility: Mix folder and file-level dependencies as needed
Proposed Syntax
Support both folder and file paths: