.. _command: Command line tools ================== turbo create package_path ServiceName -r (grpc|thrift) -p --------------------------------------------------------- 'turbo create' creates a project with runnable HTTP server and gRPC/Thrift server. 'ServiceName' **MUST** be a CamelCase string. '-r': the backend service type. '-p': directory in which new project will be created. Project structure:: $ turbo create package/path/to/yourservice YourService -r grpc -p ~/ $ cd ~/package/path/to/yourservice $ tree . |-- gen | |-- grpcfields.yaml | |-- grpcswitcher.go | `-- proto | `-- yourservice.pb.go |-- grpcapi | |-- component | | `-- components.go | `-- yourserviceapi.go |-- grpcservice | |-- impl | | `-- yourserviceimpl.go | `-- yourservice.go |-- main.go |-- service.yaml `-- yourservice.proto turbo generate package_path -r (grpc/thrift) -I (absolute_path_to_proto/thrift_files) -I ... -------------------------------------------------------------------------------------------- 'turbo generate' generates switcher.go and [service_name].pb.go to 'gen' directory. This command is useful when either service.yaml or [service_name].proto|.thrift is changed. For example, add a new API, change an existing API, change url-grpc mapping, etc. Example:: $ turbo generate package/path/to/yourservice -r grpc -I ~/package/path/to/yourservice -I ~/package/path/to/yourservice/shared "-I" can appear more than one time, if you have a shared file like "shared.proto" imported from other path.