omgkit 2.22.11 → 2.24.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 +20 -8
- package/package.json +2 -2
- package/plugin/commands/hooks/run.md +144 -0
- package/plugin/commands/hooks/setup.md +174 -0
- package/plugin/commands/workflow/init.md +143 -0
- package/plugin/commands/workflow/status.md +126 -0
- package/plugin/commands/workflow/trunk-based.md +175 -0
- package/plugin/registry.yaml +17 -4
- package/plugin/skills/devops/dora-metrics/SKILL.md +852 -0
- package/plugin/skills/devops/feature-flags/SKILL.md +559 -0
- package/plugin/skills/devops/git-hooks/SKILL.md +526 -0
- package/plugin/skills/devops/workflow-config/SKILL.md +581 -0
- package/plugin/skills/methodology/stacked-diffs/SKILL.md +568 -0
- package/plugin/skills/testing/chaos-engineering/SKILL.md +732 -0
- package/plugin/workflows/git/trunk-based.md +447 -0
- package/templates/omgkit/workflow-gitflow.yaml +128 -0
- package/templates/omgkit/workflow-github.yaml +100 -0
- package/templates/omgkit/workflow-trunk.yaml +105 -0
- package/templates/omgkit/workflow.yaml +145 -0
|
@@ -0,0 +1,447 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Trunk-Based Development Workflow
|
|
3
|
+
description: Complete trunk-based development workflow from feature branch creation to production deployment, with Claude code review and feature flags integration.
|
|
4
|
+
category: git
|
|
5
|
+
complexity: medium
|
|
6
|
+
estimated-time: 2-4 hours
|
|
7
|
+
agents:
|
|
8
|
+
- git-manager
|
|
9
|
+
- code-reviewer
|
|
10
|
+
- tester
|
|
11
|
+
- fullstack-developer
|
|
12
|
+
skills:
|
|
13
|
+
- devops/workflow-config
|
|
14
|
+
- devops/git-hooks
|
|
15
|
+
- devops/feature-flags
|
|
16
|
+
- methodology/finishing-development-branch
|
|
17
|
+
commands:
|
|
18
|
+
- /workflow:trunk-based
|
|
19
|
+
- /git:commit
|
|
20
|
+
- /git:pr
|
|
21
|
+
- /dev:review
|
|
22
|
+
- /dev:test
|
|
23
|
+
prerequisites:
|
|
24
|
+
- Workflow config initialized (.omgkit/workflow.yaml)
|
|
25
|
+
- Git repository configured
|
|
26
|
+
- CI/CD pipeline setup (GitHub Actions)
|
|
27
|
+
- Deployment provider connected (Vercel)
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Trunk-Based Development Workflow
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
This workflow implements trunk-based development practices used by Google, Netflix, and other BigTech companies. It emphasizes:
|
|
35
|
+
|
|
36
|
+
- **Single main branch** - All code flows through `main`
|
|
37
|
+
- **Short-lived feature branches** - Max 1-2 days
|
|
38
|
+
- **Feature flags** - Hide incomplete features
|
|
39
|
+
- **Continuous integration** - Merge frequently
|
|
40
|
+
- **Automated review** - Claude reviews every PR
|
|
41
|
+
|
|
42
|
+
## Prerequisites
|
|
43
|
+
|
|
44
|
+
1. **Workflow config** - `.omgkit/workflow.yaml` with trunk-based settings
|
|
45
|
+
2. **CI/CD** - GitHub Actions or similar
|
|
46
|
+
3. **Deployment** - Vercel, Netlify, or similar
|
|
47
|
+
|
|
48
|
+
## Steps
|
|
49
|
+
|
|
50
|
+
### Step 1: Start Feature
|
|
51
|
+
|
|
52
|
+
**Objective:** Create a short-lived feature branch with proper naming.
|
|
53
|
+
|
|
54
|
+
**Steps:**
|
|
55
|
+
|
|
56
|
+
1. Ensure you're on latest main:
|
|
57
|
+
```bash
|
|
58
|
+
git checkout main
|
|
59
|
+
git pull origin main
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
2. Create feature branch:
|
|
63
|
+
```bash
|
|
64
|
+
git checkout -b feature/short-description
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
3. Set branch tracking (automatic with config):
|
|
68
|
+
- Branch age monitoring starts
|
|
69
|
+
- Max age: 2 days (configurable)
|
|
70
|
+
|
|
71
|
+
**Config Integration:**
|
|
72
|
+
```yaml
|
|
73
|
+
git:
|
|
74
|
+
branch_prefix:
|
|
75
|
+
feature: "feature/"
|
|
76
|
+
max_branch_age_days: 2
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Validation:**
|
|
80
|
+
- Branch name follows convention
|
|
81
|
+
- Main branch is up to date
|
|
82
|
+
- No uncommitted changes
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### Step 2: Development
|
|
87
|
+
|
|
88
|
+
**Objective:** Make small, frequent commits with proper conventions.
|
|
89
|
+
|
|
90
|
+
**Steps:**
|
|
91
|
+
|
|
92
|
+
1. Make changes (small, focused)
|
|
93
|
+
|
|
94
|
+
2. Run pre-commit checks:
|
|
95
|
+
```bash
|
|
96
|
+
/hooks:run pre-commit
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
3. Commit with conventional format:
|
|
100
|
+
```bash
|
|
101
|
+
/git:commit
|
|
102
|
+
# or
|
|
103
|
+
git commit -m "feat: add user authentication"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
4. Repeat for each logical change
|
|
107
|
+
|
|
108
|
+
**Config Integration:**
|
|
109
|
+
```yaml
|
|
110
|
+
commit:
|
|
111
|
+
conventional: true
|
|
112
|
+
allowed_types: [feat, fix, docs, ...]
|
|
113
|
+
|
|
114
|
+
hooks:
|
|
115
|
+
pre_commit:
|
|
116
|
+
actions: [lint, format, type-check]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Best Practices:**
|
|
120
|
+
- Commit every 1-2 hours
|
|
121
|
+
- Each commit should be deployable
|
|
122
|
+
- Use feature flags for incomplete features
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Step 3: Feature Flags (If Needed)
|
|
127
|
+
|
|
128
|
+
**Objective:** Use feature flags to safely merge incomplete code.
|
|
129
|
+
|
|
130
|
+
**When to Use:**
|
|
131
|
+
- Feature takes > 1 day
|
|
132
|
+
- Breaking changes
|
|
133
|
+
- Gradual rollout needed
|
|
134
|
+
|
|
135
|
+
**Implementation:**
|
|
136
|
+
|
|
137
|
+
1. Create flag:
|
|
138
|
+
```typescript
|
|
139
|
+
// With Vercel Edge Config
|
|
140
|
+
const showNewFeature = await get('new-feature-enabled');
|
|
141
|
+
|
|
142
|
+
if (showNewFeature) {
|
|
143
|
+
return <NewFeature />;
|
|
144
|
+
}
|
|
145
|
+
return <OldFeature />;
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
2. Deploy with flag off
|
|
149
|
+
|
|
150
|
+
3. Test in production
|
|
151
|
+
|
|
152
|
+
4. Gradually enable (1% → 10% → 50% → 100%)
|
|
153
|
+
|
|
154
|
+
5. Remove flag after full rollout
|
|
155
|
+
|
|
156
|
+
**Config Integration:**
|
|
157
|
+
```yaml
|
|
158
|
+
feature_flags:
|
|
159
|
+
provider: vercel-edge
|
|
160
|
+
require_for_wip: true
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### Step 4: Pre-Push Checks
|
|
166
|
+
|
|
167
|
+
**Objective:** Ensure code quality before pushing.
|
|
168
|
+
|
|
169
|
+
**Steps:**
|
|
170
|
+
|
|
171
|
+
1. Run tests:
|
|
172
|
+
```bash
|
|
173
|
+
/dev:test
|
|
174
|
+
# or
|
|
175
|
+
npm test
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
2. Run security scan:
|
|
179
|
+
```bash
|
|
180
|
+
/quality:security-scan
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
3. Verify build:
|
|
184
|
+
```bash
|
|
185
|
+
npm run build
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
4. Push to remote:
|
|
189
|
+
```bash
|
|
190
|
+
git push -u origin feature/short-description
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Config Integration:**
|
|
194
|
+
```yaml
|
|
195
|
+
hooks:
|
|
196
|
+
pre_push:
|
|
197
|
+
actions: [test, security-scan, build]
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Automatic with Hooks:**
|
|
201
|
+
All checks run automatically on `git push` if hooks are enabled.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### Step 5: Create Pull Request
|
|
206
|
+
|
|
207
|
+
**Objective:** Open PR with proper template and labels.
|
|
208
|
+
|
|
209
|
+
**Steps:**
|
|
210
|
+
|
|
211
|
+
1. Create PR:
|
|
212
|
+
```bash
|
|
213
|
+
/git:pr
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
2. Auto-generated content:
|
|
217
|
+
- Title from branch/commits
|
|
218
|
+
- Description from template
|
|
219
|
+
- Labels from file paths
|
|
220
|
+
- Assigned to author
|
|
221
|
+
|
|
222
|
+
3. Preview deployment triggers (Vercel)
|
|
223
|
+
|
|
224
|
+
**Config Integration:**
|
|
225
|
+
```yaml
|
|
226
|
+
pr:
|
|
227
|
+
template: auto
|
|
228
|
+
labels:
|
|
229
|
+
by_path:
|
|
230
|
+
"src/api/**": ["backend"]
|
|
231
|
+
by_branch:
|
|
232
|
+
"feature/": ["enhancement"]
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
### Step 6: Code Review
|
|
238
|
+
|
|
239
|
+
**Objective:** Get automated and human review.
|
|
240
|
+
|
|
241
|
+
**Steps:**
|
|
242
|
+
|
|
243
|
+
1. **Claude Auto-Review** (triggers on PR):
|
|
244
|
+
```bash
|
|
245
|
+
/dev:review
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Checks:
|
|
249
|
+
- Security vulnerabilities
|
|
250
|
+
- Performance issues
|
|
251
|
+
- Best practices
|
|
252
|
+
- Test coverage
|
|
253
|
+
|
|
254
|
+
2. **Address feedback:**
|
|
255
|
+
- Fix critical issues (required)
|
|
256
|
+
- Consider suggestions
|
|
257
|
+
- Respond to comments
|
|
258
|
+
|
|
259
|
+
3. **Human review:**
|
|
260
|
+
- Assign reviewer
|
|
261
|
+
- Discuss architecture
|
|
262
|
+
- Approve changes
|
|
263
|
+
|
|
264
|
+
**Config Integration:**
|
|
265
|
+
```yaml
|
|
266
|
+
review:
|
|
267
|
+
auto_review: true
|
|
268
|
+
checks: [security, performance, best-practices]
|
|
269
|
+
block_on_critical: true
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### Step 7: Merge and Deploy
|
|
275
|
+
|
|
276
|
+
**Objective:** Merge to main and deploy to production.
|
|
277
|
+
|
|
278
|
+
**Steps:**
|
|
279
|
+
|
|
280
|
+
1. Ensure all checks pass:
|
|
281
|
+
- CI builds green
|
|
282
|
+
- Tests passing
|
|
283
|
+
- Review approved
|
|
284
|
+
- No merge conflicts
|
|
285
|
+
|
|
286
|
+
2. Squash merge:
|
|
287
|
+
```bash
|
|
288
|
+
# Via GitHub UI or
|
|
289
|
+
gh pr merge --squash
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
3. Auto-deployment triggers:
|
|
293
|
+
- Vercel deploys to production
|
|
294
|
+
- Preview environments cleaned up
|
|
295
|
+
|
|
296
|
+
4. Delete feature branch (automatic with config)
|
|
297
|
+
|
|
298
|
+
**Config Integration:**
|
|
299
|
+
```yaml
|
|
300
|
+
pr:
|
|
301
|
+
squash_merge: true
|
|
302
|
+
|
|
303
|
+
git:
|
|
304
|
+
delete_branch_on_merge: true
|
|
305
|
+
|
|
306
|
+
deploy:
|
|
307
|
+
auto_deploy: true
|
|
308
|
+
production_branch: main
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
### Step 8: Post-Deploy Verification
|
|
314
|
+
|
|
315
|
+
**Objective:** Verify deployment success.
|
|
316
|
+
|
|
317
|
+
**Steps:**
|
|
318
|
+
|
|
319
|
+
1. Check deployment status:
|
|
320
|
+
- Vercel dashboard
|
|
321
|
+
- Health endpoints
|
|
322
|
+
|
|
323
|
+
2. Run smoke tests (if configured)
|
|
324
|
+
|
|
325
|
+
3. Monitor for errors:
|
|
326
|
+
- Error tracking (Sentry)
|
|
327
|
+
- Logs
|
|
328
|
+
- Metrics
|
|
329
|
+
|
|
330
|
+
4. Rollback if needed:
|
|
331
|
+
- Revert commit
|
|
332
|
+
- Or disable feature flag
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Quality Gates
|
|
337
|
+
|
|
338
|
+
- [ ] Branch follows naming convention (feature/*, fix/*, hotfix/*)
|
|
339
|
+
- [ ] Branch age is within limit (< 2 days for trunk-based)
|
|
340
|
+
- [ ] All pre-commit checks pass (lint, format, type-check)
|
|
341
|
+
- [ ] Commit messages follow conventional commits format
|
|
342
|
+
- [ ] All tests pass (unit, integration)
|
|
343
|
+
- [ ] No security vulnerabilities detected
|
|
344
|
+
- [ ] Claude code review passed (no critical issues)
|
|
345
|
+
- [ ] Human review approved
|
|
346
|
+
- [ ] CI/CD pipeline green
|
|
347
|
+
- [ ] Preview deployment verified
|
|
348
|
+
- [ ] Squash merge completed
|
|
349
|
+
- [ ] Production deployment successful
|
|
350
|
+
- [ ] Post-deploy smoke tests pass
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Complete Flow Diagram
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
358
|
+
│ TRUNK-BASED WORKFLOW │
|
|
359
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
360
|
+
|
|
361
|
+
main ──────●────────●────────●────────●────────●────────●──────►
|
|
362
|
+
│ ▲ │ ▲ │ ▲
|
|
363
|
+
│ │ │ │ │ │
|
|
364
|
+
feature/a └──●──●──┘ │ │ │ │
|
|
365
|
+
(1-2 days) │ │ │ │
|
|
366
|
+
│ │ │ │
|
|
367
|
+
feature/b └──●──●──┘ │ │
|
|
368
|
+
(1-2 days) │ │
|
|
369
|
+
│ │
|
|
370
|
+
feature/c └──●──●──┘
|
|
371
|
+
(1-2 days)
|
|
372
|
+
|
|
373
|
+
Legend:
|
|
374
|
+
● = commit
|
|
375
|
+
▲ = merge to main (squash)
|
|
376
|
+
→ = continuous deployment
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
## Quick Commands
|
|
380
|
+
|
|
381
|
+
| Phase | Command | Description |
|
|
382
|
+
|-------|---------|-------------|
|
|
383
|
+
| Start | `git checkout -b feature/x` | Create branch |
|
|
384
|
+
| Dev | `/git:commit` | Commit changes |
|
|
385
|
+
| Dev | `/hooks:run pre-commit` | Run checks |
|
|
386
|
+
| Push | `git push -u origin feature/x` | Push branch |
|
|
387
|
+
| PR | `/git:pr` | Create PR |
|
|
388
|
+
| Review | `/dev:review` | Claude review |
|
|
389
|
+
| Merge | `gh pr merge --squash` | Merge PR |
|
|
390
|
+
|
|
391
|
+
## Automation Summary
|
|
392
|
+
|
|
393
|
+
With proper config, the following happens automatically:
|
|
394
|
+
|
|
395
|
+
| Action | Trigger | What Happens |
|
|
396
|
+
|--------|---------|--------------|
|
|
397
|
+
| Lint/Format | Pre-commit | Code formatted, lint errors shown |
|
|
398
|
+
| Commit validation | Commit | Conventional format enforced |
|
|
399
|
+
| Tests | Pre-push | Test suite runs |
|
|
400
|
+
| Preview deploy | PR created | Vercel creates preview |
|
|
401
|
+
| Auto-review | PR created | Claude reviews code |
|
|
402
|
+
| Labels | PR created | Labels applied from paths |
|
|
403
|
+
| Prod deploy | Merge to main | Vercel deploys to prod |
|
|
404
|
+
| Branch cleanup | After merge | Branch deleted |
|
|
405
|
+
|
|
406
|
+
## Troubleshooting
|
|
407
|
+
|
|
408
|
+
### Branch Too Old
|
|
409
|
+
|
|
410
|
+
```
|
|
411
|
+
Warning: Branch feature/x is 3 days old (max: 2 days)
|
|
412
|
+
Consider: Split into smaller PRs or use feature flags
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**Solutions:**
|
|
416
|
+
1. Merge what's ready with feature flag
|
|
417
|
+
2. Split into multiple PRs
|
|
418
|
+
3. Extend deadline in config (not recommended)
|
|
419
|
+
|
|
420
|
+
### Merge Conflicts
|
|
421
|
+
|
|
422
|
+
```
|
|
423
|
+
Error: Cannot merge - conflicts with main
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**Solutions:**
|
|
427
|
+
1. Rebase on main: `git rebase main`
|
|
428
|
+
2. Resolve conflicts
|
|
429
|
+
3. Force push: `git push --force-with-lease`
|
|
430
|
+
|
|
431
|
+
### Failed Review
|
|
432
|
+
|
|
433
|
+
```
|
|
434
|
+
Error: Critical security issue found - blocking merge
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
**Solutions:**
|
|
438
|
+
1. Fix the issue
|
|
439
|
+
2. Push new commit
|
|
440
|
+
3. Re-request review
|
|
441
|
+
|
|
442
|
+
## Related Workflows
|
|
443
|
+
|
|
444
|
+
- `git/github-flow` - Simpler workflow without feature flags
|
|
445
|
+
- `git/gitflow` - Traditional release-based workflow
|
|
446
|
+
- `security/security-audit` - Deep security review
|
|
447
|
+
- `quality/comprehensive-testing` - Full test coverage
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# OMGKIT GitFlow Configuration
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Traditional workflow with develop, release, and hotfix branches.
|
|
5
|
+
# Best for: Teams with scheduled releases, multiple environments.
|
|
6
|
+
#
|
|
7
|
+
# Documentation: https://omg.mintlify.app/workflows/gitflow
|
|
8
|
+
# =============================================================================
|
|
9
|
+
|
|
10
|
+
version: "1.0"
|
|
11
|
+
|
|
12
|
+
git:
|
|
13
|
+
workflow: gitflow
|
|
14
|
+
main_branch: main
|
|
15
|
+
develop_branch: develop
|
|
16
|
+
branch_prefix:
|
|
17
|
+
feature: "feature/"
|
|
18
|
+
release: "release/"
|
|
19
|
+
hotfix: "hotfix/"
|
|
20
|
+
bugfix: "bugfix/"
|
|
21
|
+
max_branch_age_days: 14
|
|
22
|
+
delete_branch_on_merge: true
|
|
23
|
+
|
|
24
|
+
commit:
|
|
25
|
+
conventional: true
|
|
26
|
+
require_scope: true
|
|
27
|
+
allowed_types:
|
|
28
|
+
- feat
|
|
29
|
+
- fix
|
|
30
|
+
- docs
|
|
31
|
+
- style
|
|
32
|
+
- refactor
|
|
33
|
+
- perf
|
|
34
|
+
- test
|
|
35
|
+
- chore
|
|
36
|
+
- ci
|
|
37
|
+
- build
|
|
38
|
+
max_subject_length: 72
|
|
39
|
+
|
|
40
|
+
pr:
|
|
41
|
+
template: auto
|
|
42
|
+
require_review: true
|
|
43
|
+
min_reviewers: 2
|
|
44
|
+
draft_by_default: true
|
|
45
|
+
squash_merge: false
|
|
46
|
+
merge_commit_format: default
|
|
47
|
+
labels:
|
|
48
|
+
enabled: true
|
|
49
|
+
by_path:
|
|
50
|
+
"src/**": ["code-change"]
|
|
51
|
+
"tests/**": ["testing"]
|
|
52
|
+
"docs/**": ["documentation"]
|
|
53
|
+
by_branch:
|
|
54
|
+
"feature/": ["feature"]
|
|
55
|
+
"release/": ["release"]
|
|
56
|
+
"hotfix/": ["hotfix", "urgent"]
|
|
57
|
+
"bugfix/": ["bug"]
|
|
58
|
+
|
|
59
|
+
review:
|
|
60
|
+
auto_review: true
|
|
61
|
+
trigger: on_pr
|
|
62
|
+
checks:
|
|
63
|
+
- security
|
|
64
|
+
- performance
|
|
65
|
+
- best-practices
|
|
66
|
+
- tests
|
|
67
|
+
- documentation
|
|
68
|
+
block_on_critical: true
|
|
69
|
+
strictness: strict
|
|
70
|
+
|
|
71
|
+
deploy:
|
|
72
|
+
provider: vercel
|
|
73
|
+
production_branch: main
|
|
74
|
+
staging_branch: develop
|
|
75
|
+
preview_on_pr: true
|
|
76
|
+
auto_deploy: false
|
|
77
|
+
environments:
|
|
78
|
+
development:
|
|
79
|
+
branch: develop
|
|
80
|
+
auto_deploy: true
|
|
81
|
+
staging:
|
|
82
|
+
branch: "release/*"
|
|
83
|
+
auto_deploy: true
|
|
84
|
+
production:
|
|
85
|
+
branch: main
|
|
86
|
+
auto_deploy: false
|
|
87
|
+
require_approval: true
|
|
88
|
+
|
|
89
|
+
hooks:
|
|
90
|
+
pre_commit:
|
|
91
|
+
enabled: true
|
|
92
|
+
actions:
|
|
93
|
+
- lint
|
|
94
|
+
- format
|
|
95
|
+
- type-check
|
|
96
|
+
fail_fast: true
|
|
97
|
+
|
|
98
|
+
commit_msg:
|
|
99
|
+
enabled: true
|
|
100
|
+
validate_conventional: true
|
|
101
|
+
require_scope: true
|
|
102
|
+
max_length: 72
|
|
103
|
+
|
|
104
|
+
pre_push:
|
|
105
|
+
enabled: true
|
|
106
|
+
actions:
|
|
107
|
+
- test
|
|
108
|
+
- build
|
|
109
|
+
protected_branches:
|
|
110
|
+
- main
|
|
111
|
+
- develop
|
|
112
|
+
|
|
113
|
+
post_merge:
|
|
114
|
+
enabled: true
|
|
115
|
+
actions:
|
|
116
|
+
- install
|
|
117
|
+
|
|
118
|
+
feature_flags:
|
|
119
|
+
provider: none
|
|
120
|
+
default_state: false
|
|
121
|
+
|
|
122
|
+
ci:
|
|
123
|
+
provider: github-actions
|
|
124
|
+
required_checks:
|
|
125
|
+
- build
|
|
126
|
+
- test
|
|
127
|
+
- lint
|
|
128
|
+
- type-check
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# OMGKIT GitHub Flow Configuration
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Simple workflow: main branch + feature branches + PRs.
|
|
5
|
+
# Best for: Teams with regular releases, focus on code review.
|
|
6
|
+
#
|
|
7
|
+
# Documentation: https://omg.mintlify.app/workflows/github-flow
|
|
8
|
+
# =============================================================================
|
|
9
|
+
|
|
10
|
+
version: "1.0"
|
|
11
|
+
|
|
12
|
+
git:
|
|
13
|
+
workflow: github-flow
|
|
14
|
+
main_branch: main
|
|
15
|
+
branch_prefix:
|
|
16
|
+
feature: "feature/"
|
|
17
|
+
fix: "fix/"
|
|
18
|
+
docs: "docs/"
|
|
19
|
+
chore: "chore/"
|
|
20
|
+
max_branch_age_days: 7
|
|
21
|
+
delete_branch_on_merge: true
|
|
22
|
+
|
|
23
|
+
commit:
|
|
24
|
+
conventional: true
|
|
25
|
+
require_scope: false
|
|
26
|
+
allowed_types:
|
|
27
|
+
- feat
|
|
28
|
+
- fix
|
|
29
|
+
- docs
|
|
30
|
+
- style
|
|
31
|
+
- refactor
|
|
32
|
+
- perf
|
|
33
|
+
- test
|
|
34
|
+
- chore
|
|
35
|
+
max_subject_length: 72
|
|
36
|
+
|
|
37
|
+
pr:
|
|
38
|
+
template: auto
|
|
39
|
+
require_review: true
|
|
40
|
+
min_reviewers: 1
|
|
41
|
+
draft_by_default: false
|
|
42
|
+
squash_merge: true
|
|
43
|
+
merge_commit_format: pr_title
|
|
44
|
+
labels:
|
|
45
|
+
enabled: true
|
|
46
|
+
by_path:
|
|
47
|
+
"src/api/**": ["backend"]
|
|
48
|
+
"src/ui/**": ["frontend"]
|
|
49
|
+
"src/components/**": ["components"]
|
|
50
|
+
"tests/**": ["testing"]
|
|
51
|
+
"docs/**": ["documentation"]
|
|
52
|
+
by_branch:
|
|
53
|
+
"feature/": ["enhancement"]
|
|
54
|
+
"fix/": ["bug"]
|
|
55
|
+
"docs/": ["documentation"]
|
|
56
|
+
|
|
57
|
+
review:
|
|
58
|
+
auto_review: true
|
|
59
|
+
trigger: on_pr
|
|
60
|
+
checks:
|
|
61
|
+
- security
|
|
62
|
+
- performance
|
|
63
|
+
- best-practices
|
|
64
|
+
block_on_critical: true
|
|
65
|
+
strictness: standard
|
|
66
|
+
|
|
67
|
+
deploy:
|
|
68
|
+
provider: vercel
|
|
69
|
+
production_branch: main
|
|
70
|
+
preview_on_pr: true
|
|
71
|
+
auto_deploy: true
|
|
72
|
+
pre_deploy_checks:
|
|
73
|
+
- test
|
|
74
|
+
- build
|
|
75
|
+
|
|
76
|
+
hooks:
|
|
77
|
+
pre_commit:
|
|
78
|
+
enabled: true
|
|
79
|
+
actions:
|
|
80
|
+
- lint
|
|
81
|
+
- format
|
|
82
|
+
staged_only: true
|
|
83
|
+
|
|
84
|
+
commit_msg:
|
|
85
|
+
enabled: true
|
|
86
|
+
validate_conventional: true
|
|
87
|
+
|
|
88
|
+
pre_push:
|
|
89
|
+
enabled: true
|
|
90
|
+
actions:
|
|
91
|
+
- test
|
|
92
|
+
|
|
93
|
+
feature_flags:
|
|
94
|
+
provider: none
|
|
95
|
+
|
|
96
|
+
ci:
|
|
97
|
+
provider: github-actions
|
|
98
|
+
required_checks:
|
|
99
|
+
- build
|
|
100
|
+
- test
|