|
| 1 | +--- |
| 2 | +trigger: always_on |
| 3 | +--- |
| 4 | + |
| 5 | +# Otter Framework - Git & CI |
| 6 | + |
| 7 | +## Commit Message Format |
| 8 | + |
| 9 | +Follow [Conventional Commits](https://www.conventionalcommits.org/). Allowed types are defined in `commitlint.config.cts`: |
| 10 | + |
| 11 | +| Type | Purpose | |
| 12 | +|------|---------| |
| 13 | +| `feat` / `feature` | New feature | |
| 14 | +| `fix` / `bugfix` | Bug fix | |
| 15 | +| `docs` | Documentation changes | |
| 16 | +| `refactor` | Code refactoring (no behavior change) | |
| 17 | +| `perf` | Performance improvement | |
| 18 | +| `test` | Adding or updating tests | |
| 19 | +| `build` | Build system or dependencies | |
| 20 | +| `ci` | CI configuration | |
| 21 | +| `chore` | Maintenance tasks | |
| 22 | +| `style` | Code style (formatting, no logic change) | |
| 23 | +| `revert` | Reverting a previous commit | |
| 24 | +| `deprecate` | Deprecating functionality | |
| 25 | +| `improvement` | General improvement | |
| 26 | + |
| 27 | +```bash |
| 28 | +# Examples |
| 29 | +git commit -m "fix: correct null check in service" |
| 30 | +git commit -m "feat(core): add new validation helper" |
| 31 | +git commit -m "docs: update API documentation" |
| 32 | +git commit -m "refactor!: rename config options" # Breaking change |
| 33 | +``` |
| 34 | + |
| 35 | +**Rules** (from `commitlint.config.cts`): |
| 36 | +- Header max length: **100 characters** |
| 37 | +- Subject must not be empty or end with a period |
| 38 | +- Type and scope must be lowercase |
| 39 | + |
| 40 | +## CI Contract - Do Not Break |
| 41 | + |
| 42 | +- **All required CI jobs must remain green**: build, lint, unit tests, IT tests, E2E tests |
| 43 | +- **Do not modify CI workflows** (`.github/workflows/*`) unless explicitly requested |
| 44 | +- **Do not touch release/versioning/publish flows**: `GitVersion.yml`, `release.yml`, `publish.yml` |
| 45 | +- **All changes must go through Pull Requests** - never publish directly |
0 commit comments