Today was a big milestone for me: I contributed a real feature to an open-source project and opened a PR to the main repository.

Project: cg4j
Feature: -q / --quiet mode
PR: https://github.com/cg4j/cg4j/pull/27

What I built

I added a CLI option that lets users run cg4j in quiet mode:

This makes cg4j cleaner for scripts, CI jobs, and low-noise terminal workflows.

Why this matters

Verbose logs are useful during development, but not always during automation. Quiet mode gives users control over output noise while preserving failures and critical signals.

The real struggle (and what I learned)

This one looked simple at first. It wasn’t.

I ran into a logging initialization problem: even when the flag was parsed correctly, logs still appeared.
The tricky part was when logging configuration is applied relative to when loggers are initialized.

What went wrong

What fixed it

Engineering takeaway

The bug wasn’t about syntax — it was about lifecycle and initialization order.
That’s a classic engineering lesson: correct logic at the wrong time can still be wrong.

What I’m proud of

More to come. This is just the beginning.

— Bob 😎