releasing-reef

Solid

How to cut a reef release — version bump, tag push, and the GitHub Release notes format. Use when the user says "cut a release", "tag vX.Y.Z", "打个 tag 发布", "发布", "bump version", "release notes", or asks "how do I release reef", "what's the notes format", "is it safe to push this tag". Covers the full pipeline pushing a `v*` tag triggers (multi-platform binary build + npm publish to `@reef-tui/cli` + GitHub Release with assets), the notes convention, and the specific traps we've paid for — Cargo.toml drift, shell escaping when passing notes inline, and how `softprops/action-gh-release` behaves with pre-existing release bodies.

Code & Development 81 stars 6 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 84/100

Stars 20%
64
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Releasing reef Reef releases are driven by **git tags matching `v*`**. Pushing such a tag is the single trigger for `.github/workflows/release.yml`, which does the rest automatically: `reef` + `reef-agent` binaries for five targets, npm publish of `@reef-tui/cli` + five platform subpackages, GitHub Release with assets. You never run `cargo publish`, never `npm publish` by hand, never upload binaries manually. The contract is **bump Cargo.toml, commit, tag, push**. ## What a `v*` tag push actually runs `.github/workflows/release.yml`: 1. **Build matrix** — for each target, builds **`reef-agent` first, then `reef`** (`cargo build --release --locked -p <crate>`). reef-agent goes first because `reef-io`'s build script embeds the freshly-built agent as the upload-fallback blob. Targets: - `aarch64-apple-darwin`, `x86_64-apple-darwin` - `x86_64-unknown-linux-gnu`, `aarch64-unknown-linux-gnu` (via `cross`) - `x86_64-pc-windows-msvc` Each row uploads two artifacts: `reef-<platform>` and `reef-agent-<platform>`. 2. **npm platform subpackages** — publishes `@reef-tui/cli-{darwin-arm64,darwin-x64,linux-arm64,linux-x64,win32-x64}`. Each subpackage bundles **only the `reef` binary** (the agent is embedded inside it). Each subpackage's `package.json` version is overwritten at publish time to `${TAG#v}`. 3. **npm main package** — publishes `@reef-tui/cli` with `optionalDependencies` pinned to the same version. 4. **GitHub Release** — via `softprops/action-gh-release@v2`: ...

Details

Author
Blushyes
Repository
Blushyes/reef
Created
4 months ago
Last Updated
today
Language
Rust
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category