用途:审计并安全清理 macOS 上 Xcode 相关的开发者存储,适用于磁盘空间不足、DerivedData 或模拟器占用过多等场景。核心原则是把清理请求视为审计授权而非删除授权,未展示候选 ID、路径、大小、风险与重建成本前不得改动存储。
主要能力:只读审计覆盖 DerivedData、文档缓存、CocoaPods 缓存、模拟器设备与运行时(含被取代的旧 beta 运行时)、孤立运行时卷、模拟器 dyld 缓存、Xcode 管理组件与安装包、已安装 Xcode、归档(含从未分发的孤立归档)、各平台 DeviceSupport、诊断日志、XCTest 设备克隆、旧版 DocSets 及指定项目根目录。共享编译器缓存与全局 SwiftPM 下载缓存不在范围内。
使用方式:先运行只读审计:python3 "${SKILL_DIR}/scripts/xcode_disk_cleanup.py" audit --output-dir .xcode-disk-cleanup-audit [--scan-root /path/to/projects],阅读生成的 report.md 与 audit.json,按类别路由校验后进行提案,按可回收容量排序并给出证据与重建成本。仅在按 ID 直接批准或对已冻结的完整 ID 集合做明确批准后运行 apply:python3 "${SKILL_DIR}/scripts/xcode_disk_cleanup.py" apply --audit-file .xcode-disk-cleanup-audit/audit.json --ids "<id>" --confirm I_APPROVED_THE_SELECTED_ITEMS --output .xcode-disk-cleanup-audit/cleanup-result.json。模拟器设备与运行时删除不可逆,需二次批准及 --confirm-irreversible I_APPROVED_IRREVERSIBLE_SIMULATOR_DELETION。清理后重新审计并比较可用空间。
限制:默认移入废纸篓,空间在清空废纸篓前不释放;执行前需重新校验身份与进程占用;禁止通配符、无边界 rm -rf、sudo、修改 SIP 及在系统管理的 CoreSimulator 和 MobileAsset 目录内手动删除;归档与 dSYM 默认保留;不得删除 Package.resolved、签名资产、凭据、自定义 DocSet、活动 Xcode、运行中的模拟器或唯一提供所需 SDK/工具链的 Xcode。必须区分候选总大小与实际 APFS 回收空间。初次部署时运行前应阅读 references/safety-model.md,未提供该文件时可先完成只读审计。