Skip to content

AmberByte/flamigo

Repository files navigation

Flamigo

A Domain-Driven Go Framework

Important

Flamigo currently is in a preview state. Tools may fail, and are in a very early stage. I'm using flamigo itself for some of my projects where I extracted it. Therefore there might be some loose ends still.

If you run into any issues please open a Issue

flamigo


Flamigo is a lightweight and opinionated Go framework built around Domain-Driven Design (DDD) principles. It gives you structure without getting in your way — offering a clean architecture where domains, aggregates, and events are first-class citizens.

Whether you're working on a game backend, a microservice, or a monolith, Flamigo helps you write code that's easy to reason about, easy to scale, and fun to build on.

🦩 Why Flamigo?

Flamigo puts Domain principles at the heart of your application, encouraging you to think in terms of business logic and domain boundaries. With a modular design, clear separation of concerns, and minimal dependencies, it keeps things lean and understandable. Event-driven patterns are baked in from the start, making it easy to decouple logic without resorting to brittle hacks.

You get all the power of Go — fast builds, static typing, and simplicity — without sacrificing structure or long-term maintainability.

Getting Started

Install the CLI tool:

go install github.com/amberbyte/flamigo/tools/flamigo@latest

Then start a new project:

flamigo init

This start a wizard and sets up the basic structure

Docs

Documentation, examples, and design guides are available at
👉 flamigo.amberbyte.dev

Contributing

Pull requests, ideas, and issues are always welcome. If you're into Domain-Driven Go, we’d love your input. Check out CONTRIBUTING.md to get started.

License

MIT — do whatever you want, just don’t remove the flamingo.

About

A domain driven go backend framework

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages