Files
iot-device-management-frontend/AGENTS.md
lzh 5d42c2bfe6 feat(iot-v2): 新增 AGENTS.md 跨 agent 通用规范(方案 C)
- AGENTS.md 作为 agents.md 标准规范文件(Claude Code/Cursor/Codex 等通用)
- .gitignore 补充 .claude/ 和 CLAUDE.md 忽略规则
- AGENTS.md 追踪进入 git(团队共享)

涵盖:
- 项目背景(IoT v2.0 前端升级)
- 任务卡系统引用(14-任务执行卡/Fxx)
- 硬约束(分支 feat/iot-2.0 / 禁止 push / 决策 5 双入口)
- 前端约定(TS 严格 / pnpm catalog / i18n / 模板变量)
- 告警正交状态 5 种组合展示(评审 C1)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 17:49:22 +08:00

6.2 KiB
Raw Blame History

AGENTS.md — IoT v2.0 升级(前端)

本文档给所有 AI AgentClaude Code / Cursor / Windsurf / Codex CLI / Aider 等)看 遵循 agents.md 标准 本 worktree 专用于 IoT 模块 v2.0 升级前端实施 对应分支:feat/iot-2.0


一、项目背景

AIoT 前端vben-admin 5.5.9 monorepoIoT v2.0 升级前端:

  • 技术栈Vue 3 + Ant Design Vue + Vben Admin 5.5.9 + pnpm 10+ + Node 20.19+ + Turborepo
  • 目标:规则链 DAG 画布 + 子系统管理 + 告警正交状态机展示 + 派生物模型
  • 范围:第一期 F1-F1111 个前端任务)
  • 后端配对C:\workspace\java17\aiot-platform-cloud-iot(分支 feat/iot-2.0,承接 B1-B19
  • 主工作应用apps/web-antd/(生产使用)

二、任务卡系统(权威 spec

所有任务的需求 / 验收 / 约束在任务卡:

资源 绝对路径
任务卡目录 C:\document\AIOT\开发者文档\03-IoT领域\升级设计方案\14-任务执行卡\
目录说明 + Wave 依赖 14-任务执行卡\README.md
评审档案 13-评审记录\01-10-轮次报告 + 11-决策记录

本 worktree 任务范围:仅 F 开头前端任务,第一期 F1-F11。


三、硬约束(所有 Agent 共守)

3.1 Git 边界

  • 分支feat/iot-2.0worktree 绑定)
  • 禁止git pushgit push --force--no-verify--amend 已推送的 commit
  • 禁止git checkout 切换分支worktree 固定)
  • 本地 commit 即可,等人工 review 后再推送

3.2 任务范围

  • 第一期仅 F1-F11
  • 禁止做 F12+(第二期起)

3.3 决策 5 双入口路由(不可违反

  • 保留现有 /iot/rule/scene/*v1 场景规则表单页)—— 不改不删
  • 新增 /iot/rule/chain/*v2 DAG 画布)
  • 两入口平级共存,不做自动跳转
  • 灰度全量切换后再 hidden: truev2.1 阶段处理)

3.4 代码边界

  • 禁止修改 apps/web-antd/src/views/iot/rule/scene/*
  • 禁止修改 apps/web-antd/src/router/routes/modules/iot.ts 中现有 scene 路由项

3.5 质量门槛

  • pnpm check:type 必须通过TS 严格模式,禁用 any
  • pnpm lint 必须通过
  • pnpm test:unit 必须通过
  • Acceptance Criteria 逐项通过才 commit

四、任务执行标准流程

  1. Read 任务卡14-任务执行卡/Fxx-*.md(绝对路径)
  2. Read source_doc + CLAUDE.md本目录
  3. Read depends_on 上游任务产出(含后端 VO 类型)
  4. 按 Known Pitfalls 规避
  5. 实现 + Vitest 单元测试
  6. 运行质检三连
    pnpm check:type
    pnpm lint
    pnpm test:unit
    
  7. 逐项 check Acceptance;未全通过不 commit
  8. commit 规范(中文):
    [Fxx] 任务标题
    
    - 主要文件 1
    - 主要文件 2
    - Known Pitfalls 落地:⚠️ 评审 Xx
    
    Co-Authored-By: <AI 模型标识>
    
  9. 更新任务卡 frontmatterstatus: completed + updated: <YYYY-MM-DD>
  10. README.md §3.3 下游 Wave

五、关键前端约定(第 8 轮评审 + 决策 5

约定 规则
TypeScript 严格 不用 any;与后端 VO 类型对齐手动同步 .d.ts
依赖管理 pnpm catalogpnpm-workspace.yaml禁止package.json 硬编码版本
HTTP 请求 @vben/request禁用 原生 fetch / axios
状态管理 Pinia
动态表单 @form-create/ant-design-vue(已集成)
DAG 画布 @vue-flow/coreF1 引入)
i18n 所有文案走 t('iot.xxx')禁止硬编码中文zh-CN / en-US 同步
模板变量 ${data.x} / ${meta.x} / ${alarm.x} / ${trigger.x}(与后端对齐),禁用 $[...]
文件命名 组件 PascalCaseDagCanvas.vueComposable useXxx.ts

告警正交状态展示(评审 C1

告警列表必须展示 5 种组合

组合 颜色
活跃·未确认ack=0, clear=0, archived=0
活跃·已确认
已清除·未确认(关键运维场景) (醒目)
已清除·已确认 绿
已归档

禁止退化为 3 态线性展示。


六、测试与构建命令

# 类型检查
pnpm check:type

# Lint
pnpm lint

# 单元测试Vitest
pnpm test:unit

# E2EPlaywright
pnpm test:e2e

# 开发服务器(端口 5666
pnpm dev:antd

# 生产构建
pnpm build:antd

七、环境要求

  • Node.js 20.19.0+
  • pnpm 10.0.0+

首次进入 worktree 必做

pnpm install

node_modules 不跨 worktree 共享。


八、后端 API 前置依赖

前端 F 任务多数依赖后端 API

前端任务 依赖后端 API来自 Bxx
F3 属性面板 B4/B5/B6 Provider metadata API
F4 触发器表单 B4 TriggerProvider metadata
F5 条件表单 B5 ConditionEvaluator metadata
F6 动作表单 B6 ActionProvider metadata
F7 规则链列表 B2 /iot/rule-chain/* API
F9 子系统管理 B10/B11
F10 告警列表 B12 /iot/alarm-record/*
F11 设备筛选 B10/B11

若后端相关 B 任务未 completed

  • F1/F2/F8 可独立开发
  • F3-F7/F9-F11 可先做 UI 骨架 + mock 数据,等后端就绪联调

九、需要人工决策的场景

Agent 遇以下情况不得自动判断,需停下通知:

  • pnpm check:type / lint / test:unit 连续 3 次失败
  • Acceptance 有主观项(如 "UI 美观度"
  • Known Pitfalls 的设计取舍
  • 上游后端 API schema 与任务卡预期不符
  • 视觉决策(颜色 / 布局细节未在任务卡规定)

十、相关文档索引

文档 用途
CLAUDE.md(同目录) Claude Code 专有机制
14-任务执行卡/README.md 目录构成
14-任务执行卡/01-Claude-Code执行设置指南.md 完整执行设置
13-评审记录/11-未决议题的用户决策记录.md 决策 5 双入口
C:\workspace\java17\aiot-platform-cloud-iot\AGENTS.md 后端对照

十一、变更日志

  • 2026-04-23 初建