Skip to content

A CLI to initialize and work on go projects, mainly designed for API's.

License

Notifications You must be signed in to change notification settings

gogolcorp/go-gadgeto

Repository files navigation

go-gadgeto


Codacy Badge Go CodeQL License: MIT version Go Reference codecov

A CLI to initialize and work on go projects, mainly designed for API's.

It allows you to auto init your project with a docker configuration, generate your own model files, controllers, fixtures...

Table of contents

Install CLI

💡 You need to have go installed correctly on your machine. More informations are available in the wiki.

Install the CLI by running :

go get github.com/edwinvautier/go-gadgeto

Run go-gadgeto -h in order to know more about commands.

Initialize a project

You can initialize a project in your working directory by running the create command.

go-gadgeto create
# or with app name
go-gadgeto create my-app-name

The CLI will eventually ask you your git username, the DB management system you'd like to use and if you want to dockerize the application or not.

Install a bundle

You can install bundles by using the install command of the CLI. This command will look for a bundle located inside the bundles folder of the repository and install it.

go-gadgeto install authenticator

Bundle API

Each bundle should have the following elements :

  • templates folder
  • install.sh script
  • README.md file to explain how bundle works and how to use it

The templates part must follow the same filetree as the project that is created.

Update command

go-gadgeto reads the .go-gadgeto-config.yml in order to generate your models and other files. If you've created new models and want to update the config file you can run:

go-gadgeto update

Make command

The make command generates files with automatic recognition of your fields.

Make new model

With go-gadgeto, you can use the make model command. It will create a new model and repository file with fields of your choice !

go-gadgeto make model modelYouWant

Make CRUD

go-gadgeto can generate your controllers, to do so, you just have to use the make crud command :

go-gadgeto make crud modelName

go-gadgeto will eventually asks you to run the go-gadgeto update command, that reads the models files, and parse their fields to the config.


Make fixtures

go-gadgeto can generate your fixtures, to do so, you just have to use the make fixtures command :

go-gadgeto make fixtures modelName

go-gadgeto will eventually asks you to run the go-gadgeto update command, that reads the models files, and parse their fields to the config.


Make tests

Only works with models files for the moment.

go-gadgeto can generate your tests, to do so, you just have to use the make tests command :

go-gadgeto make tests modelName

go-gadgeto will eventually asks you to run the go-gadgeto update command, that reads the models files, and parse their fields to the config.