| name | release |
| description | Complete development workflow: run lint (clippy + fmt), tests, update changelog, commit changes, and create a release. |
Workflow
- Run clippy with warnings as errors
- Run cargo fmt to ensure consistent formatting
- Run Rust tests (
cargo test --lib)
- Run Soli tests (
soli test tests/)
- Update CHANGELOG.md with unreleased changes
- Commit all changes with an automated message
- Push to remote
- Create release via
./scripts/release.sh (default: minor bump)
Usage
/release # Run full workflow with minor release
/release patch # Patch release
/release major # Major release
/release --dry-run # Preview without making changes
Commands Executed
cargo fmt
cargo clippy -- -D warnings
cargo test --lib
soli test tests/
git add -A
git commit -m "chore: release v[new-version]"
git push
./scripts/release.sh <type>
Updating CHANGELOG.md
Before committing, update CHANGELOG.md:
- Extract changes from git diff (features, bug fixes, etc.)
- Add entries under
[Unreleased] section in appropriate categories:
### Features - new functionality
### Bug Fixes - bug corrections
### Documentation - docs updates
### Refactoring - code restructuring
- If no unreleased changes exist, skip this step
Example format:
## [Unreleased]
### Features
* **feature-name:** description ([commit-hash](link))
### Bug Fixes
* **component:** fix description ([commit-hash](link))
Requirements
- Clean working tree (no uncommitted changes before starting)
- Must be on
main branch
- Remote must be configured for push