refactor: update loadRoleInstructions to prioritize new file layout
This commit is contained in:
@@ -44,17 +44,19 @@ export async function loadRoleInstructions(
|
|||||||
projectName: string,
|
projectName: string,
|
||||||
role: string,
|
role: string,
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const projectFile = path.join(workspaceDir, "projects", "roles", projectName, `${role}.md`);
|
// Try paths in priority order: new layout first, then legacy fallback
|
||||||
try {
|
const candidates = [
|
||||||
return await fs.readFile(projectFile, "utf-8");
|
path.join(workspaceDir, "devclaw", "projects", projectName, "prompts", `${role}.md`),
|
||||||
} catch {
|
path.join(workspaceDir, "devclaw", "prompts", `${role}.md`),
|
||||||
/* not found — try default */
|
path.join(workspaceDir, "projects", "roles", projectName, `${role}.md`),
|
||||||
}
|
path.join(workspaceDir, "projects", "roles", "default", `${role}.md`),
|
||||||
const defaultFile = path.join(workspaceDir, "projects", "roles", "default", `${role}.md`);
|
];
|
||||||
try {
|
for (const filePath of candidates) {
|
||||||
return await fs.readFile(defaultFile, "utf-8");
|
try {
|
||||||
} catch {
|
return await fs.readFile(filePath, "utf-8");
|
||||||
/* not found */
|
} catch {
|
||||||
|
/* not found — try next */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user