CLI to scaffold a TypeScript project with Husky, Prettier, Commitlint and TSLint.
yarn add -D static-strata
Running the following command will set up configuration for Husky hooks, Prettier, Commitlint and TSLint.
yarn strata
This project is inspired by Kent C. Dodd's seminal "Write Tests. Not too many. Mostly integration.", where he extols the benefits of using a static type system and tooling.
While a static type system and tooling will not substitute a comprehensive test suite, they can alleviate the burden of writing superfluous runtime checks, boosting performance and developer productivity.
The static type system is implemented using TypeScript.
Static tooling contains a mix of linting, code formatting and enforcing semantic commit messages. These tools are run in an automated fashion using git hooks.
TSLint is the most popular TypeScript linting tool.
Prettier is used to format code (all types of files) in an opinionated way.
Commitlint is a library that validates commit messages to ensure they follow semantic commit messages.
Husky is a library to ease the application of git hooks.