Latest posts

  • 01 7月 2026

eget:不用等中央仓库,直接安装 GitHub 和任意下载站的工具

AI 时代来了之后,各种应用、命令行工具的发布节奏明显变快了。GitHub 上每天都有新工具冒出来,一个活跃项目一天发几个版本也不奇怪。

问题是:中央仓库经常慢半拍。快速尝试一个新工具,想试一个刚修好的 bug,或者跟进刚发的新功能,可能要等包维护者更新 formula、bucket、manifest。eget 解决的是这段空窗期:直接从 release、下载站或内部规则里拿到二进制。

eget 工具下载器海报

阅读全文 
  • 24 6月 2026

rotatefile:给 Go 日志补上文件轮转、压缩和清理

Go 标准库能把日志写到 io.Writer,但不会管文件什么时候切、旧文件留多久、磁盘占用怎么收。项目一旦开始写本地日志,这些问题迟早会冒出来。

github.com/gookit/rotatefile 做的事情很窄:提供一个支持轮转、压缩和清理的 io.Writer。你可以继续用标准库 log/sloglogzapgookit/slog,只把文件轮转这部分交给它。

rotatefile 日志轮转海报

阅读全文 
  • 22 6月 2026

GCli v3.8:共享选项、文档生成和参数重排

GCli v3.8 这一轮补的不是花哨功能,而是写复杂 CLI 时经常会撞到的几个缺口:参数可以写在位置参数后面,结构体绑定支持更多 Go 类型,父命令可以定义会被子命令继承的共享选项,还能直接生成 markdown 和 man 文档。

如果你的 CLI 已经有多级命令、共享配置和文档生成需求,这版会少写不少胶水代码。

GCli v3.8 发布海报

阅读全文 
  • 18 6月 2026

miglite:用原始 SQL 文件管理数据库迁移

数据库迁移工具有两类。一类想帮你描述表结构,再生成 SQL;另一类只管把你写好的 SQL 按顺序跑完,并记录哪些已经执行过。

github.com/gookit/miglite 选的是后者。它不试图替代 SQL,也不默认拉一堆数据库驱动进来。它做的事情很窄:发现迁移文件、解析 UP/DOWN 区块、在事务里执行 SQL,并把执行状态记到数据库里。

miglite 数据库迁移海报

阅读全文