release-publish

Automate synchronized release publishing of kham crates to crates.io, npm, and PyPI.

Updated Apr 15, 2026
One-click install
npx skills add https://github.com/preedep/kham --skill release-publish-preedep
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release-publish
Source: https://github.com/preedep/kham/tree/main/.claude/skills/release-publish
Command: npx skills add https://github.com/preedep/kham --skill release-publish-preedep

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Publishing multiple interdependent crates across crates.io, npm, and PyPI can be error-prone without a unified release workflow. The Skill provides a consolidated guide and process to coordinate versioning, pre-publish checks, and cross-target publishing.

Core Features & Use Cases

  • Publish order orchestration: enforce the required crate publish sequence: kham-core → kham-capi → kham-cli → kham-wasm → kham-python.
  • Workspace-wide versioning: ensure all crates share the same version within a workspace, reducing drift and mismatches.
  • CI/CD readiness: provide pre-publish checks, changelog updates, and dry-run publication steps to integrate with automated pipelines.

Quick Start

Run the release-publish workflow to publish kham-core, kham-capi, kham-cli, kham-wasm, and kham-python in the defined order.

Frequently Asked Questions about release-publish

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I coordinate publishing multiple Rust crates to crates.io, npm, and PyPI?

To coordinate publishing multiple Rust crates to crates.io, npm, and PyPI, you need a unified release workflow that enforces a specific publish order and workspace-wide versioning to prevent mismatches across targets. This ensures synchronized, error-free releases.

How do I enforce a specific crate publish order in a CI/CD release pipeline?

You can enforce a specific crate publish order in a CI/CD release pipeline by orchestrating the sequence: kham-core, kham-capi, kham-cli, kham-wasm, and kham-python. This guarantees dependencies resolve correctly before dependent targets are published.

What is workspace-wide versioning for cross-target packaging?

Workspace-wide versioning for cross-target packaging ensures all interdependent crates share the exact same version during a release. This strategy reduces version drift and mismatches when publishing across crates.io, npm, and PyPI simultaneously.

Can I run pre-publish checks and dry-run publication steps before releasing to npm and PyPI?

Yes, you can run pre-publish checks and dry-run publication steps before releasing to npm and PyPI. These CI/CD readiness steps include dependency checks and changelog updates to validate the release before actual publication.

What is the best way to handle version bumps for interdependent Rust crates in a workspace?

The best way to handle version bumps for interdependent Rust crates in a workspace is to apply a shared versioning strategy during the release workflow. This ensures all crates update together, accommodating workspace-based crates and cross-target packaging requirements.