GithubHelp home page GithubHelp logo

clslaid / cwgo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cloudwego/cwgo

0.0 0.0 0.0 33.5 MB

An all-in-one code generation tool for CloudWeGo

License: Apache License 2.0

Shell 0.62% Go 99.24% Makefile 0.05% Thrift 0.09%

cwgo's Introduction

cwgo

δΈ­ζ–‡ | English

cwgo is an all-in-one code generation tool for CloudWeGo. It integrates the advantages of the kitex and hz tools to improve the development efficiency and experience. The main features of cwgo tool are as follows:

Tool Characteristics

  • Support for generating engineering templates

    The cwgo tool supports the generation of MVC project layout. Users only need to complete their own business code in the corresponding position according to the functions of different directories, focusing on business logic.

  • Support generating Server and Client code

    The cwgo tool supports generating Server and Client codes of Kitex and Hertz, and provides an encapsulation of Client. Users can call downstream out of the box, eliminating the cumbersome steps of encapsulating the Client.

  • Support for generating relational database code

    The cwgo tool supports generating relational database CURD code. Users no longer need to encapsulate the cumbersome CURD code by themselves, which improves the user's work efficiency.

  • Support for generating document database code

    The cwgo tool supports generating document database CURD code based on IDL (Thrift/protobuf), and currently supports MongoDB. Users no longer need to encapsulate the cumbersome CURD code by themselves, which improves the user's work efficiency.

  • Support for generating command line automatic completion scripts

    The cwgo tool supports generating command line completion scripts to improve the efficiency of user command line writing.

  • Support analysis of the relationship between Hertz project routing and (routing registration) code

    Cwgo supports analyzing Hertz project code to obtain the relationship between routing and (routing registration) code.

  • Support fallback to kitex, Hz tools

    If you were a kitex or Hz user before, you can still use the cwgo tool. The cwgo tool supports the fallback function and can be used as kitex and Hz, truly realizing a tool to generate all.

Install cwgo Tool

# Go 1.15 and earlier version
GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get github.com/cloudwego/cwgo@latest

# Go 1.16 and later version
GOPROXY=https://goproxy.cn/,direct go install github.com/cloudwego/cwgo@latest

Detailed Documentation

Command Line Tool

Contains detailed documentation on how cwgo CLI works, see this document

Template Extension

Instructions on how to customize templates can be found in the document.

Layout

This documents explains Layouts generation and introduction, see this document.

Client

The document details on how generated clients that have been encapsulated can be used, see this document

DB

Details information containing how to use cwgo tool to generate relational CURD codes, see this document

Doc

Including how to use the cwgo tool to generate document database CURD code, see this document.

Api-list

supports getting the relationship between routes and (route registration) code by analyzing Hertz project code, see this document

Server

Including how to generate RPC Server and HTTP Server code, see this document.

auto-completion

Including how to enable command line auto-completion function, see this document.

Open Source License

cwgo is based on Apache License 2.0, Apache License. See Licenses for the open source licenses of the three party components on which it depends.

Contact Us

cwgo's People

Contributors

stellarisw avatar nihilism0 avatar li-jin-gou avatar chaoranz758 avatar cheerioinf avatar skyenought avatar rogerogers avatar fgyffff avatar violapioggia avatar duslia avatar wzekin avatar zstone12 avatar yuxialuozi avatar tanbowen03 avatar zhyt1985 avatar zhuyz21 avatar welkeyever avatar shanestevenlei avatar dmwangnima avatar kevinwang15 avatar guangmingluo avatar camb-dev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.