# corva-dc-platform-shared
A repository to share Dev Center platform code

## Instalation steps
Clone this repository and run `yarn` inside the directory. On postinstall git hooks would be configured for this repository.

## Development flow
To develop new feature or implement fix one need to create new branch from `main` one and name it properly: branch-type/JIRA_ID-jira_ticket_description i.e.
* `feature/DC-1234-add-Table-component`
* `fix/DR-9999-fix-broken-page`

When changes are ready please create commit with meaningful description using [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/). Commit message should have form `commit-type(JIRA_ID): commit message`. All types of commits could be found [here](./git-conventional-commits.json)

Please note that `feat` and `fix` commits messages will be used during automatic changelog creation while `chore`, `docs` and others will not.

Do not create 2 commits with same name and consider amending previous commit instead with `git commit --amend --no-edit`.

---
**⚠⚠⚠ In case commit introduces breaking changes incompatible with existing API special commit message have to be used. Just type `git commit` and [commit template](./scripts/COMMIT_TEMPLATE) will be opened to edit. The main difference with regular commit messages - such commit MUST have footer(s) BREAKING CHANGES⚠⚠⚠**

---

On merging the PR to `main` branch an automatic release flow will be triggered. New package version will be determined based on changes introduced by commit. `fix` corresponds to `patch`, `feat` to `minor` and `breaking changes` to `major` version release.

More details on semantic versioning could be found in official [SemVer specification](https://semver.org/).

Note: untill first major version is released the package is considered as under development and `breaking changes` will correspond to `minor` release.
