---
url: /wave-agent/specs/commands/init-slash-command.md
description: '`/init` 内置技能，分析代码库并创建或改进 `AGENTS.md` 指导文件'
---

# 功能规格说明：Init 斜杠命令

**创建日期**：2026-01-27

## 用户场景与测试 *（必填）*

### 用户故事：为 Agent 初始化仓库（优先级：P1）

作为为 Wave Agent 设置新仓库的开发者，我希望运行一个简单的命令，自动分析代码库并为未来的 agent 实例生成指导文件。

**为什么是这个优先级**：这是请求的核心功能。它启用了仓库对 AI agent 的"入职"，这是提高生产力的关键第一步。

**独立测试**：可以通过在没有 `AGENTS.md` 文件的仓库中运行 `/init` 并验证基于代码库分析创建了带有正确前缀和相关内容的 `AGENTS.md` 文件来测试。

**验收场景**：

1. **假设**仓库没有 `AGENTS.md`，**当**用户输入 `/init` 时，**则** agent 应该分析代码库（构建命令、架构、现有规则）并创建带有必需前缀的 `AGENTS.md`。
2. **假设**仓库有现有的 `AGENTS.md`，**当**用户输入 `/init` 时，**则** agent 应该分析代码库并建议对现有 `AGENTS.md` 的改进或更新，而不是盲目覆盖。
3. **假设**仓库有 `.cursorrules` 或 `.github/copilot-instructions.md`，**当**用户输入 `/init` 时，**则** agent 应该将这些规则的重要部分纳入生成的 `AGENTS.md`。

***

### 用户故事：Init 命令的可发现性（优先级：P2）

作为 Wave Agent CLI 的用户，我希望看到 `/init` 作为可用命令，以便我知道它存在以及如何使用它。

**为什么是这个优先级**：可发现性是新功能的关键。如果用户不知道命令存在，他们就不会使用它。

**独立测试**：可以通过在 CLI 中输入 `/` 或帮助命令并验证 `/init` 被列出并带有简短描述来测试。

**验收场景**：

1. **假设** CLI 处于活动状态，**当**用户触发命令补全或帮助时，**则** `/init` 应该作为有效选项显示。

***

## 边界情况

* **代码库为空或没有可识别的结构怎么办？** agent 应该提供带有必需前缀的最小 `AGENTS.md`，并注明未检测到特定架构，而不是失败或臆造。
* **系统如何处理只读文件系统？** agent 应该通知用户由于权限问题无法创建或修改 `AGENTS.md`。
* **如果内置 init skill 的 `SKILL.md` 在预期位置缺失怎么办？** 命令应该使用提示的硬编码版本，因为它是内置命令。

## 假设

* 内置 init skill 的 `SKILL.md` 文件位于相对于 agent 执行环境的稳定路径，或与 agent 捆绑。
* agent 有足够的权限读取整个仓库并写入根目录。
* 用户意图让 `AGENTS.md` 成为任何在仓库上工作的 AI agent 的共享资源，而不仅仅是 Wave Agent。
