64 lines
2.1 KiB
PowerShell
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"
|