github.com/autonomy/conform@v0.1.0-alpha.16/README.md (about)

     1  <p align="center">
     2    <h1 align="center">Conform</h1>
     3    <p align="center">Policy enforcement for your pipelines.</p>
     4    <p align="center">
     5      <a href="https://conventionalcommits.org"><img alt="Conventional Commits" src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=flat-square"></a>
     6      <a href="https://godoc.org/github.com/autonomy/conform"><img alt="GoDoc" src="http://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square"></a>
     7      <a href="https://travis-ci.org/autonomy/conform"><img alt="Travis" src="https://img.shields.io/travis/autonomy/conform.svg?style=flat-square"></a>
     8      <a href="https://codecov.io/gh/autonomy/conform"><img alt="Codecov" src="https://img.shields.io/codecov/c/github/autonomy/conform.svg?style=flat-square"></a>
     9      <a href="https://goreportcard.com/report/github.com/autonomy/conform"><img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/autonomy/conform?style=flat-square"></a>
    10      <a href="https://github.com/autonomy/conform/releases/latest"><img alt="Release" src="https://img.shields.io/github/release/autonomy/conform.svg?style=flat-square"></a>
    11      <a href="https://github.com/autonomy/conform/releases/latest"><img alt="GitHub (pre-)release" src="https://img.shields.io/github/release/autonomy/conform/all.svg?style=flat-square"></a>
    12    </p>
    13  </p>
    14  
    15  ---
    16  
    17  **Conform** is a tool for enforcing policies on your build pipelines.
    18  
    19  Some of the policies included are:
    20  
    21  - **Commits**: Enforce commit policies including:
    22    - Commit message header length
    23    - Developer Certificate of Origin
    24    - GPG signature
    25    - [Conventional Commits](https://www.conventionalcommits.org)
    26    - Imperative mood
    27    - Maximum of one commit ahead of `master`
    28    - Require a commit body
    29  - **License Headers**: Enforce license headers on source code files.
    30  
    31  ## Getting Started
    32  
    33  Create a file named `.conform.yaml` with the following contents:
    34  
    35  ```yaml
    36  policies:
    37    - type: commit
    38      spec:
    39        headerLength: 89
    40        dco: true
    41        gpg: false
    42        imperative: true
    43        maximumOfOneCommit: true
    44        requireCommitBody: true
    45        conventional:
    46          types:
    47            - "type"
    48          scopes:
    49            - "scope"
    50    - type: license
    51      spec:
    52        skipPaths:
    53        - .git/
    54        - .build*/
    55        includeSuffixes:
    56        - .ext
    57        excludeSuffixes:
    58        - .exclude-ext-prefix.ext
    59        header: |
    60          This is the contents of a license header.
    61  ```
    62  
    63  In the same directory, run:
    64  
    65  ```bash
    66  $ conform enforce
    67  POLICY         CHECK                      STATUS        MESSAGE
    68  commit         Header Length              PASS          <none>
    69  commit         DCO                        PASS          <none>
    70  commit         Imperative Mood            PASS          <none>
    71  commit         Conventional Commit        PASS          <none>
    72  commit         Number of Commits          PASS          <none>
    73  commit         Commit Body                PASS          <none>
    74  license        File Header                PASS          <none>
    75  ```
    76  
    77  ### License
    78  [![license](https://img.shields.io/github/license/autonomy/conform.svg?style=flat-square)](https://github.com/autonomy/conform/blob/master/LICENSE)