Skip to content

Commit ae2d480

Browse files
authored
Merge pull request #326 from TencentCloudBase/chore/refactor_skills
Chore/refactor skills
2 parents ce865d1 + eb54325 commit ae2d480

455 files changed

Lines changed: 3569 additions & 97851 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/compat-check.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Compat Check
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'config/source/skills/**'
7+
- 'config/source/guideline/**'
8+
- 'config/source/editor-config/**'
9+
- 'scripts/build-compat-config.mjs'
10+
- 'scripts/diff-compat-config.mjs'
11+
- 'scripts/update-compat-baseline.mjs'
12+
- 'scripts/sync-config.mjs'
13+
- 'package.json'
14+
push:
15+
branches:
16+
- main
17+
paths:
18+
- 'config/source/skills/**'
19+
- 'config/source/guideline/**'
20+
- 'config/source/editor-config/**'
21+
- 'scripts/build-compat-config.mjs'
22+
- 'scripts/diff-compat-config.mjs'
23+
- 'scripts/update-compat-baseline.mjs'
24+
- 'scripts/sync-config.mjs'
25+
- 'package.json'
26+
27+
jobs:
28+
compat-diff:
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Checkout repository
32+
uses: actions/checkout@v4
33+
34+
- name: Setup Node.js
35+
uses: actions/setup-node@v4
36+
with:
37+
node-version: '20'
38+
39+
- name: Verify compatibility surface
40+
run: npm run check:compat-diff

.github/workflows/push-allinone-skill.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ on:
55
branches:
66
- main
77
paths:
8-
- 'config/.claude/skills/**'
8+
- 'config/source/skills/**'
9+
- 'config/source/guideline/**'
910
- 'scripts/build-allinone-skill.ts'
10-
- 'scripts/skills-repo-template/**'
1111
workflow_dispatch:
1212

1313
jobs:

.github/workflows/push-skills-repo.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ on:
55
branches:
66
- main
77
paths:
8-
- 'config/.claude/skills/**'
8+
- 'config/source/skills/**'
9+
- 'config/source/guideline/**'
910
- 'scripts/build-skills-repo.mjs'
10-
- 'scripts/skills-repo-template/**'
11+
- 'scripts/skills-repo-template/readme-template.md'
1112
workflow_dispatch:
1213

1314
jobs:
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Sync Claude Skills Mirror
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'config/source/skills/**'
9+
- 'scripts/sync-claude-skills-mirror.mjs'
10+
- '.github/workflows/sync-claude-skills-mirror.yml'
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: write
15+
16+
jobs:
17+
sync-claude-skills:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
with:
23+
token: ${{ secrets.GITHUB_TOKEN }}
24+
fetch-depth: 0
25+
26+
- name: Setup Node.js
27+
uses: actions/setup-node@v4
28+
with:
29+
node-version: '20'
30+
31+
- name: Sync Claude skills mirror
32+
run: node scripts/sync-claude-skills-mirror.mjs
33+
34+
- name: Commit and push
35+
run: |
36+
git config user.name "github-actions[bot]"
37+
git config user.email "github-actions[bot]@users.noreply.github.com"
38+
git add config/.claude/skills
39+
if git diff --staged --quiet; then
40+
echo "No changes, skipping."
41+
else
42+
git commit -m "chore: sync claude skills mirror from source"
43+
git push
44+
fi

.github/workflows/sync-derived-branches.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ on:
44
push:
55
branches: [main]
66
paths:
7-
- 'scripts/skills-repo-template/cloudbase-guidelines/SKILL.md'
8-
- 'config/.claude/skills/**'
7+
- 'config/source/guideline/**'
8+
- 'config/source/skills/**'
99
- 'scripts/build-allinone-skill.ts'
1010
- 'scripts/sync-codebuddy-plugin.ts'
1111
workflow_dispatch:
@@ -74,15 +74,12 @@ jobs:
7474
with:
7575
node-version: '22'
7676

