/project-template

A GitHub repository template for new Ansible projects

GNU General Public License v3.0GPL-3.0

project-template

Discuss on Matrix at #community:ansible.com Codecov badge

A GitHub repository template for new Ansible projects.

This template gives you the basic recommended (and in some instances required) files for your new Ansible community project.

Template structure

This template includes sample files for the following:

  • README.md - This file. It should describe the project and list the documentation site, when available, and how to reach the project team (Matrix room, if available and Ansible forum tags).
  • LICENSE.md - The project license. We recommend GPLv3
  • CONTRIBUTING.md - The basics for contributing to your project. If your project has a docsite, refer to the docsite contributor guide from this CONTRIBUTING.md file.
  • SECURITY.md - (optional) How to report security issues for your project
  • CODE-OF-CONDUCT.md - A link to the Ansible code of conduct. Do not change this.

Contributing to this template

You can open a GitHub issue to request changes or directly open a PR for small changes or enhancements.

README.md template

Make sure the following sections are present in your project's README.md

Our mission

Put you mission statement in here. Example follows.

At the your project name, our mission is to produce and maintain simple, flexible, and powerful open-source software tailored to your project purpose.

We welcome members from all skill levels to participate actively in our open, inclusive, and vibrant community. Whether you are an expert or just beginning your journey with Ansible and your project name, you are encouraged to contribute, share insights, and collaborate with fellow enthusiasts!

Code of Conduct

If your project doesn't belong to GitHub orgs controlled by Red Hat, refer to a CoC violation complaint raising mechanism relevant to your project.

We follow the Ansible Code of Conduct in all our interactions within this project.

If you encounter abusive behavior violating the Ansible Code of Conduct, please refer to the policy violations section of the Code of Conduct for information on how to raise a complaint.

Contributing to this project

How to open an issue

If you want to report a bug or request a new feature, please:

  1. Search in the issues for similar reports/requests.
  2. If there are already no such issues, open a new one by clicking the New issue button.

Contributor guidelines

Use one source of truth: it can be a contributing section on project docsite or CONTRIBUTING.md. If you have a docsite, use it.

To learn how to contribute to this project, see the Contributor guidelines.

Getting started development guide

If the project doesn't have the guide, please add it to mitigate the entry threshold for new contributors. If it's not applicable, remove the section.

Do you have a fix and want to submit a ready-for-merge pull request? See the Getting started development guide.

Communication

Fill up the following sub-sections with async and real-time channels relevant to your project. Please leave all non-project-specific links untouched.

If your project has a docsite, this section should refer to a corresponding docsite section that contains the following information as on the docsite index template page.

Asynchronous channels

If your project is not present on the Ansible forum yet, please request a forum group and a tag.

Real-time channels

If you need a dedicated Matrix channel for your project, see the Ansible communication guide to learn how to request it.

For more information about communication, including how to join these channels, see the Ansible communication guide.

Releasing

Please replace the content in the sub-sections below with information relevant to your project.

If you have the same information covered on the project docsite, refer to the corresponding docsite pages instead.

Versioning specification

To determine a software version number when releasing, this project uses the Semantic Versioning Specification to convey meaning about what has been modified from one version to the next.

Release policy & maintenance timeline

Describe your release policy and maintenance timeline in this section or refer to a corresponding docsite page.

We maintain each major release version (1.x.y, 2.x.y,...) for two years after the next major version is released.

Here is the table for the support timeline:

  • 1.x.y: released 2020-11-17, EOL
  • 2.x.y: released 2022-02-10, supported until 2025-06-09
  • 3.x.y: released 2023-06-09, current

Release notes

Embed a link to a project changelog into here.

For release notes, see the changelog.

Governance

Update this section with relevant information and URLs. If the project has a docsite, include this information in the docsite.

The process of decision making in this project is based on discussing and finding consensus among participants.

We, Refer to your forum group here, use the forum posts tagged with TAGNAME for general announcements and discussions. If you have something on your mind, just create a post and let's find the best solution together!