1# Support tools
2
3A collection of CLI tools meant to support and automate various aspects of
4developing Envoy, particularly those related to code review. For example,
5automatic DCO signoff and pre-commit format checking.
6
7## Usage
8
9To get started, you need only navigate to the Envoy project root and run:
10
11```bash
12./support/bootstrap
13```
14
15This will set up the development support toolchain automatically. The toolchain
16uses git hooks extensively, copying them from `support/hooks` to the `.git`
17folder.
18
19The commit hook checks can be skipped using the `-n` / `--no-verify` flags, as
20so:
21
22```bash
23git commit --no-verify
24```
25
26## Functionality
27
28Currently the development support toolchain exposes two main pieces of
29functionality:
30
31* Automatically appending DCO signoff to the end of a commit message if it
32  doesn't exist yet. Correctly covers edge cases like `commit --amend` and
33  `rebase`.
34* Automatically running DCO and format checks on all files in the diff, before
35  push.