@logickernel/agileflow 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,10 +14,16 @@ AgileFlow works with your CI/CD engine to **automatically create a new version t
14
14
 
15
15
  ## Quick Start
16
16
 
17
+ Install the tool
18
+
19
+ ```bash
20
+ npm install -g @logickernel/agileflow
21
+ ```
22
+
17
23
  ### Preview Your Next Version
18
24
 
19
25
  ```bash
20
- npx @logickernel/agileflow
26
+ agileflow
21
27
  ```
22
28
 
23
29
  ### Create a Version Tag
@@ -25,19 +31,19 @@ npx @logickernel/agileflow
25
31
 
26
32
  **Push to Remote Git Repository:**
27
33
  ```bash
28
- npx @logickernel/agileflow push
34
+ agileflow push
29
35
  ```
30
36
 
31
37
  #### CD/CI
32
38
 
33
39
  **GitHub Actions:**
34
40
  ```bash
35
- npx @logickernel/agileflow github
41
+ agileflow github
36
42
  ```
37
43
 
38
44
  **GitLab CI:**
39
45
  ```bash
40
- npx @logickernel/agileflow gitlab
46
+ agileflow gitlab
41
47
  ```
42
48
 
43
49
  **Learn More**: [Getting Started Guide](./docs/getting-started.md) • [CLI Reference](./docs/cli-reference.md)
@@ -78,12 +84,22 @@ jobs:
78
84
  ```
79
85
 
80
86
  **GitLab CI** (`.gitlab-ci.yml`):
87
+
88
+ For a job tagged with `agileflow` for a GitLab Runner:
89
+
90
+ ```yaml
91
+ include:
92
+ - remote: https://code.logickernel.com/tools/agileflow/-/raw/main/.gitlab-ci.yml
93
+ ```
94
+
95
+ Or manually:
96
+
81
97
  ```yaml
82
98
  agileflow:
83
99
  image: node:20
84
100
  script:
85
101
  - npm install -g @logickernel/agileflow
86
- - npx @logickernel/agileflow gitlab
102
+ - agileflow gitlab
87
103
  rules:
88
104
  - if: '$CI_COMMIT_BRANCH == "main"'
89
105
  ```
@@ -111,11 +127,6 @@ AgileFlow uses [Conventional Commits](https://www.conventionalcommits.org/) to a
111
127
 
112
128
  ```text
113
129
  type(scope): description
114
-
115
- feat(auth): add OAuth2 login flow
116
- fix(api): correct null handling in user lookup
117
- perf(cache)!: switch to Redis cluster
118
- docs: update README with usage examples
119
130
  ```
120
131
 
121
132
  The commit type (`feat`, `fix`, `perf`, etc.) indicates what kind of change was made, while the optional scope identifies the area affected. Breaking changes are marked with `!` or a `BREAKING CHANGE:` footer.
@@ -132,8 +143,7 @@ Each merge to main triggers automatic version generation based on commit types.
132
143
 
133
144
  New projects start at **v0.0.0** and automatically increment based on commits. AgileFlow will keep automatically generating versions as you develop (0.0.1, 0.0.2, 0.1.0, etc.). When your product has reached maturity and you have a stable API ready for production, create version 1.0.0 manually.
134
145
 
135
- <details>
136
- <summary><strong>Version 1.0.0 — First Stable Release</strong></summary>
146
+ ### Version 1.0.0 — First Stable Release
137
147
 
138
148
  Version 1.0.0 represents your first stable API and marks the transition from initial development to a stable, production-ready release. This version **must be created manually** when your team decides the API is stable and ready for production use.
139
149
 
@@ -146,7 +156,6 @@ git push origin v1.0.0
146
156
 
147
157
  After 1.0.0, AgileFlow continues automatic versioning with standard semantic versioning rules: features bump minor, fixes bump patch, and breaking changes bump major.
148
158
 
149
- </details>
150
159
 
151
160
  **Learn More**: [Release Management Guide](./docs/release-management.md)
152
161
 
@@ -2,142 +2,129 @@
2
2
 
3
3
  AgileFlow uses [Conventional Commits](https://www.conventionalcommits.org/) to automatically determine version bumps and generate release notes.
4
4
 
5
- ## Commit Format
5
+ ## What are Conventional Commits?
6
+
7
+ The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history, which makes it easier to write automated tools on top of. This convention dovetails with [SemVer](https://semver.org/), by describing the features, fixes, and breaking changes made in commit messages.
8
+
9
+ The commit message should be structured as follows:
6
10
 
7
11
  ```
