project (badges go here: CI and Artifact Repo status such as DockerHub, Maven Central, PyPi, or NPM)
Short description goes here
Long description goes here
Quick start goes here; often uses Docker Compose; goal is to get user up and running in as few steps as possible for demonstration purposes. Often the install step below is automated in some way. This is hard to do outside of containers.
Install steps go here; specifically given a distributable package such as a war file, zip file, or Docker image.
API Reference link goes here (javadoc, Sphinx docs, etc.). Pre-generated docs really only needed for libs. Often stored on gh-pages branch and automatically updated by GitHub Action. For apps often just provide developers instructions on how to generate docs; perhap in build section below. App APIs are not publicly advertised as developers of the app already have the source code and build tool that generates the docs right in front of them (unlike libs where user may not actually be building it, but just using pre-built artifact). Plus we're generally more careful about library releases and semantic versioning whereas with apps versioning and frequency of changes is less important and there may be tons of minor releases that would generate tons of nearly identical API docs that then need to be hosted forever and are never really used.
Configuration options; often refers to environment variables, config files, and command line options.
How to build the source code; often there is a prerequisite SDK such as gcc, JDK, Python. Plus a prerequisite build tool such as C's Make, Java's Gradle, or Python's setuptools
How to make changes; often includes steps to iterate quickly
How to test changes; ideally there is an automated test framework such as Java's JUnit or Python's pytest
How to release; generally utilizing GitHub's release feature and potentially GitHub Actions to publish distributable artifiacts and API docs
How to deploy; generally JLab specific
Links to related projects or docs