Skip to content

[FEATURE] Add CDN retrieval for individual file paths in APM dependencies #319

@suatpolatt

Description

@suatpolatt

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

Metadata

Metadata

Labels

bugSomething isn't workingenhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions