원클릭으로
release
// End-to-end release workflow — draft notes, run checks, push, watch CI, publish GitHub release, and update download links. Minimal user interaction required.
// End-to-end release workflow — draft notes, run checks, push, watch CI, publish GitHub release, and update download links. Minimal user interaction required.
Generate a beautiful Twitter/social media promo PNG graphic for OpenADE features
Add or update a model in the harness model registry. Use when the user wants to add a new AI model, update model pricing, or change default models for a harness.
| name | release |
| description | End-to-end release workflow — draft notes, run checks, push, watch CI, publish GitHub release, and update download links. Minimal user interaction required. |
| disable-model-invocation | true |
End-to-end release workflow. The goal is to minimize back-and-forth with the user: gather info, present a single approval prompt, then execute everything autonomously (push, watch CI, fix failures, publish release, update links).
Run git tag -l 'v*' --sort=-v:refname to list all version tags sorted by semver descending. The first line is the latest version.
Run these commands to understand what changed:
git log <latest-tag>..HEAD --oneline
git diff <latest-tag>..HEAD --stat
Read the actual diffs for key files if the summary isn't clear enough to write good release notes.
Before proceeding, run typechecks and tests in both projects. Run these commands in parallel:
cd projects/electron && npm run typecheck && npm run test
cd projects/web && npm run typecheck && npm run test
If biome makes any formatting fixes during typecheck, note those files — they must be included in the release commit.
If any check fails, stop and report the failures to the user. Do NOT continue with the release until all checks pass.
The project follows semver. Most releases bump the minor version (e.g., 0.51.0 → 0.52.0). Suggest a patch bump only for pure bugfix releases.
Read projects/web/src/versions.ts to see the existing format. Draft a new entry to prepend to the RELEASE_NOTES array:
YYYY-MM-DD formatAlso draft the GitHub release notes using this format:
## Highlights
- **<Feature/change name>** — Short description of what the user can now do.
- ...
## Other improvements
- Bullet list of smaller fixes, improvements, or internal changes worth noting.
Show the user everything at once:
RELEASE_NOTES entry (formatted as it would appear in versions.ts)Ask the user:
This should be the only user interaction. Once approved, execute steps 7–10 autonomously without asking further questions.
Once the user approves:
RELEASE_NOTES array in projects/web/src/versions.tsRelease v<version>: <title>v<version>git push && git push --tags)Do all of this in one step — do NOT ask the user to confirm the push separately.
After pushing, the Release workflow will trigger automatically. You MUST wait for all CI jobs to pass before proceeding to step 9. Never publish a release with failing or in-progress CI. Monitor it:
gh run list --repo bearlyai/OpenADE --limit 1
gh run watch <run-id> --repo bearlyai/OpenADE
Wait for the build to complete. Check the final status of all three platform jobs (macOS, Windows, Linux):
gh run view <run-id> --repo bearlyai/OpenADE
gh run view <run-id> --repo bearlyai/OpenADE --log-failedgit tag -f v<version>git push && git push --tags --forceCannot find module '@openade/harness': The harness dist/ is gitignored. The CI workflow must build the harness before installing web dependencies. Check that .github/workflows/release.yml has "Install harness dependencies" and "Build harness" steps before "Install web dependencies" on all three platforms."execFileSync" is not exported by "__vite-browser-external"): The web app must import from @openade/harness/browser (not @openade/harness) to avoid pulling in Node-only modules. Check that all web imports use the /browser subpath.CRITICAL — TWO HARD RULES:
NEVER use gh release create. electron-builder creates a draft release with build artifacts (.dmg, .exe, .AppImage, etc.) attached during CI. Using gh release create produces a separate release with zero artifacts, which means users download nothing. Always use gh release edit on the existing draft instead.
NEVER publish until ALL GitHub Actions CI jobs are green. A failed or in-progress build means missing or broken artifacts. You must confirm every job (validate, release-linux, release-macos, release-windows) shows conclusion: success before proceeding.
To publish, edit the existing draft:
gh release edit v<version> --repo bearlyai/OpenADE \
--draft=false \
--title "v<version>: <title>" \
--notes "<github release notes from step 5>"
Verify it was published:
gh release view v<version> --repo bearlyai/OpenADE
Confirm that draft: false and that assets are listed.
After the release is published:
Update all version-bearing links to the repo across the codebase. Search broadly with:
rg -i 'https://github.com/bearlyai/openade' .
Review all results and update any that contain the previous version number. This includes but is not limited to:
v<previous-version> → v<new-version> in /releases/download/ pathsOpenADE-<previous-version> → OpenADE-<new-version> (covers .dmg, .AppImage, .exe filenames)Verify the replacements look correct before proceeding — only update version strings within repo URLs and their associated filenames, not unrelated content.
Create a commit with the message chore: update download links to v<version>
Push the commit (git push)
Report the final release URL to the user.
IMPORTANT: Electron-builder publishes its own github releases. Update that one with the right release notes and set it to the production release. DO NOT Create a new release manually.