# ci-toolkit

This tool is a small wrapper around standard-version to bump projects correctly (release-branches create pre-releases and master-branches create stable-releases)

## Usage
Execute the module with npx. See available-commands for a list of supported commands
`npx @figedi/ci-toolkit:<version> <command> <path>`

## Available Commands

| Name                      | Parameters                  | Intention                              |
|---------------------------|-----------------------------|----------------------------------------|
| npm-publish (1st arg)     | directory (2nd arg)         | npm publish with dist tag support.     |
| bump (1st arg)            | directory (2nd arg)         | Changelog and git tag generation.      |

### Supported env-variables

TICKET_PREFIX. This is optional and falls-back to `SHTL`. Example usage:

`TICKET_PREFIX=DEV npx @figedi/ci-toolkit npm-publish /path/to/repository`

TAG_PREFIX. This is optional and falls-back to `v`. Example usage:

`TAG_PREFIX=reponame-v npx @figedi/ci-toolkit npm-publish /path/to/repository`


### Semantic Commit Messages

** Breaking Changes:**

You can create a breaking change with every message type. You just need
to add **one** `\n` after your title of the  commit message. This should normally be two new lines. If fixed its two new lines.


****
**Message types**

| Message   | New Version | Example                                                           |
|-----------|-------------|-------------------------------------------------------------------|
| chore:    |             | chore(build): add build script                                    |
| docs:     |             | docs: added feature for xy SHTL-3122                              |
| feat:     | Minor       | feat(commandClass): added new command SHTL-1233                   |
| fix:      | Patch       | fix(persisterClass): fixed headache SHTL-123123                   |
| refactor: |             | refactor(main.ts): share logic between 4d3d3d3 and flarhgunnstow  |
| style:    |             | style: fixed indendation                                          |
| test:     |             | test(myClass): added unit tests for xyz                           |


### Branch-Management

| Branch                    | master     | release | fix/chore/feature/feat/docs/test      |
|---------------------------|------------|---------|---------------------------------------|
| Release Track             | stable     | beta    |               none                    |
| Tests                     | yes        | yes     |               yes                     |
| Publish image/publish npm | yes        | yes     |               no                      |
