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)