8
- type(scope): description
12
+ <type>[optional scope]: <description>
9
13
 
10
14
  [optional body]
11
15
 
12
- [optional footer]
16
+ [optional footer(s)]
13
17
  ```
14
18
 
15
- ### Components
19
+ The commit contains the following structural elements, to communicate intent to the consumers of your library:
16
20
 
17
- | Part | Required | Description |
18
- |------|----------|-------------|
19
- | `type` | Yes | Type of change (feat, fix, etc.) |
20
- | `scope` | No | Area affected (auth, api, ui) |
21
- | `!` | No | Breaking change indicator |
22
- | `description` | Yes | Short summary |
23
- | `body` | No | Detailed explanation |
24
- | `footer` | No | Breaking changes, issue refs |
21
+ - **`fix:`** A commit of the type `fix` patches a bug in your codebase (this correlates with **PATCH** in Semantic Versioning).
22
+ - **`feat:`** — A commit of the type `feat` introduces a new feature to the codebase (this correlates with **MINOR** in Semantic Versioning).
23
+ - **`BREAKING CHANGE:`** — A commit that has a footer `BREAKING CHANGE:`, or appends a `!` after the type/scope, introduces a breaking API change (correlating with **MAJOR** in Semantic Versioning). A `BREAKING CHANGE` can be part of commits of any type.
24
+ - **Other types** — Types other than `fix:` and `feat:` are allowed (e.g., `build:`, `chore:`, `ci:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, and others). These have no implicit effect in Semantic Versioning (unless they include a `BREAKING CHANGE`).
25
+ - **Scope** A scope may be provided to a commit's type, to provide additional contextual information and is contained within parenthesis, e.g., `feat(parser): add ability to parse arrays`.
26
+ - **Footers** — Footers other than `BREAKING CHANGE: <description>` may be provided and follow a convention similar to git trailer format.
25
27
 
26
28
  ---
27
29
 
28
- ## Commit Types and Version Impact
30
+ ## How to Choose a Commit Type
29
31
 
30
- | Type | Description | 1.0.0+ | 0.x.x |
31
- |------|-------------|--------|-------|
32
- | `feat` | New features | Minor | Minor |
33
- | `fix` | Bug fixes | Patch | Patch |
34
- | `perf` | Performance improvements | None | None |
35
- | `refactor` | Code refactoring | None | None |
36
- | `build` | Build system changes | None | None |
37
- | `ci` | CI/CD changes | None | None |
38
- | `test` | Test changes | None | None |
39
- | `revert` | Revert commits | None | None |
40
- | `docs` | Documentation | None | None |
41
- | `style` | Code style | None | None |
42
- | `chore` | Maintenance | None | None |
32
+ Use this decision flow to choose the right commit type:
43
33
 
44
- ### Breaking Changes
34
+ ```mermaid
35
+ flowchart TD
36
+ Start([Start]) --> A{Does it add functionality?}
45
37
 
46
- Breaking changes trigger a major version bump (or minor for 0.x.x):
38
+ A -- "yes" --> F[feat:]
39
+ A -- "no" --> B{Does it fix functionality?}
47
40
 
48
- ```bash
49
- # Using ! suffix
50
- feat!: remove deprecated API
41
+ B -- "yes" --> X[fix:]
42
+ B -- "no" --> C{Is it work in progress?}
51
43
 
52
- # Using footer
53
- feat: change response format
44
+ C -- "yes" --> W[wip:]
45
+ C -- "no" --> D[Choose best: docs, ci, style, chore, etc.]
54
46
 
55
- BREAKING CHANGE: Response now uses camelCase
47
+ W --> E{Is it a breaking change?}
48
+ F --> E
49
+ X --> E
50
+ D --> E
51
+
52
+ E -- "no" --> Z([Commit])
53
+ E -- "yes" --> G[Add ! to type/scope or BREAKING CHANGE: in body]
54
+ G --> Z
56
55
  ```
57
56
 
58
- ---
57
+ ### Quick Decision Guide
59
58
 
60
- ## Examples
59
+ 1. **Adds new functionality?** → `feat:`
60
+ 2. **Fixes broken functionality?** → `fix:`
61
+ 3. **Work in progress?** → `wip:` (not included in releases)
62
+ 4. **Otherwise?** → Choose the most appropriate:
63
+ - `docs:` — Documentation changes
64
+ - `ci:` — CI/CD changes
65
+ - `style:` — Code style (formatting, whitespace)
66
+ - `chore:` — Maintenance tasks
67
+ - `test:` — Test changes
68
+ - `refactor:` — Code refactoring
69
+ - `perf:` — Performance improvements
70
+ - `build:` — Build system changes
71
+ - `revert:` — Revert previous commits
72
+ 5. **Breaking change?** → Add `!` after type/scope or include `BREAKING CHANGE:` in body
61
73
 
62
- ### Features
74
+ ### Examples
63
75
 
64
76
  ```bash
