public-components-skill

内容来源:SKILL.md(标准 Skill 格式) · 原始地址 · 查看安装指南

原始内容


name: public-components-skill description: 当使用 AI 编程助手消费 @arim-aisdc/public-components 组件库时需要接口参考、导入约束或后台管理界面一致性指导。

Public Components Skill

使用本 Skill 来帮助各类 AI 编程助手生成、审查或排查消费 @arim-aisdc/public-components 的代码。始终把组件库根入口导出视为公共接口边界,并按任务类型只读取必要的参考文档。

触发条件

当任务涉及以下内容时使用本 Skill:

  • 生成、重构、审查或排查消费 @arim-aisdc/public-components 的前端代码。
  • 确认根包导出、/utils 工具函数、主题变量路径或内部路径导入边界。
  • 使用 TableMax、导出配置、CustomFormQueryFilterSchemaFormConfigProvider/useConfig、权限体系、筛选组件、ConditionExpression、缓存、事件总线、MessageTipModalTip 或多语言配置。
  • 处理 TypeScript 类型错误、导出不匹配、旧文档冲突、组件行为异常或后台管理界面一致性问题。

核心规则

  1. 优先从 @arim-aisdc/public-components 根包导入。
  2. 不要编造 src/index.ts 或已记录二级路径没有公开的接口。
  3. 按任务类型读取相关 references/ 文件,不要默认一次性加载全部参考文档。
  4. 只要涉及页面开发、页面重构、列表页、表格、表单、弹窗或任何界面样式,就必须读取并严格遵守 references/ui-consistency.md
  5. 只有当参考文档缺少关键细节、出现 TypeScript 报错,或导出/类型冲突时,才回到源码校对。
  6. 仅在用户明确接受风险时,才建议内部路径导入。

根包公共导出

默认可安全使用的常见根包导出:

  • 组件:TableMaxCustomFormQueryFilterSchemaFormConfigProviderPermissionProviderRestrictedPermissionContextBaseInfoCenterModalDrawerComSplitPaneSplitterPaneCacheTabsDraggableBoxConditionExpressionIconEmptyMessageTipModalTip
  • Filter 系列:FilterSelectFilterInputNumberFilterRadioFilterSliderFilterSwitchFilterColor
  • hooks 与事件:useConfiguseEventBuseventsusePageCacheStateuseCenterModalState
  • 多语言配置:public_zhCNpublic_enUSpublic_viVN

不要默认把以下能力作为根包导入:

  • ThemeProvider
  • useTranslation
  • ColorSelector
  • MicroComponent

如果用户要求这些能力,先说明它们不是当前根包公共导出,再优先提供根包已公开的替代方案。

导入模式

根包导入:

import { TableMax, ConfigProvider, public_zhCN } from '@arim-aisdc/public-components';

工具函数:

import { to, getTextWidth, judgeHasPermission } from '@arim-aisdc/public-components/utils';

主题变量仅在必要时使用:

import { publicThemeMap } from '@arim-aisdc/public-components/themes/variablesConfig';

参考文档路由

  • TableMax、列定义、分页、排序、筛选、拖拽、虚拟行/列、导出配置:读取 references/table-max.md
  • ConfigProvideruseConfig、主题变量、多语言配置、TableMax 全局配置:读取 references/config-provider.md
  • PermissionProviderRestrictedPermissionContext、权限判断:读取 references/permission.md
  • useEventBuseventsusePageCacheStateuseCenterModalState、hook 行为:读取 references/hooks.md
  • FilterSelectFilterInputNumberFilterSliderFilterSwitchFilterColorFilterRadioConditionExpression、条件表达式远程参数选项:读取 references/filter-components.md
  • CustomFormQueryFilterSchemaFormEmptyCenterModalDrawerComSplitPaneSplitterPaneDraggableBoxIconCacheTabsBaseInfoMessageTipModalTip:读取 references/other-components.md
  • 推荐写法与防漂移规则:读取 references/best-practices.md
  • 页面开发、页面重构、列表页、详情页、表单页、弹窗页、区块式表格、后台管理界面、UI 一致性约束:必须读取 references/ui-consistency.md
  • UI 颜色变量找不到合适语义 token,且当前项目没有可复用写法时,最后读取 references/color-variable-palette.md 作为最低优先级兜底参考。
  • 报错、异常行为、旧文档、导出或类型不匹配:读取 references/troubleshooting.md

任务流程

  1. 先判断用户代码使用的是根包、/utils、主题变量路径,还是内部路径。
  2. 生成 import 前,先确认公共导出边界。
  3. 按上面的参考文档路由读取当前任务需要的文档。
  4. 如果是界面或页面任务,把 references/ui-consistency.md 作为强制验收约束;生成代码前先观察当前项目类似页面和组件是否已有更简单写法,优先使用组件内置 props、组件组合和现有 class,避免不必要的 CSS/Less。
  5. 遇到颜色不确定时,先查当前项目已有 token 或类似组件写法,再按 references/ui-consistency.md 的语义变量处理;仍找不到合适变量时,才读取 references/color-variable-palette.md 作为最低优先级参考。
  6. 按已记录公共接口生成代码。
  7. 如果细节缺失或 TypeScript 结果不一致,再查看源码基线文件并修正输出。

高风险错误

  • 不要写 Restricted fallback;当前 Restricted 只支持 requiredPermissionsisPagechildren
  • 不要给 useCenterModalState 使用 visible;当前状态字段是 open
  • 不要混用三套表单模型:CustomForm 使用 CustomFormItemTypeQueryFilter 使用 FormItemTypeSchemaForm 使用 formConfig
  • 不要把 useTranslation 写成根包导入;多语言优先通过 ConfigProviderpublic_zhCN/public_enUS/public_viVN 配置。
  • 不要把 CacheTabs 当成通用 Tabs 封装;它绑定 keep-alive 缓存场景。
  • 不要假设 TableMax exportConfig 只配置 fileName/sheetName 能通过类型检查;当前 ExportOptions 类型要求 pageFetcher。当前页导出优先只传 canExport,文件名优先用 tableTitle,全量导出再补齐 pageFetcher
  • 不要给 ConditionExpression 远程参数选项同时开启前端筛选;传入 parameterOptionsRequest 后组件内部会把 Select filterOption 设为 false 并使用远程搜索。
  • 不要在 .less.module.less 中直接写 var(--global-*);优先使用项目已有 Less 主题变量,例如 @global-card-background-color
  • 不要在 UI界面 任务中自由发挥色值、圆角、间距、表格滚动或分页样式;颜色优先使用项目主题 token 或 references/ui-consistency.md 的语义变量,缺少变量时宁愿删除颜色覆盖,不要写死裸色。

维护信息

本段只服务 Skill 维护者,不是普通任务必须关注的上下文。除非正在校准本 Skill 或用户明确要求核对源码,否则不要因为这些信息读取本地源码。

  • Skill 版本:v1.3.0
  • 组件库:@arim-aisdc/public-components
  • 组件库版本:2.3.97
  • 源码基线:C:\Work_Files\public-components
  • 本地版本更新记录:VERSION_UPDATES.local.md,该文件只保留在维护者本地,并通过 .gitignore 排除,不随 Skill 发布。

如果 Skill 文档与可访问源码冲突,以源码为准,并把该冲突视为后续需要修正文档的漂移信号。