{"id":13590424,"url":"https://github.com/cloudwego/cwgo","last_synced_at":"2025-04-29T02:30:25.662Z","repository":{"id":65518247,"uuid":"581434614","full_name":"cloudwego/cwgo","owner":"cloudwego","description":"An all-in-one code generation tool for CloudWeGo","archived":false,"fork":false,"pushed_at":"2024-04-27T12:44:43.000Z","size":34264,"stargazers_count":80,"open_issues_count":11,"forks_count":43,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-04-28T05:14:10.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudwego.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-23T07:11:52.000Z","updated_at":"2024-04-30T08:27:17.149Z","dependencies_parsed_at":"2023-02-12T00:16:28.761Z","dependency_job_id":"21b8c92d-a413-46bf-bc14-ba5cb2c4cbc1","html_url":"https://github.com/cloudwego/cwgo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":"cloudwego/.github","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fcwgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fcwgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fcwgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudwego%2Fcwgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudwego","download_url":"https://codeload.github.com/cloudwego/cwgo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251420861,"owners_count":21586693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T16:00:45.170Z","updated_at":"2025-04-29T02:30:25.129Z","avatar_url":"https://github.com/cloudwego.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# cwgo\n\n[中文](./README_CN.md) | English\n\ncwgo is an all-in-one code generation tool for CloudWeGo. It integrates the advantages of the kitex and hz tools to improve\nthe development efficiency and experience. The main features of cwgo tool are as follows:\n\n## Tool Characteristics\n\n- Support for generating engineering templates\n\n  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.\n\n- Support generating Server and Client code\n\n  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.\n\n- Support for generating relational database code\n\n  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.\n\n- Support for generating document database code\n\n  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.\n\n- Support for generating command line automatic completion scripts\n\n  The cwgo tool supports generating command line completion scripts to improve the efficiency of user command line writing.\n\n- Support analysis of the relationship between Hertz project routing and (routing registration) code\n\n  Cwgo supports analyzing Hertz project code to obtain the relationship between routing and (routing registration) code.\n\n- Support fallback to kitex, Hz tools\n\n  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.\n\n## Install cwgo Tool\n\n```bash\n# Go 1.15 and earlier version\nGO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get github.com/cloudwego/cwgo@latest\n\n# Go 1.16 and later version\nGOPROXY=https://goproxy.cn/,direct go install github.com/cloudwego/cwgo@latest\n```\n\n## Detailed Documentation\n\n### [Quick Start](https://www.cloudwego.io/docs/cwgo/getting-started/)\n\n### Command Line Tool\n\nContains detailed documentation on how cwgo CLI works, see this [document](https://www.cloudwego.io/docs/cwgo/tutorials/cli/)\n\n### Template Extension\n\nInstructions on how to customize templates can be found in the [document](https://www.cloudwego.io/docs/cwgo/tutorials/templete-extension/).\n\n### Layout\n\nThis documents explains Layouts generation and introduction, see this [document](https://www.cloudwego.io/docs/cwgo/tutorials/layout/).\n\n### Client\n\nThe document details on how generated clients that have been encapsulated can be used, see this [document](https://www.cloudwego.io/docs/cwgo/tutorials/client/)\n\n### DB\n\nDetails information containing how to use cwgo tool to generate relational CURD codes, see this [document](https://www.cloudwego.io/docs/cwgo/tutorials/db/)\n\n### Doc\n\nIncluding how to use the cwgo tool to generate document database CURD code, see this [document](https://www.cloudwego.cn/docs/cwgo/tutorials/doc/).\n\n### Api-list\n\nsupports getting the relationship between routes and (route registration) code by analyzing Hertz project code, see this [document](https://www.cloudwego.io/docs/cwgo/tutorials/api-list)\n\n### Server\n\nIncluding how to generate RPC Server and HTTP Server code, see this [document](https://www.cloudwego.cn/docs/cwgo/tutorials/server/).\n\n### auto-completion\n\nIncluding how to enable command line auto-completion function, see this [document](https://www.cloudwego.cn/docs/cwgo/tutorials/auto-completion/).\n\n## Open Source License\n\ncwgo is based on Apache License 2.0, [Apache License](https://github.com/cloudswego/cwgo/blob/main/LICENSE). \nSee [Licenses](https://github.com/cloudwego/cwgo/blob/main/licenses) for the open source licenses of the three party components on which it depends.\n\n## Contact Us\n\n- Email: conduct@cloudwego.io\n- How to become a member: [COMMUNITY MEMBERSHIP](https://github.com/cloudwego/community/blob/main/COMMUNITY_MEMBERSHIP.md)\n- Issues: [Issues](https://github.com/cloudwego/cwgo/issues)\n- Discord: Join our [Discord channel](https://discord.gg/jceZSE7DsW)\n- Feishu group (Register for [Feishu](https://www.larksuite.com/en-US/download) and join the group)\n\n  ![LarkGroup](images/lark_group.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudwego%2Fcwgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudwego%2Fcwgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudwego%2Fcwgo/lists"}