MacroPower / cookiecutter-go

Replaced by https://github.com/MacroPower/go_template

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cookiecutter-go

A Cookiecutter for my Go projects.

Features:

  • Configured linter (using golangci).
  • Development dependency handling (using bingo).
  • Build and release automation (using goreleaser).
  • Benchmarks (using benchstat and benchdiff).
  • Makefile with help, format, lint, test, bench, and build targets.

Optional features:

  • use_gh_actions: Enable to create GitHub Actions.
  • use_vscode: Enable to create VS Code launch and container config.
  • use_kong: Enable to add Kong command-line parser.
  • use_gokit_log: Enable to add go-kit/log logger.

Setup

  • Run cookiecutter to create a new project.
  • Run go mod tidy to add indirect dependencies and generate go.sum.

Coming soon

  • More sensible linter configuration.
  • Version handling (waiting on Go 1.18).
  • Optional Prometheus collector.

Contributing

Please feel free to submit issues and/or PRs with fixes or updates. However, note that this repo represents my personal standards and opinions. I will not accept anything that I don't agree with or that I think I will not personally use, even if it's an optional feature.

This is purely to make this Cookiecutter no more complex than I personally need it to be.

If you would like to contribute something that you're not sure about or think might be divisive, please just ask about it in an issue and we can talk about it. Or, if you want it just for yourself, fork the repo and do whatever you'd like!

Thanks

Some inspiration & snippets were taken from the following projects:

About

Replaced by https://github.com/MacroPower/go_template

License:Apache License 2.0


Languages

Language:Go 52.7%Language:Makefile 29.5%Language:Dockerfile 6.5%Language:Python 5.1%Language:Shell 3.9%Language:AMPL 2.3%