بنقرة واحدة
release
Use when preparing a new yao-rs release, bumping the version, or tagging a release
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when preparing a new yao-rs release, bumping the version, or tagging a release
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when you have a GitHub issue and want to create a PR with an implementation plan that triggers automated execution
Use when a PR has review comments to address, CI failures to fix, or codecov coverage gaps to resolve
Use after implementing a model, rule, or any code change to verify completeness and correctness before committing
| name | release |
| description | Use when preparing a new yao-rs release, bumping the version, or tagging a release |
Guide for cutting a new release of yao-rs. The workspace publishes three crates
to crates.io: bitbasis, yao-rs, and yao-cli.
Compare against the last release tag:
git tag -l 'v*' | sort -V # latest tag (empty = first release is v0.1.0)
git log <last-tag>..HEAD --oneline # review commits
git diff <last-tag>..HEAD --stat # review scope
Apply semver for 0.x (pre-1.0):
All three crates share one version via [workspace.package], so they always
release together.
make check-all
fmt-check, clippy -D warnings, and the test suite must all pass first.
Optionally dry-run the publish to catch metadata issues early:
cargo publish --dry-run -p bitbasis
cargo publish --dry-run -p yao-rs
make release V=x.y.z
This bumps [workspace.package] version plus the inter-crate dependency
versions (bitbasis in the root, yao-rs in yao-cli), runs
cargo check --workspace, commits release: vx.y.z, tags vx.y.z, and pushes.
The .github/workflows/release.yml workflow then:
bitbasis → yao-rs → yao-cli to crates.io (in dependency
order, with indexing waits).CARGO_REGISTRY_TOKEN must be set as a repository secret (Settings →
Secrets → Actions) — it authenticates cargo publish.description + license (already set; license/
repository are inherited from [workspace.package]).bitbasis, yao-rs, yao-cli must remain owned by the
publisher on crates.io.Cargo.toml already reads version = "0.1.0" and v0.1.0 isn't tagged yet,
you can tag it directly: git tag -a v0.1.0 -m "Release v0.1.0" && git push origin HEAD --tags.v*.*.* tag; pushing the tag is what
triggers publishing.