CLI Scaffolding
lynx new generates the project skeleton and config in one shot — a runnable service in minutes.
One unified runtime for CLI scaffolding, config wiring, service governance, and 25+ official plugins. From lynx new to production — boot everything with a single line of code.
func main() {
if err := boot.NewApplication(wireApp).Run(); err != nil {
panic(err)
}
}Lynx is not another web framework. It consolidates microservice infrastructure into a unified plugin model with lifecycle orchestration.
lynx new generates the project skeleton and config in one shot — a runnable service in minutes.
Registration, dependency resolution, topological sorting, and lifecycle orchestration in one layer — no scattered glue code.
Service discovery, circuit breaking, rate limiting, health checks, and TLS out of the box — powered by Polaris, Nacos, and Sentinel.
OpenTelemetry-based tracing, metrics, and Swagger docs — enabled as plugins with a single config entry.
MySQL, PostgreSQL, Redis, MongoDB, Kafka, RocketMQ, and more — integrated through one consistent model.
Distributed transactions (Seata / DTM), distributed locks (Redis / Etcd), and ID generation — plug and play.
Every plugin follows the same registration, configuration, and lifecycle contract — integrating any of them feels exactly the same.
The unified runtime resolves plugin dependencies and orchestrates lifecycles; capability plugins extend the system, while resources and governance keep it production-ready.
Startup-critical information lives in one boot config. What you declare is what gets wired — environment differences stay obvious.
lynx:
application:
name: user-service
version: v0.1.0
http:
addr: 0.0.0.0:8000
timeout: 5s
redis:
addrs:
- 127.0.0.1:6379
nacos:
server_configs:
- ip_addr: 127.0.0.1
port: 8848One command installs the Lynx CLI. Go 1.26+ required.
go install github.com/go-lynx/lynx/cmd/lynx@latestGenerates a standard skeleton, config files, and layout.
lynx new demoPlugin wiring, ordering, and startup are handled by the runtime.
boot.NewApplication(wireApp).Run()No. Lynx focuses on plugin orchestration and a unified runtime, not the web layer. Service communication builds on the Kratos ecosystem (HTTP / gRPC), and the official project template follows a Kratos-style layered structure.
The framework's go.mod declares Go 1.26. On Go 1.21+, the toolchain directive automatically downloads a matching toolchain.
Three things: add the plugin module dependency, declare its entry info in config, and register it into the plugin factory. All 25+ official plugins follow the same contract, and you can write custom plugins against the same interface.
Yes. Plugins are enabled on demand — start with a single capability such as tracing or a config center, then gradually consolidate the rest. No big-bang rewrite required.
Service discovery (Polaris / Nacos / Etcd), circuit breaking and rate limiting (Sentinel), health checks, TLS certificate management, and OpenTelemetry-based tracing and metrics — all as plugins.
File an issue on GitHub, or join Discord to talk to the maintainers directly. Site-wide search covers every plugin doc.
Go-Lynx is fully open source and community-driven. File issues, contribute plugins, or join the discussion.
Start with a single go install and get a production-grade service skeleton in minutes.