配置

自定义规则

自定义规则影响 Bob 如何响应您的请求,使输出与您的特定偏好和项目要求保持一致。配置自定义规则以控制 Bob 的编码风格、文档方法和决策过程。

什么是自定义规则?

自定义规则通过定义偏好、约束和指南来扩展 Bob 的默认行为,这些偏好、约束和指南指导 Bob 如何处理任务以匹配您的需求。

常见用途包括:

  • 编码风格偏好(缩进、命名约定)
  • 文档格式和标准
  • 测试方法和要求
  • 项目工作流程和流程
  • 团队特定约定

为模式添加自定义规则

您可以通过两种方式向模式添加自定义规则:

通过用户界面

配置适用于所有项目的规则:

  1. 单击 Bob 侧边栏右上角的三个点。
  2. 单击模式
  3. 选择要为其编辑规则的模式。
  4. 单击编辑
  5. 滚动到特定于模式的自定义指令(可选)
  6. 输入您的规则。
  7. 单击保存

通过特定于模式的规则文件

模式还可以具有存储在 .bob/rules-{mode-slug}/ 目录中的其他规则文件:

01-style-guide.md
02-formatting.txt

目录中的文件按字母顺序加载,并与模式配置中的 customInstructions 属性组合。有关更多详细信息,请参阅自定义模式

了解更多关于使用项目级规则标准化 Bob 的行为的信息。

规则范围

Bob 支持两个规则范围,用于确定规则的应用位置:

  • 全局规则:自动应用于所有项目
  • 工作区规则:仅应用于当前项目

对个人或组织范围的标准使用全局规则。对项目特定要求使用工作区规则。

配置方法

基于目录的配置

在工作区根目录的 .bob/ 下使用目录:

工作区结构:

coding-style.md
typescript.md
  • rules/ - 所有模式的通用规则
  • rules-agent/ - 仅 Agent 模式特定规则

全局结构:

Linux/macOS:~/.bob/rules/ Windows:%USERPROFILE%\.bob\rules\

创建工作区规则:

mkdir -p .bob/rules
echo "# 项目标准" > .bob/rules/coding-style.md

创建全局规则:

# Linux/macOS
mkdir -p ~/.bob/rules
echo "# 全局标准" > ~/.bob/rules/coding-standards.md

# Windows
mkdir %USERPROFILE%\.bob\rules
echo # 全局标准 > %USERPROFILE%\.bob\rules\coding-standards.md

规则优先级

Bob 按以下顺序组合来自多个来源的规则:

  1. 全局规则~/.bob/rules/
  2. 工作区规则.bob/rules/

在每个级别内,特定于模式的规则在通用规则之前加载。工作区规则可以覆盖全局规则。

编写有效的规则

具体且可操作

:"在 JavaScript 文件中使用 4 个空格进行缩进"

避免:"很好地格式化代码"

使用清晰的结构

按主题组织规则:

# 代码风格
- 变量使用 camelCase
- 类使用 PascalCase

# 测试
- 为所有公共函数编写单元测试
- 使用 Jest 作为测试框架

# 文档
- 为公共 API 添加 JSDoc 注释

有效规则的示例

  • "始终使用空格进行缩进,宽度为 4 个空格"
  • "变量名使用 camelCase"
  • "为所有新函数编写单元测试"
  • "在提供代码之前解释您的推理"
  • "向网站添加功能时,确保它们具有响应性和可访问性"

高级配置

特定于模式的规则

使用专用目录定位特定模式:

目录目的
rules/所有模式的通用规则
rules-agent/仅 Agent 模式
rules-plan/仅计划模式
rules-ask/仅 Ask 模式
rules-{mode}/任何自定义模式

使用 AGENTS.md 文件

对于团队标准化,您可以在工作区根目录中使用 AGENTS.md 文件:

# 团队标准
- 遵循公司编码指南
- 仅使用批准的库
- 记录所有 API 更改

关键细节:

  • 默认情况下自动加载
  • 使用项目进行版本控制
  • 使用设置中的 "bob-code.useAgentRules": false 禁用
  • 在特定于模式的规则之后但在通用工作区规则之前加载

文件行为

  • 递归读取:Bob 读取规则目录中的所有文件,包括子目录
  • 按字母顺序:文件按文件名的字母顺序处理
  • 自动过滤:排除缓存文件(.DS_Store*.bak*.cache*.log*.tmpThumbs.db
  • 符号链接:支持最大深度为 5
  • 空文件:静默跳过

团队标准化

项目级标准

在版本控制下使用工作区 .bob/rules/ 目录:

# 添加到版本控制
git add .bob/rules/
git commit -m "添加 Bob 自定义规则"

这确保了特定项目的团队成员之间的一致行为。

组织范围的标准

向团队成员分发全局规则:

  1. 创建共享规则存储库
  2. 团队成员克隆到 ~/.bob/rules/
  3. 定期更新以保持一致性

混合方法

您可以结合两种方法:

  • 组织标准的全局规则
  • 项目特定要求的工作区规则
  • 需要时工作区规则覆盖全局规则
这个主题怎么样?