Skip to content

Commit 2ce2a01

Browse files
committed
Add beta branch management instructions to CLAUDE.md
1 parent 88d77d0 commit 2ce2a01

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,37 @@ This plugin follows specific documentation guidelines (see @plugins/maister/CLAU
6060
- Reference files guide implementation, not provide complete code
6161
- Single source of truth: technical details in `SKILL.md`, not scattered across files
6262

63+
## Beta Branch Management
64+
65+
The `beta` branch is used for developing and testing new features before they reach `master`.
66+
67+
### Branch Conventions
68+
69+
- **master**: Stable releases. Marketplace name: `maister-plugins`, versions: `X.Y.Z`
70+
- **beta**: Pre-release testing. Marketplace name: `maister-plugins-beta`, versions: `X.Y.Z-beta.N`
71+
72+
### Merging beta to master (squash workflow)
73+
74+
1. **Sync beta with master**: `git checkout beta && git merge master`
75+
2. **Squash-merge to master**: `git checkout master && git merge --squash beta`
76+
3. **Fix versions before committing**: Restore master's marketplace name (`maister-plugins`) and set the new release version (not beta version) in all three manifest files
77+
4. **Commit the feature**: `git commit -m "Feature description"`
78+
5. **Bump version**: Separate commit for the version bump
79+
6. **Reset beta**: `git checkout beta && git reset --hard master` — required because squash-merge doesn't track merge parents
80+
7. **Set beta version**: Update manifests to next beta version (e.g., `X.Y.Z-beta.1`) with marketplace name `maister-plugins-beta`, commit
81+
8. **Push both**: `git push origin master beta`
82+
83+
### Why reset beta after squash?
84+
85+
After `git merge --squash`, git doesn't record that beta's commits were merged. A regular `git merge master` back to beta would try to replay all old commits, causing conflicts. `reset --hard master` is safe because all beta work is preserved on master.
86+
87+
### Manifest files to update
88+
89+
These three files need version/name changes during the merge workflow:
90+
- `.claude-plugin/marketplace.json` — name + version + descriptions
91+
- `plugins/maister/.claude-plugin/plugin.json` — version + description
92+
- `plugins/maister-copilot/.claude-plugin/plugin.json` — version + description
93+
6394
## Testing Changes
6495

6596
1. Navigate to a test project

0 commit comments

Comments
 (0)