1
0
Files
Skill/openspec/changes/archive/2026-02-25-build-skillmgr-cli/specs/command-installation/spec.md

3.1 KiB
Raw Blame History

ADDED Requirements

Requirement: 用户可以安装命令组到全局目录

工具必须支持将整个命令组commands 目录下的子目录)安装到平台配置目录。

Scenario: 全局安装命令组到 Claude Code

  • WHEN 用户执行 skillmgr install command <group> --platform claude --global
  • THEN 系统将 commands/<group>/ 下所有 .md 文件复制到 ~/.claude/commands/<group>/

Scenario: 全局安装命令组到 OpenCode

  • WHEN 用户执行 skillmgr install command <group> --platform opencode --global
  • THEN 系统将 commands/<group>/ 下所有 .md 文件重命名为 <group>-<action>.md 并复制到 ~/.opencode/command/

Requirement: 用户可以安装命令组到项目目录

工具必须支持将命令组安装到当前项目的平台配置目录。

Scenario: 项目级安装命令组到 Claude Code

  • WHEN 用户在项目目录执行 skillmgr install command <group> --platform claude
  • THEN 系统将命令组复制到 ./.claude/commands/<group>/

Scenario: 项目级安装命令组到 OpenCode

  • WHEN 用户在项目目录执行 skillmgr install command <group> --platform opencode
  • THEN 系统将命令组扁平化复制到 ./.opencode/command/

Requirement: 系统必须在所有源仓库中查找命令组

工具必须在所有已配置源仓库的 commands/ 目录中搜索指定命令组。

Scenario: 找到命令组

  • WHEN 源仓库包含 commands/<group>/ 目录且内有 .md 文件
  • THEN 系统使用该命令组进行安装

Scenario: 命令组不存在

  • WHEN 所有源仓库都不包含指定命令组
  • THEN 系统报错"command '' not found in any repository"

Scenario: 命令组目录为空

  • WHEN 找到命令组目录但其中没有 .md 文件
  • THEN 系统报错"command group '' contains no command files"

Requirement: OpenCode 平台必须扁平化命令文件名

工具必须在安装到 OpenCode 平台时,将命令文件重命名为 <group>-<action>.md 格式。

Scenario: 转换命令文件名

  • WHEN 安装 commands/lyxy-kb/init.md 到 OpenCode
  • THEN 文件被重命名为 lyxy-kb-init.md

Scenario: 保留 .md 扩展名

  • WHEN 转换文件名时
  • THEN 系统保留 .md 扩展名

Requirement: 系统必须处理命令组目录冲突

工具必须在安装前检查目标目录或文件是否已存在。

Scenario: Claude Code 命令组目录冲突

  • WHEN ~/.claude/commands/<group>/ 目录已存在
  • THEN 系统询问用户是否覆盖

Scenario: OpenCode 命令文件冲突

  • WHEN 目标 ~/.opencode/command/ 中已存在同名的 <group>-*.md 文件
  • THEN 系统询问用户是否覆盖所有冲突文件

Requirement: 系统必须记录命令组安装

工具必须在成功安装后将记录写入 install.json。

Scenario: 记录命令组安装信息

  • WHEN 命令组安装成功
  • THEN 系统在 install.json 中添加 type 为 "command"、包含命令组名称和安装路径的记录