sr-connect
ScriptRunner Connect
This file answers theory. Before touching the CLI read references/cli-workflow.md. Before writing a script read references/scripting.md, and the one file under references/product-gotchas/ for each product the script calls, where one exists. Read references/testing.md only when the user asks for tests.
Before the first CLI call
Settle which command to invoke, once per session, ahead of every other CLI step.
-
command -v sr-connect. A hit means the CLI is installed and on PATH: call it assr-connect <group> <verb>everywhere, including in commands handed to the user. No hit: call it asnpx @sr-connect/cli <group> <verb>, and pin the session's first call tonpx @sr-connect/cli@latestso the cached copy is current.On a miss, tell the user one plain line, so it does not read as something broken: npx works and there is nothing to fix; for faster calls they can install it globally with
npm install -g @sr-connect/cli. npx checks its cache on every call, which costs several seconds a call, 4 to 10 s in one agent's measurement. A project-local install does not putsr-connecton PATH, so it does not help. Under nvm a global install belongs to the active Node version, and switching versions takessr-connectoff PATH again. If the user installs it mid-session, run this step again so the session switches tosr-connect. -
<cli> cli check-updates --agent --raw. The document carriesupdateAvailable,currentandlatest, pluscommandwhen there is an update. Exit 1 is a registry it could not read and exit 4 is a registry publishing no release; neither blocks the work, so say so and carry on with the version in hand. -
When
updateAvailableis true, name both versions, link the changelog (https://cdn.jsdelivr.net/npm/@sr-connect/cli@latest/CHANGELOG.md) so the user can see what changed, and ask whether the user upgrades it or you do. Never upgrade without that answer.
The command field is the upgrade line derived from how this copy was installed, and it is right for npm, pnpm, bun and npx. It is wrong for two installs the CLI reads as npm, so check for them before quoting it: resolve sr-connect to its real path, or run yarn global bin and volta which sr-connect.