Any fool can write code that a computer can understand. Good programmers write code that humans can understand. – Martin Fowler
go is a template, designed by Templ Project
go includes instructions for initializing a new Go Lang project, and configuring it for development, unit testing as well as code linting and analysis.
go extends templ/generic
go implements:
- Please install git-scm tool.
- Please install a form of make
- Install Make for Windows
- Install make from ezwinports
- Install chocolatey, run
choco install make
- Please install
git
andmake
# i.e debian
sudo apt-get install git make -y
# i.e mac OS
brew install make git
- When developing, golangci-lint will not be available on Windows.
- Clone the project
- Remove .git folder
- Re-initialize your git repository
- Run
make init
nitialize the project to be a module or an application - Run
make configure
to configure project - Run
make
to see all your pre-implemented options
git clone https://github.com/templ-project/go your_project
cd your_project
rm -rf .git
git init
git remote add origin https://github.com/your-organisation/your-project
make init PROJECT_PREFIX=github.com/your-organisation PROJECT=your_project
# make init PROJECT_PREFIX=github.com/your-organisation PROJECT=your_project MODE=app
make configure
git add .
# git commit ...
# make
- Please install GoLang. We support version 1.13.x and 1.14.x
- Please instal a GoLang IDE
- Visual Studio Code with ITMCDev Go Extension Pack
- Jetbrains GoLand
- Vim with vim-go extension
- Any other IDE you trust.
- Check and adapt your
Makefile
to fit your needs.
Run unit tests using make test
.
Run single unit tests file, by calling make test-single TEST_PATH=./path/to/file/...
make test-single TEST_PATH=./src/greet/...
Adapt release
directive in your Makefile to fit your needs.
make release
will know how to increment version and create tags on its own.
- Dragos Cirjan - Initial work
Add a set of links to the issues page/website, so people can know where to add issues/bugs or ask for support.
(If the package is public, add licence) This project is licensed under the MIT License - see the LICENSE.md file for details
Remove Everything above this line
One Paragraph of project description goes here
What things you need to install the software and how to install them (based on each OS type).
# Give Examples
npm install -g node-gyp windows-build-tools
# Warning: Please note windows-build-tools will install MSVS which takes a
# LONG amount of time.
# Give Examples
apt-get install build-essential mono
npm install -y node-gyp
Describe a list of known issues, and how to bypass them.
A step by step series of examples that tell you how to get a development env running
Give the example
until finished
End with an example of getting some data out of the system or using it for a little demo
Explain any development process for the project, if necesary
give examples
Explain how to run the automated tests for this system
Explain what these tests test and why
Give an example
Explain what these tests test and why
Give an example
Explain what these tests test and why
Give an example
Add additional notes about how to deploy this on a live system
- Dragos Cirjan - Initial work - PurpleBooth
See also the list of contributors who participated in this project.
Add a set of links to the issues page/website, so people can know where to add issues/bugs or ask for support.
(If the package is public, add licence) This project is licensed under the MIT License - see the LICENSE.md file for details
Small changelog history. The rest should be added to CHANGELOG.md.
See here a template for changelogs: https://keepachangelog.com/en/1.0.0/
Also see this tool for automatically generating them: https://www.npmjs.com/package/changelog