@@ -324,16 +324,35 @@ NODE
324324# Ensure we're in the project root (parent of scripts directory)
325325cd " $( dirname " $0 " ) /.."
326326
327- # Check if working directory is clean (only enforced for real runs)
327+ # Files this script modifies and commits as part of the release
328+ RELEASE_MANAGED_FILES=(
329+ " CHANGELOG.md"
330+ " package.json"
331+ " package-lock.json"
332+ " README.md"
333+ " docs/SKILLS.md"
334+ " docs/GETTING_STARTED.md"
335+ " server.json"
336+ )
337+
338+ has_unmanaged_changes () {
339+ local exclude_args=()
340+ for f in " ${RELEASE_MANAGED_FILES[@]} " ; do
341+ exclude_args+=(" :(exclude)$f " )
342+ done
343+ ! git diff-index --quiet HEAD -- . " ${exclude_args[@]} "
344+ }
345+
346+ # Check if working directory is clean outside release-managed files
328347if ! $DRY_RUN ; then
329- if ! git diff-index --quiet HEAD -- ; then
330- echo " ❌ Error: Working directory is not clean ."
331- echo " Please commit or stash your changes before creating a release."
348+ if has_unmanaged_changes ; then
349+ echo " ❌ Error: Working directory has uncommitted changes outside release-managed files ."
350+ echo " Please commit or stash those changes before creating a release."
332351 exit 1
333352 fi
334353else
335- if ! git diff-index --quiet HEAD -- ; then
336- echo " ⚠️ Dry-run: working directory is not clean (continuing)."
354+ if has_unmanaged_changes ; then
355+ echo " ⚠️ Dry-run: working directory has unmanaged changes (continuing)."
337356 fi
338357fi
339358
@@ -444,9 +463,9 @@ if [[ "$SKIP_VERSION_UPDATE" == "false" ]]; then
444463 echo " "
445464 echo " 📦 Committing version changes..."
446465 if [[ -f server.json ]]; then
447- run git add package.json package-lock.json README.md docs/SKILLS.md CHANGELOG.md server.json
466+ run git add package.json package-lock.json README.md docs/SKILLS.md docs/GETTING_STARTED.md CHANGELOG.md server.json
448467 else
449- run git add package.json package-lock.json README.md docs/SKILLS.md CHANGELOG.md
468+ run git add package.json package-lock.json README.md docs/SKILLS.md docs/GETTING_STARTED.md CHANGELOG.md
450469 fi
451470 run git commit -m " Release v$VERSION "
452471else
0 commit comments