@logickernel/agileflow 0.4.0 → 0.4.1
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 +133 -211
- package/docs/README.md +39 -24
- package/docs/best-practices.md +201 -234
- package/docs/branching-strategy.md +153 -254
- package/docs/cli-reference.md +84 -64
- package/docs/configuration.md +154 -167
- package/docs/conventional-commits.md +207 -160
- package/docs/getting-started.md +162 -117
- package/docs/installation.md +244 -106
- package/docs/migration-guide.md +212 -299
- package/docs/release-management.md +195 -384
- package/docs/troubleshooting.md +276 -250
- package/docs/version-centric-cicd.md +239 -116
- package/package.json +3 -2
|
@@ -1,448 +1,347 @@
|
|
|
1
|
-
# Branching Strategy
|
|
1
|
+
# Branching Strategy
|
|
2
2
|
|
|
3
|
-
AgileFlow
|
|
3
|
+
AgileFlow uses a simplified branching strategy that eliminates complexity while maintaining flexibility.
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
Unlike traditional Git workflows
|
|
7
|
+
Unlike traditional Git workflows with multiple long-lived branches, AgileFlow uses:
|
|
8
8
|
|
|
9
|
-
- **Main branch**
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
|
|
9
|
+
- **Main branch** — Single source of truth for all releases
|
|
10
|
+
- **Feature branches** — Short-lived branches for development
|
|
11
|
+
- **Version tags** — Immutable markers for each release
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
main ─────●─────●─────●─────●───▶
|
|
15
|
+
│ │ │ │
|
|
16
|
+
v v v v
|
|
17
|
+
v1.0.0 v1.0.1 v1.1.0 v1.2.0
|
|
18
|
+
▲ ▲
|
|
19
|
+
│ │
|
|
20
|
+
feat/auth─┘ │
|
|
21
|
+
fix/crash─┘
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
13
25
|
|
|
14
26
|
## Core Principles
|
|
15
27
|
|
|
16
28
|
### 1. Main Branch as Release Source
|
|
17
29
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
```mermaid
|
|
21
|
-
graph LR
|
|
22
|
-
A[main branch] --> B[v1.0.0]
|
|
23
|
-
A --> C[v1.0.1]
|
|
24
|
-
A --> D[v1.1.0]
|
|
25
|
-
A --> E[v2.0.0]
|
|
26
|
-
|
|
27
|
-
F[feature branch] --> A
|
|
28
|
-
G[bugfix branch] --> A
|
|
29
|
-
H[hotfix branch] --> A
|
|
30
|
-
```
|
|
30
|
+
All releases come from main:
|
|
31
31
|
|
|
32
|
-
**
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
35
|
-
- **
|
|
36
|
-
- **No Branch Drift**: All environments can run identical versions
|
|
32
|
+
- **Single version sequence** — v1.0.0, v1.0.1, v1.1.0 all share the same lineage
|
|
33
|
+
- **Consistent history** — Every release builds on the same foundation
|
|
34
|
+
- **Simple rollbacks** — Just deploy a previous version
|
|
35
|
+
- **No branch drift** — All environments run identical code
|
|
37
36
|
|
|
38
37
|
### 2. Short-Lived Development Branches
|
|
39
38
|
|
|
40
|
-
|
|
39
|
+
Create focused branches, merge quickly:
|
|
41
40
|
|
|
42
|
-
- **Purpose
|
|
43
|
-
- **Lifespan
|
|
44
|
-
- **Target
|
|
45
|
-
- **Naming
|
|
41
|
+
- **Purpose** — One feature, one fix, or one improvement
|
|
42
|
+
- **Lifespan** — Days to weeks, not months
|
|
43
|
+
- **Target** — Always merge to main
|
|
44
|
+
- **Naming** — Descriptive prefix (feat/, fix/, etc.)
|
|
46
45
|
|
|
47
|
-
### 3. Version-
|
|
46
|
+
### 3. Version-Based Deployments
|
|
48
47
|
|
|
49
|
-
|
|
48
|
+
Deploy versions, not branches:
|
|
50
49
|
|
|
51
|
-
```mermaid
|
|
52
|
-
graph LR
|
|
53
|
-
A[Version v1.2.3] --> B[Staging Environment]
|
|
54
|
-
A --> C[Production Environment]
|
|
55
|
-
A --> D[Testing Environment]
|
|
56
|
-
|
|
57
|
-
E[Version v1.2.2] --> F[Previous Production]
|
|
58
50
|
```
|
|
51
|
+
Version v1.2.3
|
|
52
|
+
│
|
|
53
|
+
├──▶ Staging
|
|
54
|
+
├──▶ Production
|
|
55
|
+
└──▶ Any environment
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
59
|
|
|
60
|
-
## Branch Types
|
|
60
|
+
## Branch Types
|
|
61
61
|
|
|
62
62
|
### Feature Branches
|
|
63
63
|
|
|
64
|
-
For new
|
|
64
|
+
For new functionality:
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
# Branch naming patterns
|
|
68
67
|
git checkout -b feat/user-authentication
|
|
69
68
|
git checkout -b feat/api-rate-limiting
|
|
70
|
-
git checkout -b feat/dark-mode
|
|
69
|
+
git checkout -b feat/dark-mode
|
|
71
70
|
```
|
|
72
71
|
|
|
73
72
|
**When to use:**
|
|
74
|
-
- Adding new
|
|
73
|
+
- Adding new features
|
|
75
74
|
- Implementing user stories
|
|
76
|
-
- Creating new
|
|
77
|
-
- Adding new UI components
|
|
75
|
+
- Creating new endpoints
|
|
78
76
|
|
|
79
77
|
**Workflow:**
|
|
80
|
-
1. Create
|
|
81
|
-
2.
|
|
82
|
-
3.
|
|
83
|
-
4.
|
|
84
|
-
5. Merge to main (triggers version bump)
|
|
78
|
+
1. Create from main
|
|
79
|
+
2. Develop with conventional commits
|
|
80
|
+
3. Open pull/merge request
|
|
81
|
+
4. Merge to main → triggers version bump
|
|
85
82
|
|
|
86
|
-
###
|
|
83
|
+
### Fix Branches
|
|
87
84
|
|
|
88
|
-
For
|
|
85
|
+
For bug fixes:
|
|
89
86
|
|
|
90
87
|
```bash
|
|
91
|
-
|
|
92
|
-
git checkout -b fix/
|
|
93
|
-
git checkout -b fix/api-timeout-issue
|
|
88
|
+
git checkout -b fix/login-validation
|
|
89
|
+
git checkout -b fix/api-timeout
|
|
94
90
|
git checkout -b fix/memory-leak
|
|
95
91
|
```
|
|
96
92
|
|
|
97
93
|
**When to use:**
|
|
98
|
-
- Fixing
|
|
99
|
-
- Resolving
|
|
100
|
-
- Addressing
|
|
101
|
-
- Fixing performance problems
|
|
102
|
-
|
|
103
|
-
**Workflow:**
|
|
104
|
-
1. Create branch from main
|
|
105
|
-
2. Fix the issue with conventional commits
|
|
106
|
-
3. Add tests to prevent regression
|
|
107
|
-
4. Create merge request
|
|
108
|
-
5. Merge to main (triggers patch version)
|
|
94
|
+
- Fixing bugs
|
|
95
|
+
- Resolving errors
|
|
96
|
+
- Addressing issues
|
|
109
97
|
|
|
110
98
|
### Hotfix Branches
|
|
111
99
|
|
|
112
100
|
For urgent production fixes:
|
|
113
101
|
|
|
114
102
|
```bash
|
|
115
|
-
|
|
116
|
-
git checkout -b hotfix/critical-
|
|
117
|
-
git checkout -b hotfix/database-connection-fix
|
|
118
|
-
git checkout -b hotfix/urgent-performance-fix
|
|
103
|
+
git checkout -b hotfix/security-patch
|
|
104
|
+
git checkout -b hotfix/critical-bug
|
|
119
105
|
```
|
|
120
106
|
|
|
121
107
|
**When to use:**
|
|
122
108
|
- Critical production issues
|
|
123
109
|
- Security vulnerabilities
|
|
124
|
-
- Data corruption issues
|
|
125
110
|
- Service outages
|
|
126
111
|
|
|
127
112
|
**Workflow:**
|
|
128
|
-
1. Create
|
|
113
|
+
1. Create from main
|
|
129
114
|
2. Implement minimal fix
|
|
130
|
-
3.
|
|
131
|
-
4.
|
|
132
|
-
5. Merge to main (triggers immediate patch version)
|
|
133
|
-
6. Deploy immediately
|
|
115
|
+
3. Fast-track review
|
|
116
|
+
4. Merge and deploy immediately
|
|
134
117
|
|
|
135
118
|
### Refactor Branches
|
|
136
119
|
|
|
137
|
-
For code improvements
|
|
120
|
+
For code improvements:
|
|
138
121
|
|
|
139
122
|
```bash
|
|
140
|
-
# Branch naming patterns
|
|
141
123
|
git checkout -b refactor/auth-service
|
|
142
124
|
git checkout -b refactor/database-layer
|
|
143
|
-
git checkout -b refactor/api-structure
|
|
144
125
|
```
|
|
145
126
|
|
|
146
127
|
**When to use:**
|
|
147
128
|
- Improving code structure
|
|
148
129
|
- Reducing technical debt
|
|
149
130
|
- Optimizing performance
|
|
150
|
-
- Modernizing dependencies
|
|
151
131
|
|
|
152
|
-
|
|
153
|
-
1. Create branch from main
|
|
154
|
-
2. Implement refactoring
|
|
155
|
-
3. Ensure all tests pass
|
|
156
|
-
4. Create merge request
|
|
157
|
-
5. Merge to main (triggers patch version)
|
|
132
|
+
---
|
|
158
133
|
|
|
159
134
|
## Branch Lifecycle
|
|
160
135
|
|
|
161
|
-
###
|
|
136
|
+
### Create
|
|
162
137
|
|
|
163
138
|
```bash
|
|
164
|
-
# Always start from main
|
|
139
|
+
# Always start from updated main
|
|
165
140
|
git checkout main
|
|
166
141
|
git pull origin main
|
|
167
|
-
|
|
168
|
-
# Create new branch
|
|
169
142
|
git checkout -b feat/new-feature
|
|
170
143
|
```
|
|
171
144
|
|
|
172
|
-
|
|
173
|
-
- Always start from an up-to-date main branch
|
|
174
|
-
- Use descriptive branch names
|
|
175
|
-
- Include type prefix (feat/, fix/, refactor/, etc.)
|
|
176
|
-
|
|
177
|
-
### 2. Development
|
|
145
|
+
### Develop
|
|
178
146
|
|
|
179
147
|
```bash
|
|
180
148
|
# Make changes with conventional commits
|
|
181
|
-
git
|
|
182
|
-
git commit -m "
|
|
183
|
-
git commit -m "
|
|
184
|
-
git commit -m "docs: update API documentation"
|
|
149
|
+
git commit -m "feat: implement user login"
|
|
150
|
+
git commit -m "test: add login tests"
|
|
151
|
+
git commit -m "docs: update auth documentation"
|
|
185
152
|
```
|
|
186
153
|
|
|
187
|
-
|
|
188
|
-
- Use conventional commits consistently
|
|
189
|
-
- Make small, focused commits
|
|
190
|
-
- Include tests for new functionality
|
|
191
|
-
- Update documentation as needed
|
|
192
|
-
|
|
193
|
-
### 3. Integration
|
|
154
|
+
### Sync
|
|
194
155
|
|
|
195
156
|
```bash
|
|
196
|
-
# Keep
|
|
157
|
+
# Keep up to date with main
|
|
197
158
|
git checkout main
|
|
198
159
|
git pull origin main
|
|
199
160
|
git checkout feat/new-feature
|
|
200
161
|
git rebase main
|
|
201
162
|
```
|
|
202
163
|
|
|
203
|
-
|
|
204
|
-
- Rebase regularly to avoid conflicts
|
|
205
|
-
- Resolve conflicts during rebase
|
|
206
|
-
- Keep commits clean and logical
|
|
207
|
-
|
|
208
|
-
### 4. Completion
|
|
164
|
+
### Complete
|
|
209
165
|
|
|
210
166
|
```bash
|
|
211
|
-
# Push
|
|
167
|
+
# Push and create pull/merge request
|
|
212
168
|
git push origin feat/new-feature
|
|
213
169
|
```
|
|
214
170
|
|
|
215
|
-
|
|
216
|
-
- Ensure all tests pass
|
|
217
|
-
- Code review completed
|
|
218
|
-
- Documentation updated
|
|
219
|
-
- Ready for production
|
|
220
|
-
|
|
221
|
-
### 5. Merge and Cleanup
|
|
171
|
+
### Cleanup
|
|
222
172
|
|
|
223
173
|
```bash
|
|
224
|
-
# After merge
|
|
174
|
+
# After merge
|
|
225
175
|
git checkout main
|
|
226
176
|
git pull origin main
|
|
227
177
|
git branch -d feat/new-feature
|
|
228
178
|
git push origin --delete feat/new-feature
|
|
229
179
|
```
|
|
230
180
|
|
|
231
|
-
|
|
232
|
-
- Delete local branch after merge
|
|
233
|
-
- Delete remote branch after merge
|
|
234
|
-
- Keep repository clean
|
|
181
|
+
---
|
|
235
182
|
|
|
236
183
|
## Version Management
|
|
237
184
|
|
|
238
|
-
### Automatic
|
|
185
|
+
### Automatic Bumping
|
|
239
186
|
|
|
240
|
-
AgileFlow
|
|
187
|
+
AgileFlow determines version bumps from commits:
|
|
241
188
|
|
|
242
189
|
```bash
|
|
243
|
-
# Patch
|
|
190
|
+
# Patch bump (v1.0.0 → v1.0.1)
|
|
244
191
|
fix: resolve login bug
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
build: update dependencies
|
|
248
|
-
ci: fix pipeline configuration
|
|
249
|
-
revert: "feat: add experimental feature"
|
|
192
|
+
perf: optimize queries
|
|
193
|
+
refactor: simplify logic
|
|
250
194
|
|
|
251
|
-
#
|
|
252
|
-
|
|
253
|
-
style: fix code formatting
|
|
254
|
-
chore: update dependencies
|
|
195
|
+
# Minor bump (v1.0.0 → v1.1.0)
|
|
196
|
+
feat: add user dashboard
|
|
255
197
|
|
|
256
|
-
#
|
|
257
|
-
feat: add user authentication
|
|
258
|
-
perf: optimize database queries
|
|
259
|
-
|
|
260
|
-
# Major version (v1.0.0 → v2.0.0)
|
|
198
|
+
# Major bump (v1.0.0 → v2.0.0)
|
|
261
199
|
feat!: remove deprecated API
|
|
262
|
-
|
|
200
|
+
|
|
201
|
+
# No bump
|
|
202
|
+
docs: update README
|
|
203
|
+
chore: update dependencies
|
|
263
204
|
```
|
|
264
205
|
|
|
265
206
|
### Version Tags
|
|
266
207
|
|
|
267
|
-
Every merge to main creates a
|
|
208
|
+
Every merge to main creates a tag:
|
|
268
209
|
|
|
269
210
|
```bash
|
|
270
|
-
#
|
|
211
|
+
# List versions
|
|
271
212
|
git tag --sort=-version:refname
|
|
272
213
|
|
|
273
|
-
# Checkout specific version
|
|
274
|
-
git checkout v1.2.3
|
|
275
|
-
|
|
276
214
|
# View version details
|
|
277
215
|
git show v1.2.3
|
|
216
|
+
|
|
217
|
+
# Checkout version
|
|
218
|
+
git checkout v1.2.3
|
|
278
219
|
```
|
|
279
220
|
|
|
221
|
+
---
|
|
222
|
+
|
|
280
223
|
## Environment Management
|
|
281
224
|
|
|
282
|
-
### Configuration Over
|
|
225
|
+
### Configuration Over Branches
|
|
283
226
|
|
|
284
|
-
|
|
227
|
+
Use configuration for environment differences, not branches:
|
|
285
228
|
|
|
229
|
+
**GitHub Actions:**
|
|
230
|
+
```yaml
|
|
231
|
+
deploy-staging:
|
|
232
|
+
environment: staging
|
|
233
|
+
env:
|
|
234
|
+
DATABASE_URL: ${{ secrets.STAGING_DB_URL }}
|
|
235
|
+
|
|
236
|
+
deploy-production:
|
|
237
|
+
environment: production
|
|
238
|
+
env:
|
|
239
|
+
DATABASE_URL: ${{ secrets.PROD_DB_URL }}
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**GitLab CI:**
|
|
286
243
|
```yaml
|
|
287
|
-
# .gitlab-ci.yml
|
|
288
244
|
deploy-staging:
|
|
289
|
-
stage: deploy
|
|
290
|
-
script:
|
|
291
|
-
- kubectl set image deployment/myapp myapp=myapp:${VERSION}
|
|
292
245
|
environment:
|
|
293
246
|
name: staging
|
|
294
247
|
variables:
|
|
295
|
-
DATABASE_URL: "
|
|
296
|
-
LOG_LEVEL: "debug"
|
|
248
|
+
DATABASE_URL: "$STAGING_DB_URL"
|
|
297
249
|
|
|
298
250
|
deploy-production:
|
|
299
|
-
stage: deploy
|
|
300
|
-
script:
|
|
301
|
-
- kubectl set image deployment/myapp myapp=myapp:${VERSION}
|
|
302
251
|
environment:
|
|
303
252
|
name: production
|
|
304
253
|
variables:
|
|
305
|
-
DATABASE_URL: "
|
|
306
|
-
LOG_LEVEL: "info"
|
|
254
|
+
DATABASE_URL: "$PROD_DB_URL"
|
|
307
255
|
```
|
|
308
256
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
```yaml
|
|
312
|
-
# config/staging.yaml
|
|
313
|
-
database:
|
|
314
|
-
host: staging-db.example.com
|
|
315
|
-
port: 5432
|
|
316
|
-
ssl: false
|
|
317
|
-
|
|
318
|
-
# config/production.yaml
|
|
319
|
-
database:
|
|
320
|
-
host: prod-db.example.com
|
|
321
|
-
port: 5432
|
|
322
|
-
ssl: true
|
|
323
|
-
```
|
|
257
|
+
---
|
|
324
258
|
|
|
325
259
|
## Best Practices
|
|
326
260
|
|
|
327
|
-
###
|
|
261
|
+
### Keep Branches Small
|
|
328
262
|
|
|
329
263
|
```bash
|
|
330
|
-
# ✅ Good
|
|
264
|
+
# ✅ Good — Single purpose
|
|
331
265
|
git checkout -b feat/user-login
|
|
332
266
|
git checkout -b fix/password-validation
|
|
333
267
|
|
|
334
|
-
# ❌ Bad
|
|
268
|
+
# ❌ Bad — Multiple purposes
|
|
335
269
|
git checkout -b feature-and-bugfixes
|
|
336
270
|
```
|
|
337
271
|
|
|
338
|
-
###
|
|
272
|
+
### Use Conventional Commits
|
|
339
273
|
|
|
340
274
|
```bash
|
|
341
|
-
# ✅ Good
|
|
342
|
-
feat(auth): add OAuth2
|
|
343
|
-
fix(api): handle null user ID
|
|
344
|
-
refactor(db): normalize user table schema
|
|
275
|
+
# ✅ Good — Clear type and scope
|
|
276
|
+
feat(auth): add OAuth2 support
|
|
277
|
+
fix(api): handle null user ID
|
|
345
278
|
|
|
346
|
-
# ❌ Bad
|
|
279
|
+
# ❌ Bad — No type
|
|
347
280
|
add oauth login
|
|
348
281
|
fix bug
|
|
349
|
-
refactor stuff
|
|
350
282
|
```
|
|
351
283
|
|
|
352
|
-
###
|
|
284
|
+
### Rebase Regularly
|
|
353
285
|
|
|
354
286
|
```bash
|
|
355
|
-
#
|
|
287
|
+
# Weekly sync with main
|
|
356
288
|
git checkout main
|
|
357
|
-
git pull
|
|
289
|
+
git pull
|
|
358
290
|
git checkout your-branch
|
|
359
291
|
git rebase main
|
|
360
292
|
```
|
|
361
293
|
|
|
362
|
-
###
|
|
363
|
-
|
|
364
|
-
```bash
|
|
365
|
-
# Use rebase and merge for clean history
|
|
366
|
-
git checkout main
|
|
367
|
-
git pull origin main
|
|
368
|
-
git checkout feature-branch
|
|
369
|
-
git rebase main
|
|
370
|
-
git checkout main
|
|
371
|
-
git merge --ff-only feature-branch
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
### 5. Immediate Cleanup
|
|
294
|
+
### Clean Up After Merge
|
|
375
295
|
|
|
376
296
|
```bash
|
|
377
|
-
# Delete branches after merge
|
|
378
297
|
git branch -d feature-branch
|
|
379
298
|
git push origin --delete feature-branch
|
|
380
299
|
```
|
|
381
300
|
|
|
382
|
-
|
|
301
|
+
---
|
|
383
302
|
|
|
384
|
-
|
|
303
|
+
## Migration from Other Workflows
|
|
385
304
|
|
|
386
|
-
|
|
305
|
+
### From GitFlow
|
|
387
306
|
|
|
388
|
-
1.
|
|
389
|
-
2.
|
|
390
|
-
3.
|
|
391
|
-
4.
|
|
392
|
-
5. **Implement AgileFlow** for version management
|
|
307
|
+
1. Stop creating release/develop branches
|
|
308
|
+
2. Use main for all releases
|
|
309
|
+
3. Convert hotfix branches to hotfix/ prefix
|
|
310
|
+
4. Let AgileFlow handle versioning
|
|
393
311
|
|
|
394
312
|
### From GitHub Flow
|
|
395
313
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
2. **Continue using feature branches** for development
|
|
400
|
-
3. **Add AgileFlow** for automatic versioning
|
|
401
|
-
4. **Use version-based deployments** instead of branch-based
|
|
314
|
+
1. Continue using feature branches
|
|
315
|
+
2. Add AgileFlow for versioning
|
|
316
|
+
3. Deploy versions instead of branches
|
|
402
317
|
|
|
403
318
|
### From Trunk-Based Development
|
|
404
319
|
|
|
405
|
-
|
|
320
|
+
1. Continue working on main
|
|
321
|
+
2. Use branches for larger changes
|
|
322
|
+
3. Add AgileFlow for versioning
|
|
406
323
|
|
|
407
|
-
|
|
408
|
-
2. **Use feature branches** for larger changes
|
|
409
|
-
3. **Add AgileFlow** for version management
|
|
410
|
-
4. **Implement conventional commits** for automatic versioning
|
|
324
|
+
---
|
|
411
325
|
|
|
412
326
|
## Troubleshooting
|
|
413
327
|
|
|
414
|
-
###
|
|
415
|
-
|
|
416
|
-
**Merge Conflicts**
|
|
417
|
-
- Rebase regularly to minimize conflicts
|
|
418
|
-
- Resolve conflicts during rebase, not merge
|
|
419
|
-
- Keep branches small and focused
|
|
420
|
-
|
|
421
|
-
**Branch Divergence**
|
|
422
|
-
- Always start from up-to-date main
|
|
423
|
-
- Rebase instead of merge when updating
|
|
424
|
-
- Delete branches after merge
|
|
425
|
-
|
|
426
|
-
**Version Conflicts**
|
|
427
|
-
- Ensure conventional commits are used
|
|
428
|
-
- Check that AgileFlow is properly configured
|
|
429
|
-
- Verify merge request process
|
|
328
|
+
### Merge Conflicts
|
|
430
329
|
|
|
431
|
-
|
|
330
|
+
- Rebase regularly
|
|
331
|
+
- Keep branches small
|
|
332
|
+
- Resolve during rebase, not merge
|
|
432
333
|
|
|
433
|
-
|
|
434
|
-
- **Examples**: Review the getting started guide
|
|
435
|
-
- **Community**: Join discussions in the community forum
|
|
436
|
-
- **Issues**: Open an issue in the project repository
|
|
334
|
+
### Branch Divergence
|
|
437
335
|
|
|
438
|
-
|
|
336
|
+
- Always start from updated main
|
|
337
|
+
- Rebase instead of merge
|
|
338
|
+
- Delete branches after merge
|
|
439
339
|
|
|
440
|
-
|
|
340
|
+
---
|
|
441
341
|
|
|
442
|
-
|
|
443
|
-
- **Maintain consistency** across all environments
|
|
444
|
-
- **Automate versioning** through conventional commits
|
|
445
|
-
- **Simplify deployments** with version-based releases
|
|
446
|
-
- **Improve collaboration** with clear branch purposes
|
|
342
|
+
## Related Documentation
|
|
447
343
|
|
|
448
|
-
|
|
344
|
+
- [Getting Started](./getting-started.md) — Quick start
|
|
345
|
+
- [Conventional Commits](./conventional-commits.md) — Commit format
|
|
346
|
+
- [Version-Centric CI/CD](./version-centric-cicd.md) — Pipeline methodology
|
|
347
|
+
- [Release Management](./release-management.md) — Managing releases
|