← スキル一覧に戻る
release
s2-streamstore / s2
⭐ 128🍴 6📅 2026年1月18日
Release a new version of the project with semver validation, Cargo.toml updates, and crates.io publishing
SKILL.md
---
name: release
description: Release a new version of the project with semver validation, Cargo.toml updates, and crates.io publishing
---
# /release
Release a new version of the project.
## Usage
```
/release [version]
```
If version is not provided, prompt the user for it.
## Steps
1. **Verify prerequisites**
- Confirm on `main` branch
- Confirm working directory is clean (`git status`)
- Pull latest (`git pull`)
2. **Validate version**
- Version should follow semver (X.Y.Z)
- Confirm it's greater than current version in Cargo.toml
3. **Update Cargo.toml**
- Edit root `Cargo.toml` to update version in all 3 places:
- `workspace.package.version`
- `workspace.dependencies.s2-api`
- `workspace.dependencies.s2-common`
4. **Update lockfile**
```bash
cargo generate-lockfile
```
5. **Commit and push**
```bash
git add Cargo.toml Cargo.lock
git commit -m "release: X.Y.Z"
git push
```
6. **Publish to crates.io**
```bash
just publish
```
Wait for this to complete successfully before proceeding.
7. **Tag and trigger release**
```bash
just tag X.Y.Z
```
## Notes
- If any step fails, stop and report the error
- The `just tag` command triggers GitHub Actions to build Docker images and create the GitHub release