opensysml.json is the maintained source of the Scoop manifest. It
carries __TAG__ / __VERSION__ / __SHA256_*__ placeholders and is not installable
as-is; scripts/render-scoop-manifest.sh substitutes them from a release's SHA256SUMS.txt
and strips the template note, following the same convention as
packaging/homebrew.
The manifest installs opensysml-windows-amd64.zip (sysml.exe and sysml-lsp.exe) and
sysml-mcp-windows-amd64.zip (sysml-mcp.exe, the MCP server for coding agents), the
unsigned CircleCI assets described by SHA256SUMS.txt, and shims the three executables onto PATH.
It declares "depends": "z3" so the z3 manifest in Scoop's main bucket is installed
alongside, which gives the experimental %check/%explain commands a solver on PATH without
configuration; nothing links it and every other command works without it (see
docs/guide/01-install.md).
Users who prefer the signed installer should use the MSI instead (packaging/msi).
checkver watches the GitHub releases, and autoupdate rewrites the URL for the new version
and takes the hash from that release's SHA256SUMS.txt (Scoop reads a checksum file when
hash.url points at one), so a bucket that runs Scoop's checkver -u needs no manual edits per
release.
scripts/render-scoop-manifest.sh v0.5.0 > opensysml.json # fetches SHA256SUMS.txt
scripts/render-scoop-manifest.sh v0.5.0 SHA256SUMS.txt > opensysml.jsonThe script depends on nothing in this repository except the template path it reads, so it works when both files are fetched standalone at a tag.
Offline check (Scoop's own checkver/checkhashes are PowerShell): validate the rendered JSON
against Scoop's schema:
curl -fsSLO https://raw.githubusercontent.com/ScoopInstaller/Scoop/master/schema.json
python3 -c 'import json,jsonschema;jsonschema.Draft7Validator(json.load(open("schema.json"))).validate(json.load(open("opensysml.json")));print("ok")'Nothing in this repository writes to a Scoop bucket, and no CI job does either. A maintainer submits the rendered manifest:
- Render for the latest release as above and try it locally:
scoop install ./opensysml.json,sysml -version,where z3,scoop uninstall opensysml. - Pick the bucket. ScoopInstaller/Extras is the
community bucket for GUI-less tools like this one (the
mainbucket is for tools without dependencies that passscoop checkverandcheckhashes;dependsonz3is fine in Extras). Read itsCONTRIBUTING.mdfirst. - Fork the bucket, add
bucket/opensysml.json, run the bucket'sbin/checkver.ps1 opensysml,bin/checkhashes.ps1 opensysmlandbin/formatjson.ps1 opensysml, and open a pull request titledopensysml: Add version <x.y.z>. - Alternatively, or until accepted, host the manifest in an Open-MBEE bucket repository
(
scoop bucket add open-mbee https://github.com/Open-MBEE/scoop-bucket), which can run Scoop'sExcavatorworkflow to applyautoupdateitself.
Once accepted, replace the "coming once accepted" note in docs/guide/01-install.md with the
scoop install command.