From 8f99f958315cc6f9ca1850aecb90f635d8cc4d55 Mon Sep 17 00:00:00 2001 From: Oscar Esgalha Date: Fri, 20 Aug 2021 18:19:34 -0300 Subject: [PATCH] docs: update README Add more content about generated pipelines --- README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 45f32c7..59e0f36 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,38 @@ When you run pipelinit in the root of a software project: 2. It collects more detailed data about each _stack_. 3. It uses that data to build the CI configuration files. -## Supported Stacks and Platforms +## Stages + +Which stages are present in the final CI pipeline depends on the identified +stacks and their support. You can check a complete reference of supported tools, +stacks and which stages are available to each one further down in this document. + +Here is a list of available stages and what is the goal of each one: + +### Format + +The format step checks if the code is properly formatted with an automated code +formatter. + +This is useful for most programming languages and text files because: + +- It makes the code style looks the same regardless the project +- It removes style discussions from code review +- It free developers from thinking about code style + +### Lint + +The lint step uses static analysis tools to improve overall code quality. It +enforces some rules in the code base and can detect bugs before execution. + +This is useful for most programming languages and text files because: + +- It helps building more standarized code bases, which is easier to read and maintain +- It can prevent some bugs +- It can help with deleting unused code +- It is a great tool to teach how to write better code + +## Stacks and Platforms @@ -108,11 +139,26 @@ When you run pipelinit in the root of a software project:
Pipelinit Support Matrix
+### Notes about partial support (cells with 🟡) + +- The test stage for JavaScript currently supports Deno + +## Stack support + +In this section you can check details about what each stack supports. + +When one of the supported tools can't be detected, pipelinit generates a +pipeline configuration with the tool marked as _default_. If your project +doesn't use one of those tools with custom configurations, the pipeline +generated uses _sensible defaults_ from the picked tools. + +If this isn't desired, you can disable this with the flag `--no-default-stage`. + ### CSS Support #### Package Managers -- [npm](https://www.npmjs.com/) +- [npm](https://www.npmjs.com/) _default_ - [yarn](https://yarnpkg.com/) #### Flavors @@ -125,32 +171,32 @@ When you run pipelinit in the root of a software project: | Stage | Tools | | ----- | ------ | -| Format | [Prettier](https://prettier.io/) | -| Lint | [stylelint](https://stylelint.io/) | +| Format | [Prettier](https://prettier.io/) (_default_) | +| Lint | [stylelint](https://stylelint.io/) (_default_) | ### JavaScript Support #### Package Managers -- [npm](https://www.npmjs.com/) +- [npm](https://www.npmjs.com/) _default_ - [yarn](https://yarnpkg.com/) #### Flavors -- JavaScript +- JavaScript _default_ - [TypeScript](https://www.typescriptlang.org/) #### Runtime -- [Node.js](https://nodejs.org/) +- [Node.js](https://nodejs.org/) _default_ - [Deno](https://deno.land/) #### Tools | Stage | Tools | | ----- | ----- | -| Format | [Prettier](https://prettier.io/), [Deno](https://deno.land/manual@v1.13.1/tools/formatter) | -| Lint | [ESLint](https://eslint.org/), [Deno](https://deno.land/manual@v1.13.1/tools/linter) | +| Format | [Prettier](https://prettier.io/) (_default_), [Deno](https://deno.land/manual@v1.13.1/tools/formatter) | +| Lint | [ESLint](https://eslint.org/) (_default_), [Deno](https://deno.land/manual@v1.13.1/tools/linter) | | Test | [Deno](https://deno.land/manual@v1.13.1/testing) | ### Python