Skip to content

Commit 5c25825

Browse files
author
AI Developer
committed
feat: remove revision from versioning, use minor for same-day releases
- New format: v1.5.20260313 (no r1/r2 suffix) - Same-day releases increment minor: v1.5, v1.6, etc. - Updated all docs and skills accordingly
1 parent b8220b0 commit 5c25825

File tree

11 files changed

+73
-98
lines changed

11 files changed

+73
-98
lines changed

.opencode/agents/repo-manager.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ You are a specialized Git repository management agent for {{cookiecutter.project
2929
- Maintain clean Git history and follow conventional commit standards
3030

3131
## Version Format
32-
Use hybrid versioning: `v{major}.{minor}.{YYYYMMDD}r{revision}`
32+
Use hybrid versioning: `v{major}.{minor}.{YYYYMMDD}`
3333

3434
**Examples:**
35-
- `v1.2.20260302r1` - Version 1.2, first release on March 2, 2026
36-
- `v1.2.20260302r2` - Version 1.2, second release same day
37-
- `v1.3.20260315r1` - Version 1.3, first release on March 15, 2026
35+
- `v1.2.20260302` - Version 1.2, release on March 2, 2026
36+
- `v1.3.20260313` - Version 1.3, release on March 13, 2026
37+
- `v1.4.20260313` - Version 1.4, second release same day
38+
- `v2.0.20260401` - Version 2.0, release on April 1, 2026
3839

3940
**Version Rules:**
4041
- **Major**: Increment for breaking changes
41-
- **Minor**: Increment for new features
42-
- **Date**: Current date YYYYMMDD
43-
- **Revision**: Daily revision counter (r1, r2, r3...)
42+
- **Minor**: Increment for new features (or same-day releases)
43+
- **Date**: Release date YYYYMMDD
4444

4545
## Release Naming Convention
4646
Generate themed names using: `{adjective} {animal}`

.opencode/skills/git-release/SKILL.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,31 @@ Use this when ready to create a new release after features are complete and test
1616
## Hybrid Versioning System
1717

1818
### Version Format
19-
`v{major}.{minor}.{YYYYMMDD}r{revision}`
19+
`v{major}.{minor}.{YYYYMMDD}`
2020

2121
**Components:**
2222
- **Major**: Breaking changes (e.g., API changes, removed features)
23-
- **Minor**: New features, significant enhancements
23+
- **Minor**: New features, significant enhancements, or same-day releases
2424
- **Date**: Release date in YYYYMMDD format
25-
- **Revision**: Daily revision counter (r1, r2, r3...)
2625

2726
**Examples:**
2827
```
29-
v1.0.20260302r1 # Version 1.0, first release on March 2, 2026
30-
v1.0.20260302r2 # Version 1.0, second release same day (hotfix)
31-
v1.1.20260315r1 # Version 1.1, first release on March 15, 2026
32-
v2.0.20260401r1 # Version 2.0, breaking changes on April 1, 2026
28+
v1.0.20260302 # Version 1.0, release on March 2, 2026
29+
v1.1.20260315 # Version 1.1, release on March 15, 2026
30+
v1.2.20260315 # Version 1.2, second release same day
31+
v2.0.20260401 # Version 2.0, breaking changes on April 1, 2026
3332
```
3433

3534
### Version Bump Rules
3635
```bash
3736
# Feature release (minor bump)
38-
v1.2.20260302r1 → v1.3.{today}r1
37+
v1.2.20260302 → v1.3.{today}
3938

4039
# Breaking change (major bump)
41-
v1.2.20260302r1 → v2.0.{today}r1
40+
v1.2.20260302 → v2.0.{today}
4241

43-
# Same day hotfix (revision bump)
44-
v1.2.20260302r1 → v1.2.20260302r2
42+
# Same day release (increment minor by 2)
43+
v1.2.20260302 → v1.3.20260302
4544
```
4645

4746
## Release Naming Strategy

.opencode/skills/template-release/SKILL.md

Lines changed: 22 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,19 @@ Use this when ready to release a new version of the cookiecutter template after
1616
## Template Versioning Strategy
1717

1818
### Hybrid Calver Versioning for Template
19-
Use hybrid versioning: `v{major}.{minor}.{YYYYMMDD}r{revision}`
19+
Use hybrid versioning: `v{major}.{minor}.{YYYYMMDD}`
2020

2121
**Version Bump Guidelines:**
22-
- **Major (v2.x.xxxxr1)**: Breaking changes to cookiecutter variables, major workflow changes, removed features
23-
- **Minor (v1.x.xxxxr1)**: New agents, new skills, workflow enhancements, new features
24-
- **Revision (v1.2.xxxxr2)**: Bug fixes, documentation updates, minor improvements on same day
22+
- **Major (v2.x.20260401)**: Breaking changes to cookiecutter variables, major workflow changes, removed features
23+
- **Minor (v1.x.20260315)**: New agents, new skills, workflow enhancements, new features, or same-day releases
2524

2625
**Examples:**
2726
```
28-
v1.0.20260302r1 # Initial release on March 2, 2026
29-
v1.1.20260315r1 # Added repo-manager agent and git-release skill on March 15
30-
v1.1.20260315r2 # Fixed bug in template generation same day
31-
v1.2.20260320r1 # Added template-manager meta agent on March 20
32-
v2.0.20260401r1 # Changed cookiecutter.json structure (breaking) on April 1
27+
v1.0.20260302 # Initial release on March 2, 2026
28+
v1.1.20260315 # Added repo-manager agent and git-release skill on March 15
29+
v1.2.20260315 # Second release same day (increment minor)
30+
v1.3.20260320 # Added template-manager meta agent on March 20
31+
v2.0.20260401 # Changed cookiecutter.json structure (breaking) on April 1
3332
```
3433

3534
## Release Process Workflow
@@ -56,54 +55,31 @@ fi
5655
### Phase 2: Version Calculation and Update
5756
```bash
5857
# Get current version from git tags
59-
current_version=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.00000000r0")
60-
echo "Current version: $current_version"
58+
current_version=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.00000000")
6159

62-
# Determine next version based on changes
63-
echo "Analyzing changes since last release..."
64-
git log ${current_version}..HEAD --oneline
65-
66-
# Version bump logic (manual decision)
67-
echo "Select version bump type:"
68-
echo "1. Revision (bug fixes, docs - same day)"
69-
echo "2. Minor (new features, agents, skills)"
70-
echo "3. Major (breaking changes)"
71-
72-
# For automation, analyze commit messages
73-
breaking_changes=$(git log ${current_version}..HEAD --grep="BREAKING CHANGE" --oneline | wc -l)
74-
new_features=$(git log ${current_version}..HEAD --grep="feat:" --oneline | wc -l)
75-
bug_fixes=$(git log ${current_version}..HEAD --grep="fix:" --oneline | wc -l)
76-
77-
# Get current date for calver
60+
# Calculate new version
7861
current_date=$(date +%Y%m%d)
79-
80-
if [ "$breaking_changes" -gt 0 ]; then
81-
bump_type="major"
82-
elif [ "$new_features" -gt 0 ]; then
83-
bump_type="minor"
84-
else
85-
bump_type="revision"
86-
fi
87-
88-
# Extract current version components
8962
current_major=$(echo $current_version | sed 's/v\([0-9]\+\)\..*/\1/')
9063
current_minor=$(echo $current_version | sed 's/v[0-9]\+\.\([0-9]\+\).*/\1/')
9164
current_date_in_tag=$(echo $current_version | sed 's/v[0-9]\+\.[0-9]\+\.\([0-9]\{8\}\).*/\1/')
92-
current_revision=$(echo $current_version | sed 's/.*r\([0-9]\+\)/\1/')
9365

94-
# Calculate new version
9566
case $bump_type in
9667
"major")
97-
new_version=$(echo "v$((current_major + 1)).0.${current_date}r1")
68+
new_version=$(echo "v$((current_major + 1)).0.${current_date}")
9869
;;
9970
"minor")
100-
new_version=$(echo "v${current_major}.$((current_minor + 1)).${current_date}r1")
71+
# If same day as last release, increment minor further
72+
if [ "$current_date_in_tag" = "$current_date" ]; then
73+
new_version=$(echo "v${current_major}.$((current_minor + 2)).${current_date}")
74+
else
75+
new_version=$(echo "v${current_major}.$((current_minor + 1)).${current_date}")
76+
fi
10177
;;
10278
"revision")
10379
if [ "$current_date_in_tag" = "$current_date" ]; then
104-
new_version=$(echo "v${current_major}.${current_minor}.${current_date}r$((current_revision + 1))")
80+
new_version=$(echo "v${current_major}.$((current_minor + 1)).${current_date}")
10581
else
106-
new_version=$(echo "v${current_major}.${current_minor}.${current_date}r1")
82+
new_version=$(echo "v${current_major}.${current_minor}.${current_date}")
10783
fi
10884
;;
10985
esac
@@ -353,7 +329,7 @@ EOF
353329
git add .
354330
git commit -m "feat(agents): add template-manager meta agent"
355331
@template-manager /skill template-release
356-
# Output: "Created release v1.2.20260320r1 with new meta agent functionality"
332+
# Output: "Created release v1.2.20260320 with new meta agent functionality"
357333
```
358334

359335
### Patch Release
@@ -362,7 +338,7 @@ git commit -m "feat(agents): add template-manager meta agent"
362338
git add .
363339
git commit -m "fix(docs): correct cookiecutter variable examples"
364340
@template-manager /skill template-release
365-
# Output: "Created release v1.2.20260320r2 with documentation fixes"
341+
# Output: "Created release v1.2.20260320 with documentation fixes"
366342
```
367343

368344
### Major Release
@@ -373,5 +349,5 @@ git commit -m "feat!: restructure cookiecutter variables for better usability
373349
374350
BREAKING CHANGE: cookiecutter.json format changed"
375351
@template-manager /skill template-release
376-
# Output: "Created release v2.0.20260401r1 with breaking changes - migration guide included"
352+
# Output: "Created release v2.0.20260401 with breaking changes - migration guide included"
377353
```

AGENTS.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ When developers use this template, they get:
6767
7. **Quality Assurance** → Comprehensive quality checks
6868

6969
### Repository Management
70-
- Hybrid versioning: `v1.2.20260302r1` (major.minor.calver)
70+
- Hybrid versioning: `v1.2.20260302` (major.minor.calver)
7171
- Themed releases: "swift cheetah", "vigilant owl", "creative fox"
7272
- Automated PR workflows with conventional commits
7373
- GitHub CLI integration
@@ -88,7 +88,7 @@ When developers use this template, they get:
8888
cookiecutter gh:your-username/python-project-template
8989

9090
# Or use a specific version
91-
cookiecutter gh:your-username/python-project-template --checkout v1.2.20260312r1
91+
cookiecutter gh:your-username/python-project-template --checkout v1.2.20260312
9292
```
9393

9494
### Template Development Workflow
@@ -108,14 +108,15 @@ cookiecutter gh:your-username/python-project-template --checkout v1.2.20260312r1
108108
## Template Versioning
109109

110110
### Hybrid Calver Versioning for Template
111-
- **Major (v2.x.xxxxr1)**: Breaking changes to cookiecutter variables
112-
- **Minor (v1.x.xxxxr1)**: New agents, skills, workflow features
113-
- **Revision (v1.2.xxxxr2)**: Bug fixes, documentation updates
111+
- **Major (v2.x.20260401)**: Breaking changes to cookiecutter variables
112+
- **Minor (v1.x.20260315)**: New agents, skills, workflow features, or same-day releases
114113

115114
### Recent Releases
116-
- **v1.0.20260312r1**: Initial release with development workflow
117-
- **v1.1.20260312r1**: Added repository management agent
118-
- **v1.2.20260312r1**: Added meta template management system
115+
- **v1.0.20260312**: Initial release with development workflow
116+
- **v1.1.20260312**: Added repository management agent
117+
- **v1.2.20260312**: Added meta template management system
118+
- **v1.3.20260313**: Added session-workflow skill
119+
- **v1.4.20260313**: Added AI-driven themed naming
119120

120121
## Generated Project Features
121122

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ All notable changes to this template will be documented in this file.
2424
- **7-Phase Development Cycle**: Feature Definition → Prototype → TDD → Signature Design → Architecture Review → Implementation → Quality Assurance
2525
- **SOLID Principles Enforcement** - Single responsibility, dependency inversion, interface segregation
2626
- **Object Calisthenics** - No primitives, small classes, behavior-rich objects
27-
- **Hybrid Calver Versioning**: v1.2.20260302r1 format with themed releases
27+
- **Hybrid Calver Versioning**: v1.2.20260302 format with themed releases
2828
- **Themed Release Names**: "Swift Cheetah", "Vigilant Owl", "Creative Fox" based on PR sentiment
2929
- **Property-Based Testing**: Hypothesis integration for robust test coverage
3030

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Modern cookiecutter template delivering enterprise-grade Python projects with **
1616
🏗️ **SOLID Architecture** - Object calisthenics, dependency inversion, and protocol-based design
1717
**Zero-Config Setup** - UV package manager, Ruff formatting, PyTest + Hypothesis testing
1818
🎯 **Quality Enforced** - 100% coverage, static typing, property-based testing
19-
🔄 **Smart Releases** - Calver versioning with themed releases (`v1.2.20240315r1 "Swift Cheetah"`)
19+
🔄 **Smart Releases** - Calver versioning with themed releases (`v1.2.20260315 "Swift Cheetah"`)
2020
📋 **Complete Workflows** - 7-phase development cycle from prototype to production
2121

2222
## 🎯 Perfect For

cookiecutter.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
"project_short_description": "Python template with some awesome tools to quickstart any Python project",
1010
"minimum_coverage": 100,
1111
"include_examples": "true",
12-
"version": "0.1.20260312r1",
12+
"version": "0.1.20260312",
1313
"license": ["MIT", "BSD_3_Clause", "Apache_2.0", "GPL_3.0", "Proprietary"]
1414
}

{{cookiecutter.project_slug}}/.opencode/agents/repo-manager.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ You are a specialized Git repository management agent for {{cookiecutter.project
2929
- Maintain clean Git history and follow conventional commit standards
3030

3131
## Version Format
32-
Use hybrid versioning: `v{major}.{minor}.{YYYYMMDD}r{revision}`
32+
Use hybrid versioning: `v{major}.{minor}.{YYYYMMDD}`
3333

3434
**Examples:**
35-
- `v1.2.20260302r1` - Version 1.2, first release on March 2, 2026
36-
- `v1.2.20260302r2` - Version 1.2, second release same day
37-
- `v1.3.20260315r1` - Version 1.3, first release on March 15, 2026
35+
- `v1.2.20260302` - Version 1.2, release on March 2, 2026
36+
- `v1.3.20260313` - Version 1.3, release on March 13, 2026
37+
- `v1.4.20260313` - Version 1.4, second release same day
38+
- `v2.0.20260401` - Version 2.0, release on April 1, 2026
3839

3940
**Version Rules:**
4041
- **Major**: Increment for breaking changes
41-
- **Minor**: Increment for new features
42-
- **Date**: Current date YYYYMMDD
43-
- **Revision**: Daily revision counter (r1, r2, r3...)
42+
- **Minor**: Increment for new features (or same-day releases)
43+
- **Date**: Release date YYYYMMDD
4444

4545
## Release Naming Convention
4646
Generate themed names using: `{adjective} {animal}`

{{cookiecutter.project_slug}}/.opencode/skills/git-release/SKILL.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,31 @@ Use this when ready to create a new release after features are complete and test
1616
## Hybrid Versioning System
1717

1818
### Version Format
19-
`v{major}.{minor}.{YYYYMMDD}r{revision}`
19+
`v{major}.{minor}.{YYYYMMDD}`
2020

2121
**Components:**
2222
- **Major**: Breaking changes (e.g., API changes, removed features)
23-
- **Minor**: New features, significant enhancements
23+
- **Minor**: New features, significant enhancements, or same-day releases
2424
- **Date**: Release date in YYYYMMDD format
25-
- **Revision**: Daily revision counter (r1, r2, r3...)
2625

2726
**Examples:**
2827
```
29-
v1.0.20260302r1 # Version 1.0, first release on March 2, 2026
30-
v1.0.20260302r2 # Version 1.0, second release same day (hotfix)
31-
v1.1.20260315r1 # Version 1.1, first release on March 15, 2026
32-
v2.0.20260401r1 # Version 2.0, breaking changes on April 1, 2026
28+
v1.0.20260302 # Version 1.0, release on March 2, 2026
29+
v1.1.20260315 # Version 1.1, release on March 15, 2026
30+
v1.2.20260315 # Version 1.2, second release same day
31+
v2.0.20260401 # Version 2.0, breaking changes on April 1, 2026
3332
```
3433

3534
### Version Bump Rules
3635
```bash
3736
# Feature release (minor bump)
38-
v1.2.20260302r1 → v1.3.{today}r1
37+
v1.2.20260302 → v1.3.{today}
3938

4039
# Breaking change (major bump)
41-
v1.2.20260302r1 → v2.0.{today}r1
40+
v1.2.20260302 → v2.0.{today}
4241

43-
# Same day hotfix (revision bump)
44-
v1.2.20260302r1 → v1.2.20260302r2
42+
# Same day release (increment minor by 2)
43+
v1.2.20260302 → v1.3.20260302
4544
```
4645

4746
## Release Naming Strategy

{{cookiecutter.project_slug}}/AGENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,12 @@ task doc-serve
109109

110110
## Release Management
111111

112-
This project uses a hybrid versioning system: `v{major}.{minor}.{YYYYMMDD}r{revision}`
112+
This project uses a hybrid versioning system: `v{major}.{minor}.{YYYYMMDD}`
113113

114114
### Version Examples
115-
- `v1.2.20260302r1` - Version 1.2, first release on March 2, 2026
116-
- `v1.2.20260302r2` - Version 1.2, second release same day (hotfix)
117-
- `v1.3.20260315r1` - Version 1.3, first release on March 15, 2026
115+
- `v1.2.20260302` - Version 1.2, release on March 2, 2026
116+
- `v1.3.20260313` - Version 1.3, release on March 13, 2026
117+
- `v1.4.20260313` - Version 1.4, second release same day (increment minor)
118118

119119
### Release Naming
120120
Releases use adjective-animal themes based on PR sentiment analysis:

0 commit comments

Comments
 (0)