@ruan-cat/vitepress-preset-config 2.13.0 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -6
- package/dist/config.d.mts +8 -8
- package/dist/config.mjs +1 -1
- package/package.json +2 -2
- package/src/config/copy-claude-files.ts +9 -9
package/README.md
CHANGED
|
@@ -11,14 +11,30 @@
|
|
|
11
11
|
|
|
12
12
|
## 安装
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
<!-- automd:pm-install name="@ruan-cat/vitepress-preset-config" dev -->
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
# ✨ Auto-detect
|
|
18
|
+
npx nypm install -D @ruan-cat/vitepress-preset-config
|
|
19
|
+
|
|
20
|
+
# npm
|
|
21
|
+
npm install -D @ruan-cat/vitepress-preset-config
|
|
22
|
+
|
|
23
|
+
# yarn
|
|
24
|
+
yarn add -D @ruan-cat/vitepress-preset-config
|
|
25
|
+
|
|
26
|
+
# pnpm
|
|
27
|
+
pnpm add -D @ruan-cat/vitepress-preset-config
|
|
28
|
+
|
|
29
|
+
# bun
|
|
30
|
+
bun install -D @ruan-cat/vitepress-preset-config
|
|
31
|
+
|
|
32
|
+
# deno
|
|
33
|
+
deno install --dev npm:@ruan-cat/vitepress-preset-config
|
|
20
34
|
```
|
|
21
35
|
|
|
36
|
+
<!-- /automd -->
|
|
37
|
+
|
|
22
38
|
## 使用方法
|
|
23
39
|
|
|
24
40
|
```typescript
|
package/dist/config.d.mts
CHANGED
|
@@ -54,7 +54,7 @@ declare function copyReadmeMd(/** 目标文件夹 */ target: string): void;
|
|
|
54
54
|
/**
|
|
55
55
|
* Claude 文件夹名称类型
|
|
56
56
|
*/
|
|
57
|
-
type ClaudeFolderName = "agents" | "commands";
|
|
57
|
+
type ClaudeFolderName = "agents" | "commands" | "skills";
|
|
58
58
|
/**
|
|
59
59
|
* 将 .claude 相关文件夹复制到指定位置的配置选项
|
|
60
60
|
*/
|
|
@@ -102,10 +102,10 @@ interface CopyClaudeFilesOptions {
|
|
|
102
102
|
/**
|
|
103
103
|
* 要复制的 Claude 文件夹列表
|
|
104
104
|
* @description
|
|
105
|
-
* 指定要复制的文件夹名称数组。如果不传入,默认复制所有文件夹('agents' 和 'commands')。
|
|
105
|
+
* 指定要复制的文件夹名称数组。如果不传入,默认复制所有文件夹('agents' 和 'commands' 和 'skills')。
|
|
106
106
|
* 对于不存在的文件夹,会打印警告并跳过,不会影响其他文件夹的复制。
|
|
107
107
|
*
|
|
108
|
-
* @default ['agents', 'commands']
|
|
108
|
+
* @default ['agents', 'commands', 'skills']
|
|
109
109
|
* @example
|
|
110
110
|
* // 只复制 agents 文件夹
|
|
111
111
|
* items: ['agents']
|
|
@@ -114,29 +114,29 @@ interface CopyClaudeFilesOptions {
|
|
|
114
114
|
* items: ['commands']
|
|
115
115
|
*
|
|
116
116
|
* // 复制所有文件夹(默认行为)
|
|
117
|
-
* items: ['agents', 'commands']
|
|
117
|
+
* items: ['agents', 'commands', 'skills']
|
|
118
118
|
*/
|
|
119
119
|
items?: ClaudeFolderName[];
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
122
|
-
* 将 .claude 相关文件夹(agents 和 commands)复制到指定位置
|
|
122
|
+
* 将 .claude 相关文件夹(agents 和 commands 和 skills)复制到指定位置
|
|
123
123
|
* @param options - 配置选项
|
|
124
124
|
* @throws {Error} 当 `options.target` 为绝对路径时抛出错误
|
|
125
125
|
* @description
|
|
126
|
-
* 该函数会将指定的 `.claude` 文件夹(默认为 `agents` 和 `commands`)复制到目标位置的子目录中。
|
|
126
|
+
* 该函数会将指定的 `.claude` 文件夹(默认为 `agents` 和 `commands` 和 `skills`)复制到目标位置的子目录中。
|
|
127
127
|
* 从根目录的 .claude 文件夹复制到目标位置,自动创建对应的子文件夹。
|
|
128
128
|
*
|
|
129
129
|
* **安全限制**:`target` 参数必须是相对路径,禁止使用绝对路径,以防止意外覆盖系统目录。
|
|
130
130
|
*
|
|
131
131
|
* @example
|
|
132
132
|
* // ✅ 自动检测 monorepo 根目录,复制所有文件夹到当前目录的 dist 文件夹
|
|
133
|
-
* // 会生成:dist/agents/ 和 dist/commands/
|
|
133
|
+
* // 会生成:dist/agents/ 和 dist/commands/ 和 dist/skills/
|
|
134
134
|
* copyClaudeFiles({ target: 'dist' })
|
|
135
135
|
*
|
|
136
136
|
* // ✅ 只复制 agents 文件夹
|
|
137
137
|
* copyClaudeFiles({
|
|
138
138
|
* target: 'dist',
|
|
139
|
-
* items: ['agents']
|
|
139
|
+
* items: ['agents', 'skills']
|
|
140
140
|
* })
|
|
141
141
|
*
|
|
142
142
|
* // ✅ 手动指定根目录为向上三级,复制到 build 文件夹
|
package/dist/config.mjs
CHANGED
|
@@ -107,7 +107,7 @@ function copyClaudeFiles(options) {
|
|
|
107
107
|
throw new Error(errorMessage);
|
|
108
108
|
}
|
|
109
109
|
const root = resolveRootDir(options.rootDir);
|
|
110
|
-
const itemsToProcess = options.items ?? ["agents", "commands"];
|
|
110
|
+
const itemsToProcess = options.items ?? ["agents", "commands", "skills"];
|
|
111
111
|
let successCount = 0;
|
|
112
112
|
for (const folderName of itemsToProcess) {
|
|
113
113
|
const claudeFolderPath = `.claude/${folderName}`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ruan-cat/vitepress-preset-config",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"description": "用于给大多数的vitepress项目提供一个预设的配置文件。",
|
|
5
5
|
"homepage": "https://vitepress-preset.ruancat6312.top",
|
|
6
6
|
"types": "./src/config.mts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/lodash-es": "^4.17.12",
|
|
26
|
-
"automd": "^0.4.
|
|
26
|
+
"automd": "^0.4.3",
|
|
27
27
|
"element-plus": "^2.11.7",
|
|
28
28
|
"tsup": "^8.5.0",
|
|
29
29
|
"vitepress": "^1.6.4"
|
|
@@ -5,7 +5,7 @@ import consola from "consola";
|
|
|
5
5
|
/**
|
|
6
6
|
* Claude 文件夹名称类型
|
|
7
7
|
*/
|
|
8
|
-
export type ClaudeFolderName = "agents" | "commands";
|
|
8
|
+
export type ClaudeFolderName = "agents" | "commands" | "skills";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* 从当前工作目录向上查找 monorepo 根目录
|
|
@@ -133,10 +133,10 @@ export interface CopyClaudeFilesOptions {
|
|
|
133
133
|
/**
|
|
134
134
|
* 要复制的 Claude 文件夹列表
|
|
135
135
|
* @description
|
|
136
|
-
* 指定要复制的文件夹名称数组。如果不传入,默认复制所有文件夹('agents' 和 'commands')。
|
|
136
|
+
* 指定要复制的文件夹名称数组。如果不传入,默认复制所有文件夹('agents' 和 'commands' 和 'skills')。
|
|
137
137
|
* 对于不存在的文件夹,会打印警告并跳过,不会影响其他文件夹的复制。
|
|
138
138
|
*
|
|
139
|
-
* @default ['agents', 'commands']
|
|
139
|
+
* @default ['agents', 'commands', 'skills']
|
|
140
140
|
* @example
|
|
141
141
|
* // 只复制 agents 文件夹
|
|
142
142
|
* items: ['agents']
|
|
@@ -145,30 +145,30 @@ export interface CopyClaudeFilesOptions {
|
|
|
145
145
|
* items: ['commands']
|
|
146
146
|
*
|
|
147
147
|
* // 复制所有文件夹(默认行为)
|
|
148
|
-
* items: ['agents', 'commands']
|
|
148
|
+
* items: ['agents', 'commands', 'skills']
|
|
149
149
|
*/
|
|
150
150
|
items?: ClaudeFolderName[];
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
|
-
* 将 .claude 相关文件夹(agents 和 commands)复制到指定位置
|
|
154
|
+
* 将 .claude 相关文件夹(agents 和 commands 和 skills)复制到指定位置
|
|
155
155
|
* @param options - 配置选项
|
|
156
156
|
* @throws {Error} 当 `options.target` 为绝对路径时抛出错误
|
|
157
157
|
* @description
|
|
158
|
-
* 该函数会将指定的 `.claude` 文件夹(默认为 `agents` 和 `commands`)复制到目标位置的子目录中。
|
|
158
|
+
* 该函数会将指定的 `.claude` 文件夹(默认为 `agents` 和 `commands` 和 `skills`)复制到目标位置的子目录中。
|
|
159
159
|
* 从根目录的 .claude 文件夹复制到目标位置,自动创建对应的子文件夹。
|
|
160
160
|
*
|
|
161
161
|
* **安全限制**:`target` 参数必须是相对路径,禁止使用绝对路径,以防止意外覆盖系统目录。
|
|
162
162
|
*
|
|
163
163
|
* @example
|
|
164
164
|
* // ✅ 自动检测 monorepo 根目录,复制所有文件夹到当前目录的 dist 文件夹
|
|
165
|
-
* // 会生成:dist/agents/ 和 dist/commands/
|
|
165
|
+
* // 会生成:dist/agents/ 和 dist/commands/ 和 dist/skills/
|
|
166
166
|
* copyClaudeFiles({ target: 'dist' })
|
|
167
167
|
*
|
|
168
168
|
* // ✅ 只复制 agents 文件夹
|
|
169
169
|
* copyClaudeFiles({
|
|
170
170
|
* target: 'dist',
|
|
171
|
-
* items: ['agents']
|
|
171
|
+
* items: ['agents', 'skills']
|
|
172
172
|
* })
|
|
173
173
|
*
|
|
174
174
|
* // ✅ 手动指定根目录为向上三级,复制到 build 文件夹
|
|
@@ -204,7 +204,7 @@ export function copyClaudeFiles(options: CopyClaudeFilesOptions): void {
|
|
|
204
204
|
const root = resolveRootDir(options.rootDir);
|
|
205
205
|
|
|
206
206
|
// 确定要处理的文件夹列表,默认为所有文件夹
|
|
207
|
-
const itemsToProcess = options.items ?? ["agents", "commands"];
|
|
207
|
+
const itemsToProcess = options.items ?? ["agents", "commands", "skills"];
|
|
208
208
|
|
|
209
209
|
// 记录成功复制的文件夹数量
|
|
210
210
|
let successCount = 0;
|