77
+ # Adds functionality
65
78
  feat: add user authentication
66
- feat(auth): implement OAuth2 login
67
- feat(api): add rate limiting endpoint
68
- ```
69
-
70
- ### Fixes
79
+ feat(auth): add OAuth2 support
71
80
 
72
- ```bash
73
- fix: resolve null pointer exception
74
- fix(auth): handle expired tokens correctly
75
- fix(ui): correct button alignment on mobile
76
- ```
81
+ # Fixes functionality
82
+ fix: resolve login validation error
83
+ fix(api): handle timeout errors
77
84
 
78
- ### Performance
85
+ # Work in progress
86
+ wip: implement user authentication
79
87
 
80
- ```bash
81
- perf: optimize database queries
82
- perf(cache): implement Redis connection pooling
83
- ```
88
+ # Other types
89
+ docs: update API reference
90
+ ci: update GitHub Actions workflow
91
+ style: format code with prettier
92
+ chore: update dependencies
84
93
 
85
- ### Refactoring
94
+ # Breaking changes
95
+ feat!: remove deprecated API endpoints
96
+ feat: change response format
86
97
 
87
- ```bash
88
- refactor: simplify authentication logic
89
- refactor(api): extract validation middleware
98
+ BREAKING CHANGE: Response now uses camelCase
90
99
  ```
91
100
 
92
- ### Breaking Changes
93
-
94
- ```bash
95
- feat!: remove v1 API endpoints
96
- feat(auth)!: change token format to JWT
101
+ ---
97
102
 
98
- fix: update database schema
103
+ ## Commit Types and Version Impact
99
104
 
100
- BREAKING CHANGE: User table now requires email field
101
- ```
105
+ | Type | Description | 0.x.x | 1.0.0+ |
106
+ |------|-------------|--------|-------|
107
+ | BREAKING CHANGE | Changes that break backward compatibility <br> (e.g., removed APIs, changed function signatures, modified response formats) | Minor | Major |
108
+ | `feat` | New features | Minor | Minor |
109
+ | `fix` | Bug fixes | Patch | Patch |
110
+ | | Any other type of commit | None | None |
102
111
 
103
- ### Documentation
112
+ When multiple commits exist, the highest priority wins.
104
113
 
105
- ```bash
106
- docs: update installation guide
107
- docs(api): add authentication examples
108
- docs(readme): improve getting started section
109
- ```
114
+ ### Breaking Changes
110
115
 
111
- ### No Version Bump
116
+ Breaking changes trigger a major version bump (or minor for 0.x.x):
112
117
 
113
118
  ```bash
114
- docs: update README
115
- style: format code with prettier
116
- chore: update development dependencies
117
- ```
118
-
119
- ---
120
-
121
- ## Version Bump Priority
122
-
123
- When multiple commits exist, the highest priority wins:
124
-
125
- 1. **Breaking changes** → Major (or Minor for 0.x.x)
126
- 2. **Features** → Minor
127
- 3. **Fixes** → Patch
128
- 4. **Everything else** → No bump
119
+ # Using ! suffix
120
+ feat!: remove deprecated API
129
121
 
130
- ### Example
122
+ # Using footer
123
+ feat: change response format
131
124
 
132
- If commits since last version include:
133
- ```
134
- feat: add new dashboard
135
- fix: resolve login bug
136
- docs: update README
125
+ BREAKING CHANGE: Response now uses camelCase
137
126
  ```
138
127
 
139
- Result: **Minor bump** (feat has highest priority)
140
-
141
128
  ---
142
129
 
143
130
  ## Release Notes Generation
@@ -162,6 +149,8 @@ v1.2.4
162
149
  - update API reference
163
150
  ```
164
151
 
