go-gadgeto

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.