go-kratos/kratos ? reverse-engineered prompt
Reverse engineered prompt
Build me a lightweight Go framework for building cloud native microservices, with a clean API that makes it easy to focus on business logic instead of wiring. I want it to support both HTTP and gRPC services, include a simple way to start an app, and make it easy to plug in middleware for things like logging, recovery, validation, tracing, metrics, and auth.
It should work well with Protobuf first development, so I can generate server and client code from API definitions, and it should include a small command line tool or generators to create a new service and scaffold proto based endpoints. Please add support for configuration, service discovery or registry, structured logging, metadata, errors, and encoding helpers too.
Keep the core small and explicit, with optional integrations in separate packages. If you need to check current best practices or docs, look them up online while you build it.
Are you gonna build this?
make sure you review the code using coderabbit