Skip to content

Developer Getting Started Guide

Torbjörn Einarsson edited this page Mar 7, 2023 · 1 revision

General Tips

Please start by making sure you have read the README.md

  • The project is written in Go with some embedded template files.

Project Structure

  • The project structure is pretty conventional for Go
  • cmd/ is the parent folder for binaries, which are in sub directories with name which contain a main.go file and an app directory with the source code
  • pkg/ contains general packages used in multiple binaries
  • internal/ contains internal code such as version
  • testdata for each binary or package is located in directories called testdata
  • cmd/livesim2/app/templates contains templates used in the livesim2 code
  • cmd/livesim2/app/static contains embedded files presented by the livesim2 web interface

Build and Run

The code can be built with the standard Go chain, with minimal version specified in go.mod. The tool golangci-lint is used to check for linting issues. There are Makefile targets for testing, building, and running the software.

Each binary should provide help text by starting the binary.

Commiting code

The project follows Semantic Versioning and tries to use Conventional Commits.

Changes are documented in the file CHANGELOG.md.