Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Contributing

These rules apply to every public cplieger repository.
These rules cover every public cplieger repository.

## Commits and releases

Each pull request is squash-merged with its title as the release-notes line. Write it in [Conventional Commits](https://www.conventionalcommits.org/) form, as the change users see: `fix: subtitles in mov_text tracks decode again`. With one commit, make the title its subject.
Each pull request is squash-merged with its title as the release-notes line. Write it in [Conventional Commits](https://www.conventionalcommits.org/) form, as the change users see: `fix: subtitles in mov_text tracks decode again`.

A change users notice gets a one-to-three-sentence `## Release note` in the description. Leave the `deps` and `devdeps` scopes to Renovate.

Expand All @@ -20,13 +20,13 @@ With a `cliff.toml` and default branch `main`, the commit type decides the relea
| `chore:`, `chore(devdeps):`, `ci:`, `docs:`, `style:`, `test:`, `fuzz:`, `lint:`, `debug:`, `release:` | no release | |
| a releasing type with `!` or a `BREAKING CHANGE:` footer | major | |

A hardening fix with no new public API is `sec:`. A repository with no release starts at `v1.0.0`. Below 1.0, `feat:` raises the patch version and a breaking change the minor.
A hardening fix with no new public API is `sec:`. Unreleased repositories start at `v1.0.0`. Below 1.0, `feat:` raises the patch version and a breaking change the minor.

A breaking change carries `!` in the title and ends the description with a `BREAKING CHANGE:` footer, one bullet per upgrade step.

Changes only to these files never release:

- Markdown files, the root `LICENSE` and the root `.github/` folder
- Markdown files, PNG, JPEG, WebP, GIF and SVG files in the root `docs/` folder, the root `LICENSE` and the root `.github/` folder
- the root `alerts/` folder and the root `compose.yaml`
- the root `tests/` folder, any `testdata/` folder, and `_test.go`, `.test.ts` and `.spec.ts` files
- any `package-lock.json`, `.punused-ignore` or knip configuration file
Expand All @@ -36,15 +36,15 @@ Changes only to these files never release:

Your pull request goes to `dev`. `main` holds the released version and takes only promotions of `dev` and automated pull requests, which release a patch when they change shipped files.

A [promotion](https://github.com/cplieger/ci/blob/main/docs/workflows.md#the-two-branch-release-model) releases the next minor version, or from 1.0 the next major for a breaking change.
A [promotion](https://github.com/cplieger/ci/blob/main/docs/workflows.md#the-two-branch-release-model) releases the next minor, or from 1.0 the next major for a breaking change.

## Synced files

The next sync replaces a file whose opening comment says it is synced from [cplieger/ci](https://github.com/cplieger/ci), and `.prettierrc.json`, `.stylelintrc.json` and `.htmlvalidate.json`. Change them there.

## Checks

Before you push, run `bash ../ci/ci-local.sh` from the repository root with [cplieger/ci](https://github.com/cplieger/ci) cloned beside it. Its `scripts/install-local-tools.sh` installs CI's tool versions. A `check(s) not validated locally` result leaves them to CI.
Before pushing, run `bash ../ci/ci-local.sh` from the repository root with [cplieger/ci](https://github.com/cplieger/ci) cloned beside it. Its `scripts/install-local-tools.sh` installs CI's tool versions. A `check(s) not validated locally` line leaves those checks to CI.

Leave the placeholder `version` in `package.json` and `jsr.json` to the release.

Expand Down
Loading