@logickernel/agileflow 0.1.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 +289 -0
- package/bin/agileflow +4 -0
- package/docs/README.md +46 -0
- package/docs/best-practices.md +339 -0
- package/docs/branching-strategy.md +448 -0
- package/docs/cli-reference.md +110 -0
- package/docs/configuration.md +232 -0
- package/docs/conventional-commits/type-build.md +23 -0
- package/docs/conventional-commits/type-chore.md +24 -0
- package/docs/conventional-commits/type-ci.md +23 -0
- package/docs/conventional-commits/type-docs.md +23 -0
- package/docs/conventional-commits/type-feat.md +28 -0
- package/docs/conventional-commits/type-fix.md +27 -0
- package/docs/conventional-commits/type-perf.md +24 -0
- package/docs/conventional-commits/type-refactor.md +24 -0
- package/docs/conventional-commits/type-revert.md +16 -0
- package/docs/conventional-commits/type-style.md +24 -0
- package/docs/conventional-commits/type-test.md +24 -0
- package/docs/conventional-commits.md +234 -0
- package/docs/getting-started.md +209 -0
- package/docs/gitlab-ci-template.md +324 -0
- package/docs/installation.md +163 -0
- package/docs/migration-guide.md +390 -0
- package/docs/release-management.md +498 -0
- package/docs/troubleshooting.md +341 -0
- package/docs/version-centric-cicd.md +166 -0
- package/package.json +39 -0
- package/src/git-utils.js +57 -0
- package/src/index.js +88 -0
- package/src/local.js +17 -0
- package/src/utils.js +376 -0
- package/templates/agileflow-tagged.gitlab-ci.yml +66 -0
- package/templates/agileflow.gitlab-ci.yml +64 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
# Configuration Guide
|
|
2
|
+
|
|
3
|
+
AgileFlow uses environment variables for configuration, making it easy to customize behavior across different environments and deployment scenarios.
|
|
4
|
+
|
|
5
|
+
## Environment Variables
|
|
6
|
+
|
|
7
|
+
### Required Variables
|
|
8
|
+
|
|
9
|
+
These environment variables must be set for AgileFlow to function properly:
|
|
10
|
+
|
|
11
|
+
#### GitLab CI/CD Variables
|
|
12
|
+
|
|
13
|
+
- **`GITLAB_USER_NAME`** - Username for git commits and tag creation
|
|
14
|
+
- **Example**: `AgileFlow Bot`
|
|
15
|
+
- **Purpose**: Sets the author name for version tags and commits
|
|
16
|
+
- **Required**: Yes
|
|
17
|
+
|
|
18
|
+
- **`GITLAB_USER_EMAIL`** - Email address for git commits and tag creation
|
|
19
|
+
- **Example**: `agileflow@example.com`
|
|
20
|
+
- **Purpose**: Sets the author email for version tags and commits
|
|
21
|
+
- **Required**: Yes
|
|
22
|
+
|
|
23
|
+
- **`CI_SERVER_HOST`** - GitLab server hostname
|
|
24
|
+
- **Example**: `gitlab.example.com`
|
|
25
|
+
- **Purpose**: Used for generating commit pipeline URLs and API calls
|
|
26
|
+
- **Required**: Yes
|
|
27
|
+
|
|
28
|
+
- **`CI_PROJECT_PATH`** - GitLab project path (group/project)
|
|
29
|
+
- **Example**: `mygroup/myproject`
|
|
30
|
+
- **Purpose**: Used for API calls and URL generation
|
|
31
|
+
- **Required**: Yes
|
|
32
|
+
|
|
33
|
+
- **`AGILEFLOW_TOKEN`** - GitLab access token with API permissions
|
|
34
|
+
- **Example**: `glpat-xxxxxxxxxxxxxxxxxxxx`
|
|
35
|
+
- **Purpose**: Authenticates API calls for tag creation and repository access
|
|
36
|
+
- **Required**: Yes
|
|
37
|
+
- **Scopes**: `api` access required
|
|
38
|
+
- **Role**: `maintainer` or higher recommended
|
|
39
|
+
|
|
40
|
+
### Optional Variables
|
|
41
|
+
|
|
42
|
+
These variables can be set to customize AgileFlow behavior:
|
|
43
|
+
|
|
44
|
+
#### Version Generation
|
|
45
|
+
|
|
46
|
+
- **`AGILEFLOW_MAX_COMMIT_LINES`** - Maximum number of commit lines in release notes
|
|
47
|
+
- **Default**: `50`
|
|
48
|
+
- **Example**: `100`
|
|
49
|
+
- **Purpose**: Controls the length of generated release notes
|
|
50
|
+
|
|
51
|
+
- **`AGILEFLOW_INCLUDE_MERGE_COMMITS`** - Whether to include merge commits in release notes
|
|
52
|
+
- **Default**: `false`
|
|
53
|
+
- **Example**: `true`
|
|
54
|
+
- **Purpose**: Controls whether merge commits appear in release notes
|
|
55
|
+
|
|
56
|
+
#### Git Configuration
|
|
57
|
+
|
|
58
|
+
- **`GIT_COMMITTER_NAME`** - Override committer name (if different from author)
|
|
59
|
+
- **Default**: Uses `GITLAB_USER_NAME`
|
|
60
|
+
- **Example**: `CI Bot`
|
|
61
|
+
- **Purpose**: Sets the committer name for git operations
|
|
62
|
+
|
|
63
|
+
- **`GIT_COMMITTER_EMAIL`** - Override committer email (if different from author)
|
|
64
|
+
- **Default**: Uses `GITLAB_USER_EMAIL`
|
|
65
|
+
- **Example**: `ci@example.com`
|
|
66
|
+
- **Purpose**: Sets the committer email for git operations
|
|
67
|
+
|
|
68
|
+
## Configuration Examples
|
|
69
|
+
|
|
70
|
+
### Basic GitLab CI Configuration
|
|
71
|
+
|
|
72
|
+
```yaml
|
|
73
|
+
# .gitlab-ci.yml
|
|
74
|
+
variables:
|
|
75
|
+
GITLAB_USER_NAME: "AgileFlow Bot"
|
|
76
|
+
GITLAB_USER_EMAIL: "agileflow@example.com"
|
|
77
|
+
CI_SERVER_HOST: "gitlab.example.com"
|
|
78
|
+
CI_PROJECT_PATH: "mygroup/myproject"
|
|
79
|
+
|
|
80
|
+
include:
|
|
81
|
+
- local: templates/AgileFlow.gitlab-ci.yml
|
|
82
|
+
|
|
83
|
+
build:
|
|
84
|
+
stage: build
|
|
85
|
+
script:
|
|
86
|
+
- echo "Building version ${VERSION}"
|
|
87
|
+
needs:
|
|
88
|
+
- agileflow
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Advanced Configuration with Custom Options
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
# .gitlab-ci.yml
|
|
95
|
+
variables:
|
|
96
|
+
GITLAB_USER_NAME: "AgileFlow Bot"
|
|
97
|
+
GITLAB_USER_EMAIL: "agileflow@example.com"
|
|
98
|
+
CI_SERVER_HOST: "gitlab.example.com"
|
|
99
|
+
CI_PROJECT_PATH: "mygroup/myproject"
|
|
100
|
+
AGILEFLOW_MAX_COMMIT_LINES: "100"
|
|
101
|
+
AGILEFLOW_INCLUDE_MERGE_COMMITS: "false"
|
|
102
|
+
|
|
103
|
+
include:
|
|
104
|
+
- local: templates/AgileFlow.gitlab-ci.yml
|
|
105
|
+
|
|
106
|
+
build:
|
|
107
|
+
stage: build
|
|
108
|
+
script:
|
|
109
|
+
- echo "Building version ${VERSION}"
|
|
110
|
+
needs:
|
|
111
|
+
- agileflow
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Environment-Specific Configuration
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
# .gitlab-ci.yml
|
|
118
|
+
include:
|
|
119
|
+
- local: templates/AgileFlow.gitlab-ci.yml
|
|
120
|
+
|
|
121
|
+
# Development environment
|
|
122
|
+
build-dev:
|
|
123
|
+
stage: build
|
|
124
|
+
variables:
|
|
125
|
+
AGILEFLOW_MAX_COMMIT_LINES: "25"
|
|
126
|
+
script:
|
|
127
|
+
- echo "Building dev version ${VERSION}"
|
|
128
|
+
needs:
|
|
129
|
+
- agileflow
|
|
130
|
+
|
|
131
|
+
# Production environment
|
|
132
|
+
build-prod:
|
|
133
|
+
stage: build
|
|
134
|
+
variables:
|
|
135
|
+
AGILEFLOW_MAX_COMMIT_LINES: "100"
|
|
136
|
+
script:
|
|
137
|
+
- echo "Building production version ${VERSION}"
|
|
138
|
+
needs:
|
|
139
|
+
- agileflow
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Setting Variables in GitLab
|
|
143
|
+
|
|
144
|
+
### Project-Level Variables
|
|
145
|
+
|
|
146
|
+
1. Go to your GitLab project
|
|
147
|
+
2. Navigate to **Settings > CI/CD**
|
|
148
|
+
3. Expand **Variables**
|
|
149
|
+
4. Add each required variable:
|
|
150
|
+
- **Key**: `GITLAB_USER_NAME`
|
|
151
|
+
- **Value**: `AgileFlow Bot`
|
|
152
|
+
- **Type**: Variable
|
|
153
|
+
- **Environment scope**: All (default)
|
|
154
|
+
- **Protect variable**: Yes (recommended)
|
|
155
|
+
- **Mask variable**: No
|
|
156
|
+
|
|
157
|
+
### Group-Level Variables
|
|
158
|
+
|
|
159
|
+
For organization-wide consistency:
|
|
160
|
+
|
|
161
|
+
1. Go to your GitLab group
|
|
162
|
+
2. Navigate to **Settings > CI/CD**
|
|
163
|
+
3. Expand **Variables**
|
|
164
|
+
4. Add common variables like `GITLAB_USER_NAME` and `GITLAB_USER_EMAIL`
|
|
165
|
+
|
|
166
|
+
### Instance-Level Variables
|
|
167
|
+
|
|
168
|
+
For self-managed GitLab instances:
|
|
169
|
+
|
|
170
|
+
1. Go to **Admin Area > Settings > CI/CD**
|
|
171
|
+
2. Expand **Variables**
|
|
172
|
+
3. Add instance-wide defaults
|
|
173
|
+
|
|
174
|
+
## Security Considerations
|
|
175
|
+
|
|
176
|
+
### Token Security
|
|
177
|
+
|
|
178
|
+
- **Protect variables**: Enable protection for sensitive variables like `AGILEFLOW_TOKEN`
|
|
179
|
+
- **Mask variables**: Don't mask variables that need to be visible in logs
|
|
180
|
+
- **Scope variables**: Limit variable scope to specific environments when possible
|
|
181
|
+
- **Rotate tokens**: Regularly rotate access tokens
|
|
182
|
+
|
|
183
|
+
### Access Control
|
|
184
|
+
|
|
185
|
+
- **Minimal permissions**: Use tokens with minimal required permissions
|
|
186
|
+
- **Role-based access**: Ensure tokens have appropriate role assignments
|
|
187
|
+
- **Audit access**: Regularly review token access and usage
|
|
188
|
+
|
|
189
|
+
## Troubleshooting Configuration
|
|
190
|
+
|
|
191
|
+
### Common Configuration Issues
|
|
192
|
+
|
|
193
|
+
**Missing Required Variables**
|
|
194
|
+
```
|
|
195
|
+
Error: Missing required environment variable: GITLAB_USER_NAME
|
|
196
|
+
```
|
|
197
|
+
**Solution**: Add the missing variable to your GitLab CI/CD variables.
|
|
198
|
+
|
|
199
|
+
**Invalid Token Permissions**
|
|
200
|
+
```
|
|
201
|
+
Error: Permission denied. The AGILEFLOW_TOKEN needs "api" scope and maintainer role.
|
|
202
|
+
```
|
|
203
|
+
**Solution**: Update the token to have proper permissions and role.
|
|
204
|
+
|
|
205
|
+
**Invalid Project Path**
|
|
206
|
+
```
|
|
207
|
+
Error: Invalid project path format
|
|
208
|
+
```
|
|
209
|
+
**Solution**: Ensure `CI_PROJECT_PATH` follows the format `group/project`.
|
|
210
|
+
|
|
211
|
+
### Debug Configuration
|
|
212
|
+
|
|
213
|
+
Add a debug job to verify configuration:
|
|
214
|
+
|
|
215
|
+
```yaml
|
|
216
|
+
debug-config:
|
|
217
|
+
stage: build
|
|
218
|
+
script:
|
|
219
|
+
- echo "GITLAB_USER_NAME: ${GITLAB_USER_NAME}"
|
|
220
|
+
- echo "CI_SERVER_HOST: ${CI_SERVER_HOST}"
|
|
221
|
+
- echo "CI_PROJECT_PATH: ${CI_PROJECT_PATH}"
|
|
222
|
+
- echo "AGILEFLOW_TOKEN: ${AGILEFLOW_TOKEN:0:10}..."
|
|
223
|
+
needs:
|
|
224
|
+
- agileflow
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Related Documentation
|
|
228
|
+
|
|
229
|
+
- [Installation Guide](./installation.md) - Setup and configuration
|
|
230
|
+
- [GitLab CI Template](./gitlab-ci-template.md) - Template configuration
|
|
231
|
+
- [Troubleshooting](./troubleshooting.md) - Common issues and solutions
|
|
232
|
+
- [CLI Reference](./cli-reference.md) - Command-line configuration
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
```
|