スキル一覧に戻る
bfmcneill

versioning

by bfmcneill

0🍴 0📅 2026年1月15日
GitHubで見るManusで実行

SKILL.md


name: versioning description: Use when releasing, tagging, or bumping versions. Defines semver rules and keeps package.json/pyproject.toml synced with git tags.

Versioning

Semantic versioning rules and workflow for consistent releases.

Semver Rules

Format: MAJOR.MINOR.PATCH (e.g., 1.4.2)

BumpWhenExamples
MAJORBreaking changesAPI removed, incompatible changes, major rewrites
MINORNew features (backward compatible)New endpoint, new option, new capability
PATCHBug fixes (backward compatible)Fix crash, fix typo, fix edge case

Decision Tree

Is it a breaking change?
├── Yes → MAJOR
└── No → Does it add new functionality?
    ├── Yes → MINOR
    └── No → PATCH

What Counts as Breaking?

MAJOR (breaking):

  • Removing a public function/endpoint
  • Changing function signature (required params)
  • Changing return type
  • Renaming exports
  • Dropping support for runtime/dependency

MINOR (feature):

  • Adding new function/endpoint
  • Adding optional parameter
  • New configuration option
  • Performance improvement with no API change

PATCH (fix):

  • Bug fix
  • Documentation fix
  • Internal refactor (no API change)
  • Dependency update (non-breaking)

Version Sync Workflow

Keep these in sync:

  1. package.json version (JS/TS projects)
  2. pyproject.toml version (Python projects)
  3. Git tag

Release Workflow

# 1. Update version in manifest
# package.json: "version": "1.2.0"
# OR pyproject.toml: version = "1.2.0"

# 2. Commit the version bump
git add package.json  # or pyproject.toml
git commit -m "chore: bump version to 1.2.0"

# 3. Tag the commit
git tag -a v1.2.0 -m "Release 1.2.0: [brief description]"

# 4. Push with tags
git push && git push --tags

Pre-release Versions

For work-in-progress releases:

  • 1.2.0-alpha.1 - Early testing
  • 1.2.0-beta.1 - Feature complete, testing
  • 1.2.0-rc.1 - Release candidate

Common Mistakes

MistakeCorrect
Bumping MAJOR for new featureMINOR (if backward compatible)
Bumping PATCH for new optionMINOR (it's new functionality)
Forgetting to tagAlways tag after version bump
Tag without version updateUpdate manifest first, then tag
Inconsistent tag formatAlways use v prefix: v1.2.0

Quick Reference

# Check current version
node -p "require('./package.json').version"
# or
grep version pyproject.toml

# List tags
git tag -l

# See what changed since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline

スコア

総合スコア

45/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

0/5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です