完成一个简易的全局skill、command管理器
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 系统必须支持 Claude Code 平台
|
||||
|
||||
工具必须内置 Claude Code 平台的目录结构和命名规则。
|
||||
|
||||
#### Scenario: Skill 安装路径
|
||||
|
||||
- **WHEN** 安装 skill 到 Claude Code
|
||||
- **THEN** 目标路径为 `<base>/.claude/skills/<skill-name>/`
|
||||
|
||||
#### Scenario: Command 安装路径
|
||||
|
||||
- **WHEN** 安装 command 到 Claude Code
|
||||
- **THEN** 目标路径为 `<base>/.claude/commands/<command-group>/`
|
||||
|
||||
#### Scenario: 保持源目录结构
|
||||
|
||||
- **WHEN** 复制文件到 Claude Code
|
||||
- **THEN** 系统保持源仓库的目录结构不变
|
||||
|
||||
---
|
||||
|
||||
### Requirement: 系统必须支持 OpenCode 平台
|
||||
|
||||
工具必须内置 OpenCode 平台的目录结构和命名规则。
|
||||
|
||||
#### Scenario: Skill 全局安装路径
|
||||
|
||||
- **WHEN** 全局安装 skill 到 OpenCode
|
||||
- **THEN** 目标路径为 `~/.config/opencode/skills/<skill-name>/`
|
||||
|
||||
#### Scenario: Skill 项目级安装路径
|
||||
|
||||
- **WHEN** 项目级安装 skill 到 OpenCode
|
||||
- **THEN** 目标路径为 `./.opencode/skills/<skill-name>/`
|
||||
|
||||
#### Scenario: Command 全局安装路径
|
||||
|
||||
- **WHEN** 全局安装 command 到 OpenCode
|
||||
- **THEN** 目标路径为 `~/.config/opencode/commands/`
|
||||
|
||||
#### Scenario: Command 项目级安装路径
|
||||
|
||||
- **WHEN** 项目级安装 command 到 OpenCode
|
||||
- **THEN** 目标路径为 `./.opencode/commands/`
|
||||
|
||||
#### Scenario: Skill 保持结构
|
||||
|
||||
- **WHEN** 复制 skill 到 OpenCode
|
||||
- **THEN** 系统保持源目录结构
|
||||
|
||||
#### Scenario: Command 扁平化
|
||||
|
||||
- **WHEN** 复制 command 到 OpenCode
|
||||
- **THEN** 系统将文件重命名为 `<group>-<action>.md` 并放置在 commands/ 目录下
|
||||
|
||||
---
|
||||
|
||||
### Requirement: 系统必须根据作用域确定基础路径
|
||||
|
||||
工具必须根据全局/项目作用域计算正确的基础路径。
|
||||
|
||||
#### Scenario: 全局作用域
|
||||
|
||||
- **WHEN** 用户指定 `--global` 参数
|
||||
- **THEN** 基础路径为用户主目录(`~` 或 `$HOME`)
|
||||
|
||||
#### Scenario: 项目作用域
|
||||
|
||||
- **WHEN** 用户未指定 `--global` 参数
|
||||
- **THEN** 基础路径为当前工作目录
|
||||
|
||||
---
|
||||
|
||||
### Requirement: 系统必须生成文件映射表
|
||||
|
||||
适配器必须生成源文件到目标文件的完整映射表,供事务性安装使用。
|
||||
|
||||
#### Scenario: Skill 文件映射
|
||||
|
||||
- **WHEN** 适配 skill 文件
|
||||
- **THEN** 系统返回源路径到目标路径的 map(包括所有子目录和文件)
|
||||
|
||||
#### Scenario: Command 文件映射(Claude)
|
||||
|
||||
- **WHEN** 适配 command 到 Claude Code
|
||||
- **THEN** 系统返回 `commands/<group>/<action>.md` → `<base>/.claude/commands/<group>/<action>.md` 的映射
|
||||
|
||||
#### Scenario: Command 文件映射(OpenCode)
|
||||
|
||||
- **WHEN** 适配 command 到 OpenCode
|
||||
- **THEN** 系统返回 `commands/<group>/<action>.md` → `<base>/commands/<group>-<action>.md` 的映射(全局时 base 为 `~/.config/opencode`,项目级时为 `./.opencode`)
|
||||
|
||||
---
|
||||
|
||||
### Requirement: 系统必须处理不支持的平台
|
||||
|
||||
工具必须拒绝处理未实现的平台。
|
||||
|
||||
#### Scenario: 不支持的平台参数
|
||||
|
||||
- **WHEN** 用户指定未实现的平台(如 `--platform cursor`)
|
||||
- **THEN** 系统报错"unsupported platform: cursor"
|
||||
Reference in New Issue
Block a user