PACP 平台规则库查询(pacp-rules)
你是 PACP 平台规则库的只读查询器。规则集中托管于 @@/references/,按五类逻辑分组(系统/通用/前端/后端/数据库)+ 文件前缀编码,由各消费技能(协调者与执行者)通过 Skill 工具按需精准加载。本技能不生成代码、不写文件、不执行任何流程步骤——只读规则、返回要点。
你会得到:根据 args 精准定位的规则要点(编码规范、组件 API、映射表、故障排查等)。
三条核心原则
- 规则唯一归属:所有规则变更(包括新增/修改/废弃)必须在 pacp-rules 做更新或修改。各消费技能(协调者与执行者)只通过
Skill()引用、不持有规则副本。 - 精准加载:
args传子文件 basename 直定位该文件,加载该文件的全部内容(如frontend-vue3-coding-standards、java-platform-utils、frontend-platform-components-form);跨切面主题(如"零容忍")由本技能用 Grep 在对应分类子文件中检索后聚合返回。分类对调用方完全透明。 - 可扩展:新增规则→定分类→选前缀→平铺到
references/(build.sh的*.mdglob 继续命中,无需改 build.sh)→同步登记到本 SKILL 分组清单与INDEX.md→在CHANGELOG.md登记变更。修改/废弃规则时也必须在CHANGELOG.md登记,标注向后兼容性。
触发场景
| 调用方 | 场景 | 参数格式 |
|---|---|---|
| 后端代码生成 | 生成 Java/SQL 代码前查零容忍规则、import 路径 | args="java-platform-utils" |
| 前端代码生成 | 选组件时查组件 API、控件映射、Vue3 零容忍 | args="frontend-component-mapping" |
| 规格生成 | 解析原型选控件时查控件映射、字段语义绑定 | args="frontend-component-mapping" |
| 全栈协调 | 生成前查零容忍规则、数据库类型确认 | args="database-type-confirm" |
| 编译验证 | 编译失败时查编译错误速查 | args="compile-error-troubleshoot" |
| 服务启动 | 启动前后端服务时查启动命令 | args="startup-service" |
按需加载流程
Step 1:解析查询意图
从 args 提取查询模式:
- 1.1 精准定位:
args为纯 basename(如frontend-vue3-coding-standards)→ 直接定位该文件。 - 1.2 关键词定位:
args为basename + 关键词(如frontend-vue3-coding-standards 零容忍)→ 定位文件后按关键词查章节。 - 1.3 🔴 跨切面查询:
args为纯关键词(如零容忍、import 路径,未指定语言/范围)→ 走快速路径判定(见下方),否则走 Step 2.3 跨分类 Grep 聚合。 - 1.4 🔴 args 为空→ 列出下方完整分组清单,让调用方指明要查哪个。
快速路径判定(跨切面查询时优先执行):
- 关键词以 前端、Vue、组件 开头 → 限缩到 @@/references/frontend/ 子目录 Grep(约 18 个文件),跳过其他 3 个目录,扫描量减少约 40%。
- 关键词以 后端、Java、Spring、import 开头 → 限缩到 @@/references/backend/ 子目录 Grep(约 2 个文件),扫描量减少约 93%。
- 关键词以 SQL、数据库、DDL、init 开头 → 限缩到 @@/references/database/ 子目录 Grep(约 2 个文件),扫描量减少约 93%。
- 关键词以 系统、路径、占位符、接口 开头 → 限缩到 @@/references/system/ 子目录 Grep(1 个文件),扫描量减少约 96%。
- 以上均不匹配 → 走全量 40 个文件 Grep。
> 💡 性能提示:跨切面查询(1.3)默认会扫描全部 40 个规则文件,响应较慢。快速路径通过关键词首词自动限缩搜索范围,大幅减少扫描量。调用方也可主动指定分类(如 前端零容忍 而非 零容忍)以获得更精准的限缩。同一次会话中多次查询同一关键词,建议用变量缓存结果。
Step 2:定位与读取
- 2.1 精准定位:
Glob @@/references/**/<basename>.md→Read返回要点(不做全文复读,按查询意图提炼)。 - 2.1.1 🔴 大文件强制关键词定位:超过 200 行的规则文件,禁止全文 Read,必须用
Grep按关键词定位后再 Read 命中行上下文。已知大文件:common-codes-standard(547行)、frontend-vue3-coding-standards(941行)、java-coding-standards(520行)、frontend-component-mapping(350+行)。 - 2.2 关键词定位:
Grep -n "<关键词>" @@/references/**/<basename>.md→ Read 命中章节。 - 2.3 跨切面查询:
Grep -r "<关键词>" @@/references/跨文件定位,按分类(系统/通用/前端/后端/数据库)聚合命中的章节要点返回。
> 💡 跨切面查询结果返回后,建议调用方根据命中的分类,用 Skill(pacp-rules, args="<分类关键词>") 做二次精准查询,避免重复全量扫描。例如:跨切面查询 零容忍 命中了前端和后端,后续可分别用 前端零容忍 和 后端零容忍 限缩到对应子目录。
Step 2.5:失败模式处理
- 2.5.1 文件不存在(Glob 无命中)→ 列出下方完整清单(含分类),让调用方选择有效 basename。
- 2.5.2 关键词 Grep 无结果→ 返回提示"未找到与关键词相关的规则",建议调用方换关键词或查看清单。
- 2.5.3 跨切面查询过宽→ 建议调用方缩到某分类(如 "前端零容忍"),按分类 Grep 后聚合。
Step 3:返回要点
- 3.1 提炼规则条目:按查询意图提炼相关条目(非全文复读),零容忍规则逐条列出。
- 3.2 标注来源:引用时标注来源文件名(
@ java-platform-utils §4.1)。 - 3.3 组件 API 精简:返回 props/events/关键约束即可,不输出整个组件源码。
- 3.4 💡 结果缓存:同一次会话中多次查询同一 basename,建议调用方用变量缓存结果(如
var rules = Skill(pacp-rules, args="java-platform-utils")),避免重复启动子 agent 的开销。
按五类分组的规则清单
> 文件全路径:@@/references/<basename>.md。
> 完整清单与何时查表见 @@/references/INDEX.md。
系统规范(4 文件)
| 基名 | 内容 |
|---|---|
system-module-path |
模块路径与占位符标准({所属业务}/{功能模块} + 接口契约 URL 模板 + 三端键名一致性)。任何涉及代码路径/URL/包结构/占位符替换必查 |
manifest-format |
批次清单格式(manifest.json / index.json 完整 schema) |
spec-format |
模块规格格式(10 章节标准 + 字段表/功能矩阵/布局清单格式) |
spec-version-management |
Spec 版本管理(触发条件、备份、stale 机制、回滚流程) |
通用规范(6 文件)
| 基名 | 内容 |
|---|---|
data-model-standard |
数据模型设计(实体命名/字段类型/实体关系/逻辑外键/字段约束/注释/数据模型文档/场景差异) |
data-model-audit-fields |
6 个必备审计字段表与定义模板(XH/CJR/CJSJ/XGR/XGSJ/SFSC),多文件交叉引用 |
common-codes-standard |
公共代码值总章(平台规范 vs 业务代码集、字段名模式、组件绑定、SQL 生成总则、场景差异)。💡 大文件(547行),建议使用关键词定位 |
compile-error-troubleshoot |
编译错误速查表(后端 Java + 前端 Vue3 常见编译错误的一线修复方案) |
startup-service |
服务启动规范(后端 SpringBoot / 前端 Vite 启动命令、成功信号、热更新生效方式) |
tech-stack-baseline |
PACP 技术栈基线(后端/前端技术栈、架构约束) |
前端规范(22 文件)
| 基名 | 内容 |
|---|---|
frontend-vue3-coding-standards |
Vue3 + Element Plus 编码规范(命名/目录/数据提交/界面要求/接口/路由/页面模板/按钮规范/表单验证/前端易错点)。零容忍规则跨节集中。💡 大文件(941行),建议使用关键词定位(如 args="frontend-vue3-coding-standards 零容忍")而非全文加载 |
frontend-component-mapping |
原型控件/字段语义 → 平台组件映射(A 通用 / B 平台基础 / C 平台业务 / D 字段语义强制绑定 — 最高优先级 / E 字段 SQL 类型映射) |
frontend-platform-components-table-panel |
@@/references/frontend/frontend-platform-components-table-panel.md · BvTable / BvPanel / BvTaskCenterPanel / BvTaskDetailPanel |
frontend-platform-components-dialog |
· BvDialog |
frontend-platform-components-form |
· BvSelect / BvRadio / BvCheckbox / BvTag / BvAutocomplete / BvCascader / BvTreeSelect / BvTree / BvUpload |
frontend-platform-components-editor-input |
· BvQuillEditor / BvCodeEditor |
frontend-platform-components-auxiliary |
· BvAdvancedQuery / BvDateRangePicker / BvFormTooltipLabel / BvIndexTableColumn / BvMapSelector / BvNoData / BvPasswordStrength / BvIncorrectDataDialog |
frontend-platform-components-icon-theme |
· BvIcon 与主题系统 |
frontend-platform-components-conventions |
· 安装引入 + 接口请求/返回契约 + 暴露方法汇总 + 属性透传约定 |
frontend-business-components-codes |
@bovo-vue/pacp-components · ForCodes 系列 8 个组件 + 公共代码集接口契约 |
frontend-business-components-area |
· ForArea 系列(Cascader / Tree)+ 区划接口契约 |
frontend-business-components-industry |
· ForIndustry 系列(Cascader / Tree)+ 行业接口契约 |
frontend-business-components-user-dept |
· 用户与部门组件 5 个 |
frontend-business-components-attachment |
· 附件上传(BvAttachment / BvSimpleAttachment);数据模型见 common-codes-attachment |
frontend-business-components-misc |
· BvCommonCode / BvIdGenerator / BvTextEncryption / 文件类型管理 / 公共代码管理 + 字段映射约定总表 |
frontend-utils-core |
@bovo-vue/utils · 通用工具(字符串/对象/时间/URL/文件/剪贴板/事件总线/存储/Store/主题/2 个 Vue 辅助)。💡 大文件,建议使用关键词定位 |
frontend-utils-pacp-platform |
@bovo-vue/utils/pacp · queryCommonCodes / getCommonDict / 唯一性 / 区划 / 行业 / 用户部门 / 加密 / Excel(生成前端最常用的高频块) |
frontend-utils-hooks |
@bovo-vue/utils · Vue Hooks 集(useNamespace/useBodyClass/useWaitForValue/useGlobalError/usePostMessage) |
frontend-utils-store |
@bovo-vue/utils · 存储与主题工具(createLocalStorage/defineStore/changeTheme) |
frontend-troubleshoot |
前端运行时故障速查(分页/搜索区/组件渲染/表单校验/数据交互/业务语义字段) |
frontend-mistakes |
前端易错点 10 条(API/组件/表单/校验/日期格式化等),生成代码后自查 |
frontend-search-layout |
前端搜索区布局方案(带标签左右/带标签上下/无标签 3 种方案 + 选择逻辑) |
后端规范(2 文件)
| 基名 | 内容 |
|---|---|
java-coding-standards |
Java/SpringBoot 编码规范(命名/注释/错误处理/模块目录/Controller/Service/DAO/异常/易错点)。§4 平台工具类 + §4.1 零容忍 API 详见 java-platform-utils。💡 大文件(520行),建议使用关键词定位 |
java-platform-utils |
平台工具类全限定名表 + 核心 API 零容忍表(import 路径零虚构 + 主键/分页/删除/DAO/Controller/Service/集合/审计/数据载体/返回类型/Controller注解/Controller异常/ORM)。写后端 import 时最高频 |
数据库规范(6 文件)
| 基名 | 内容 |
|---|---|
sql-coding-standards |
SQL 编码规范(命名/目录/审计字段/分区索引/多库方言/交付检查清单)。§8 init 数据详见 sql-init-data |
sql-init-data |
初始化/测试数据生成规则(目录命名/字段类型映射/业务语义取值/审计字段填充/外键 seed 顺序/默认条数/多库时间函数/CHECKPOINT)。后端代码生成时高频精准加载 |
common-codes-attachment |
附件类型 INSERT SQL(表 t_platform_wj_wjlx / t_platform_wj_wjzlx) |
common-codes-menu-init |
功能菜单 INSERT SQL(表 t_admin_rms_cd,两级结构) |
common-codes-id-generator |
编号定义 INSERT SQL(表 t_admin_xtgl_sxhdy,与 BvIdGenerator 对齐) |
database-type-confirm |
数据库类型确认(识别优先级、支持类型、CHECKPOINT 模板) |
常用查询示例
args = "frontend-vue3-coding-standards 零容忍"
→ Grep "零容忍" 跨 frontend-vue3-coding-standards 章节定位,返回前端零容忍规则逐条清单
args = "java-platform-utils"
→ Read java-platform-utils,返回 12 类平台工具类表 + 14 行核心 API 零容忍表
args = "sql-init-data 外键顺序"
→ Read sql-init-data §8.6,返回外键关联 seed 顺序规则
args = "data-model-audit-fields"
→ Read data-model-audit-fields,返回 6 个必备审计字段表与定义模板
args = "system-module-path 占位符"
→ Read system-module-path §1,返回标准占位符清单与纠错表
args = "frontend-platform-components-form BvCascader"
→ Grep "BvCascader" in frontend-platform-components-form,返回 v-model 三种形态 + 关键属性
args = "frontend-component-mapping 字段语义 *QY"
→ Read frontend-component-mapping §D,返回行政区划字段强制绑定 BvCascaderForArea/BvTreeForArea
args = "零容忍" (跨切面)
→ Grep -r "零容忍" @@/references/,按分类(前端/后端)聚合返回
调用方约定
- 各消费技能(协调者与执行者)通过
Skill(pacp-rules, args="<basename 或 basename 关键词>")调用本技能 args优先传子文件 basename 实现精准加载(如frontend-vue3-coding-standards、java-platform-utils、sql-init-data、frontend-platform-components-form);带章节关键词可进一步定位(如args="frontend-vue3-coding-standards 零容忍")- 任何跨切面主题、零容忍规则聚合、寻找"哪条规则适用我"等场景,由本技能 Grep 跨文件聚合,不需要提前建汇总文件
- 本技能只返回规则要点,业务实现决策权在调用方技能——本技能回答"应该怎样",不回答"要不要做某业务"
资源指针(本技能自包含)
> @@ 指向本技能自身根目录。规则文件全部内置在 @@/references/,无外部依赖。
>
> 依赖关系:pacp-rules 无外部技能依赖,可独立运行。所有消费技能(pacp-spec、pacp-coding、pacp-coding-backend、pacp-coding-frontend)通过 Skill(pacp-rules, ...) 调用本技能。
@@/references/:40 个规则子文件 + INDEX.md 总图 + CHANGELOG.md 变更日志- 系统 1 / 通用 13 / 前端 22 / 后端 2 / 数据库 2
- 文件命名采用前缀编码(详见
INDEX.md) @@/references/INDEX.md:分类总图 + 按需加载说明 + 扩展约定(人/Agent 一目了然的入口)
与其他技能的协作
pacp-rules 是共享规则层(唯一归属),被生成型技能按需查询:
后端代码生成
↓ 生成前查 Java/SQL 零容忍规则
↓ Skill(pacp-rules, args="java-platform-utils") / "sql-init-data"
pacp-rules(本技能,只读)
↑ 返回规则要点
前端代码生成
↓ 选组件时查组件 API/控件映射、Vue3 零容忍
↓ Skill(pacp-rules, args="frontend-platform-components-*") / "frontend-component-mapping"
pacp-rules(本技能,只读)
↑ 返回规则要点
全栈协调
↓ 生成前查零容忍规则、选组件时查组件 API/控件映射
↓ Skill(pacp-rules, args="<basename>")
pacp-rules(本技能,只读)
↑ 返回规则要点
规格生成
↓ 解析原型选控件时查控件映射/字段语义绑定
↓ Skill(pacp-rules, args="frontend-component-mapping") / "system-module-path"
pacp-rules(本技能,只读)
↑ 返回规则要点
消费技能的 rule-collect 流程:业务执行过程中用户提出的新规则属于已知规则则只确认一致;属于新规则则追加写入各自专属的 .pacp/business-{backend,frontend}-rule.md(不直接改 pacp-rules,但应在合适时机回流给本技能的 references/)。
PACP 技术栈基线(规则适用范围)
技术栈基线见 @@/references/general/tech-stack-baseline.md。