Jira
Connected, Jira stops being a second window. Ticket status shows on the board row, transitions happen from there, and a sprint can scaffold its worktrees in one pass.
Connecting
Create an API token in Jira: id.atlassian.com, then Security, then API tokens.
Open Settings, then Connections, then Jira.
Enter your site URL, the email address on your Atlassian account, and the token. Save.
The credentials are checked against Jira before anything is written — Strado calls the API as you and reports back the display name it got. A typo fails here, loudly, rather than as an unexplained error on every later poll.
Where the token lives
Heads up
The token is written to a file, not to your operating system's keychain:
~/.strado/jira.json, holding the site URL, the email, and the token in
plain text. If that is not an acceptable place for a Jira token on your
machine, connect nothing and use Strado without it.
Strado creates that file with permissions 0600, readable only by you. But the
mode is applied when the file is created, so a jira.json that already
existed keeps whatever permissions it had — including one carried over from an
older install, where you created it by hand and it took your umask. Re-saving
through the settings form does not tighten it, and nothing else will either.
Worth thirty seconds:
ls -l ~/.strado/jira.json
-rw------- is what you want. Anything wider, and chmod 600 on that path
fixes it.
STRADO_HOME moves the file, which is how a separate instance keeps its own
credentials.
What the file does not do is reach the browser. Every Jira call is made by the local server; the UI asks only whether a token is present and gets back a boolean plus the site URL and email. The token itself is write-only from the interface.
On the board
A worktree with a ticket id gets a badge, and the Status column shows the ticket's real Jira status rather than a local guess. Strado maps it through Jira's three status categories — to do, in progress, done — which is what drives the color and what decides whether a row counts as settled and sinks.
Changing that status in the app performs a real Jira transition. The dropdown lists only the transitions Jira actually offers for that issue in its current state, so it cannot put an issue somewhere your workflow forbids. Jira remains the source of truth: Strado re-reads the issue after the transition rather than assuming it worked.
Hovering a ticket badge opens a card with the key, status, summary, assignee, priority, and Jira's time-tracking figures — logged against remaining.
Sprints
Two things are sprint-scoped.
The ticket picker when creating a worktree offers your open issues, so a worktree can be named from a real ticket rather than typed.
Import tickets, on the bar above the board, takes a sprint and lists its issues — optionally only yours. Issues that already have a worktree are shown as such; the rest can be scaffolded into worktrees in one action, each with its ticket id and title already set. The creates run as background jobs, so a sprint's worth of worktrees builds while you carry on.
Strado finds the boards for a project without configuration by taking the most common ticket prefix across the workspace's worktrees.