跳到主要内容

在 Dev Containers 中使用 skillshare

在 VS Code 中打开,Skill 即已就绪——无需在本机安装。

前置条件

运作方式

VS Code Dev Containers 让你可以在 Docker 容器内进行开发。你在 .devcontainer/ 中定义环境,其余交给 VS Code 处理——打开项目、点击「Reopen in Container」,一切就绪。

skillshare 能自然融入这个工作流。将它加入 postCreateCommand,容器启动时 Skill 就会自动安装并 Sync。

设置

在你的 .devcontainer/devcontainer.json 中加入两项内容:

{
"postCreateCommand": "curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | sh && skillshare init --no-copy --all-targets --no-skill && skillshare sync"
}

就这样。当团队成员在 VS Code 中打开项目并点击「Reopen in Container」时:

  1. skillshare 会自动安装
  2. init 以非交互方式运行——加入所有检测到的 AI CLI Target,跳过复制提示与内建 Skill 的安装
  3. sync 将 Skill 分发到所有 Target

添加 Project Skill

对于团队共享的 Skill,将 .skillshare/ 配置提交到仓库:

# 在容器内
skillshare init -p
skillshare install your-org/team-skills -p

然后提交变更,并更新 postCreateCommand,让它同时 Sync project skills:

{
"postCreateCommand": "curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | sh && skillshare init --no-copy --all-targets --no-skill && skillshare sync && skillshare sync -p"
}

现在每位团队成员打开容器时,都会获得相同的 Skill。

GitHub Codespaces

同一份 .devcontainer/ 配置在 Codespaces 中无需任何修改即可使用。Codespaces 运行 postCreateCommand 的方式与 VS Code 相同。

使用 ssenv 进行隔离测试

在 devcontainer 内,ssenv 让你可以建立隔离的 skillshare 环境以进行并行测试。每个环境都拥有独立的 HOME 目录,各自拥有独立的配置、Skill 与 Target。

命令作用
ssnew <name>创建一个新的隔离环境
ssuse <name>切换到某个环境
ssback返回原始环境
ssls列出所有环境
ssrm <name>删除一个环境
ssnew demo && ssuse demo    # 创建并切换
ss init && ss sync # 命令在隔离环境中运行
ssback # 返回原始环境

这对于在不影响主要设置的情况下测试配置变更或 Skill 安装非常有用。

接下来?