77-
- name: Build all-in-one skill
78-
run: npx tsx scripts/build-allinone-skill.ts --dir config/allinone
79-
8077
- name: Sync codebuddy plugin
8178
run: npx tsx scripts/sync-codebuddy-plugin.ts
8279

8380
- name: Commit and push
8481
run: |
85-
git add config/allinone config/codebuddy-plugin/skills config/codebuddy-plugin/rules config/codebuddy-plugin/.codebuddy-plugin
82+
git add config/codebuddy-plugin/skills config/codebuddy-plugin/rules config/codebuddy-plugin/.codebuddy-plugin
8683
if git diff --staged --quiet; then
8784
echo "No changes, skipping."
8885
else

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# Package publish backup files
88
**/package.json.backup
99
.skills-repo-output
10+
.generated
1011
.DS_Store
1112

1213
# MCP local IDE / rules artifacts

AGENTS.md

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,21 @@ alwaysApply: true
5454
<add_aiide>
5555
# CloudBase AI Toolkit - 新增 AI IDE 支持工作流
5656

57-
1. 创建 IDE 特定配置文件(如 `.mcp.json``AGENTS.md`
58-
2. 更新 `scripts/fix-config-hardlinks.sh` 添加新目标文件到硬链接列表
59-
3. 执行硬链接脚本确保规则文件同步
60-
4. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
61-
5. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
62-
6. **更新 IDE 文件映射**
57+
1.`config/source/editor-config/` 中补充该 IDE 所需的机器配置文件或兼容说明文件
58+
2. 如需新增 rules / instructions 兼容产物,更新 `scripts/build-compat-config.mjs` 的生成目标
59+
3. 更新 `mcp/src/tools/setup.ts` 中该 IDE 的文件映射和描述
60+
4. 如新增 skill 级兼容要求,确认是否需要保留到 `config/.claude/skills/` 镜像
61+
5. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
62+
6. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
63+
7. **更新 IDE 文件映射**
6364
-`mcp/src/tools/setup.ts``ALL_IDE_FILES` 数组中添加新IDE的配置文件路径
6465
-`IDE_FILE_MAPPINGS` 对象中添加新IDE的文件映射关系
6566
-`IDE_DESCRIPTIONS` 对象中添加新IDE的描述
6667
-`IDE_TYPES` 数组中添加新IDE的类型
67-
7. 验证硬链接状态和文档完整性
68-
8. 测试IDE特定下载功能是否正常工作
68+
8. 执行 `node scripts/build-compat-config.mjs` 验证兼容产物生成
69+
9. 如需本地检查 Claude skills 镜像,执行 `node scripts/sync-claude-skills-mirror.mjs --check`
70+
10. 执行 `node scripts/diff-compat-config.mjs` 验证外部兼容面无回退
71+
11. 测试IDE特定下载功能是否正常工作
6972
</add_aiide>
7073

7174
<sync_doc>
@@ -81,9 +84,15 @@ cp -r doc/* {cloudbase-docs dir}/docs/ai/cloudbase-ai-toolkit/
8184

8285

8386
<fix-config-hardlinks>
84-
用来修复 config 中的硬链接
85-
sh ./scripts/fix-config-hardlinks.sh
86-
</update_readme>
87+
兼容文件不再通过硬链接维护。
88+
日常维护时,直接修改 `config/source/skills/``config/source/guideline/``config/source/editor-config/` 并提交即可。
89+
`config/.claude/skills/` 是从 `config/source/skills/` 自动同步的兼容镜像,不要手改。
90+
兼容产物的生成和对外发布主要由 CI / workflow 负责,不需要像以前一样手动跑同步脚本。
91+
只有在需要本地验证或手动同步外部模板仓库时,才执行:
92+
1. `node scripts/sync-claude-skills-mirror.mjs`
93+
2. `node scripts/build-compat-config.mjs`
94+
3. `node scripts/sync-config.mjs`
95+
</fix-config-hardlinks>
8796

8897

8998
<git_push>
@@ -142,12 +151,15 @@ git push github && git push cnb --force
142151
<add_aiide>
143152
# CloudBase AI Toolkit - 新增 AI IDE 支持工作流
144153

145-
1. 创建 IDE 特定配置文件(如 `.mcp.json``AGENTS.md`
146-
2. 更新 `scripts/fix-config-hardlinks.sh` 添加新目标文件到硬链接列表
147-
3. 执行硬链接脚本确保规则文件同步
148-
4. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
149-
5. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
150-
6. 验证硬链接状态和文档完整性
154+
1.`config/source/editor-config/` 中补充该 IDE 所需的机器配置文件或兼容说明文件
155+
2. 如需新增 rules / instructions 兼容产物,更新 `scripts/build-compat-config.mjs` 的生成目标
156+
3. 更新 `mcp/src/tools/setup.ts` 中该 IDE 的文件映射和描述
157+
4. 如新增 skill 级兼容要求,确认是否需要保留到 `config/.claude/skills/` 镜像
158+
5. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
159+
6. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
160+
7. 执行 `node scripts/build-compat-config.mjs` 验证兼容产物生成
161+
8. 如需本地检查 Claude skills 镜像,执行 `node scripts/sync-claude-skills-mirror.mjs --check`
162+
9. 执行 `node scripts/diff-compat-config.mjs` 验证外部兼容面无回退
151163
</add_aiide>
152164

153165

@@ -173,9 +185,15 @@ cp -r doc/* {cloudbase-docs dir}/docs/ai/cloudbase-ai-toolkit/
173185

174186

175187
<fix-config-hardlinks>
176-
用来修复 config 中的硬链接
177-
sh ./scripts/fix-config-hardlinks.sh
178-
</update_readme>
188+
兼容文件不再通过硬链接维护。
189+
日常维护时,直接修改 `config/source/skills/``config/source/guideline/``config/source/editor-config/` 并提交即可。
190+
`config/.claude/skills/` 是从 `config/source/skills/` 自动同步的兼容镜像,不要手改。
191+
兼容产物的生成和对外发布主要由 CI / workflow 负责,不需要像以前一样手动跑同步脚本。
192+
只有在需要本地验证或手动同步外部模板仓库时,才执行:
193+
1. `node scripts/sync-claude-skills-mirror.mjs`
194+
2. `node scripts/build-compat-config.mjs`
195+
3. `node scripts/sync-config.mjs`
196+
</fix-config-hardlinks>
179197

180198

181199
<git_push>

CLAUDE.md

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,19 @@ alwaysApply: true
5454
<add_aiide>
5555
# CloudBase AI Toolkit - 新增 AI IDE 支持工作流
5656

57-
1. 创建 IDE 特定配置文件(如 `.mcp.json``CLAUDE.md`
58-
2. 更新 `scripts/fix-config-hardlinks.sh` 添加新目标文件到硬链接列表
59-
3. 执行硬链接脚本确保规则文件同步
60-
4. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
61-
5. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
62-
6. **更新 IDE 文件映射**
57+
1.`config/source/editor-config/` 中补充该 IDE 所需的机器配置文件或兼容说明文件
58+
2. 如需新增 rules / instructions 兼容产物,更新 `scripts/build-compat-config.mjs` 的生成目标
59+
3. 更新 `mcp/src/tools/setup.ts` 中该 IDE 的文件映射和描述
60+
4. 执行 `node scripts/build-compat-config.mjs` 验证兼容产物生成
61+
5. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
62+
6. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
63+
7. **更新 IDE 文件映射**
6364
-`mcp/src/tools/setup.ts``ALL_IDE_FILES` 数组中添加新IDE的配置文件路径
6465
-`IDE_FILE_MAPPINGS` 对象中添加新IDE的文件映射关系
6566
-`IDE_DESCRIPTIONS` 对象中添加新IDE的描述
6667
-`IDE_TYPES` 数组中添加新IDE的类型
67-
7. 验证硬链接状态和文档完整性
68-
8. 测试IDE特定下载功能是否正常工作
68+
8. 执行 `node scripts/diff-compat-config.mjs` 验证外部兼容面无回退
69+
9. 测试IDE特定下载功能是否正常工作
6970
</add_aiide>
7071

7172
<sync_doc>
@@ -81,9 +82,15 @@ cp -r doc/* {cloudbase-docs dir}/docs/ai/cloudbase-ai-toolkit/
8182

8283

8384
<fix-config-hardlinks>
84-
用来修复 config 中的硬链接
85-
sh ./scripts/fix-config-hardlinks.sh
86-
</update_readme>
85+
兼容文件不再通过硬链接维护。
86+
日常维护时,直接修改 `config/source/skills/``config/source/guideline/``config/source/editor-config/` 并提交即可。
87+
`config/.claude/skills/` 是从 `config/source/skills/` 自动同步的兼容镜像,不要手改。
88+
兼容产物的生成和对外发布主要由 CI / workflow 负责,不需要像以前一样手动跑同步脚本。
89+
只有在需要本地验证或手动同步外部模板仓库时,才执行:
90+
1. `node scripts/sync-claude-skills-mirror.mjs`
91+
2. `node scripts/build-compat-config.mjs`
92+
3. `node scripts/sync-config.mjs`
93+
</fix-config-hardlinks>
8794

8895

8996
<git_push>
@@ -142,12 +149,13 @@ git push github && git push cnb --force
142149
<add_aiide>
143150
# CloudBase AI Toolkit - 新增 AI IDE 支持工作流
144151

145-
1. 创建 IDE 特定配置文件(如 `.mcp.json``CLAUDE.md`
146-
2. 更新 `scripts/fix-config-hardlinks.sh` 添加新目标文件到硬链接列表
147-
3. 执行硬链接脚本确保规则文件同步
148-
4. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
149-
5. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
150-
6. 验证硬链接状态和文档完整性
152+
1.`config/source/editor-config/` 中补充该 IDE 所需的机器配置文件或兼容说明文件
153+
2. 如需新增 rules / instructions 兼容产物,更新 `scripts/build-compat-config.mjs` 的生成目标
154+
3. 更新 `mcp/src/tools/setup.ts` 中该 IDE 的文件映射和描述
155+
4. 执行 `node scripts/build-compat-config.mjs` 验证兼容产物生成
156+
5. 创建 `doc/ide-setup/{ide-name}.md` 配置文档
157+
6. 更新 `README.md``doc/index.md``doc/faq.md` 中的 AI IDE 支持列表,README 中注意 detail 中的内容也要填写
158+
7. 执行 `node scripts/diff-compat-config.mjs` 验证外部兼容面无回退
151159
</add_aiide>
152160

153161

@@ -173,9 +181,15 @@ cp -r doc/* {cloudbase-docs dir}/docs/ai/cloudbase-ai-toolkit/
173181

174182

175183
<fix-config-hardlinks>
176-
用来修复 config 中的硬链接
177-
sh ./scripts/fix-config-hardlinks.sh
178-
</update_readme>
184+
兼容文件不再通过硬链接维护。
185+
日常维护时,直接修改 `config/source/skills/``config/source/guideline/``config/source/editor-config/` 并提交即可。
186+
`config/.claude/skills/` 是从 `config/source/skills/` 自动同步的兼容镜像,不要手改。
187+
兼容产物的生成和对外发布主要由 CI / workflow 负责,不需要像以前一样手动跑同步脚本。
188+
只有在需要本地验证或手动同步外部模板仓库时,才执行:
189+
1. `node scripts/sync-claude-skills-mirror.mjs`
190+
2. `node scripts/build-compat-config.mjs`
191+
3. `node scripts/sync-config.mjs`
192+
</fix-config-hardlinks>
179193

180194

181195
<git_push>

0 commit comments

Comments
 (0)