Replace this with a short description of what this project is about.
Add a brief set of instructions on how to get quickly up and running for the most-common use cases. Delete this section if a quick-start concept doesn't apply.
Add a brief introduction as to how users, not developers, perform a normal installation of the project.
Add detail in this section regarding any dependencies or installation requirements that users, not developers, need before installing and using the project. This must focus on using the tool, not developing it. Delete this section if there are no production dependencies required for the project.
If manual installation steps differ from the quick-start in the preceding section, add more verbose instructions here. Otherwise, delete this section.
Provide detailed instructions on how to use this project, if applicable. Otherwise, delete this section.
If the project has configuration capabilities, provide them here in full detail. Otherwise, delete this section.
This project's Support Policy includes all details for users to get support for this project. As an open source project, support is generally limited to the surrounding community and isn't guaranteed. Please read this policy prior to opening an Issue or Discussion.
Parties interested in contributing to the project must read the Contributing Guidelines prior to doing so.
Finally, all individuals must adhere to the project's Code of Conduct, regardless of how they choose to engage with the community.
If you can answer common questions for your project, start this section. Delete the section, if not.
There are many ways to contribute to this project. If you have an idea, or have discovered a bug, please open an Issue. You can also start or join a Discussion to get your feet wet.
If you have interest in contributing to the project through design or development, please read the project's Contributing Guidelines.
Add details for developers on how to setup their environment for individuals wishing to contribute to the project.
Add or modify this section to describe the dependencies used in development required prior to development.
This project aims to be as agnostic as possible across all development environments. As such, development dependencies are purposely limited to a few critical elements:
Dependency | Purpose |
---|---|
act | Allows for running the project's GitHub Actions locally. |
Docker | Virtualization platform used for testing, running, and building code. |
GNU Make | Primary tool for executing test, build, clean, and other commands. |
Node.js | Used to download certain command-line packages for npx . |
npx | Node.js package execution helper to run certain non-containerized commands. |
It's recommended to use Visual Studio Code for development and the project provides several extensions and configurations to improve development efficiency. Any IDE is acceptable, but it's up to developers working against the standard to manage their own environments if not using the project default.
You can install the project's recommended extensions and use the provided workspace configurations to reduce mistakes
and duplicate effort. To install all recommended extensions, either accept the prompt when loading this project in
Visual Studio Code, or use the make
utility provided:
make vscode
An important part of the project's Software Development Lifecycle is continuous testing. The configuration of the project aims to make this as low effort as possible. Ensure that you have the developer dependencies installed and run the following command:
make test
This runs a full test suite. The project provides a number of utility functions to make your life easier during development. You can find the full list by running:
make help
Releases of this project follow Semantic Versioning standards in a MAJOR.MINOR.PATCH
versioning
scheme of the following format:
MAJOR
- used when the application undergoes major, incompatible changes with the last ReleaseMINOR
- used when the Release adds capability in a backwards-compatible mannerPATCH
- used when the Release patches existing capabilities, such as documentation, bug fixes, and minor features
GitHub hosts all Releases and manages all Release tags.
The LICENSE file contains the full text of this project's License.
Add selected License short text in this area, if applicable.