98 lines
3.0 KiB
Python
98 lines
3.0 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
"""
|
|||
|
|
Soul 创业派对 - 路径别名
|
|||
|
|
以项目根为工作区,脚本统一引用。迁移到其他电脑时只需修改 workspace.txt。
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
from pathlib import Path
|
|||
|
|
|
|||
|
|
# ========== 工作区根目录 ==========
|
|||
|
|
_THIS_FILE = Path(__file__).resolve()
|
|||
|
|
_CURSOR_DIR = _THIS_FILE.parent.parent
|
|||
|
|
ROOT = _CURSOR_DIR.parent
|
|||
|
|
|
|||
|
|
_WORKSPACE_OVERRIDE = _THIS_FILE.parent / "workspace.txt"
|
|||
|
|
if _WORKSPACE_OVERRIDE.exists():
|
|||
|
|
for line in _WORKSPACE_OVERRIDE.read_text(encoding="utf-8").strip().splitlines():
|
|||
|
|
line = line.strip()
|
|||
|
|
if line and not line.startswith("#"):
|
|||
|
|
ROOT = Path(line).resolve()
|
|||
|
|
break
|
|||
|
|
|
|||
|
|
# ========== 核心目录别名 ==========
|
|||
|
|
CURSOR = ROOT / ".cursor"
|
|||
|
|
RULES = CURSOR / "rules"
|
|||
|
|
SKILLS = CURSOR / "skills"
|
|||
|
|
SCRIPTS = CURSOR / "scripts"
|
|||
|
|
PROCESS = CURSOR / "process"
|
|||
|
|
MEETING = CURSOR / "meeting"
|
|||
|
|
ARCHIVE = CURSOR / "archive"
|
|||
|
|
CONFIG = CURSOR / "config"
|
|||
|
|
MODEL_SWITCH = CONFIG / "model_switch.json"
|
|||
|
|
DOCS = CURSOR / "docs"
|
|||
|
|
|
|||
|
|
# ========== Agent 目录(Soul 开发团队结构) ==========
|
|||
|
|
AGENT = CURSOR / "agent"
|
|||
|
|
|
|||
|
|
# 管理层
|
|||
|
|
AGENT_LEAD = AGENT / "老板分身"
|
|||
|
|
EVOLUTION_LEAD = AGENT_LEAD / "evolution"
|
|||
|
|
|
|||
|
|
# 支撑层
|
|||
|
|
AGENT_ASSISTANT = AGENT / "开发助理"
|
|||
|
|
EVOLUTION_ORANGE = AGENT_ASSISTANT / "evolution"
|
|||
|
|
ARCHIVED_ORANGE = AGENT_ASSISTANT / "archived"
|
|||
|
|
PROJECT_INDEX = AGENT_ASSISTANT / "项目索引"
|
|||
|
|
SCRIPT_ORANGE = AGENT_ASSISTANT / "script"
|
|||
|
|
|
|||
|
|
# Soul 开发角色
|
|||
|
|
AGENT_MINIPROGRAM = AGENT / "小程序开发工程师"
|
|||
|
|
AGENT_ADMIN = AGENT / "管理端开发工程师"
|
|||
|
|
AGENT_BACKEND = AGENT / "后端工程师"
|
|||
|
|
AGENT_PRODUCT = AGENT / "产品经理"
|
|||
|
|
AGENT_TEST = AGENT / "软件测试"
|
|||
|
|
AGENT_TEAM = AGENT / "团队"
|
|||
|
|
|
|||
|
|
# ========== 常用文件 ==========
|
|||
|
|
RULE_MAIN = RULES / "老板分身-索引.mdc"
|
|||
|
|
LOG_EVOLUTION = SCRIPTS / "进化日志.md"
|
|||
|
|
TEMPLATE_EXPERIENCE = SCRIPTS / "经验模板.md"
|
|||
|
|
|
|||
|
|
# ========== 角色 → agent 目录名映射 ==========
|
|||
|
|
ROLE_TO_AGENT = {
|
|||
|
|
# 管理层
|
|||
|
|
"老板分身": "老板分身",
|
|||
|
|
"开发助理": "开发助理",
|
|||
|
|
"助理橙子": "开发助理",
|
|||
|
|
"助手橙子": "开发助理",
|
|||
|
|
# Soul 开发角色
|
|||
|
|
"小程序开发工程师": "小程序开发工程师",
|
|||
|
|
"小程序": "小程序开发工程师",
|
|||
|
|
"管理端开发工程师": "管理端开发工程师",
|
|||
|
|
"管理端": "管理端开发工程师",
|
|||
|
|
"后端工程师": "后端工程师",
|
|||
|
|
"后端": "后端工程师",
|
|||
|
|
"后端开发": "后端工程师",
|
|||
|
|
# 产品与质量
|
|||
|
|
"产品经理": "产品经理",
|
|||
|
|
"产品": "产品经理",
|
|||
|
|
"软件测试": "软件测试",
|
|||
|
|
"测试": "软件测试",
|
|||
|
|
"测试人员": "软件测试",
|
|||
|
|
# 通用
|
|||
|
|
"团队": "团队",
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
def agent_evolution(role: str) -> Path:
|
|||
|
|
"""获取角色对应的 evolution 目录。"""
|
|||
|
|
agent_name = ROLE_TO_AGENT.get(role, role)
|
|||
|
|
return AGENT / agent_name / "evolution"
|
|||
|
|
|
|||
|
|
|
|||
|
|
def agent_script(role: str) -> Path:
|
|||
|
|
"""获取角色对应的 script 目录。"""
|
|||
|
|
agent_name = ROLE_TO_AGENT.get(role, role)
|
|||
|
|
return AGENT / agent_name / "script"
|