1
0

完成一个简易的全局skill、command管理器

This commit is contained in:
2026-02-25 14:33:56 +08:00
parent f4cb809f9d
commit 2d327b5af8
60 changed files with 6053 additions and 1 deletions

View File

@@ -0,0 +1,78 @@
## ADDED Requirements
### Requirement: 用户可以添加源仓库
工具必须允许用户添加 git 仓库作为 skills/commands 的源,并将配置持久化到 `~/.skillmgr/repository.json`
#### Scenario: 成功添加新仓库
- **WHEN** 用户执行 `skillmgr add <git-url>` 命令
- **THEN** 系统克隆仓库到 `~/.skillmgr/cache/` 并将配置写入 repository.json
#### Scenario: 添加已存在的仓库
- **WHEN** 用户添加已存在的仓库(同名)
- **THEN** 系统提示"仓库名称已存在,请先使用 `skillmgr remove <name>` 移除",拒绝添加
#### Scenario: 指定仓库别名
- **WHEN** 用户使用 `--name` 参数指定仓库别名
- **THEN** 系统使用指定的别名作为仓库名称
#### Scenario: 指定分支
- **WHEN** 用户使用 `--branch` 参数指定分支
- **THEN** 系统克隆指定分支而非默认分支
---
### Requirement: 用户可以移除源仓库
工具必须允许用户从配置中移除已添加的源仓库。
#### Scenario: 成功移除仓库
- **WHEN** 用户执行 `skillmgr remove <name>` 命令
- **THEN** 系统从 repository.json 中删除对应配置
#### Scenario: 移除不存在的仓库
- **WHEN** 用户尝试移除不存在的仓库名称
- **THEN** 系统提示仓库不存在,不报错
---
### Requirement: 用户可以列出已配置的源仓库
工具必须提供命令列出所有已添加的源仓库及其信息。
#### Scenario: 列出所有仓库
- **WHEN** 用户执行 `skillmgr list-repos` 命令
- **THEN** 系统显示所有仓库的名称、URL、分支和添加时间
#### Scenario: 无已配置仓库
- **WHEN** 用户执行列表命令但 repository.json 为空
- **THEN** 系统提示"无已配置的源仓库"
---
### Requirement: 用户可以同步源仓库
工具必须提供命令从远程拉取最新代码,更新本地缓存。
#### Scenario: 同步单个仓库
- **WHEN** 用户执行 `skillmgr sync <name>` 命令
- **THEN** 系统对指定仓库执行 `git pull`
#### Scenario: 同步所有仓库
- **WHEN** 用户执行 `skillmgr sync` 不带参数
- **THEN** 系统对所有已配置仓库执行 `git pull`
#### Scenario: Git 操作失败
- **WHEN** git pull 失败(网络错误、冲突等)
- **THEN** 系统显示 git 错误信息并继续处理其他仓库