5b877451eb
旧模板的 193 个文件整体删除,换成纯 Vue 3.5 + Naive UI 2.42 的树。
- 去掉 auto-import(组件与 API 全显式 import)、v-hasPerm(改 user.has('码'),全库 8 处)、
Stylelint;n-tag 的 type 统一过 utils/tag.ts 转换(Arco 色词直接透传会静默变灰)
- 图标改为构建期抽取:scripts/extract-pc-icons.py -> icons/icon-data.ts(37 个),
内网离线部署不会白屏
- 重搭后修掉 6 类"编译 / lint / typecheck 全绿、界面上就是坏的"故障:
① NGrid 的 cols 写成像素值(不是断点名 -> 永远只 1 列,工作台因此错乱)
② n-tab-pane 用 tab 属性(只渲染空注释节点,整排 tab 一个字都不显示)
③ 漏 import 被当未知自定义元素(样式整块丢) ④ .n-card__content 类名不存在
(高度链第一环失效,表格行在 DOM 里但屏幕上没有) ⑤ 填报单状态映射错位一格
⑥ 有标题的卡片没有上内边距(naive 的 padding-top 只给"内容区是长子"的卡片)
- 卡片式版面提成全局基线:styles/index.scss 的 xt-* 令牌 + .page-card / .toolbar /
.section-title,页面只引用、不再各写一套
- 品牌:改名「深学在线」,文字标换成几何标(方 = 卷宗 / 环 = 在线,不用文字字形);
index.html 的页签图标从 404 的 /favicon.ico 改指真实存在的 /favicon.svg
1.9 KiB
1.9 KiB
Agent 行为准则
适用于 Cursor、OpenCode、Codex 等 AI 编码助手。AGENTS.md 内联本节每轮注入。
通用要求
- 始终使用简体中文与用户沟通。
- 未经用户明确要求,不要创建说明文档、执行 git commit/push、修改 git 配置。
- 改动范围最小化:只改与任务直接相关的代码,不顺手重构无关模块。
- 优先复用项目已有抽象与约定,禁止凭空引入新架构或重复造轮子。
应当
- 改代码前先阅读项目既有实现(
src/views/里同类页面就是最好的模板),保持风格一致。 - 优先复用已有组件、composables(
src/composables/)、工具函数(src/utils/)与 API 封装(src/apis/xt/)。 - 任务完成后运行
pnpm typecheck(当前 0 错,有报错就是新引入的)与pnpm lint。 - 按需读取 skills,不要预加载全部。
不应
- ❌ 写 Arco Design 的组件与属性(
a-table/a-form/a-modal/arcoblue…)—— 项目已不用 Arco。 - ❌ 用
v-hasPerm指令或指望 auto-import:本仓库组件与 API 全部显式 import。 - ❌ 把
apis/xt/*.ts里映射的 Arco 色词直接塞给n-tag(会静默变灰,见utils/tag.ts)。 - ❌ 猜测不存在的接口路径、响应结构或配置项;以
src/apis/xt/与后端契约为准。 - ❌ 在用户未要求时添加测试、文档或无关注释。
编码前必读 skill
| 任务 | 技能 |
|---|---|
写/改 .vue |
skills/code-vue/SKILL.md |
| 写/改样式 | skills/code-css/SKILL.md |
写/改 .ts / composable |
skills/code-ts/SKILL.md |
| 项目约定、Naive UI 组件与目录 | skills/project-guide/SKILL.md |
| CRUD 列表/表单 | skills/project-crud/SKILL.md |
| 接口调用 | skills/project-api/SKILL.md |
| git commit | skills/git-commit/SKILL.md |