Ginji is a brand-new, ultra-fast, zero-dependency API framework for Go, inspired by Hono, Fiber, and Gin. It aims to provide a minimal, fast, and clean foundation for building web applications.
package main
import (
"github.com/ginjigo/ginji"
)
func main() {
app := ginji.New()
app.Get("/", func(c *ginji.Context) {
c.Text(ginji.StatusOK, "Hello Ginji")
})
app.Listen(":3000")
}# Install CLI
brew install ginjigo/tap/ginji
# OR
go install github.com/ginjigo/ginji/cmd/ginji@latest
# Create a new project
ginji new my-app- Ultrafast 🚀 - Built for performance with minimal overhead.
- Hono-like Routing 🛣️ - Simple and expressive routing with dynamic parameter support (
/users/:id). - Middleware Support 🧩 - Easy-to-use middleware system for global and per-route logic.
- Structured Logging 📝 - Built-in
slogintegration with automatic request logging. - Graceful Shutdown 🔄 - Production-ready shutdown with plugin cleanup and timeout support.
- Type-Safe DI 💉 - Dependency injection with singleton, scoped, and transient lifetimes.
- Zero Dependencies 📦 - Uses only the Go standard library.
- Production Ready 🛠️ - Clean architecture designed for scalability.
See the examples directory for more usage examples.
Contributions Welcome! You can contribute in the following ways.
- Create an Issue - Propose a new feature. Report a bug.
- Pull Request - Fix a bug and typo. Refactor the code.
For more details, see CONTRIBUTING.md.
Distributed under the MIT License. See LICENSE for more information.