This repository was archived by the owner on Apr 28, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgit-workflow.ai.yaml
More file actions
101 lines (91 loc) · 3.1 KB
/
Copy pathgit-workflow.ai.yaml
File metadata and controls
101 lines (91 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Git Workflow Standards - AI Optimized
# Source: core/git-workflow.md
# DEPRECATION NOTICE (XSPEC-086 Phase 3, 2026-04-28):
# Flow orchestration (decision matrix, merge strategy selection) has been extracted to
# DevAP standards/flow/git-workflow-decisions.ai.yaml.
# This file retains activity definitions only (branch naming, branch types, quick_reference).
id: git-workflow
meta:
version: "1.3.0"
updated: "2026-01-24"
source: core/git-workflow.md
guide: core/guides/git-workflow-guide.md
description: Git branching strategies, commit conventions, and pull request workflows
decision:
question: "How often do you deploy to production?"
matrix:
- answer: "Multiple times per day"
select: trunk-based
- answer: "Weekly to bi-weekly"
select: github-flow
- answer: "Monthly or longer"
select: gitflow
options:
workflow:
default: github-flow
choices:
- id: gitflow
file: options/git-workflow/gitflow.ai.yaml
- id: github-flow
file: options/git-workflow/github-flow.ai.yaml
- id: trunk-based
file: options/git-workflow/trunk-based.ai.yaml
merge_strategy:
default: squash
choices:
- id: merge-commit
file: options/git-workflow/merge-commit.ai.yaml
- id: squash
file: options/git-workflow/squash-merge.ai.yaml
- id: rebase-ff
file: options/git-workflow/rebase-ff.ai.yaml
rules:
- id: choose-workflow
trigger: starting a new project
instruction: Choose ONE workflow strategy and document in CONTRIBUTING.md
priority: required
- id: branch-naming
trigger: creating a new branch
instruction: Use format <type>/<description>
validator: "^(feature|fix|hotfix|refactor|docs|test|chore|release)/[a-z0-9-]+$"
examples:
good:
- feature/user-authentication
- fix/null-pointer-payment
- hotfix/critical-data-loss
bad:
- feature/123
- Fix-Bug
- myFeature
- id: branch-lowercase
trigger: naming a branch
instruction: Use lowercase with hyphens for word separation
priority: required
- id: branch-descriptive
trigger: naming a branch
instruction: Be descriptive but concise in branch names
priority: recommended
- id: pre-branch-checklist
trigger: before creating a new branch
instruction: Verify no unmerged branches, sync with remote, run tests
priority: recommended
quick_reference:
selection_matrix:
columns: [Factor, GitFlow, GitHub Flow, Trunk-Based]
rows:
- [Release frequency, Monthly+, Weekly, Multiple/day]
- [Team size, "Large (10+)", "Medium (5-15)", "Small-Medium (3-10)"]
- [CI/CD maturity, Basic, Intermediate, Advanced]
- [Feature flags, Optional, Optional, Required]
- [Complexity, High, Low, Medium]
branch_types:
columns: [Type, Purpose]
rows:
- [feature, new functionality]
- [fix, bug fixes]
- [hotfix, urgent production fixes]
- [refactor, code refactoring]
- [docs, documentation only]
- [test, test additions]
- [chore, maintenance tasks]
- [release, release preparation]