Merge pull request #4299 from aliou/fix/resource-location-in-config-tui

fix(coding-agent): preserve .agents provenance in skill metadata
This commit is contained in:
Mario Zechner
2026-05-08 15:32:01 +02:00
committed by GitHub
3 changed files with 152 additions and 6 deletions

View File

@@ -2182,6 +2182,7 @@ export class DefaultPackageManager implements PackageManager {
}
};
// Project extensions from .pi/
addResources(
"extensions",
collectAutoExtensionEntries(projectDirs.extensions),
@@ -2189,16 +2190,32 @@ export class DefaultPackageManager implements PackageManager {
projectOverrides.extensions,
projectBaseDir,
);
// Project skills from .pi/
addResources(
"skills",
[
...collectAutoSkillEntries(projectDirs.skills, "pi"),
...projectAgentsSkillDirs.flatMap((dir) => collectAutoSkillEntries(dir, "agents")),
],
collectAutoSkillEntries(projectDirs.skills, "pi"),
projectMetadata,
projectOverrides.skills,
projectBaseDir,
);
// Project skills from .agents/ (each with its own baseDir)
for (const agentsSkillsDir of projectAgentsSkillDirs) {
const agentsBaseDir = dirname(agentsSkillsDir); // the .agents directory
const agentsMetadata: PathMetadata = {
...projectMetadata,
baseDir: agentsBaseDir,
};
addResources(
"skills",
collectAutoSkillEntries(agentsSkillsDir, "agents"),
agentsMetadata,
projectOverrides.skills,
agentsBaseDir,
);
}
addResources(
"prompts",
collectAutoPromptEntries(projectDirs.prompts),
@@ -2214,6 +2231,7 @@ export class DefaultPackageManager implements PackageManager {
projectBaseDir,
);
// User extensions from ~/.pi/agent/
addResources(
"extensions",
collectAutoExtensionEntries(userDirs.extensions),
@@ -2221,13 +2239,30 @@ export class DefaultPackageManager implements PackageManager {
userOverrides.extensions,
globalBaseDir,
);
// User skills from ~/.pi/agent/
addResources(
"skills",
[...collectAutoSkillEntries(userDirs.skills, "pi"), ...collectAutoSkillEntries(userAgentsSkillsDir, "agents")],
collectAutoSkillEntries(userDirs.skills, "pi"),
userMetadata,
userOverrides.skills,
globalBaseDir,
);
// User skills from ~/.agents/ (with its own baseDir)
const userAgentsBaseDir = dirname(userAgentsSkillsDir);
const userAgentsMetadata: PathMetadata = {
...userMetadata,
baseDir: userAgentsBaseDir,
};
addResources(
"skills",
collectAutoSkillEntries(userAgentsSkillsDir, "agents"),
userAgentsMetadata,
userOverrides.skills,
userAgentsBaseDir,
);
addResources(
"prompts",
collectAutoPromptEntries(userDirs.prompts),