SuperAPI AI 工具集

lint-rule-development

编程与开发

查看项目

更新于 10-15 17:26

技能介绍

用途:在 Biome 仓库中新增或修改 lint 规则、assist。流程为:先在同语言同分组中找两三个查询或动作相近的现有规则参考;用脚手架生成规则骨架;实现能判定是否发出信号的最窄查询与状态;添加诊断,安全时添加代码操作;补充有效与无效 fixture 并检查快照;运行所需分析器代码生成与最窄测试。脚手架命令:just new-js-lintrule useMyRule,just new-css-lintrule useMyRule,just new-json-lintrule useMyRule,just new-graphql-lintrule useMyRule。新 lint 规则从 nursery 开始,按 main 的补丁变更处理。新 assist 使用对应语言的 new-*-assistrule,例如 just new-js-assistrule useMyAction,生成到 src/assist/source/,不使用 lint 分组或 nursery 策略,通常需要面向 next 的次要变更。查询与状态:按需选择最省成本的查询,语法本地检查用 Ast<Node>,涉及绑定、引用、作用域或全局时用 Semantic<Node>,事实归某服务所有才用服务查询,语法与语义模型无法回答时才用类型推断。run() 决定是否发出信号,仅动作相关的工作放在 action()。State 优先使用范围、语法节点、标记与紧凑枚举,避免不必要地持有源文本。诊断回答三个问题:发现什么条件、为什么是问题、用户该做什么;消息回答第一个,建议回答第二个,无动作时也回答第三个;代码操作及其标签通常回答第三个。动作仅在无可达输入改变行为时设 FixKind::Safe,否则用 Unsafe。测试动作需保证产生有效语法、保留注释与琐碎内容、不再次触发同一规则、安全修复保持语义、覆盖 run() 接受的所有语法变体。选项仅在存在真实语义模式或既有冲突偏好时添加,以 crates/biome_rule_options/src/ 下文件为准,并检查类型 Options、默认值、扩展配置合并、fixture、rustdoc 与生成注册。规则文档即 declare_lint_rule! 与 declare_assist_rule! 中的 rustdoc,面向最终用户网站内容:先写单行行为摘要,解释问题原因,无效示例置于有效示例之前,每个选项写明默认值并展示配置与用例。常用测试与生成命令:just test-lintrule useMyRule,just gen-rules,just gen-configuration;按 AGENTS.md 要求运行 just f 和 just l。限制:资料未提供具体收费、平台、性能或效果信息。