8个版本

0.1.7 2024年2月1日
0.1.6 2023年10月19日
0.1.5 2021年7月3日
0.1.4 2021年5月16日
0.1.1 2021年4月25日

#15 in #cleaner

Download history 10/week @ 2024-04-06 7/week @ 2024-05-18 1/week @ 2024-05-25 3/week @ 2024-06-15 2/week @ 2024-06-22

57 每月下载量
用于 ocy

MIT/Apache

19KB
555

ocy – 项目清理器

一个简单、临时的Rust编写的构建文件清理CLI应用程序。

附录

OcyOcypode cordimanus的缩写,或称平滑手蟹。就像属Ocypode的所有蟹一样,它的一只爪子比另一只大(就像在横幅上一样)。

尽管它非常可爱,但ocy是一种杂食动物——它会清理你的死字节。

BBayCrab2

安装

cargo install ocy

动机

我经常使用多种语言/技术,结果我的小Macbook Pro SSD上会有GB级的临时构建输出。

每个构建/项目系统都有自己存储临时构建文件的习惯(例如,Cargo会使用target,Gradle会使用build等),我需要一个快速的工具来安全地清除它们。

  • 为什么不使用现有的工具?

    我发现的大多数清理/擦除工具似乎都专注于处理单一类型的项目。

  • 为什么不使用bash

    巧妙的bash/find使用可以给你80%的ocy功能。然而,如果我们想增加一点安全性,例如通过匹配build模式来匹配文件夹,可能会有很多误报,并且需要更多的功能,比如显示和汇总文件夹大小。

  • 为什么是Rust?

    在Rust中编写CLI应用程序很有趣!最终的可执行文件将会非常小(目前大约3.2MB,没有太多时间用于优化)。任何语言都可以完成这个任务。所以这是为了乐趣和学习。

支持的规则

Ocy基于检测项目的规则的想法。在当前形式中,给出了一个用于检测项目的模式,以及另一个用于删除文件和文件夹的模式。

规则名称 项目匹配器 要删除的文件
Cargo Cargo.toml target
Gradle build.gradle build
GradleKTS build.gradle.kts build
Flutter pubspec.yaml build
Maven pom.xml target
NodeJS * node_modules
XCode * DerivedData
SBT build.sbt target
SBT plugins.sbt target

用法

Usage: ocy [OPTIONS]

Optional arguments:
  -h, --help             print help message
  -i, --ignores IGNORES  ignore this path
  -v, --version          print version
  -a, --all              walk into hidden dirs

未来计划

  • 制作一个TUI;由于“UI”与清理逻辑(ocy-core)解耦,因此应该很容易支持CLI和TUI。

  • 增加用户自定义规则,并支持更多项目,相应地支持更复杂的规则定义。

依赖项

~230KB