versioning-policy

Enforce SEMVER-compliant package.json versions and synchronize SDK and CLI packages.

619|188|Updated Jul 4, 2024
One-click install
npx skills add https://github.com/CommunityToolkit/Aspire --skill versioning-policy-communitytoolkit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: versioning-policy
Source: https://github.com/CommunityToolkit/Aspire/tree/main/examples/squad/CommunityToolkit.Aspire.Hosting.Squad.AppHost/dev-squad/.squad/templates/skills/versioning-policy
Command: npx skills add https://github.com/CommunityToolkit/Aspire --skill versioning-policy-communitytoolkit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires npm, and includes scripts (resource) components.

What problem does it solve?

This Skill enforces semver versioning rules for Squad SDK and CLI, preventing incidents related to version mismatches and prerelease leaks.

Core Features & Use Cases

  • Semver Enforcement: Strictly enforces semver version format MAJOR.MINOR.PATCH with no prerelease suffixes on dev or main branches.
  • Prerelease Version Management: Provides guidelines for ephemeral -build.N versions used for local development.
  • SDK and CLI Version Sync: Ensures both @bradygaster/squad-sdk and @bradygaster/squad-cli are in sync with their package.json versions.
  • CI Enforcement: Utilizes a prerelease-version-guard CI gate to block PRs with incorrect versions.

Quick Start

Use the versioning-policy skill to verify the correct version format and sync versions for your Squad SDK and CLI.

Frequently Asked Questions about versioning-policy

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

FAQPage Schema
How do I enforce semver versioning for npm packages to prevent production incidents?

To enforce semver versioning for npm packages, use a CI gate to validate package.json versions against strict MAJOR.MINOR.PATCH rules, blocking pull requests with incorrect formats or prerelease suffixes on protected branches.

What is the correct semver format for prerelease versions during local development?

The correct semver format for local development prerelease versions uses ephemeral -build.N suffixes appended to the MAJOR.MINOR.PATCH base, which are strictly prohibited on dev or main branches to prevent prerelease leaks.

How do I synchronize SDK and CLI package.json versions in an npm project?

To synchronize SDK and CLI package.json versions, apply versioning policies that validate both packages against SEMVER rules simultaneously, ensuring the SDK and CLI remain in sync to prevent mismatch issues in development workflows.

Why does my CI pipeline block PRs with prerelease version suffixes on the main branch?

Your CI pipeline blocks PRs with prerelease version suffixes because a prerelease-version-guard gate enforces strict SEMVER compliance, preventing prerelease leaks by rejecting any versions deviating from the MAJOR.MINOR.PATCH format on main.

Do I need npm to validate package.json versions against SEMVER rules?

Yes, you need npm installed as the prerequisite environment to manage package.json files and execute the scripts that validate package versions against SEMVER rules and synchronize SDK and CLI releases.