26 lines
711 B
JavaScript
26 lines
711 B
JavaScript
import fs from 'fs';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
import yaml from 'js-yaml';
|
|
|
|
const ROLES_DIR = path.join(fileURLToPath(import.meta.url), '..', 'prompts', 'roles');
|
|
|
|
export function loadRoles() {
|
|
return fs.readdirSync(ROLES_DIR)
|
|
.filter(f => f.endsWith('.yaml'))
|
|
.sort()
|
|
.map(f => yaml.load(fs.readFileSync(path.join(ROLES_DIR, f), 'utf8')));
|
|
}
|
|
|
|
export function getRoleIntro(roles) {
|
|
const lines = [
|
|
'## 🤖 AI Code Review 團隊', '',
|
|
'| 👤 名稱 | 🎯 職責 | 🧠 個性 |',
|
|
'|--------|--------|--------|',
|
|
];
|
|
for (const r of roles) {
|
|
lines.push(`| **${r.name}** | ${r.role} | ${r.personality} |`);
|
|
}
|
|
return lines.join('\n');
|
|
}
|