with one click
nexus-release
// Version bump and GitHub Actions release for the Nexus Obsidian plugin. Use when the user wants to cut a release, bump the version, or publish a new version after stable changes are ready.
// Version bump and GitHub Actions release for the Nexus Obsidian plugin. Use when the user wants to cut a release, bump the version, or publish a new version after stable changes are ready.
Version bump and GitHub Actions release for the Nexus Obsidian plugin. Use when the user wants to cut a release, bump the version, or publish a new version after stable changes are ready.
Run or update the Nexus LLM eval harness for arbitrary provider/model matrices. Use when comparing models in the real vault-like tool environment, changing eval configs, adding eval scenarios, or debugging eval reports.
Add, update, or verify Nexus LLM provider model definitions. Use when adding newly released models, changing OpenAI/OpenRouter/Codex/GitHub Copilot/Anthropic/Google model metadata, updating provider defaults, or live-testing whether a model ID works through the reusable provider smoke test.
Export live CLI-first Nexus tool schemas as JSON. Use when the user wants every tool schema, a subset by selector, or an artifact that reflects the current runtime command/argument shape instead of source parsing.
Create or update standalone UI mockups for Nexus before implementation. Use when the user asks for a new view, modal, workflow, layout refactor, or other substantial UX change that should be reviewed in `docs/mockups/` before production code.
| name | nexus-release |
| description | Version bump and GitHub Actions release for the Nexus Obsidian plugin. Use when the user wants to cut a release, bump the version, or publish a new version after stable changes are ready. |
Handles version bumping and tag-driven GitHub release creation for the Nexus Obsidian plugin.
Use when the user:
Before releasing, verify:
mainmaingit pull --ff-only origin main succeedsnpm run build passes cleanDo not release from a feature branch. Do not create a release manually from local build artifacts unless the tag workflow failed and the user explicitly approves a fallback.
Ask the user if not specified:
For a post-review compliance release from 5.9.0, default to 5.9.1 unless the user requests otherwise.
Do not use npm version; the repo has a stale version lifecycle script. Edit these files directly and keep all three in sync:
package.json -> "version": "X.Y.Z"
manifest.json -> "version": "X.Y.Z"
CLAUDE.md -> "- **Version**: X.Y.Z"
Rebuild after the version bump so generated release-adjacent content is current:
npm run build
Check the generated artifact sizes:
Get-Item main.js,manifest.json,styles.css | Select-Object Name,Length
main.js should stay below 5 MB for Obsidian Sync Standard compatibility.
Stage only the version bump and generated connector content if it changed:
git add package.json manifest.json CLAUDE.md src/utils/connectorContent.ts
git commit -m "chore: bump version to X.Y.Z"
git push origin main
The GitHub Actions release workflow runs on version tags and creates the release.
git tag X.Y.Z
git push origin X.Y.Z
Release title rule: the GitHub release name must be the tag number only, with no v prefix and no descriptive suffix. Example: 5.9.1.
The .github/workflows/release.yml workflow must:
main.jsmanifest.jsonstyles.cssAfter the workflow completes, verify the GitHub release contains no unsupported files such as connector.js.
GitHub Actions currently generates release notes automatically. If editing notes after the workflow creates the release, use this install text:
## Install
Download `main.js`, `manifest.json`, and `styles.css` into your vault's `.obsidian/plugins/nexus/` folder. For Claude Desktop/MCP setup, enable Nexus in Obsidian and use Settings -> Get started -> MCP integration to create `connector.js`.
| File | Purpose |
|---|---|
main.js | Plugin bundle (esbuild output) |
manifest.json | Obsidian plugin manifest |
styles.css | Plugin styles |
mainmain before the version bumpnpm versionconnector.js