152
+ Chore commits are omitted from release notes unless they include a breaking change.
153
+
165
154
  ### Breaking Changes in Notes
166
155
 
167
156
  Breaking changes are highlighted:
@@ -174,16 +163,6 @@ v2.0.0
174
163
  - BREAKING: change authentication flow
175
164
  ```
176
165
 
177
- ---
178
-
179
- ## Skip Release
180
-
181
- Use `[skip release]` to prevent version bump:
182
-
183
- ```bash
184
- chore(deps): bump jest to 29.0.0 [skip release]
185
- docs: internal notes [skip release]
186
- ```
187
166
 
188
167
  ---
189
168
 
@@ -192,13 +171,12 @@ docs: internal notes [skip release]
192
171
  Commits not following the format:
193
172
  - Trigger **no bump** by default
194
173
  - Appear under "Other changes" in release notes
195
- - Use `[skip release]` to prevent bump
196
174
 
197
175
  ---
198
176
 
199
177
  ## Best Practices
200
178
 
201
- ### 1. Use Clear Types
179
+ 1. Use Clear Types
202
180
 
203
181
  ```bash
204
182
  # ✅ Correct type
@@ -210,31 +188,20 @@ fix: add login feature # Should be feat
210
188
  feat: fix crash # Should be fix
211
189
  ```
212
190
 
213
- ### 2. Add Meaningful Scopes
214
-
215
- ```bash
216
- # ✅ Helpful scope
217
- feat(auth): add OAuth2 support
218
- fix(api): handle timeout errors
219
-
220
- # ✅ Also fine without scope
221
- feat: add OAuth2 support
222
- fix: handle timeout errors
223
- ```
224
191
 
225
- ### 3. Write Clear Descriptions
192
+ 2. Write Clear Descriptions
226
193
 
227
194
  ```bash
228
195
  # ✅ Clear and specific
229
- feat(auth): add two-factor authentication via SMS
230
- fix(api): prevent timeout on uploads larger than 100MB
196
+ feat: add two-factor authentication via SMS
197
+ fix: prevent timeout on uploads larger than 100MB
231
198
 
232
199
  # ❌ Vague
233
200
  feat: add 2fa
234
201
  fix: fix timeout
235
202
  ```
236
203
 
237
- ### 4. Mark Breaking Changes
204
+ 3. Mark Breaking Changes
238
205
 
239
206
  ```bash
240
207
  # ✅ Properly marked
@@ -244,7 +211,7 @@ feat!: remove deprecated endpoints
244
211
  feat: remove deprecated endpoints
245
212
  ```
246
213
 
247
- ### 5. Use Present Tense
214
+ 4. Use Present Tense
248
215
 
249
216
  ```bash
250
217
  # ✅ Present tense
@@ -254,23 +221,17 @@ feat: add user authentication
254
221
  feat: added user authentication
255
222
  ```
256
223
 
257
- ---
224
+ 5. Add Meaningful Scopes when applicable
225
+
226
+ ```bash
227
+ # ✅ Helpful scope
228
+ feat(auth): add OAuth2 support
229
+ fix(api): handle timeout errors
258
230
 
