Release guardrails for Latitude. Prevents tagging/building/uploading from the wrong branch, mismatched version strings, dirty working trees, or shipping dev/debug artifacts. Enforces one-step-at-a-time release checklist.
This skill exists to prevent release mistakes:
If any checklist item fails, the assistant must say STOP and provide the single next command to fix it.
main)compat/1.21.1)Never release 1.21.11 from a branch. Never assume contains the correct jar until after a clean build on the target branch.
feature/*build/libsgradle.properties contains the correct mod_version for that target./gradlew clean build succeedsRun:
git statusgit branch --show-currentRules:
git status shows local changes that would block checkout, stash with a message.On the target branch:
gradle.properties and confirm:
mod_version=...Required patterns:
1.2.5+1.21.11 (example)1.2.5+1.21.1 (example)If the jar name later shows a different version, the branch’s mod_version is wrong. Fix gradle.properties, commit, rebuild.
Run from repo root:
$env:GRADLE_USER_HOME = "$PWD\.gradle-user-home"
.\gradlew clean build --no-daemon
Then list jars:
Get-ChildItem .\build\libs\*.jar | Select-Object Name, Length, LastWriteTime
Rule:
Inspect the jar you will upload:
jar tf .\build\libs\<YOUR_JAR_NAME>.jar | findstr /I "_mcsrc_extract .windsurf SKILL.md com/mojang blaze3d"
Pass criteria:
If there are matches:
.gitignore or build config.Preferred tags:
v<mod_version> (example: v1.2.5+1.21.11)Rules:
-f and force-push only that tag.Commands:
git tag -f v<mod_version>
git push origin -f v<mod_version>
Rules:
Minimum changelog bullets must include:
main is the only allowed release base for 1.21.11.
compat/1.21.1 is the only allowed release base for 1.21.1.
Feature branches may contain experiments and must not own release tags.
Extracted sources and tooling folders must never be part of a release commit:
_mcsrc_extract/.windsurf/build/libsmod_version in gradle.propertiesNo other order is allowed.