-
-
Notifications
You must be signed in to change notification settings - Fork 962
Description
Create a way to provide the detalization level for packed files.
There are 3 levels:
- Full content - for a set of the most important files.
- Compress - for the less important ones, which still may be relevant.
- Directory-only - mention in the directory structure.
One can think of it as nested sets which describe not just the files, but the level of their detalization:
[ File in directory structure] < [ Compressed file ] < [ Full file ]
Use case: we need to improve build system.
- Full files: for all configs and build files.
- Directory structure: full file structure.
Use case: we need to work on a module residing inside a certain folder:
- Full files: the whole module, main project files, configuration
- Compressed files: other modules which somewhat contribute to context, but details aren't important.
Then we'll be able to create packing scenarios with various such settings and invoke them via MCP.
The simplest syntax would be 3 settings, e.g.
files: {
content: [...globs...], // full content
compress: [...globs...], // compressed
},
directory: [...globs...] // only list in the file structure- If a file matches a glob in
content- full content is included. - Otherwise, if it matches a glob in
compress- it gets compressed
So we can have like compress: **/*.ts, content: my.ts - all ts will be compressed, but my.ts will be included fully.
Also, all mentioned files are included into the directory structure, together with directory globs.
The directory globs has precedence over all ignores.
Here, the directory setting is the least important one, but it still may matter for huge projects with many files and folders. I understand we already have some ignore settings, perhaps they can replace directory or somehow make it into the mix =)