@@ -7,12 +7,17 @@ usage() {
77 cat << 'EOF '
88Usage: scripts/sync-skills.sh
99
10- Sync Sopify skill content from Codex/* to Claude/*:
10+ Sync Sopify skill content from Codex/* to Claude/* and TraeCn/* :
1111 - Codex/Skills/CN/AGENTS.md -> Claude/Skills/CN/CLAUDE.md
12- (auto-rewrite ~/.codex/* Claude-specific config/helper paths)
12+ (auto-rewrite ~/.codex/* to ~/.claude/* paths)
1313 - Codex/Skills/EN/AGENTS.md -> Claude/Skills/EN/CLAUDE.md
14- (auto-rewrite ~/.codex/* Claude-specific config/helper paths)
14+ (auto-rewrite ~/.codex/* to ~/.claude/* paths)
15+ - Codex/Skills/CN/AGENTS.md -> TraeCn/Skills/CN/user_rules/sopify.md
16+ (auto-rewrite ~/.codex/* to ~/.trae-cn/* paths; prepend alwaysApply frontmatter)
17+ - Codex/Skills/EN/AGENTS.md -> TraeCn/Skills/EN/user_rules/sopify.md
18+ (auto-rewrite ~/.codex/* to ~/.trae-cn/* paths; prepend alwaysApply frontmatter)
1519 - Codex/Skills/{CN,EN}/skills/sopify/* -> Claude/Skills/{CN,EN}/skills/sopify/*
20+ - Codex/Skills/{CN,EN}/skills/sopify/* -> TraeCn/Skills/{CN,EN}/skills/sopify/*
1621EOF
1722}
1823
@@ -31,6 +36,23 @@ render_claude_header() {
3136 " $source_file " > " $target_file "
3237}
3338
39+ TRAE_CN_FRONTMATTER=" ---
40+ alwaysApply: true
41+ ---"
42+
43+ render_trae_cn_header () {
44+ local source_file=" $1 "
45+ local target_file=" $2 "
46+
47+ {
48+ printf ' %s\n\n' " $TRAE_CN_FRONTMATTER "
49+ sed \
50+ -e ' s#~/.codex/sopify\.config\.yaml#~/.trae-cn/sopify.config.yaml#g' \
51+ -e ' s#~/.codex/sopify/#~/.trae-cn/sopify/#g' \
52+ " $source_file "
53+ } > " $target_file "
54+ }
55+
3456sync_lang () {
3557 local lang=" $1 "
3658 local codex_dir=" $ROOT_DIR /Codex/Skills/$lang "
@@ -60,7 +82,33 @@ sync_lang() {
6082 rsync -a --delete --exclude .DS_Store --exclude Thumbs.db " $codex_dir /skills/sopify/" " $claude_dir /skills/sopify/"
6183}
6284
85+ sync_trae_cn_lang () {
86+ local lang=" $1 "
87+ local codex_dir=" $ROOT_DIR /Codex/Skills/$lang "
88+ local trae_cn_dir=" $ROOT_DIR /TraeCn/Skills/$lang "
89+
90+ if [[ ! -f " $codex_dir /AGENTS.md" ]]; then
91+ echo " Missing source file: $codex_dir /AGENTS.md" >&2
92+ exit 1
93+ fi
94+
95+ mkdir -p " $trae_cn_dir /user_rules"
96+
97+ if [[ ! -d " $codex_dir /skills/sopify" ]]; then
98+ echo " Missing source directory: $codex_dir /skills/sopify" >&2
99+ exit 1
100+ fi
101+
102+ mkdir -p " $trae_cn_dir /skills/sopify"
103+
104+ render_trae_cn_header " $codex_dir /AGENTS.md" " $trae_cn_dir /user_rules/sopify.md"
105+ rsync -a --delete --exclude .DS_Store --exclude Thumbs.db " $codex_dir /skills/sopify/" " $trae_cn_dir /skills/sopify/"
106+ }
107+
63108sync_lang " CN"
64109sync_lang " EN"
65110
66- echo " Synced Codex -> Claude for CN and EN skill bundles."
111+ sync_trae_cn_lang " CN"
112+ sync_trae_cn_lang " EN"
113+
114+ echo " Synced Codex -> Claude and Codex -> TraeCn for CN and EN skill bundles."
0 commit comments