refactor: update loadRoleInstructions to prioritize new file layout

This commit is contained in:
Lauren ten Hoor
2026-02-16 15:08:22 +08:00
parent 01ad5d326c
commit 65a24bb0ea

View File

@@ -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 "";
} }