My favorite is a tool called write-good
I like to use write-good[0] - it takes a glob and prints suggestions to stdout.
The post provides useful set of rules to follow when writing text. I want to add another one which I have found to be beneficial to my work: the write-good linter for English prose (https://github.com/btford/write-good). Using linters for writing text helps to systematically avoid transcribing everyday speech into written text. A habit which is widespread among people who write infrequently and without a peer review.
For me the best workflow is to pass a text document to the linter before the build/deployment procedure (after finishing all writing work!) and modify the highlighted entries. As a result I can see which sentences can be phrased in a way which improves their structure and ultimately the quality of the text.
See also write-good: https://github.com/btford/write-good