https://github.com/donovan-said/template-go-github-repository
A repository to use as a template for go repositories.
https://github.com/donovan-said/template-go-github-repository
github-template golang
Last synced: 9 months ago
JSON representation
A repository to use as a template for go repositories.
- Host: GitHub
- URL: https://github.com/donovan-said/template-go-github-repository
- Owner: donovan-said
- License: mit
- Created: 2024-02-19T12:30:02.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-13T16:02:02.000Z (over 1 year ago)
- Last Synced: 2025-02-12T06:31:40.010Z (11 months ago)
- Topics: github-template, golang
- Language: Go
- Homepage:
- Size: 55.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Template Go Github Repository
A repository to use as a template for Go repositories.
## Requirements
| Tool | Description |
| :----------------------- | :-------------------------------------------- |
| [Go](https://go.dev/dl/) | This has been tested on go1.22.5 darwin/arm64 |
## Setup
### Initialize
* `go mod init github.com/donovan-said/template-go-github-repository`
* `go mod tidy`
**N.b.** The tools.go file is used to define all dev requirements for this package.
These aren't included in the build binary. See
[Go Docs - Build Constraints](https://pkg.go.dev/go/build#hdr-Build_Constraints)
for more information.
## VSCode
The [.vscode](.vscode/) settings have be configured for a base go setup.
## Makefile
The [Makefile](./Makefile) is used for all linting, testing and build tasks.
For the purpose of this template, it only manages dependencies and linting.
**N.b.** The Makefile is also run via the [.pre-commit-config.yaml](./.pre-commit-config.yaml).
See the [CONTRIBUTING.md](./CONTRIBUTING.md) docs for more information on
setting this up.
## Project Structure
Please see [GitHub - golang-standards - project-layout](https://github.com/golang-standards/project-layout/tree/master)