Procyon v0.1is out!

Application framework for Go

Build Go applications,
not boilerplate

Develop standalone and web applications faster for modern Go projects.

main.go
package main import (    "os"    "codnect.io/procyon") func main() {    if err := procyon.Run(); err != nil {        os.Exit(1)    } }

Why Procyon

Build Go applications with less wiring.

Procyon helps you create web and CLI applications faster by bringing components, dependency injection, configuration, lifecycle, and startup into one predictable runtime model.

Flexible for web and CLI

Build web services and CLI applications with the same framework runtime and application model. Start with the shape your project needs, then keep using the same concepts as it grows.

Productive by default

Register components, bind configuration, and let the runtime prepare the application around a small entrypoint. Less wiring in main means more room to focus on actual behavior.

Fast from boot to ready

Keep startup clear and lightweight while application pieces are discovered and wired by the framework. The runtime gives the application a direct path from boot to ready.

Composable with components

Use component registration and dependency injection to keep wiring predictable as the application grows. Controllers, services, and shared pieces can stay connected without manual setup everywhere.

Configurable across environments

Bind environment variables, config files, and property sources into typed options your services can use. Configuration stays external, structured, and easier to change between environments.

Managed through lifecycle hooks

Run startup, shutdown, and lifecycle hooks through one managed path instead of scattered application code. Framework-owned lifecycle points make behavior easier to follow and maintain.

Quick start

Create a working endpoint in minutes.

Add Procyon to a Go module, define a controller, map the route, register it as a component, and let the runtime start the app.

1

Install Procyon

Add the framework package to an existing Go module.

terminal
$ go get -i codnect.io/procyon
2

Create a web controller

Define a controller that will own a small HTTP endpoint.

main.go
type HelloController struct {}  func NewHelloController() *HelloController {    return &HelloController{}}
3

Expose /hello

Map the route and keep the handler logic close to the endpoint.

main.go
func (h *HelloController) ConfigureEndpoints(endpoints http.Endpoints) {    endpoints.MapGet("/hello", http.Handle(h.sayHello))}  func (h *HelloController) sayHello(ctx *http.Context) error {    response := ctx.Response()    response.Writer().Write([]byte("Hello, World!"))    return nil}
4

Register the controller

Register the controller so the runtime can discover it.

main.go
func init() {    component.Register(NewHelloController())}
5

Start the app

Start the application from a small main function.

main.go
func main() {    if err := procyon.Run(); err != nil {        os.Exit(1)    }}

Runtime output

The runtime confirms the app is ready.

terminal
$ go run . ___ _______ ______ _____ ___ / _ \/ __/ _ / __/ // / _ \/ _ \ / .__/*/ \_\_\_\_\_/\_, /\_\_\_/*//_/ /_/ /___/ (v0.0.1-dev)

2026-07-20 10:29:21.174640INFOcodnect.io/procyon:Starting application using Go 1.24.0 (darwin/arm64)

2026-07-20 10:29:21.174912INFOcodnect.io/procyon:Running with Procyon v0.0.1-dev

2026-07-20 10:29:21.175024INFOcodnect.io/procyon:Started application in 0.000928666 seconds

Framework comparison

More than an HTTP router.

Gin, Echo, and Fiber are strong HTTP-focused choices. Procyon is designed as a broader application framework with infrastructure capabilities available out of the box.

Capabilitynet/httpGinEchoFiberProcyon
HTTP routingBuilt-inBuilt-inBuilt-inBuilt-inBuilt-in
MiddlewareNot built inBuilt-inBuilt-inBuilt-inBuilt-in
Dependency injectionNot built inNot built inNot built inNot built inBuilt-in
Typed configurationNot built inNot built inNot built inNot built inBuilt-in
Application profilesNot built inNot built inNot built inNot built inBuilt-in
Lifecycle managementNot built inNot built inNot built inNot built inBuilt-in
Graceful shutdownBuilt-inNot built inBuilt-inBuilt-inBuilt-in
CLI foundationNot built inNot built inNot built inNot built inBuilt-in

Comparison focuses on built-in application capabilities. HTTP routers can often be extended through custom code or third-party packages.