chore(release): prepare v1.0.1

This commit is contained in:
xixu-me committed 2026-03-25 22:20:44 +08:00
1 parent f453f1c931
commit 618815cabc
6 files changed
+342 -16

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
version: 2
updates:
- package-ecosystem: "bun"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "Asia/Shanghai"
open-pull-requests-limit: 5
groups:
bun-dependencies:
patterns:
- "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:15"
timezone: "Asia/Shanghai"
open-pull-requests-limit: 5
groups:
github-actions:
patterns:
- "*"
@@ -0,0 +1,43 @@
name: Dependabot Auto Merge
on:
pull_request:
branches:
- main
types:
- opened
- reopened
- synchronize
- ready_for_review
permissions:
contents: write
pull-requests: write
jobs:
enable-auto-merge:
name: Approve and enable auto-merge
if: github.event.pull_request.user.login == 'dependabot[bot]' && github.event.pull_request.draft == false
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@d7267f607e9d3fb96fc2fbe83e0af444713e90b7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Approve Dependabot pull request
continue-on-error: true
run: gh pr review --approve "$PR_URL"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_URL: ${{ github.event.pull_request.html_url }}
# Requires repository auto-merge to be enabled in GitHub settings.
- name: Enable auto-merge
run: gh pr merge --auto --merge "$PR_URL"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_URL: ${{ github.event.pull_request.html_url }}
+1 -1
View File
@@ -2,7 +2,7 @@
Thanks for your interest in contributing to Skills Vault.
This project is a Bun-based CLI for backing up and restoring agent skills. We welcome bug reports, documentation improvements, tests, and focused feature proposals.
This project is a Bun-based CLI for backing up and restoring Agent Skills. We welcome bug reports, documentation improvements, tests, and focused feature proposals.
## Before You Start
+8 -12
View File
@@ -1,6 +1,8 @@
# Skills Vault
CLI for backing up and restoring agent skills.
***[汉语](./README.zh.md)***
CLI for backing up and restoring [Agent Skills](https://agentskills.io).
[![CI](https://img.shields.io/github/actions/workflow/status/xixu-me/skills-vault/ci.yml?label=CI)](https://github.com/xixu-me/skills-vault/actions/workflows/ci.yml)
[![npm version](https://img.shields.io/npm/v/%40xixu-me%2Fskills-vault)](https://www.npmjs.com/package/@xixu-me/skills-vault)
@@ -25,17 +27,11 @@ CLI for backing up and restoring agent skills.
### Prerequisites
- [Bun](https://bun.com) `>=1.3.11`
- [`bun`](https://bun.com) >=1.3.11
- Access to the upstream `skills` CLI through `bunx skills`
### Install
```bash
npm install -g @xixu-me/skills-vault
```
Or with Bun:
```bash
bun add -g @xixu-me/skills-vault@latest
```
@@ -49,10 +45,10 @@ skvlt --version
## Community
- Read [CONTRIBUTING.md](./CONTRIBUTING.md) before opening a pull request.
- Review [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) for participation expectations.
- Use [SUPPORT.md](./SUPPORT.md) to choose the right support channel.
- Follow [SECURITY.md](./SECURITY.md) for private vulnerability reporting.
- Read [`CONTRIBUTING.md`](./CONTRIBUTING.md) before opening a pull request.
- Review [`CODE_OF_CONDUCT.md`](./CODE_OF_CONDUCT.md) for participation expectations.
- Use [`SUPPORT.md`](./SUPPORT.md) to choose the right support channel.
- Follow [`SECURITY.md`](./SECURITY.md) for private vulnerability reporting.
## Usage
+259
View File
@@ -0,0 +1,259 @@
# Skills Vault
***[English](./README.md)***
用于备份和恢复 [Agent Skills](https://agentskills.io) 的 CLI。
[![CI](https://img.shields.io/github/actions/workflow/status/xixu-me/skills-vault/ci.yml?label=CI)](https://github.com/xixu-me/skills-vault/actions/workflows/ci.yml)
[![npm version](https://img.shields.io/npm/v/%40xixu-me%2Fskills-vault)](https://www.npmjs.com/package/@xixu-me/skills-vault)
![Bun](https://img.shields.io/badge/Bun-%3E%3D1.3.11-f9f1e1)
[![License](https://img.shields.io/badge/License-MIT-blue)](./LICENSE)
`skvlt` 会将你已经安装的 skills 快照为一个小型 YAML 清单,然后在之后按来源恢复它们。它适合在多台机器之间迁移、在重装工具后恢复环境,或者将团队共享的 skill 基线纳入存储库管理。
> [!IMPORTANT]
> 这个包只支持 Bun 运行时。请先安装 Bun,然后通过全局安装、源码,或打包后的 npm tarball 使用 `skvlt`。
## 为什么使用 Skills Vault?
- 将已安装的 skills 备份为可确定复现的 `skvlt.yaml` 清单。
- 只恢复缺失的 skills,或者按清单完整重装。
- 保留安装作用域,让全局安装和项目级安装都能准确往返恢复。
- 在恢复前后通过 `doctor` 检查本地环境状态。
- 为 Bash、Zsh 和 PowerShell 生成 shell 补全脚本。
- 通过 `--json` 输出结构化 JSON,便于自动化和脚本集成。
## 快速开始
### 前置条件
- [`bun`](https://bun.com) >=1.3.11
- 可通过 `bunx skills` 访问上游 `skills` CLI
### 安装
```bash
bun add -g @xixu-me/skills-vault@latest
```
然后确认 CLI 已可用:
```bash
skvlt --help
skvlt --version
```
## 社区
- 在发起 Pull Request 之前先阅读 [`CONTRIBUTING.md`](./CONTRIBUTING.md)。
- 参与前请查看 [`CODE_OF_CONDUCT.md`](./CODE_OF_CONDUCT.md)。
- 需要支持时请参考 [`SUPPORT.md`](./SUPPORT.md) 选择合适渠道。
- 私下报告安全漏洞请遵循 [`SECURITY.md`](./SECURITY.md)。
## 用法
### 1. 备份已安装的 skills
为当前已安装的 skills 创建清单:
```bash
skvlt backup
```
预览生成的 YAML,而不写入文件:
```bash
skvlt backup --dry-run
```
使用显式锁文件备份项目级安装:
```bash
skvlt backup --project-scope --lock-file ./skills-lock.json --output ./skvlt.yaml
```
### 2. 从清单恢复
恢复 `./skvlt.yaml` 中记录但当前缺失的 skills:
```bash
skvlt restore
```
预览底层将执行的 `bunx skills add ...` 命令:
```bash
skvlt restore --dry-run
```
只恢复单个来源:
```bash
skvlt restore --only-source anthropics/skills
```
指定 agent,并使用复制而不是符号链接:
```bash
skvlt restore --agent codex --agent claude-code --copy
```
从所有选定来源强制完整重装:
```bash
skvlt restore --reinstall-all
```
让上游来源自行决定要安装哪些 skills:
```bash
skvlt restore --all
```
### 3. 检查本地状态
快速检查 Bun、`skills` CLI、清单文件,以及全局 skills 一致性:
```bash
skvlt doctor
```
### 4. 启用 shell 补全
```bash
skvlt completion bash
skvlt completion zsh
skvlt completion powershell
```
## 清单格式
默认情况下,Skills Vault 会写入 `./skvlt.yaml`。
```yaml
total_sources: 2
total_skills: 3
scope: "global"
sources:
"anthropics/skills":
count: 2
skills:
- "alpha"
- "beta"
"github/awesome-copilot":
count: 1
skills:
- "gamma"
```
每个来源都会按备份时本地锁文件中看到的精确 skill 名称分组。恢复时会遵循清单中的作用域,除非你显式用 `--project-scope` 覆盖。
## 命令
### `backup`
将已安装的 skills 记录到清单中。
```text
skvlt backup [options]
```
常用选项:
- `--output <path>`:将清单写到 `./skvlt.yaml` 以外的位置
- `--lock-file <path>`:指定要读取的 skills 锁文件
- `--project-scope`:备份项目级安装,而不是全局安装
- `--dry-run`:将清单输出到 stdout
### `restore`
根据清单重建本地环境。
```text
skvlt restore [options]
```
常用选项:
- `--manifest <path>`:从其他路径的清单恢复
- `--only-source <source>`:只恢复单个来源,可重复传入
- `--agent <agent>`:透传一个或多个 agent 目标
- `--copy`:复制文件而不是创建符号链接
- `--all`:从每个选定来源安装全部 skills
- `--reinstall-all`:重装清单中列出的所有 skills
- `--continue-on-error`:某个来源失败后继续处理后续来源
- `--concurrency <count>`:设置 dry run 预览的并发数
- `--dry-run`:输出生成的安装命令
> [!NOTE]
> 实际恢复会故意以串行方式执行安装,以保证锁文件安全,因为上游 `skills` CLI 会修改共享的全局状态。
### `doctor`
检查当前环境与 skill 状态。
```text
skvlt doctor [options]
```
常用选项:
- `--manifest <path>`:检查非默认路径的清单
### `completion`
输出当前 shell 的补全脚本。
```text
skvlt completion <bash|zsh|powershell>
```
## JSON 输出
每个顶层命令都支持 `--json`,方便将 `skvlt` 集成进脚本或 CI:
```bash
skvlt --json --version
skvlt --json backup --dry-run
skvlt --json doctor
```
## 开发
安装依赖:
```bash
bun install
```
在本地运行主要工作流:
```bash
bun run format
bun run test
bun run check
```
构建可发布的 tarball:
```bash
npm pack
```
发布包:
```bash
npm publish --access public
```
## 说明
- 全局清单默认读取 `~/.agents/.skill-lock.json`。
- 全局恢复会校验 `~/.agents/.skill-lock.json` 与 `~/.agents/skills` 之间的关系。
- 项目级备份目前需要显式传入 `--lock-file`,以保持来源元数据明确。
## 许可证
基于 MIT License 发布。详见 [`LICENSE`](./LICENSE)。
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@xixu-me/skills-vault",
"version": "1.0.0",
"description": "CLI for backing up and restoring agent skills.",
"version": "1.0.1",
"description": "CLI for backing up and restoring Agent Skills.",
"author": "Xi Xu",
"bin": {
"skvlt": "src/cli.ts"
@@ -52,4 +52,4 @@
"devDependencies": {
"prettier": "^3.8.1"
}
}
}