Files
call-center/scripts/clean_workspace.ps1

62 lines
1.7 KiB
PowerShell

$ErrorActionPreference = "Stop"
$root = Split-Path -Parent $PSScriptRoot
Set-Location $root
function Remove-DirectoryIfExists {
param(
[Parameter(Mandatory = $true)]
[string]$Path
)
if (Test-Path -LiteralPath $Path) {
Write-Host "Removing directory:" $Path
Remove-Item -LiteralPath $Path -Recurse -Force
}
}
function Clear-DirectoryContents {
param(
[Parameter(Mandatory = $true)]
[string]$Path
)
if (!(Test-Path -LiteralPath $Path)) {
return
}
Write-Host "Clearing directory contents:" $Path
Get-ChildItem -LiteralPath $Path -Force -ErrorAction SilentlyContinue | ForEach-Object {
Remove-Item -LiteralPath $_.FullName -Recurse -Force
}
}
$cacheDirs = Get-ChildItem -Path $root -Directory -Recurse -Force -ErrorAction SilentlyContinue |
Where-Object { $_.Name -eq "__pycache__" }
foreach ($dir in $cacheDirs) {
Write-Host "Removing cache directory:" $dir.FullName
Remove-Item -LiteralPath $dir.FullName -Recurse -Force
}
Remove-DirectoryIfExists -Path (Join-Path $root ".pytest_cache")
Remove-DirectoryIfExists -Path (Join-Path $root ".codex_tmp")
Remove-DirectoryIfExists -Path (Join-Path $root ".local_stack")
Remove-DirectoryIfExists -Path (Join-Path $root ".artifacts")
$dataDirs = Get-ChildItem -Path $root -Directory -Force -ErrorAction SilentlyContinue |
Where-Object {
$_.Name -eq ".data" -or
$_.Name -eq ".data_local" -or
$_.Name -eq ".data_smoke" -or
$_.Name -like ".data_gate*" -or
$_.Name -like ".data_uat_*"
}
foreach ($dir in $dataDirs) {
Clear-DirectoryContents -Path $dir.FullName
}
Write-Host ""
Write-Host "Workspace cleanup completed."
Write-Host "Preserved source directories, docs, templates, and backups."