/guidelines

Contributing guidelines that apply to all repositories of the FreeProving project

BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

FreeProving Guidelines

This repository contains common guidelines that govern all repositories that are part of the FreeProving project. The guidelines should not be replicated across repositories to guarantee consistency and ease maintainability.

Contributing Guidelines

The following link to the contributing guidelines of the FreeProving project should be included in the CONTRIBUTING.md file of all repositories that are part of the FreeProving project.

# Contributing

See the [contributing guidelines][] of the FreeProving project.

[contributing guidelines]:
  https://github.com/FreeProving/guidelines/blob/main/CONTRIBUTING.md
  "Contributing Guidelines of the FreeProving project"

Code of Conduct

The following link to our Code of Conduct should be included in the CODE_OF_CONDUCT.md file of all repositories that are part of the FreeProving project.

# Code of Conduct

The Free Proving project and everyone participating in it is governed by our [Code of Conduct][CODE_OF_CONDUCT].
By participating, you are expected to uphold this code.

[CODE_OF_CONDUCT]:
  https://github.com/FreeProving/guidelines/blob/main/CODE_OF_CONDUCT.md
  "Code of Conduct of the FreeProving project"

Include the following comment in every pull request or issue template to make contributors aware of our Code of Conduct.

<!--
  Have you read our Code of Conduct?
  By filing an issue or pull request, you are expected to comply with it, including treating everyone with respect:
  https://github.com/FreeProving/guidelines/blob/main/CODE_OF_CONDUCT.md
-->

Issue Templates

The ISSUE_TEMPLATE directory contains templates for issues. These templates can be copied to the .github/ISSUE_TEMPLATE directory of all other repositories. Adapt the templates if necessary.

Pull Request Template

The PULL_REQUEST_TEMPLATE.md file contains the default template for pull requests. This template can be copied to the .github/PULL_REQUEST_TEMPLATE.md file of all other repositories. Adapt the template if necessary.

CI Pipeline and Bash Scripts

The contributing guidelines assume that the repository has a GitHub Actions continuous integration (CI) pipeline. The configuration can be copied from the CI pipeline of the Free Compiler. Slight adaptations will be necessary on a per repository basis as not all jobs of the CI pipeline make sense in all cases and some build steps differ.

Additional bash scripts whose usage is recommended by the contributing guidelines should also be copied and adapted from the Free Compiler if applicable in the context of the respective repository.

Floskell

We are using Floskell to format Haskell source code. How Floskell formats the source code can be configured with a ./floskell.json file. We are providing a template for the configuration file in this repository. The template uses TOML instead of JSON in order to add comments to the individual configuration options.

The template should NOT be copied to the other repositories. Instead every repository should provide its own ./floskell.toml file that contains repository-specific options. The ./floskell.json is then generated by merging the template with the repository-specific configuration and converting the merged TOML document to JSON. See the comments in the template file for more details.

License

This repository includes a template for the The 3-Clause BSD License that is used by most repositories of the FreeProving project. The copyright holders of the individual repositories may differ. Some repositories may choose a different license if necessary.