WorkBuddy代码审查规则配置需五步:一、加载预置大厂模板;二、导入自定义JSON规则;三、用.workbuddy.yaml细粒度控制启停与阈值;四、DSL编写动态规则脚本;五、绑定Git pre-commit钩子实现自动审查。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在开发流程中嵌入标准化、可复用的代码审查机制,但发现规则配置模糊、难以适配团队实际规范,则可能是由于未正确加载或组合多种规则源。以下是配置WorkBuddy代码审查规则并实现自动化Code Review的具体设置方法:
一、加载预置大厂规范模板
该方式适用于快速启用业界成熟标准,如Alibaba Java指南或Google Python风格,利用AST语法树进行语义级比对,避免仅依赖正则导致的误报漏报。
1、打开WorkBuddy客户端,进入“设置”面板,点击左侧导航栏中的“代码规范”模块。
2、在“规范模板”下拉菜单中选择目标规范,例如Alibaba Java Coding Guidelines v1.7.0。
3、点击“激活模板”按钮,系统自动加载对应规则集,并同步至当前工作区的分析引擎中。
二、导入自定义JSON规则文件
该方式支持将团队内部沉淀的检查项以结构化格式注入,覆盖预置模板未涵盖的业务特异性逻辑,如接口返回码统一校验、日志敏感字段脱敏要求等。
1、准备符合WorkBuddy规则Schema的JSON文件,确保包含rule_id、severity、pattern、message四个必需字段。
2、在“规范模板”页面点击“导入规则”,从本地选取已命名的custom-rules.rules.json文件。
3、系统执行语法与逻辑校验,通过后显示“共加载12条自定义规则”提示,并立即参与后续扫描。
三、通过.workbuddy.yaml细粒度控制规则启停与阈值
该方式允许按项目维度动态调整规则行为,例如在测试模块禁用性能类检查,在核心服务模块收紧圈复杂度上限,实现策略与场景精准匹配。
1、在项目根目录新建文件,命名为.workbuddy.yaml。
2、写入以下内容,注意缩进与冒号后空格必须严格符合YAML语法:
language: java
rules:
enable: ["AvoidMagicNumber", "NoEmptyMethod"]
disable: ["UnusedImport"]
thresholds:
启用该技能,可以在WorkBuddy对话页的右边栏添加一个日历,提供月历视图、日程增删改查、分类标签(开庭/会议/截止日期/个人/研究/其他),支持从对话中提取事件并自动同步到日历。当用户提到"日历""日程""打开日历""添加日程""我的日程""calendar""安排"或询问已记录的日程信息时使用。
CyclomaticComplexity: 15
3、保存文件后重启WorkBuddy分析进程,新配置即时生效,无需重新安装技能或重启客户端。
四、使用DSL编写动态规则脚本
该方式用于处理跨文件、上下文强依赖的复杂校验逻辑,例如禁止Controller层直接调用第三方HTTP Client,或要求所有DAO方法必须声明@Transactional注解。
1、在WorkBuddy设置中启用“高级规则模式”,解锁DSL编辑器入口。
2、新建规则脚本,输入如下DSL语句:
rule "禁止Service类调用DAO层以外的包"
when: ast.type == "MethodInvocation" && ast.expression.typeName.startsWith("com.example.service") && !ast.target.typeName.startsWith("com.example.dao")
then: report("Critical", "违反分层架构约束", "请通过Repository或Manager层中转调用")
3、保存脚本并启用该规则,WorkBuddy将在下次扫描中解析并执行该动态逻辑。
五、绑定Git钩子实现预提交自动审查
该方式将规则检查前移至开发者本地提交阶段,确保问题在代码进入版本库前即被拦截,避免CI阶段阻塞流水线或引发团队返工。
1、在项目根目录的.git/hooks/路径下,创建或编辑pre-commit文件(无扩展名)。
2、向该文件写入shell命令:workbuddy run --skill code-review --target "$(git diff --cached --name-only)"。
3、为pre-commit文件赋予可执行权限:chmod +x pre-commit。
4、确认code-review技能已安装:clawhub install code-review。
5、此后每次执行git commit时,WorkBuddy将自动扫描暂存区变更文件,并输出含行号定位的问题清单及修复建议。










