Uses semantic versioning with git tags.
make version # Show current: vX.Y.Z (from git tag)
make suggest-version # Analyze commits, suggest next version-
Check current and suggested version:
make version make suggest-version
-
Create and push tag:
git tag vX.Y.Z git push origin vX.Y.Z
-
GitHub Actions (
cd.yml) creates the release automatically: it verifies CI passed on the tagged commit, then publishes a release withcli.shattached.
install.sh downloads cli.sh from the latest GitHub release tag, not from
main. A fix merged to main does not reach users until a new version tag
is pushed. Symptom: a behavior change is present in the repo cli.sh but absent
from the installed copy at ~/.smplcli/cli.sh.
When a cli.sh fix appears "not to work", check the installed copy first:
diff /opt/smplcli/cli.sh ~/.smplcli/cli.sh # differences = installed copy is staleTo pick up a fix immediately without releasing, copy it in and re-source:
cp /opt/smplcli/cli.sh ~/.smplcli/cli.sh && source ~/.smplcli/cli.shThe durable fix is always to push a new version tag.
suggest-version.sh detects bump type from commit messages:
| Pattern | Bump Type |
|---|---|
BREAKING: or !: |
major |
feat: or feat(scope): |
minor |
| anything else | patch |
If Cursor IDE is available, it also uses AI analysis of the actual diff.