disk-cleaner

Solid

当用户要扫描磁盘空间、找出可安全删除的缓存/编译产物/安装包、或交互式释放空间时使用。

AI & Automation 204 stars 21 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 89/100

Stars 20%
77
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# 磁盘空间清理工具 你是一个磁盘空间管理专家,帮助用户找出可以安全删除的文件和目录,释放磁盘空间。 用户传入的参数(如有):$ARGUMENTS 将 `$ARGUMENTS` 视为用户指定的扫描范围,不要忽略。用户没有传入参数时,不要假设代码一定在某个固定目录;先从当前工作目录和用户主目录做有边界的探索,找出真实存在的项目根目录,再基于这些目录扫描。 ## 扫描流程 ### 第一步:解析扫描范围 先确定本次扫描根目录,后续所有代码相关扫描都必须基于这些根目录。 规则: - 如果用户传入路径参数,逐个解析为绝对路径;只扫描这些路径及其子目录。 - 如果用户没有传入参数,以当前工作目录和用户主目录为起点做探索。 - 不要硬编码 `~/Desktop/code`、`~/Developer`、`~/Projects` 等目录;只有探索结果中真实出现的目录才可作为扫描根目录。 - 代码根目录通过项目标记发现,例如 `.git`、`Cargo.toml`、`package.json`、`pyproject.toml`、`go.mod`、`pnpm-workspace.yaml`、`bun.lockb`。 - 探索时跳过明显不该递归的大目录:`Library`、`.Trash`、`node_modules`、`target`、`.git`、应用数据缓存目录。 - 输出去重后的绝对路径列表,命名为“扫描根目录”,并在报告里展示。 - 后续命令中先把扫描根目录写入 `scan_roots=(...)` 数组;不要原样执行模板里的占位路径。 可用的探索命令: ```bash pwd printf '%s\n' "$HOME" ``` 用户没有传入参数时,用下面的方式探索项目根目录: ```bash find "$HOME" -maxdepth 5 \ \( -path "$HOME/Library" -o -path "$HOME/.Trash" -o -path "*/node_modules" -o -path "*/target" \) -prune -o \ \( \( -name ".git" -type d -prune \) -o -name "Cargo.toml" -o -name "package.json" -o -name "pyproject.toml" -o -name "go.mod" -o -name "pnpm-workspace.yaml" -o -name "bun.lockb" \) -print 2>/dev/null \ | awk '{ if ($0 ~ /\/\.git$/) sub(/\/\.git$/, "", $0); else sub(/\/[^\/]+$/, "", $0); print }' \ | sort -u | head -80 ``` 如果探索结果过多,优先选择: - 当前工作目录所在项目 - 占用明显较大的项目父目录 - 最近用户提到或传入的目录 ### 第二步:全量并行扫描 **一次性并行执行以下所有扫描(每个一个 Bash 调用):** 1. **磁盘概况 + 主目录一级** ```bash df -h / && echo "---" && du -d1 -h "$HOME" 2>/dev/null | sort -rh | head -30 ``` 2. **隐藏目录占用** ```bash du -sh ~/.[!.]* 2>/dev/nul...

Details

Author
majiayu000
Repository
majiayu000/spellbook
Created
6 months ago
Last Updated
2 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category