Files
AX-Copilot-Codex/scripts/generate-parity-report.ps1
lacvet a027ea4f9a
Some checks failed
Release Gate / gate (push) Has been cancelled
재구성 AX Agent 설정과 채팅 UI를 Claude형 구조로
2026-04-04 17:48:51 +09:00

64 lines
2.1 KiB
PowerShell

$ErrorActionPreference = "Stop"
$repoRoot = Split-Path -Parent $PSScriptRoot
$chatWindow = Join-Path $repoRoot "src\AxCopilot\Views\ChatWindow.xaml.cs"
$clawQuickstart = Join-Path $repoRoot "claw-code\en\quickstart.md"
$outFile = Join-Path $repoRoot "docs\TOOL_PARITY_REPORT.md"
if (-not (Test-Path $chatWindow)) {
throw "ChatWindow.xaml.cs not found: $chatWindow"
}
$axSlash = Select-String -Path $chatWindow -Pattern '^\s*\["/[^"]+"\]\s*=' |
ForEach-Object {
if ($_.Line -match '^\s*\["(/[^"]+)"\]\s*=') { $Matches[1] }
} |
Where-Object { -not [string]::IsNullOrWhiteSpace($_) } |
Sort-Object -Unique
$clawSlash = @()
if (Test-Path $clawQuickstart) {
$clawSlash = Select-String -Path $clawQuickstart -Pattern '^\|\s*`/[^`]+`\s*\|' |
ForEach-Object {
if ($_.Line -match '`\s*(/[a-zA-Z0-9\-]+)\s*`') { $Matches[1] }
} |
Where-Object { $_.StartsWith("/") } |
Sort-Object -Unique
}
$axOnly = $axSlash | Where-Object { $clawSlash -notcontains $_ }
$common = $axSlash | Where-Object { $clawSlash -contains $_ }
$clawOnly = $clawSlash | Where-Object { $axSlash -notcontains $_ }
$lines = New-Object System.Collections.Generic.List[string]
$lines.Add("# Tool/Slash Parity Report")
$lines.Add("")
$lines.Add("Generated: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')")
$lines.Add("")
$lines.Add("## Summary")
$lines.Add("- AX slash count: $($axSlash.Count)")
$lines.Add("- claw-code slash count: $($clawSlash.Count)")
$lines.Add("- Common: $($common.Count)")
$lines.Add("- AX only: $($axOnly.Count)")
$lines.Add("- claw-code only: $($clawOnly.Count)")
$lines.Add("")
$lines.Add("## Common")
foreach ($s in $common) { $lines.Add("- $s") }
$lines.Add("")
$lines.Add("## AX Only")
foreach ($s in $axOnly) { $lines.Add("- $s") }
$lines.Add("")
$lines.Add("## claw-code Only")
foreach ($s in $clawOnly) { $lines.Add("- $s") }
$lines.Add("")
$lines.Add("## Notes")
$lines.Add("- claw-code source baseline: claw-code/en/quickstart.md")
$lines.Add("- AX source baseline: src/AxCopilot/Views/ChatWindow.xaml.cs")
Set-Content -Path $outFile -Value $lines -Encoding UTF8
Write-Output "Generated: $outFile"