EnglishΒ ο½Β δΈζ
goner
is the official component library for the Gone framework, providing a series of plug-and-play components to help developers quickly build high-quality Go applications.
- goner/viper - Configuration management component based on spf13/viper
- goner/zap - Logging component based on uber-go/zap
- goner/gin - Web framework wrapper based on gin-gonic/gin, providing route management, middleware processing, HTTP injection and other functions
- goner/cmux - Multi-protocol multiplexer based on soheilhy/cmux, supporting multiple protocol services on the same port
- goner/xorm - ORM component based on XORM, providing simple and efficient database operations, supporting multiple databases
- goner/gorm - ORM component based on GORM, supporting MySQL, PostgreSQL, SQLite, SQL Server and ClickHouse
- goner/gorm/mysql - MySQL driver with connection pooling, transaction management, and database migration support
- goner/gorm/postgres - PostgreSQL driver with JSON/JSONB support, array types, and advanced features
- goner/gorm/sqlite - Lightweight SQLite driver with zero-configuration and in-memory database support
- goner/gorm/clickhouse - ClickHouse driver optimized for analytical queries with connection pooling
- goner/gorm/sqlserver - SQL Server driver with transaction management and migration support
- goner/redis - Redis client wrapper, providing caching, distributed lock and other functions
- goner/es - Elasticsearch client wrapper, providing full-text search functionality
- goner/mq/kafka - Provides Kafka integration
- goner/mq/rocket - Provides RocketMQ integration
- goner/mq/rabbitmq - Provides RabbitMQ integration
- goner/mq/mqtt - Provides MQTT integration
- goner/schedule - Scheduled task component
- goner/apollo - Configuration center component based on Apollo, providing dynamic configuration management
- goner/nacos - Configuration center component based on Nacos, providing dynamic configuration management
- goner/viper/remote - Configuration component based on various remote configuration centers (such as etcd, consul), providing unified configuration management
- goner/nacos - Service registry component based on Nacos, providing service registration and discovery
- goner/etcd - Service registry component based on etcd, providing service registration and discovery
- goner/consul - Service registry component based on consul, providing service registration and discovery
- goner/grpc - gRPC client and server wrapper, simplifying microservice development
- goner/urllib - HTTP client wrapper
- goner/openai - OpenAI client wrapper, providing GPT and other AI capabilities integration
- goner/deepseek - Deepseek client wrapper, providing domestic large language model integration
- goner/mcp - Toolkit wrapper based on
github.com/mark3labs/mcp-go
, helping developers quickly build MCP (Model Context Protocol) server and client applications
- goner/otel - OpenTelemetry component, providing distributed tracing, metrics and log collection
-
goner/otel/tracer - Tracing component
- goner/otel/tracer/http - Tracing Exporter integrated with OLTP/HTTP protocol
- goner/otel/tracer/grpc - Tracing Exporter integrated with OLTP/GRPC protocol
- goner/otel/tracer/zipkin - Tracing Exporter supporting Zipkin
-
goner/otel/meter - Metrics component
- goner/otel/meter/http - Metrics Exporter integrated with OLTP/HTTP protocol
- goner/otel/meter/grpc - Metrics Exporter integrated with OLTP/GRPC protocol
- goner/otel/meter/prometheus - Reader providing Prometheus integration
- goner/otel/meter/prometheus/gin - Gin middleware for exposing Prometheus metrics endpoint
-
goner/otel/log - Log component
- goner/otel/log/http - Log Exporter integrated with OLTP/HTTP protocol
- goner/otel/log/grpc - Log Exporter integrated with OLTP/GRPC protocol
-
- goner/tracer - Providing implicit parameter passing of traceID within programs
# Install Gone CLI tool
go install github.com/gone-io/gonectl@latest
# Install Goner component
# gonectl install <goner component name>
gonectl install goner/gin
Create an application based on Gin, XORM and Viper using Gone CLI tool:
- Create and install dependencies
gonectl create -t gin+xorm+viper goner-demo
cd goner-demo
go mod tidy
- Run application
# Start database
docker compose up -d
# Start application
go run ./cmd
# Or
# gonectl run ./cmd
Example code location: gin+xorm+viper
Welcome contributions! Please follow these steps:
- Fork this repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
MIT License - see LICENSE file