🐛 fix(playbook): add agents mirror for sync

This commit is contained in:
csh
2026-01-10 22:02:16 +08:00
parent 3b8b99b24d
commit c0d0737da7
11 changed files with 224 additions and 9 deletions
+5
View File
@@ -20,6 +20,11 @@ for %%I in ("%ROOT%") do set "ROOT=%%~fI"
for %%I in ("%SCRIPT_DIR%..") do set "SRC=%%~fI"
set "AGENTS_SRC_ROOT=%SRC%\rulesets"
if not exist "%AGENTS_SRC_ROOT%" (
if exist "%SRC%\.agents" (
set "AGENTS_SRC_ROOT=%SRC%\.agents"
)
)
set "GITATTR_SRC=%SRC%\.gitattributes"
if not exist "%AGENTS_SRC_ROOT%" (
+6
View File
@@ -23,6 +23,12 @@ if (-not $Root) {
$Root = (Resolve-Path $Root).Path
$AgentsSrcRoot = Join-Path $Src "rulesets"
if (-not (Test-Path $AgentsSrcRoot)) {
$legacyAgents = Join-Path $Src ".agents"
if (Test-Path $legacyAgents) {
$AgentsSrcRoot = $legacyAgents
}
}
$GitAttrSrc = Join-Path $Src ".gitattributes"
if (-not (Test-Path $AgentsSrcRoot)) {
+3
View File
@@ -22,6 +22,9 @@ fi
ROOT="$(CDPATH= cd -- "$ROOT" && pwd -P)"
AGENTS_SRC_ROOT="$SRC/rulesets"
if [ ! -d "$AGENTS_SRC_ROOT" ] && [ -d "$SRC/.agents" ]; then
AGENTS_SRC_ROOT="$SRC/.agents"
fi
GITATTR_SRC="$SRC/.gitattributes"
if [ ! -d "$AGENTS_SRC_ROOT" ]; then
+8 -1
View File
@@ -77,6 +77,13 @@ if errorlevel 1 (
if not exist "%DEST_PREFIX%\\rulesets" mkdir "%DEST_PREFIX%\\rulesets"
copy /y "%SRC%\\rulesets\\index.md" "%DEST_PREFIX%\\rulesets\\index.md" >nul
if exist "%SRC%\\.agents" (
xcopy "%SRC%\\.agents\\*" "%DEST_PREFIX%\\.agents\\" /e /i /y >nul
if errorlevel 1 (
echo ERROR: failed to copy .agents
exit /b 1
)
)
if not exist "%DEST_PREFIX%\\templates" mkdir "%DEST_PREFIX%\\templates"
@@ -166,7 +173,7 @@ set "README=%DEST_PREFIX%\\README.md"
>> "%README%" echo 查看规范入口:
>> "%README%" echo.
>> "%README%" echo - `docs/standards/playbook/docs/index.md`
>> "%README%" echo - `rulesets/index.md`
>> "%README%" echo - `.agents/index.md`
>> "%README%" echo.
>> "%README%" echo ## Codex skills(可选)
>> "%README%" echo.
+13 -8
View File
@@ -77,6 +77,11 @@ Copy-Item (Join-Path $Src "docs/common") $DocsDir -Recurse -Force
$AgentsDir = Join-Path $DestPrefix "rulesets"
New-Item -ItemType Directory -Path $AgentsDir -Force | Out-Null
Copy-Item (Join-Path $Src "rulesets/index.md") (Join-Path $AgentsDir "index.md") -Force
# Compatibility: keep a mirrored .agents/ snapshot when present.
$LegacyAgents = Join-Path $Src ".agents"
if (Test-Path $LegacyAgents) {
Copy-Item $LegacyAgents (Join-Path $DestPrefix ".agents") -Recurse -Force
}
$TemplatesDir = Join-Path $DestPrefix "templates"
New-Item -ItemType Directory -Path $TemplatesDir -Force | Out-Null
@@ -184,7 +189,7 @@ sh docs/standards/playbook/scripts/sync_standards.sh $langsCsv
- `docs/standards/playbook/docs/index.md`
- `rulesets/index.md`
- `.agents/index.md`
## Codex skills
@@ -211,27 +216,27 @@ sh docs/standards/playbook/scripts/install_codex_skills.sh
Write-Host "Vendored snapshot -> $DestPrefix"
$ProjectAgentsRoot = Join-Path $DestRootAbs "rulesets"
$ProjectAgentsRoot = Join-Path $DestRootAbs ".agents"
$ProjectAgentsIndex = Join-Path $ProjectAgentsRoot "index.md"
New-Item -ItemType Directory -Path $ProjectAgentsRoot -Force | Out-Null
if (-not (Test-Path $ProjectAgentsIndex)) {
$agentLines = New-Object System.Collections.Generic.List[string]
$agentLines.Add("# rulesets(多语言)")
$agentLines.Add("# .agents(多语言)")
$agentLines.Add("")
$agentLines.Add("本目录用于存放仓库级/语言级的代理规则集。")
$agentLines.Add("")
$agentLines.Add("本项目已启用的规则集:")
foreach ($lang in $Langs) {
switch ($lang) {
"tsl" { $agentLines.Add("- rulesets/tsl/TSL 相关规则集(适用于 .tsl/.tsf)"); break }
"cpp" { $agentLines.Add("- rulesets/cpp/C++ 相关规则集(C++23,含 Modules"); break }
"python" { $agentLines.Add("- rulesets/python/Python 相关规则集"); break }
"markdown" { $agentLines.Add("- rulesets/markdown/Markdown 相关规则集(仅代码格式化)"); break }
"tsl" { $agentLines.Add("- .agents/tsl/TSL 相关规则集(适用于 .tsl/.tsf)"); break }
"cpp" { $agentLines.Add("- .agents/cpp/C++ 相关规则集(C++23,含 Modules"); break }
"python" { $agentLines.Add("- .agents/python/Python 相关规则集"); break }
"markdown" { $agentLines.Add("- .agents/markdown/Markdown 相关规则集(仅代码格式化)"); break }
}
}
$agentLines.Add("")
$agentLines.Add("入口建议从:")
foreach ($lang in $Langs) { $agentLines.Add("- rulesets/$lang/index.md") }
foreach ($lang in $Langs) { $agentLines.Add("- .agents/$lang/index.md") }
$agentLines.Add("")
$agentLines.Add("标准快照文档入口:")
$agentLines.Add("")
+4
View File
@@ -84,6 +84,10 @@ cp -R "$SRC/docs/common" "$DEST_PREFIX/docs/"
# Copy rulesets
mkdir -p "$DEST_PREFIX/rulesets"
cp "$SRC/rulesets/index.md" "$DEST_PREFIX/rulesets/index.md"
# Compatibility: keep a mirrored .agents/ snapshot when present.
if [ -d "$SRC/.agents" ]; then
cp -R "$SRC/.agents" "$DEST_PREFIX/"
fi
mkdir -p "$DEST_PREFIX/templates"
if [ -d "$SRC/templates/ci" ]; then