Yokai

by ankorstore

836 stars
412 downloads
Not rated
GitHub Website

About

Simple, modular, and observable Go framework for backend applications.

Details

Author
ankorstore
GitHub stars
836
Downloads
412
Categories
Other

- Simple, modular, and observable Go framework
- Built-in logging, tracing, metrics, and health checks
- Extensible via official or custom modules
- Dependency injection system (based on Uber Fx)
- Supports gRPC, HTTP, MCP, and worker applications

Get started by choosing one of Yokai's ready-to-use application templates (gRPC, HTTP, MCP, or worker). Follow the documentation at ankorstore.github.io/yokai to set up your project and use Yokai's dependency injection system to build your application logic.

Yokai

License: MIT
Go version
codecov
Documentation
Awesome Go

<p align="center">

</p>

> Simple, modular, and observable Go framework for backend applications.

<!-- TOC -->
Goals
Documentation
Overview
Architecture
Foundations
Extensions
Getting started
Showroom

<!-- TOC -->

Goals

Building backend applications with Go is amazing.

But to build production-grade applications, you need to put in place a bunch of efforts and boilerplate code, introducing complexity not even related to the logic of your application (like dependencies wiring, configuration management, observability instrumentation, etc.).

To solve this, Yokai was created with the following goals in mind:

- Simple: it is easy to use, configure and test, enabling you to iterate fast and deliver quickly maintainable applications.
- Modular: it can be extended with the available Yokai modules, or with your own, to build evolvable applications.
- Observable: it comes with built-in logging, tracing and metrics instrumentation, to build reliable applications.

In other words, Yokai lets you focus on your application logic, while taking care of the rest.

Documentation

Yokai's documentation is available at https://ankorstore.github.io/yokai.

Overview

Architecture

Architecture

- Yokai core modules preloads logging, tracing, metrics and health check instrumentation, and expose a private HTTP server for infrastructure and debugging needs.
- Yokai extensions modules can be added to enrich your application features, like public HTTP / gRPC servers, workers, ORM, etc. You can also add the contrib modules or your own.
- Those are made available in Yokai dependency injection system, on which you can rely to build your application logic.

Foundations

Yokai was built using robust and well known Go libraries, such as:

- Echo for HTTP servers
- gRPC-go for gRPC servers
- Viper for configuration management
- OTEL for observability instrumentation
- Fx for dependency injection system
- and more.

Extensions

Yokai's extension system enables you to enrich your application features with:

- the Yokai built-in modules
- the Yokai contrib modules
- your own modules

Getting started

Yokai provides ready to use application templates to start your projects:

- for gRPC applications
- for HTTP applications
- for MCP applications
- for worker applications

Showroom

Yokai provides a showroom repository with demo applications, ready to run, to see it in action:

- gRPC demo application
- HTTP demo application
- MCP demo application
- worker demo application

Contributing

This repository uses release-please to automate Yokai's modules release process.

> [!IMPORTANT]
> You must provide atomic and conventional commits, as the release process relies on them to determine the version to release and to generate the release notes.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.