@@ -45,96 +45,64 @@ v1.2.20260302 → v1.3.20260302
4545
4646## Release Naming Strategy
4747
48- ### Adjective-Animal Themes
49- Generate release names by analyzing PR sentiment and selecting appropriate themes.
48+ ### AI-Generated Themed Naming
5049
51- ### Theme Categories
50+ The release name is generated by the AI based on analyzing the merged PRs and their content. The AI should:
5251
53- #### Performance & Speed
54- ** Adjectives** : swift, rapid, lightning, blazing, turbo, speedy, agile
55- ** Animals** : cheetah, falcon, hare, gazelle, hawk, dolphin, hummingbird
52+ 1 . ** Analyze PR content** - Read titles, descriptions, and code changes
53+ 2 . ** Identify dominant theme** - What is this release really about?
54+ 3 . ** Generate unique name** - Create an adjective-animal pair that:
55+ - Reflects the PR content accurately
56+ - Has not been used before in this project
57+ - Is memorable and appropriate
5658
57- Examples: ` swift cheetah ` , ` lightning falcon ` , ` rapid gazelle `
59+ ### Guidelines for AI
5860
59- #### Security & Protection
60- ** Adjectives** : vigilant, guardian, watchful, secure, protective, stalwart, fortress
61- ** Animals** : owl, bear, hawk, wolf, eagle, rhinoceros, mastiff
61+ ** Good adjectives** (avoid generic ones):
62+ - Emotional/sensory: ` electric ` , ` radiant ` , ` fiery ` , ` velvet ` , ` crystalline `
63+ - Movement: ` surging ` , ` drifting ` , ` soaring ` , ` diving ` , ` spiral `
64+ - Nature: ` blooming ` , ` misty ` , ` aurora ` , ` tidal ` , ` verdant `
65+ - Abstract: ` boundless ` , ` infinite ` , ` hidden ` , ` silent ` , ` luminous `
6266
63- Examples: ` vigilant owl ` , ` guardian bear ` , ` watchful hawk `
67+ ** Good animals** (avoid overused ones like fox, owl, dolphin, cheetah):
68+ - Exotic: ` narwhal ` , ` axolotl ` , ` capybara ` , ` quokka ` , ` pangolin `
69+ - Aquatic: ` jellyfish ` , ` seahorse ` , ` manta ` , ` cuttlefish ` , ` otter `
70+ - Birds: ` kingfisher ` , ` heron ` , ` ibis ` , ` stork ` , ` bird-of-paradise `
71+ - Insects: ` firefly ` , ` butterfly ` , ` dragonfly ` , ` beetle ` , ` mantid `
72+ - Mythical-inspired: ` phoenix ` , ` griffin ` , ` pegasus ` , ` siren ` , ` chimera `
6473
65- #### Innovation & Features
66- ** Adjectives** : creative, innovative, clever, brilliant, inventive, pioneering, ingenious
67- ** Animals** : fox, dolphin, raven, octopus, monkey, parrot, crow
74+ ** Avoid repetition** - Check previous releases and choose something new.
6875
69- Examples: ` creative fox ` , ` innovative dolphin ` , ` clever raven `
76+ ### Examples
7077
71- #### Stability & Fixes
72- ** Adjectives** : persistent, diligent, careful, steadfast, reliable, thorough, patient
73- ** Animals** : badger, ant, turtle, ox, elephant, beaver, bull
74-
75- Examples: ` persistent badger ` , ` diligent ant ` , ` careful turtle `
76-
77- #### Refactoring & Cleanup
78- ** Adjectives** : elegant, graceful, nimble, refined, polished, pristine, sleek
79- ** Animals** : swan, deer, cat, crane, jaguar, seal, panther
80-
81- Examples: ` elegant swan ` , ` graceful deer ` , ` nimble cat `
78+ ```
79+ v1.2.20260315 - Blooming Narwhal (based on new features, growth theme)
80+ v1.3.20260316 - Velvet Manta (based on smooth refactoring)
81+ v1.4.20260317 - Electric Firefly (based on performance improvements)
82+ v1.5.20260403 - Crystal Jellyfish (based on documentation overhaul)
83+ ```
8284
83- #### Documentation & Knowledge
84- ** Adjectives** : wise, thoughtful, scholarly, insightful, learned, enlightened, sage
85- ** Animals** : elephant, whale, owl, sloth, tortoise, raven, dolphin
85+ ## PR Analysis for Release Naming
8686
87- Examples: ` wise elephant ` , ` thoughtful whale ` , ` scholarly owl `
87+ ### AI Analysis Process
8888
89- ## PR Sentiment Analysis
89+ Instead of rigid keyword matching, the AI should:
9090
91- ### Analysis Process
92911 . ** Gather Recent PRs**
9392 ``` bash
94- gh pr list --state merged --base develop --limit 20 --json title,body,labels
93+ gh pr list --state merged --base main --limit 20 --json title,body,labels
9594 ```
9695
97- 2 . ** Categorize by Keywords**
98- ``` python
99- performance_keywords = [" optimize" , " performance" , " speed" , " cache" , " faster" ]
100- security_keywords = [" security" , " auth" , " encrypt" , " vulnerability" , " safe" ]
101- feature_keywords = [" add" , " implement" , " new" , " feature" , " enhance" ]
102- fix_keywords = [" fix" , " bug" , " error" , " issue" , " patch" ]
103- refactor_keywords = [" refactor" , " clean" , " restructure" , " improve" , " organize" ]
104- docs_keywords = [" docs" , " documentation" , " readme" , " guide" , " explain" ]
105- ```
96+ 2 . ** Understand the content** - Read PR titles and descriptions to understand what changed
10697
107- 3 . ** Calculate Dominant Theme**
108- ``` python
109- def analyze_pr_sentiment (prs ):
110- scores = {
111- " performance" : 0 ,
112- " security" : 0 ,
113- " features" : 0 ,
114- " fixes" : 0 ,
115- " refactoring" : 0 ,
116- " documentation" : 0
117- }
118-
119- for pr in prs:
120- text = f " { pr[' title' ]} { pr[' body' ]} " .lower()
121- # Score based on keyword frequency and PR importance
122-
123- return max (scores, key = scores.get)
124- ```
98+ 3 . ** Identify the story** - What's the narrative of this release? What stands out?
12599
126- 4 . ** Select Theme Name**
127- ``` python
128- def generate_release_name (dominant_theme ):
129- themes = {
130- " performance" : [(" swift" , " cheetah" ), (" lightning" , " falcon" ), (" rapid" , " hare" )],
131- " security" : [(" vigilant" , " owl" ), (" guardian" , " bear" ), (" watchful" , " hawk" )],
132- " features" : [(" creative" , " fox" ), (" innovative" , " dolphin" ), (" clever" , " raven" )],
133- # ... etc
134- }
135-
136- return random.choice(themes[dominant_theme])
137- ```
100+ 4 . ** Generate creative name** - Based on understanding, create a unique adjective-animal pair
101+
102+ ** Remember:**
103+ - Each release should have a unique name - don't repeat
104+ - The name should feel authentic and memorable
105+ - Let the PR content guide the naming, not the other way around
138106
139107## Release Process Workflow
140108
@@ -149,7 +117,7 @@ git log --oneline $(git describe --tags --abbrev=0)..HEAD
149117
150118# Create release branch
151119current_date=$( date +%Y%m%d)
152- git checkout -b release/v1.3.${current_date} r1
120+ git checkout -b release/v1.3.${current_date}
153121```
154122
155123### Step 2: Analyze PRs and Generate Name
@@ -172,11 +140,11 @@ gh pr list --state merged --base develop --limit 20
172140### Step 3: Update Version and Changelog
173141``` bash
174142# Update pyproject.toml
175- sed -i ' s/version = ".*"/version = "1.3.20260302r1 "/' pyproject.toml
143+ sed -i ' s/version = ".*"/version = "1.3.20260302 "/' pyproject.toml
176144
177145# Generate changelog entry
178146cat >> CHANGELOG.md << EOF
179- ## [v1.3.20260302r1 ] - Swift Cheetah - 2026-03-02
147+ ## [v1.3.20260302 ] - Swift Cheetah - 2026-03-02
180148
181149### Performance Improvements
182150- Optimize database query performance (#123)
@@ -192,24 +160,24 @@ EOF
192160
193161# Commit version bump
194162git add pyproject.toml CHANGELOG.md
195- git commit -m " chore(release): bump version to v1.3.20260302r1 - Swift Cheetah"
163+ git commit -m " chore(release): bump version to v1.3.20260302 - Swift Cheetah"
196164```
197165
198166### Step 4: Create and Publish Release
199167``` bash
200168# Merge to main
201169git checkout main
202- git merge release/v1.3.20260302r1
170+ git merge release/v1.3.20260302
203171
204172# Create tag
205- git tag v1.3.20260302r1
173+ git tag v1.3.20260302
206174
207175# Push to remote
208176git push origin main --tags
209177
210178# Create GitHub release
211- gh release create v1.3.20260302r1 \
212- --title " v1.3.20260302r1 - Swift Cheetah" \
179+ gh release create v1.3.20260302 \
180+ --title " v1.3.20260302 - Swift Cheetah" \
213181 --notes-file CHANGELOG.md
214182
215183# Sync develop branch
@@ -218,20 +186,20 @@ git merge main
218186git push origin develop
219187
220188# Clean up release branch
221- git branch -d release/v1.3.20260302r1
222- git push origin --delete release/v1.3.20260302r1
189+ git branch -d release/v1.3.20260302
190+ git push origin --delete release/v1.3.20260302
223191```
224192
225193### Step 5: Post-Release Tasks
226194``` bash
227195# Verify release
228- gh release view v1.3.20260302r1
196+ gh release view v1.3.20260302
229197
230198# Check CI/CD pipeline
231- gh workflow run deploy --ref v1.3.20260302r1
199+ gh workflow run deploy --ref v1.3.20260302
232200
233201# Update project documentation
234- echo " Latest release: v1.3.20260302r1 - Swift Cheetah" > .release-info
202+ echo " Latest release: v1.3.20260302 - Swift Cheetah" > .release-info
235203```
236204
237205## Hotfix Release Process
@@ -254,7 +222,7 @@ gh pr create --title "Critical Security Hotfix" \
254222current_date=$( date +%Y%m%d)
255223last_version=$( git describe --tags --abbrev=0)
256224
257- # Calculate next revision (v1.3.20260302r1 → v1.3.20260302r2)
225+ # Calculate next revision (v1.3.20260302 → v1.3.20260302r2)
258226next_revision=$( echo $last_version | sed ' s/r\([0-9]\+\)/r\1+1/' )
259227
260228git tag $next_revision
@@ -307,7 +275,7 @@ echo "✅ Pre-release validation passed!"
307275# Analysis: 3 feature PRs, 1 performance PR
308276# Theme: FEATURES (dominant)
309277# Name: "innovative dolphin"
310- # Version: v1.4.20260315r1
278+ # Version: v1.4.20260315
311279```
312280
313281### Security Release
@@ -316,7 +284,7 @@ echo "✅ Pre-release validation passed!"
316284# Analysis: 4 security PRs, 1 docs PR
317285# Theme: SECURITY (dominant)
318286# Name: "vigilant owl"
319- # Version: v1.3.20260320r1
287+ # Version: v1.3.20260320
320288```
321289
322290### Major Release
@@ -325,5 +293,5 @@ echo "✅ Pre-release validation passed!"
325293# Analysis: Breaking changes detected
326294# Theme: Based on supporting PRs
327295# Name: "pioneering eagle"
328- # Version: v2.0.20260401r1
296+ # Version: v2.0.20260401
329297```
0 commit comments