Introducing Gengo: A Simple Static Site Generator

I've recently started an open source project called Gengo — a minimalist CLI tool written in Go for generating static websites from Markdown and other text-based formats.

This post isn't about how it works (I'll leave that for the usage docs and the repo), but more about why I built it and what I hope to learn and share through the process.

Why Gengo?

Over the years, I've used and admired a lot of open source software. But contributing meaningfully, or even maintaining something of my own, always felt a bit distant — either too big to start, or too complex to sustain.

Gengo is my attempt to bridge that gap: to start small, keep it practical, and focus on learning what it means to own and maintain a tool in the open. It’s about more than code:

  • Practicing long-term maintenance: treating versioning, changelogs, releases, and backwards compatibility as first-class concerns.
  • Understanding community needs: inviting contributions, feedback, and perhaps even growing a user base over time.
  • Making decisions transparently: whether it's about naming things, choosing trade-offs, or deciding when to break compatibility.
  • Embracing constraints: no frameworks, minimal dependencies, and keeping Go's simplicity front and center.

What You’ll (Eventually) Find in the Repo

  • A CLI tool that turns Markdown into clean HTML.
  • A philosophy that prefers clarity over magic.
  • Tagged releases, versioned changelogs, and a growing test suite.
  • A commitment to simplicity and maintainability.

Why Share This Now?

I want to document the journey — not just the code. So this post marks the beginning. I’ll share lessons learned, mistakes made, and maybe even some small victories. If you’re curious about open source, CLI tools, Go, or just want to follow along, check out the Gengo repository.

More detailed documentation and usage guides are here, and of course, issues and pull requests are always welcome.