FlorianIO
WORKS — 002

Open Source CLI Tool

GoCLI

Open Source CLI Tool

A Go CLI that solves a real pain: batch renaming + file organization in one binary. It sorts the mess in your download folder by type and date, and supports templated rename rules.

Why Go for a CLI

The choice was purely pragmatic:

  1. Single binary distribution — users don't install any runtime
  2. Fast compilation — pleasant iteration loop
  3. Enough in the stdlibflag, path/filepath, os out of the box

Core Usage

# Group files by extension
organize --mode classify ~/Downloads

# Template rename: {date}_{name}.{ext}
organize --rename '{date}_{name}.{ext}' --dry-run ~/Downloads

--dry-run is the golden habit of CLI tools: show what will happen before it happens. This one flag turns the tool from a "dangerous script" into a "trusted assistant".

Design Notes

  • Error handling: each failing file is reported individually, the run continues
  • Safety: existing files are never overwritten by default; conflicts get a suffix
  • Testability: core logic decoupled from I/O; unit test coverage at 90%

What Open Source Gave Back

The project briefly hit the front page of Hacker News, earning a few hundred stars and a stream of high-quality issues. The real takeaway wasn't the numbers — it was learning how to maintain a tool used by strangers: clear changelogs, backward compatibility, and taking every bug report seriously.

Open source is the best business card an indie developer can have — it speaks for you.