mirror of
https://github.com/bitsofchris/openaugi-obsidian-plugin.git
synced 2026-07-22 05:46:42 +00:00
3.7 KiB
3.7 KiB
Publishing a New Release
This guide walks through the complete process of publishing a new OpenAugi plugin release.
Pre-Release Checklist
Before starting the release process:
- All features/fixes are merged to master
- Automated tests pass (
npm test) — see TESTING.md - New features have test coverage (add to
tests/) - Code builds without errors (
npm run build) - Type checking passes (
npm run typecheck) - Manual testing completed in test vault (
/Users/chris/zk-for-testing) - CODEBASE_MAP.md is up to date with any architectural changes
Release Process
Step 1: Bump the Version
Update the version number in both files (they must match):
manifest.json- Update the"version"fieldpackage.json- Update the"version"field
Use semantic versioning:
- MAJOR (1.0.0): Breaking changes
- MINOR (0.1.0): New features, backwards compatible
- PATCH (0.0.1): Bug fixes, backwards compatible
Step 2: Commit the Version Bump
git add manifest.json package.json
git commit -m "Bump version to X.Y.Z"
git push origin master
Step 3: Create and Push the Git Tag
The tag must match the version in manifest.json exactly.
git tag -a X.Y.Z -m "X.Y.Z"
git push origin X.Y.Z
Notes:
-acreates an annotated tag (required for Obsidian releases)-mspecifies the tag message - must match the version number
Step 4: Wait for GitHub Actions
The workflow will automatically:
- Build the plugin
- Create a draft release with the built artifacts
Monitor progress at: https://github.com/bitsofchris/openaugi-obsidian-plugin/actions
Step 5: Generate Release Notes
Claude should generate release notes by comparing the new tag to the previous release:
- Look at all commits since the last release tag
- Identify user-facing changes (features, fixes, improvements)
- Create release notes in this format:
## TL;DR
[One-sentence summary of the most important change(s)]
## What's New
### Features
- [Feature 1]: [Brief description of what it does and why users care]
- [Feature 2]: [Brief description]
### Bug Fixes
- [Fix 1]: [What was broken and how it's fixed]
### Improvements
- [Improvement 1]: [What's better now]
## How to Use
[For any new features, include brief usage instructions]
## Upgrade Notes
[Any breaking changes or things users need to know when upgrading]
Write this out to a markdown file.
Step 6: Publish the Release
- Go to https://github.com/bitsofchris/openaugi-obsidian-plugin/releases
- Find the draft release created by the workflow
- Click Edit
- Paste the generated release notes
- Click Publish release
Step 7: Update Documentation
Ensure all docs reflect the new release:
docs/CODEBASE_MAP.md- Architecture changesCLAUDE.md- Any new development guidelinesREADME.md- User-facing documentation (if applicable)
Quick Reference
# Full release flow (example for version 0.4.0)
npm test
npm run build
npm run typecheck
# Commit version bump
git add manifest.json package.json
git commit -m "Bump version to 0.4.0"
git push origin master
# Tag and push
git tag -a 0.4.0 -m "0.4.0"
git push origin 0.4.0
# Then: Edit draft release on GitHub and publish
Troubleshooting
Tag already exists
# Delete local tag
git tag -d X.Y.Z
# Delete remote tag (if pushed)
git push origin --delete X.Y.Z
Wrong version tagged
- Delete the incorrect tag (see above)
- Fix the version in manifest.json/package.json
- Commit and re-tag
Workflow failed
- Check the Actions tab for error details
- Fix the issue
- Delete the tag and re-push after fixing