<upstream_version>-avons.<fork_minor>.<fork_patch>
Where upstream_version comes from pyproject.toml.
Examples:
0.10.0-avons.1.0= upstream 0.10.0 + fork minor 1, patch 00.10.0-avons.1.1= upstream 0.10.0 + fork minor 1, patch 10.11.0-avons.1.0= upstream 0.11.0 + fork minor 1, patch 0
| Part | Meaning |
|---|---|
0.10.0 |
Upstream version from NousResearch/hermes-agent |
avons |
Fork identifier (AvonS/hermes-agent) |
1 |
Fork minor version (incremented per fork release) |
0 |
Fork patch version (hotfixes between releases) |
When upstream releases a new version:
- Update upstream version in fork (e.g., 0.10.0 → 0.11.0)
- Reset fork minor/patch to
-avons.1.0
| Fork Version | Upstream | Fork Changes |
|---|---|---|
| 0.10.0-avons.1.0 | 0.10.0 | Initial fork release |
| 0.10.0-avons.1.1 | 0.10.0 | Hotfix #1 |
| 0.10.0-avons.2.0 | 0.10.0 | Fork release #2 |
| 0.11.0-avons.1.0 | 0.11.0 | Upstream upgrade |
We keep upstream's major.minor.patch + add fork identifier:
- Major/minor - tracks upstream (0.10.0, 0.11.0, etc.)
- Fork version - our customizations (avons.X.Y)
This avoids "fork drift" and makes upstream sync clear.
Upstream base: from pyproject.toml
Fork changes:
- Add HERMES_HOME env var support
- Add fork git flow specification (specs/Overview/000-fork-git-flow.md)
- Add implementation plan (specs/Build-plan/000-fork-git-flow-impl.md)
- Add AGENTS.md with fork directory structure
- Add note to avoid hardcoding ~/.hermes in code
- Update INSTALL.md with fork setup instructions
feature/<name> # feature branch from dev
↓
dev # development branch (default)
↓
release # production branch (tagged releases)
-
Create feature branch from
dev:git checkout -b feature/my-feature dev
-
Work on feature, commit regularly
-
Merge to dev:
git checkout dev git merge feature/my-feature
-
Test on dev, verify changes
-
Merge dev → release:
git checkout release git merge dev
-
Create release (run GitHub Actions workflow):
- Go to: Actions → Fork Release → Run workflow
- Choose "patch" or "minor"
- Creates tag:
0.10.0-avons.1.0
# Revert merge commit on dev
git revert -m 1 <merge-commit>git fetch upstream main
git checkout dev
git merge upstream/main
# Fix any conflicts, test, then merge to release