Blog

  • 1st July 2026

eget: install GitHub releases without waiting for a central index

The pace of command-line tooling has changed. New tools show up on GitHub every day, and active projects may publish several releases in a week, sometimes in a day.

The slow part is often not the project itself. It is the central package index in the middle: a formula, bucket, manifest, or package definition that has not caught up yet. eget is for that gap. If the release asset already exists, or the download URL can be described by a simple rule, eget can fetch and install it directly.

eget poster

Read more 
  • 24th June 2026

rotatefile: log rotation, compression, and cleanup for Go

Go’s standard logging packages can write to an io.Writer, but they do not decide when a log file should rotate, how many old files to keep, or when disk usage should be capped. Once a service writes logs to local files, those details become part of the system.

github.com/gookit/rotatefile stays deliberately small: it provides an io.Writer with file rotation, gzip compression, and cleanup. You can keep using log/slog, log, zap, or gookit/slog; rotatefile only handles the file lifecycle.

rotatefile poster

Read more 
  • 22nd June 2026

GCli v3.8: shared options, doc generation, and safer binding

GCli v3.8 is out. Since v3.5, the project has added friendlier argument parsing, richer struct binding, type-safe generic flag helpers, inherited command options, and built-in markdown/man-page generation.

If you maintain a nested CLI rather than a small command wrapper, this release is worth a closer look.

GCli v3.8 release poster

Read more 
  • 18th June 2026

miglite: raw SQL migrations for Go projects

Database migration tools usually pick one of two lanes. Some describe schema changes in their own DSL and generate SQL for you. Others take the SQL you already wrote, run it in order, and record what has been applied.

github.com/gookit/miglite stays in the second lane. It does not replace SQL, and the library does not pull database drivers into your dependency tree by default. It discovers migration files, parses UP/DOWN sections, runs SQL in a transaction, and records the migration status in the database.

miglite poster

Read more 
  • 6th June 2026

GCli v3.5 release: shell completion, command middleware, grouped help and more

GCli is a command-line application and tool library for Go. This post covers the main changes from v3.3.1 to the recently released v3.5, including the v3.4 cycle.

These updates focus on developer experience and underlying stability. If you write CLI tools in Go, a few of these features are worth upgrading for.

Read more 
  • 24th January 2024

gookit goutil release v0.6.15

gookit/goutil 💪 Go 常用功能的扩展工具库。包含:数字,字符串,slice/数组,Map,结构体,反射,文本,文件,错误,时间日期,测试,CLI,命令运行,系统信息,格式化,常用信息获取等等。

Read more