https://github.com/amberbyte/flamigo
A domain driven go backend framework
https://github.com/amberbyte/flamigo
backend ddd-patterns domain-driven-design framework go
Last synced: 7 months ago
JSON representation
A domain driven go backend framework
- Host: GitHub
- URL: https://github.com/amberbyte/flamigo
- Owner: AmberByte
- License: mit
- Created: 2025-03-31T12:29:01.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-04T15:12:43.000Z (about 1 year ago)
- Last Synced: 2025-04-04T15:35:36.525Z (about 1 year ago)
- Topics: backend, ddd-patterns, domain-driven-design, framework, go
- Language: Go
- Homepage: https://flamigo.amberbyte.dev/
- Size: 162 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 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** 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:
```bash
go install github.com/amberbyte/flamigo/tools/flamigo@latest
```
Then start a new project:
```bash
flamigo init
```
This start a wizard and sets up the basic structure
## Docs
Documentation, examples, and design guides are available at
π [flamigo.amberbyte.dev](https://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](CONTRIBUTING.md) to get started.
## License
MIT β do whatever you want, just donβt remove the flamingo.