命令行工具

cwgo 是 CloudWeGo 提供的用于生成代码的一个命令行工具。目前 cwgo 支持 thrift 和 protobuf 的 IDL,支持生成 MVC Layout、Server、Client、DB(gorm/gen) 和 DOC(mongodb) 的代码,支持命令行自动补全。

依赖与运行模式

cwgo 工具并不直接生成代码,而是构造好模板后调用相应工具的生成函数。

cwgo
 |
 | HTTP server / client
 |-----------> hz
 | RPC server / client
 |-----------> kitex
 | DB
 |------------> gorm/gen
 | DOC
 |------------> thriftgo/protoc

所以相对应工具的注意事项也需要遵守, 如生成 RPC 代码时 kitex 的注意事项 和生成 HTTP 代码时 hz 的注意事项

使用

cwgo 支持静态命令行生成方式。并且弱化了 new 和 update 的概念,更新时直接输入之前的指令即可。

命令说明

$ cwgo -h
NAME:
   cwgo - All in one tools for CloudWeGo

USAGE:
   cwgo [global options] command [command options] [arguments...]

COMMANDS:
   server     生成 RPC 或者 HTTP Server
   client     生成 RPC 或者 HTTP Client
   model      生成关系型数据库的 CURD 代码
   doc        生成文档类数据库的 CURD 代码
   completion 生成命令行自动补全脚本
   api-list   分析 Hertz 项目路由和路由注册代码的关系
   fallback   回退到 kitex 或者 hz 工具

GLOBAL OPTIONS:
   --verbose      打开冗余日志模式
   --version, -v  打印工具版本
   --help,    -h  帮助命令