← 返回目录

第 3 卷

第 3 / 5 卷日期:

💡 参数解析规则:参数通过空格分隔,支持单引号和双引号来处理含有空格的参数。例如 /greet "Hello World" 会将 "Hello World" 作为单个参数传递。

执行Shell命令

在命令的任何一行前面加上 ! 前缀,命令用反引号包围,该行就会被当作 Shell命令执行,其输出

( stdout ) 会被捕获并注入到上下文中,供 AI 后续分析。

  • 重要提示:使用 Shell命令执行时,必须在 allowed-tools frontmatter中包含 Bash 工

具,否则命令无法执行。

示例: status.md

markdown

--- description: "显示当前的 git 仓库状态并进行分析。"

allowed-tools: Bash(git status:*), Bash(git diff:*) ---

当前 git 状态:

!`git status`

当前分支的变更:

!`git diff HEAD`

请基于上面的输出,为我总结当前分支的状况。

更多示例: commit.md

markdown

--- description: "创建一个 git 提交。"

allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git diff:*), Bash(git argument-hint: "[message]"

---

## 当前状态

  • Git 状态: !`git status`
  • 分段变更: !`git diff --cached`
  • 最近提交: !`git log --oneline -5`

## 任务

基于上面的信息,使用提供的提交消息创建一个 git 提交:$1

如果没有提供消息,使用默认的描述性消息。

文件引用

在命令中使用 @ 前缀来包含文件内容。系统会自动读取文件并将其内容注入到 AI 上下文中。

示例

markdown

--- description: "代码审查"

---

请审查以下文件:

@src/utils/helpers.js @src/utils/validators.js

找出潜在的性能问题和代码风格问题。

最佳实践

1.描述要清晰明确

编写清晰的 description 和 argument-hint,帮助用户和 AI 理解命令的用途:

markdown

--- description: "执行安全审计,扫描代码中的潜在漏洞和安全问题"

argument-hint: "[files...] [--severity high|medium|low]"

---

2.使用细粒度的工具权限

通过 allowed-tools 限制命令可以使用的工具和操作:

markdown

--- allowed-tools: Bash(npm test:*), Bash(git diff:*), Read description: "运行测试并与主分支比较"

---

这比允许所有工具更安全和高效。

3.组织命令到子目录

.codebuddy/commands/ ├── frontend/ │├── build.md │├── test.md │└── lint.md ├── backend/ │├── migrate.md │├── deploy.md │└── logs.md └── git/ ├── commit.md ├── review.md └── release.md

调用方式:

/frontend:build

/backend:deploy

/git:commit "message"

4.提供有用的上下文

在 Shell命令执行前插入有用的信息:

markdown

--- description: "分析代码覆盖率"

allowed-tools: Bash(npm run:*) ---

## 当前状态

项目根目录: !`pwd` 当前分支: !`git rev-parse --abbrev-ref HEAD`

## 任务

请运行测试并生成覆盖率报告:

!`npm run coverage`

基于上述结果,为我总结代码覆盖率情况。

5.处理可选参数

使用条件逻辑处理可选参数:

全站分卷索引 · 5 卷
  1. 1第 1 卷
  2. 2第 2 卷
  3. 3第 3 卷
  4. 4第 4 卷
  5. 5第 5 卷