NAME
steadystate commands - CLI command reference
AUTHENTICATION COMMANDS
steadystate login
Authenticate with GitHub using the device flow.
steadystate login
Opens a device authorization flow. You will be prompted to visit github.com/login/device and enter a code. No browser redirect is required, making this suitable for headless servers and SSH sessions.
Exit Status: - 0 on success - 1 on authentication failure or timeout
steadystate logout
Remove local authentication tokens.
steadystate logout
Clears the stored JWT and refresh token. Does not revoke tokens on the server.
steadystate whoami
Display the currently authenticated user.
steadystate whoami
Output: GitHub username of the authenticated user, or an error if not logged in.
SESSION COMMANDS
steadystate up
Create a new collaboration session.
steadystate up [OPTIONS] <REPOSITORY>
Arguments:
<REPOSITORY>- GitHub repository URL (https or git@)
Options:
--mode=<MODE>-
Session mode. Use
collabfor collaboration mode. Default:solo --allow=<USERS>- Comma-separated list of GitHub usernames allowed to join. Default: all repository collaborators
Examples:
steadystate up --mode=collab https://github.com/user/repo
steadystate up --mode=collab --branch=develop git@github.com:org/repo.git
steadystate up --mode=collab --allow=alice,bob https://github.com/user/repo
steadystate join
Join an existing collaboration session.
steadystate join "<MAGIC_LINK>"
Arguments:
<MAGIC_LINK>- The magic link provided by the session host. Must be quoted to prevent shell interpretation.
The magic link has the format:
steadystate://collab/<session_id>?ssh=<ssh_url>&host_key=<public_key>
Example:
steadystate join "steadystate://collab/abc123?ssh=ssh%3A%2F%2Fsteadystate%40192.168.1.100%3A2847&host_key=ssh-ed25519%20AAAA..."
steadystate dashboard
Open the session dashboard without joining.
steadystate dashboard "<MAGIC_LINK>"
steadystate dash "<MAGIC_LINK>"
Opens a TUI dashboard showing connected users and sync activity. Use this to monitor a session without creating a worktree.
Aliases: dash
COLLABORATION COMMANDS
steadystate sync
Synchronize changes with collaborators.
steadystate sync
This command:
- Fetches changes from other collaborators
- Performs a 3-way merge (base, local, remote)
- Commits the merged result
- Pushes to the session repository
- Updates local worktree
Run this command frequently to stay in sync with collaborators.
Exit Status: - 0 on success - 1 on merge conflict or push failure (run sync again)
steadystate publish
Push session changes to GitHub.
steadystate publish
Pushes the session branch to the original GitHub repository. After publishing, you can create a Pull Request on GitHub to merge changes into the main branch.
steadystate status
Show local changes.
steadystate status
Displays files that have been modified, added, or deleted in your worktree compared to the last sync point.
Output format:
On branch steadystate/abc123
Changes not staged for commit:
modified: file.txt
deleted: old.txt
Untracked files:
new.txt
steadystate diff
Show detailed diff of changes.
steadystate diff
Displays a unified diff of all changes in your worktree. Output is
similar to git diff.
steadystate watch
Display the session dashboard (inside session).
steadystate watch
Opens an interactive TUI dashboard showing: - Session information - Connected users - Recent sync activity with file changes
Keyboard controls: - s - Run sync -
p - Run publish - d - Show diff -
c - Run credit (git blame) - q or
Esc - Exit
steadystate credit
Show line-by-line credit (git blame).
steadystate credit <FILE>
Displays git blame output for the specified file, piped
to less for scrolling. This allows you to see exactly who
modified which line.
Note: Sync commits are authored by the user who ran the sync, ensuring accurate credit.
ENVIRONMENT VARIABLES
See CONFIGURATION(5) for environment variables that affect command behavior.
SEE ALSO
steadystate(1), git(1)