259
- ## Commit Type Details
260
-
261
- For detailed guidance on each type, see:
262
-
263
- - [feat](./conventional-commits/type-feat.md) — Features
264
- - [fix](./conventional-commits/type-fix.md) — Bug fixes
265
- - [perf](./conventional-commits/type-perf.md) — Performance
266
- - [refactor](./conventional-commits/type-refactor.md) — Refactoring
267
- - [build](./conventional-commits/type-build.md) — Build system
268
- - [ci](./conventional-commits/type-ci.md) — CI/CD
269
- - [test](./conventional-commits/type-test.md) — Tests
270
- - [docs](./conventional-commits/type-docs.md) — Documentation
271
- - [style](./conventional-commits/type-style.md) — Code style
272
- - [chore](./conventional-commits/type-chore.md) — Maintenance
273
- - [revert](./conventional-commits/type-revert.md) — Reverts
231
+ # Also fine without scope
232
+ feat: add OAuth2 support
233
+ fix: handle timeout errors
234
+ ```
274
235
 
275
236
  ---
276
237
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logickernel/agileflow",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Automatic semantic versioning and changelog generation based on conventional commits",
5
5
  "main": "src/index.js",
6
6
  "bin": {
package/src/utils.js CHANGED
@@ -72,7 +72,7 @@ function getCurrentBranch() {
72
72
  }
73
73
 
74
74
  // Conventional commit type configuration
75
- const TYPE_ORDER = ['feat', 'fix', 'perf', 'refactor', 'style', 'test', 'build', 'ci', 'docs', 'chore', 'revert'];
75
+ const TYPE_ORDER = ['feat', 'fix', 'perf', 'refactor', 'style', 'test', 'build', 'ci', 'docs', 'revert'];
76
76
  const SEMVER_PATTERN = /^v(\d+)\.(\d+)\.(\d+)(-[a-zA-Z0-9.-]+)?$/;
77
77
 
78
78
  // Friendly header names for changelog
@@ -86,7 +86,6 @@ const TYPE_HEADERS = {
86
86
  docs: 'Documentation:',
87
87
  build: 'Build:',
88
88
  ci: 'CI:',
89
- chore: 'Chores:',
90
89
  revert: 'Reverts:',
91
90
  };
92
91
 
@@ -1,23 +0,0 @@
1
- # Build System (`build`)
2
-
3
- Changes that affect the build tooling or dependencies.
4
-
5
- **Use for**:
6
- - Dependency updates
7
- - Lockfile changes
8
- - Dockerfile modifications
9
- - Build script updates
10
- - Compiler configurations
11
- - Bundler settings
12
-
13
- **Avoid for**:
14
- - Runtime code changes
15
- - CI-only configuration
16
-
17
- **Examples**:
18
- ```text
19
- build(deps): update React to version 18
20
- build(docker): optimize Docker image layers
21
- build(webpack): configure code splitting
22
- build(npm): update package-lock.json
23
- ```
@@ -1,24 +0,0 @@
1
- # Chores (`chore`)
2
-
3
- Routine tasks that do not affect source behavior or tests.
4
-
5
- **Use for**:
6
- - Repository housekeeping
7
- - License file updates
8
- - Issue template changes
9
- - File renames without behavior change
10
- - Git configuration
11
- - Development environment setup
12
-
13
- **Avoid for**:
14
- - Dependency changes
15
- - Build system modifications
16
- - Code formatting
17
-
18
- **Examples**:
19
- ```text
20
- chore: update .gitignore patterns
21
- chore: add issue templates
22
- chore: reorganize project structure
23
- chore: update development setup instructions
24
- ```
@@ -1,23 +0,0 @@
1
- # CI/CD (`ci`)
2
-
3
- Changes to continuous integration configuration and automation. They usually do not affect source behavior, if they do, they must be marked as ! or add a BREAKING FIX footer.
4
-
5
- **Use for**:
6
- - Pipeline definitions
7
- - Job configurations
8
- - Cache settings
9
- - CI scripts
10
- - Deployment automation
11
- - Test configurations
12
-
13
- **Avoid for**:
14
- - Build tooling that affects local builds
15
- - Application code changes
16
-
17
- **Examples**:
18
- ```text
19
- ci(gitlab): add deployment job for staging
20
- ci(docker): configure multi-stage builds
21
- ci(tests): add integration test suite
22
- ci(deploy): automate production deployments
23
- ```
@@ -1,23 +0,0 @@
1
- # Documentation (`docs`)
2
-
3
- Documentation-only changes.
4
-
5
- **Use for**:
6
- - README updates
7
- - API documentation
8
- - Code examples
9
- - Architecture decision records (ADRs)
10
- - Inline code comments
11
- - User guides
12
-
13
- **Avoid for**:
14
- - Code changes that affect behavior
15
- - Configuration changes
16
-
17
- **Examples**:
18
- ```text
19
- docs: update installation instructions
20
- docs(api): add endpoint documentation
21
- docs: add troubleshooting guide
22
- docs: update contributing guidelines
23
- ```
@@ -1,28 +0,0 @@
1
- # Features (`feat`)
2
-
3
- Introduces new user- or API-facing capabilities without removing existing behavior.
4
-
5
- ## Examples
6
-
7
- ```text
8
- feat(api) add user authentication endpoint
9
- feat(cli): implement --dry-run flag for deployments
10
- feat(ui): add dark mode toggle
11
- feat(auth): support OAuth2 login flow
12
- ```
13
-
14
- ## Use for
15
-
16
- - New endpoints or API methods
17
- - CLI commands and options
18
- - Configuration options
19
- - UI components and features
20
- - Additive database migrations
21
- - New functionality
22
-
23
- ## Avoid for
24
-
25
- - Internal-only refactors
26
- - Performance tweaks that don't add capability
27
- - Bug fixes
28
-
@@ -1,27 +0,0 @@
1
- # Bug Fixes (`fix`)
2
-
3
- Corrects faulty behavior, regressions, crashes, data corruption, or incorrect outputs.
4
-
5
- ## Examples
6
-
7
- ```text
8
- fix(auth): handle empty refresh token gracefully
9
- fix(api): correct null pointer exception in user lookup
10
- fix(ui): resolve button click event not firing
11
- fix(db): fix transaction rollback on connection failure
12
- ```
13
-
14
- ## Use for
15
-
16
- - Logic errors and bugs
17
- - Off-by-one fixes
18
- - Null handling improvements
19
- - Race condition fixes
20
- - Flaky behavior resolution
21
- - Data validation fixes
22
-
23
- ## Avoid for
24
-
25
- - Refactors that don't change behavior
26
- - Performance improvements
27
- - New features
@@ -1,24 +0,0 @@
1
- # Performance (`perf`)
2
-
3
- Makes the system faster or leaner without changing public behavior or semantics.
4
-
5
- **Use for**:
6
- - Algorithmic improvements
7
- - Caching implementations
8
- - Reduced memory allocations
9
- - Optimized database queries
10
- - I/O batching
11
- - Performance optimizations
12
-
13
- **Avoid for**:
14
- - Feature additions
15
- - Bug fixes
16
- - Refactoring
17
-
18
- **Examples**:
19
- ```text
20
- perf(cache): implement Redis caching for user sessions
21
- perf(db): optimize user query with proper indexing
22
- perf(api): batch database writes to reduce latency
23
- perf(ui): lazy load images for better page performance
24
- ```
@@ -1,24 +0,0 @@
1
- # Refactors (`refactor`)
2
-
3
- Internal code changes that do not alter external behavior; improves structure, readability, or maintainability.
4
-
5
- **Use for**:
6
- - Code reorganization
7
- - Function extraction
8
- - Module restructuring
9
- - Technical debt reduction
10
- - Code cleanup
11
- - Renaming variables/functions
12
-
13
- **Avoid for**:
14
- - Behavior changes
15
- - New features
16
- - Bug fixes
17
-
18
- **Examples**:
19
- ```text
20
- refactor(auth): extract authentication logic into service
21
- refactor(api): split monolithic controller into modules
22
- refactor(ui): reorganize component hierarchy
23
- refactor(db): normalize database schema
24
- ```
@@ -1,16 +0,0 @@
1
- # Reverts (`revert`)
2
-
3
- Reverts a previous commit.
4
-
5
- ## Examples
6
-
7
- ```text
8
- revert: feat(api): add user authentication endpoint
9
- revert: fix(auth): handle empty refresh token gracefully
10
- ```
11
-
12
- ## Use for
13
-
14
- - Explicit rollbacks
15
- - Undoing problematic changes
16
- - Reverting breaking changes
@@ -1,24 +0,0 @@
1
- # Code Style (`style`)
2
-
3
- Non-functional changes that do not affect the meaning of code.
4
-
5
- **Use for**:
6
- - Code formatting
7
- - Whitespace changes
8
- - Linter fixes
9
- - Import reordering
10
- - Code style compliance
11
- - Prettier/ESLint fixes
12
-
13
- **Avoid for**:
14
- - Refactoring
15
- - Behavior changes
16
- - Bug fixes
17
-
18
- **Examples**:
19
- ```text
20
- style: apply Prettier formatting
21
- style: fix ESLint warnings
22
- style: reorder imports alphabetically
23
- style: fix trailing whitespace
24
- ```
@@ -1,24 +0,0 @@
1
- # Tests (`test`)
2
-
3
- Adds or updates tests without changing runtime behavior.
4
-
5
- **Use for**:
6
- - New unit tests
7
- - Integration test additions
8
- - Test fixture updates
9
- - Test refactoring
10
- - Test coverage improvements
11
- - End-to-end test additions
12
-
13
- **Avoid for**:
14
- - Bug fixes
15
- - Feature additions
16
- - Behavior changes
17
-
18
- **Examples**:
19
- ```text
20
- test(api): add unit tests for user service
21
- test(ui): add integration tests for login flow
22
- test(db): add database migration tests
23
- test(auth): add OAuth2 flow tests
24
- ```