- Validate code format
- Validate commit message
- Auto trigger when commit
- type-required(scope-optional): subject-required
 emptyline-required
 body-required
 
- Generate valid commit message through interactive Q&A
- npm run commit- -Sstand for GPG signed commit
 
- Note that the generation for body is not good enough (at least to me)
- The body wrapping is not friendly enough (use |as line break rather thanenter)
- The length limitation is unconfigurable as of no
- CZ use 100 as default but our commitlint setting requires 72
 
 
- The body wrapping is not friendly enough (use 
- The better solution is to let CZ generate header for you, then post it to Vim, which helps you on auto wrap- Use empty body and force quit when confirm
 
 
- Git hooks for commit-msg, pre-commit, and pre-push
- commit-msg: trigger the commitlint
- pre-commit: trigger the GPG key check, eslint, and unit test (changed files only)
- pre-push: trigger the WIP commit check, unit test with coverage, e2e test, and docs generation using compodoc- To gen docs: npm run doc:gen
 
- To gen docs: 
 
ESLint for JavaScript
JS only
- npm install eslint --save-dev
TypeScript ESLint for TypeScript
Add TS support
- npm install @typescript-eslint/eslint-plugin@^2.12.0 --save-dev
commitlint for Git commit
Follow the Conventional Commits
- npm install @commitlint/config-conventional@^8.3.4 --save-dev
- npm install @commitlint/cli@^8.3.5 --save-dev
- npm install commitizen@^4.0.3 --save-dev
- npm install cz-customizable@^6.2.0 --save-dev- Add config to package.json- "config": {"commitizen": {"path": "./node_modules/cz-customizable"}}
 
 
- Add config to 
Husky for pre-commit, pre-push, and commit message hooks
- npm install husky@^4.2.3 --save-dev
Compodoc for docs auto generation
- npm install @compodoc/compodoc@^1.1.11 --save-dev- NestJS documentation tutorial
- compodoc src -p tsconfig.json -n 'Title Here' --hideGenerator
 
 
- NestJS documentation tutorial
- These config files are licensed under the MIT License