这里整理好可直接复制即用的全套模板、Skill 文案、自动化脚本,按步骤部署即可,全程低 Token、开箱即用。
一、项目根目录文件(直接新建/粘贴内容)
1. .ai-context.md(核心项目上下文)
按需修改里面的技术栈、目录、规范,精简书写,控制在 500 Token 内
# 项目全局上下文(Trae 专用)
## 技术栈
框架/语言:
构建工具:
状态管理:
请求库:
UI 组件库:
## 目录结构(只列核心)
/src
/features 业务功能模块(按页面/功能拆分)
/components 通用公共组件
/hooks 自定义钩子
/store 全局状态
/utils 工具函数
/api 接口请求
## 核心数据模型
(例:User { id: number; name: string })
## 编码规范
1. 组件统一使用函数式组件
2. 命名:小驼峰命名法
3. 状态统一使用项目内置状态方案
4. 接口请求统一封装 api 层,不直接写请求逻辑
## 补充说明
(项目特殊规则、历史遗留逻辑、限制条件,无则删除本行)
2. .trae/ignore(Trae 忽略文件,杜绝无效扫描)
先在根目录新建 .trae 文件夹,再在里面创建 ignore 文件,内容如下:
# 依赖&构建产物
node_modules/
dist/
build/
out/
# 静态资源&大文件
assets/
images/
fonts/
media/
# 配置&文档&日志
*.log
docs/
*.mdx
.env*
*.lock
# IDE 缓存
.idea/
.vscode/
*.swp
.DS_Store
二、Trae Skills 模板(一键调用,免重复输入)
打开 Trae → 左侧 Skills → 新建 Skill,分别创建 2 个高频模板
Skill 1:项目快速初始化(主推,省 Token)
名称:项目上下文载入
提示词内容:
你已读取当前项目 .ai-context.md,严格遵循文档内的技术栈、目录结构、编码规范进行工作。
后续仅聚焦当前任务,不再重复询问项目基础信息,输出代码贴合项目现有风格。
Skill 2:代码片段精读(精准读局部代码)
名称:局部代码分析
提示词内容:
仅分析我接下来给出的代码片段/指定文件行号,不扩展无关逻辑,修改代码保持原有写法和规范。
三、Python 自动生成上下文脚本(gen_ai_context.py)
功能:自动读取 package.json 识别技术栈、扫描目录结构,一键更新 .ai-context.md
import os
import json
# 可自行配置需要扫描的目录、忽略目录
SCAN_DIR = "src"
IGNORE_DIRS = ("node_modules", ".trae", "assets", "dist")
CONTEXT_FILE = ".ai-context.md"
def get_project_stack():
"""从 package.json 提取技术栈"""
stack = []
pkg_path = "package.json"
if os.path.exists(pkg_path):
with open(pkg_path, "r", encoding="utf-8") as f:
pkg = json.load(f)
deps = {**pkg.get("dependencies", {}), **pkg.get("devDependencies", {})}
# 常用技术栈关键词匹配,可自行扩充
match_map = {
"react": "React",
"vue": "Vue",
"typescript": "TypeScript",
"vite": "Vite",
"webpack": "Webpack",
"axios": "Axios",
"zustand": "Zustand",
"pinia": "Pinia"
}
for key, name in match_map.items():
if key in deps:
stack.append(name)
return "、".join(stack) if stack else "未识别"
def scan_dir_tree(root, prefix=""):
"""生成精简目录树"""
tree = []
if not os.path.exists(root):
return tree
items = sorted(os.listdir(root))
for item in items:
item_path = os.path.join(root, item)
if item in IGNORE_DIRS or item.startswith("."):
continue
tree.append(f"{prefix}├─ {item}")
if os.path.isdir(item_path):
tree.extend(scan_dir_tree(item_path, prefix + " "))
return tree
def main():
print("正在自动生成 .ai-context.md ...")
# 组装内容
content = "# 项目全局上下文(Trae 自动生成)\n\n"
content += "## 技术栈\n"
content += f"{get_project_stack()}\n\n"
content += "## 目录结构\n"
dir_tree = scan_dir_tree(SCAN_DIR)
content += "\n".join(dir_tree) + "\n\n"
content += "## 编码规范\n"
content += "1. 遵循项目现有代码风格\n2. 新增逻辑复用现有工具、组件、接口\n"
# 写入文件
with open(CONTEXT_FILE, "w", encoding="utf-8") as f:
f.write(content)
print(f"生成完成 → {CONTEXT_FILE}")
if __name__ == "__main__":
main()
脚本使用方法
- 将脚本放在项目根目录;
- 每次更新依赖/调整目录后,执行:
python gen_ai_context.py; - 脚本会自动覆盖更新
.ai-context.md,无需手动改。
四、标准使用流程(新开 Trae 会话固定步骤)
这套流程单次输入 Token 稳定控制在 400 以内,速度最快
- 输入指令读取全局上下文
# .ai-context.md
- 精准引用当前任务相关文件/代码片段(二选一)
- 整文件:
# src/features/xxx/xxx.tsx - 局部行号(最省 Token):
# src/features/xxx/xxx.tsx:10-40
- 点击左侧 Skill → 执行 项目上下文载入
- 最后描述你的具体需求
完整示例(直接复制可用)
# .ai-context.md
# src/features/home/Index.tsx:25-60
帮我优化这段代码的渲染逻辑,修复重复请求问题
五、补充最优使用规则(进一步降 Token)
- 单任务单会话:一个功能/一个 bug 修复完就关闭会话,避免历史对话累积 Token;
- 绝不使用
# src/全目录扫描,只引用当前用到的 1~2 个文件; - 简单代码补全、查语法用轻量模型,复杂架构再用高阶模型;
- 项目大版本迭代后,运行一次
gen_ai_context.py更新上下文即可。