{"id":51709805,"url":"https://github.com/drl990114/cleanr","last_synced_at":"2026-07-16T19:04:27.550Z","repository":{"id":369706334,"uuid":"1275032650","full_name":"drl990114/cleanr","owner":"drl990114","description":"TUI-first, reviewable disk cleanup for rebuildable caches and system cleanup locations, with safe trash-based recovery.","archived":false,"fork":false,"pushed_at":"2026-07-06T13:53:35.000Z","size":1042,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-06T15:21:26.022Z","etag":null,"topics":["clean-disk","developer-tools","system-cleaner"],"latest_commit_sha":null,"homepage":"https://drl990114.github.io/cleanr/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drl990114.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-20T06:57:02.000Z","updated_at":"2026-07-06T14:07:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/drl990114/cleanr","commit_stats":null,"previous_names":["drl990114/cleanr"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/drl990114/cleanr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drl990114%2Fcleanr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drl990114%2Fcleanr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drl990114%2Fcleanr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drl990114%2Fcleanr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drl990114","download_url":"https://codeload.github.com/drl990114/cleanr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drl990114%2Fcleanr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35555542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clean-disk","developer-tools","system-cleaner"],"created_at":"2026-07-16T19:04:25.629Z","updated_at":"2026-07-16T19:04:27.545Z","avatar_url":"https://github.com/drl990114.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eCleanr\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eLet your AI help you safely clean your disk with Cleanr.\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://drl990114.github.io/cleanr/\"\u003eDocumentation\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/drl990114/cleanr/releases\"\u003eDownload\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/drl990114/cleanr/discussions\"\u003eDiscussions\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/drl990114/cleanr/actions/workflows/ci.yml\"\u003e\u003cimg alt=\"CI workflow\" src=\"https://img.shields.io/github/actions/workflow/status/drl990114/cleanr/ci.yml?branch=main\u0026label=CI\u0026style=flat-square\u0026logo=githubactions\u0026logoColor=white\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/drl990114/cleanr/actions/workflows/release.yml\"\u003e\u003cimg alt=\"Release workflow\" src=\"https://img.shields.io/github/actions/workflow/status/drl990114/cleanr/release.yml?label=release\u0026style=flat-square\u0026logo=githubactions\u0026logoColor=white\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/drl990114/cleanr/blob/main/LICENSE\"\u003e\u003cimg alt=\"MIT License\" src=\"https://img.shields.io/github/license/drl990114/cleanr?style=flat-square\u0026color=0f766e\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.npmjs.com/package/cleanr-cli\"\u003e\u003cimg alt=\"npm version\" src=\"https://img.shields.io/npm/v/cleanr-cli?style=flat-square\u0026logo=npm\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003cimg alt=\"Rust\" src=\"https://img.shields.io/badge/Rust-1.94-000000?style=flat-square\u0026logo=rust\u0026logoColor=white\"\u003e\n    \u003cimg alt=\"Ratatui\" src=\"https://img.shields.io/badge/Ratatui-0.29-2563eb?style=flat-square\"\u003e\n    \u003cimg alt=\"Platforms: macOS, Linux, and Windows\" src=\"https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-475569?style=flat-square\"\u003e\n    \u003cimg alt=\"Open source\" src=\"https://img.shields.io/badge/open%20source-MIT-155eef?style=flat-square\"\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"readme/en/README.md\"\u003eEnglish\u003c/a\u003e\n    ·\n    \u003ca href=\"readme/zh-CN/README.md\"\u003e简体中文\u003c/a\u003e\n    ·\n    \u003ca href=\"CONTRIBUTING.md\"\u003eContributing\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\nCleanr helps developers find rebuildable generated files and caches without\nturning cleanup into a blind delete. It scans paths you choose, explains why\neach item matched, lets you review the plan in a keyboard-driven terminal UI,\nand moves selected items to the operating system trash.\n\n## AI-Friendly by Design\n\nCleanr gives local coding agents deterministic, versioned JSON evidence through\n`cleanr analyze` while keeping cleanup authority with the user. Agents can\ninspect recommendation states, decision codes, risk notes, and scan integrity\nwithout parsing terminal output or deleting files. Raw paths and reports stay\nlocal unless you explicitly choose to share them.\n\nInstall the cross-agent `cleanr-review-disk-cleanup` skill directly from GitHub:\n\n```bash\nnpx skills add drl990114/cleanr@cleanr-review-disk-cleanup -g\n```\n\nThe skill checks whether the Cleanr CLI is available, installs `cleanr-cli`\nglobally when needed, and guides a local, read-only analysis workflow. See\n[Evidence and privacy](docs/docs/evidence-and-privacy.md) for supported agents,\nthe report contract, and privacy guidance.\n\n## Features\n\n- Keyboard-driven scan, review, cleanup, and restore workflow.\n- Built-in rules for common developer caches, browser caches, application\n  caches, build output, package-manager caches, large downloads, logs, and\n  temporary files.\n- Reviewable cleanup plans with size, confidence, reason, and risk notes for\n  every candidate.\n- A local-only `cleanr analyze` JSON contract so a user's local coding agent\n  can inspect deterministic evidence without receiving cleanup authority.\n- Conservative default selection: only high-confidence items from built-in or\n  trusted rules can be preselected.\n- Safer execution through trash-based cleanup, final pre-clean validation,\n  overlap removal, and local cleanup manifests.\n- Restore history for macOS Trash, Windows Recycle Bin, and\n  Freedesktop-compatible Linux trash implementations.\n- Declarative plugin support for custom cleanup rules and translations.\n- Native packages for macOS, Linux, and Windows, with npm, Cargo, and GitHub\n  Release installation options.\n- English and Simplified Chinese UI support.\n\n## Install\n\nInstall with npm:\n\n```bash\nnpm install --global cleanr-cli\n```\n\nInstall with Cargo:\n\n```bash\ncargo install cleanr-cli\n```\n\nYou can also download a prebuilt binary from\n[GitHub Releases](https://github.com/drl990114/cleanr/releases).\n\n## Start\n\nRun Cleanr in the directory you want to inspect:\n\n```bash\ncleanr\n```\n\nOr pass one or more scan roots:\n\n```bash\ncleanr ~/projects ~/Downloads\n```\n\nInside the TUI, press `s` to scan, `r` to review candidates, `space` to select\nor deselect an item, and `c` to confirm cleanup. Use `/scan --global` to inspect\nknown system cleanup locations and `/restore` to restore a previous cleanup run\nwhen the platform supports it.\n\nPress `?` in the TUI for keyboard help.\n\nFor a local coding agent, use the read-only analysis command and keep its JSON\non the machine unless you deliberately redact it first:\n\n```bash\ncleanr analyze ~/projects \u003e cleanr-analysis.json\n```\n\nThe report is evidence for review, not a cleanup instruction. Cleanr does not\noffer an agent execution command; a person still reviews and confirms cleanup\ninside the TUI.\n\nThe TUI, `analyze`, `plan`, and `dry-run` share\n`[recommendations].preselect_after_days` from `cleanr.toml` (90 days by\ndefault; `0` disables the age gate).\n\n## Safety Model\n\nCleanr does not clean anything just because it was found. The plan remains\neditable before execution, selected paths are validated again immediately\nbefore cleanup, and items are moved to the operating system trash rather than\npermanently deleted.\n\nRestore is best-effort and depends on the system trash. Do not empty the trash\nuntil you are confident the cleanup was correct.\n\n## Learn More\n\n- [Quick start](docs/docs/quick-start.md)\n- [Using Cleanr](docs/docs/using-cleanr.md)\n- [Safety and recovery](docs/docs/safety-and-recovery.md)\n- [Configuration](docs/docs/configuration.md)\n- [Plugins](docs/docs/plugins.md)\n\n## Contributing\n\nDevelopment setup, checks, documentation workflow, and release notes live in\n[CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Acknowledgements\n\nCleanr includes code adapted from\n[Byron/dua-cli](https://github.com/Byron/dua-cli), an MIT-licensed disk usage\nanalyzer by Sebastian Thiel and contributors.\n\n## License\n\nCleanr is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrl990114%2Fcleanr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrl990114%2Fcleanr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrl990114%2Fcleanr/lists"}