### Quick start: daemon, dashboard, and tutorial Source: https://hexokit.com/docs/readme Quick start commands from install to a guided tour. Starts the dashboard daemon on :6123, opens the dashboard (xdg-open on Linux), and runs a guided first-run tutorial. ```bash rk daemon start # start the dashboard daemon on :6123 open http://localhost:6123 # open the dashboard (xdg-open on Linux) # in a tmux session (tmux new -s work if you aren't in one): rk tutorial # guided first run — an agent walks you through the product, act by act ``` -------------------------------- ### Set up dashboard and agent workspace Source: https://hexokit.com/docs/install Clean install to a working dashboard with one agent running. `shll setup agent` is optional once per machine and shows agent busy/waiting/idle in the dashboard. `rk daemon start` starts the dashboard daemon on :6123. `open http://localhost:6123` opens the dashboard in your browser. `rk riff` spawns an agent workspace (--skill /name picks the slash-command). The last step also needs `wt` and your agent CLI on PATH. ```bash shll setup agent # optional, once per machine: agent busy/waiting/idle in the dashboard rk daemon start # start the dashboard daemon on :6123 open http://localhost:6123 # open the dashboard in your browser # in a tmux session (tmux new -s work if you aren't in one): rk riff # spawn an agent workspace (--skill /name picks the slash-command) ``` -------------------------------- ### Tailscale Serve quickstart Source: https://hexokit.com/docs/install Starts Tailscale Serve in the background, making HexoKit available at `https://..ts.net`. ```bash tailscale serve --bg http://localhost:6123 ``` -------------------------------- ### Install and run an unknown window manager binary Source: https://hexokit.com/docs/gui To run a window manager not in the known list, install it yourself with `sudo apt install `, then start it with `rk gui wm --restart`. Note that unlisted binaries run bare without the D-Bus session, so panels and trays may fail on the headless display. ```bash sudo apt install ``` ```bash rk gui wm --restart ``` -------------------------------- ### Install HexoKit CLI and desktop app on Linux Source: https://hexokit.com/docs/install Recommended Linux path: first install the CLI via the toolkit installer, then run `rk desktop install` to install the app. ```bash curl -fsSL https://hexokit.com/install | sh -s -- hexokit # installs the CLI rk desktop install # installs the app ``` -------------------------------- ### hexokit mux adopt example Source: https://hexokit.com/docs/commands Example of adopting an external tmux server named 'ext1'. ```text rk mux adopt ext1 ``` -------------------------------- ### rk gui launch terminal and browser examples Source: https://hexokit.com/docs/skill/gui Shows launching the allowlisted terminal and browser roles. The terminal command prints the started process and display, while the browser with --cdp also prints the CDP endpoint. ```bash rk gui launch terminal # started x-terminal-emulator (pid 12345) on :10 rk gui launch browser --cdp # + a second line: cdp http://127.0.0.1:9222 ``` -------------------------------- ### Development setup and run commands Source: https://hexokit.com/docs/install Run `just doctor` to check prerequisites, then use these commands to set up and run the development environment. `just setup` is a one-time setup, `just dev` runs in watch mode on a derived port, `just dev --port 4000` runs on an explicit port, and `just prod` runs from a built binary. ```bash just setup # one-time: frontend deps, Playwright browsers, .env.local, tmux.conf embed staging just dev # watch mode (Go backend + Vite dev server) on this worktree's derived port just dev --port 4000 # same, on an explicit port (Vite on 4000, backend on 4001, code-server on 4002) just prod # run from built binary ``` -------------------------------- ### hexokit desktop install --help output Source: https://hexokit.com/docs/commands Shows the raw help output for 'hexokit desktop install', including --force, --path, and --version flags. ```text Usage: hexokit desktop install [flags] Flags: --force reinstall even when the requested version is already installed --path string install directory (default: /Applications on macOS, ~/.local/state/hexokit/desktop on Linux) --version string install a specific release tag instead of the latest (e.g. v3.13.0) Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) ``` -------------------------------- ### Manual iframe window setup for older rk versions Source: https://hexokit.com/docs/skill/display Manual recipe for older rk versions lacking the `present` command. Spawns an iframe window by hand, serving content yourself (e.g. `python3 -m http.server --bind 127.0.0.1 -d &`). Change the page later by re-setting `@rk_win_web_1`. Every step SHALL fail silently if its prerequisite is unavailable (HexoKit missing, port in use, server fails to start) — skip the remaining steps without surfacing an error. ```shell tmux new-window -n tmux set-option -w @rk_win_layout web tmux set-option -w @rk_win_web_1 /proxy// tmux set-option -w @rk_win_web_active 1 ``` -------------------------------- ### hexokit ports examples Source: https://hexokit.com/docs/commands Example invocations of the ports command, showing plain and JSON output. ```bash rk ports ``` ```bash rk ports --json ``` -------------------------------- ### hexokit agent setup -h output Source: https://hexokit.com/docs/commands Raw help output for the 'hexokit agent setup' command, showing usage and flags including --dry-run, --uninstall, and --yes. ```text Usage: hexokit agent setup [flags] Flags: --dry-run Show the diff and write nothing (wins over --yes) --uninstall Remove the rk-owned hook entries instead of installing them -y, --yes Write without prompting (non-interactive consent) Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) ``` -------------------------------- ### Quick start: rk riff examples Source: https://hexokit.com/docs/workflows Basic usage of `rk riff` with default skill, specific skill, and skill with command. Requires tmux session, git repo, `wt` on PATH, and launcher availability. ```bash rk riff # 1 pane, default skill (/fab-discuss) rk riff --skill /review # 1 pane, specific slash-command rk riff --skill /fab-fff --cmd "just dev" # 2 panes (agent + dev server) ``` -------------------------------- ### hexokit code-server start help output Source: https://hexokit.com/docs/commands Shows the raw help output for the hexokit code-server start command, including the global --quiet flag. ```text Usage: hexokit code-server start [flags] Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) ``` -------------------------------- ### hexokit code-server install help output Source: https://hexokit.com/docs/commands Shows the raw help output for the hexokit code-server install command, including the global --quiet flag. ```text Usage: hexokit code-server install [flags] Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) ``` -------------------------------- ### rk gui clip and open usage examples Source: https://hexokit.com/docs/skill/gui Shows usage of rk gui clip set/get and rk gui open for URLs and files. clip set reads from stdin, clip get outputs the CLIPBOARD selection verbatim, and open uses xdg-open for URLs or absolute file paths. ```bash rk gui clip set --stdin < paragraph.txt # then: rk gui key ctrl+v rk gui clip get # the CLIPBOARD selection, verbatim on stdout rk gui open https://example.com # xdg-open, detached: started on :N rk gui open ./report.pdf ``` -------------------------------- ### hexokit daemon start --help output Source: https://hexokit.com/docs/commands Shows the raw help output for 'hexokit daemon start', including the -f/--force flag and global --quiet flag. ```text Usage: hexokit daemon start [flags] Flags: -f, --force SIGTERM a non-daemon port owner before starting Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) ``` -------------------------------- ### hexokit cron list examples Source: https://hexokit.com/docs/commands Example invocations of the list command, including a JSON output variant with a custom server. ```text rk cron list rk cron list -L work --json ``` -------------------------------- ### Layout example: main-vertical Source: https://hexokit.com/docs/workflows Example of using `--layout main-vertical` to arrange panes with main on left and deck on right. ```bash rk riff --skill /a --cmd x --cmd y --layout main-vertical ``` -------------------------------- ### Present tutorial chapter 2 Source: https://hexokit.com/docs/skill/tutorial Run this command to present the tutorial page for chapter 2. It teaches the phrase '...and present it to me' to get live pages. ```bash rk present "$RK/tutorial/tutorial.html#ch2" ``` -------------------------------- ### hexokit mux process examples Source: https://hexokit.com/docs/commands Examples of using the hexokit mux process command to show the process tree in a pane, with optional --json flag. ```bash rk mux process %5 rk mux process %5 --json ``` -------------------------------- ### hexokit mux panes examples Source: https://hexokit.com/docs/commands Examples of using the hexokit mux panes command to list panes, with optional --json and -L flags. ```bash rk mux panes rk mux panes --json rk mux panes -L foo ``` -------------------------------- ### hexokit mux sessions examples Source: https://hexokit.com/docs/commands Example invocations of the hexokit mux sessions command, including listing all sessions and outputting JSON. ```text rk mux sessions ``` ```text rk mux sessions --all ``` ```text rk mux sessions --json ``` ```text rk mux sessions -L foo --all --json ``` -------------------------------- ### hexokit tutorial usage Source: https://hexokit.com/docs/commands Usage line for the 'hexokit tutorial' command, which opens a guided tour. ```text hexokit tutorial [--tier ] [flags] ``` -------------------------------- ### hexokit mux send examples Source: https://hexokit.com/docs/commands Example invocations of the hexokit mux send command, including sending text, reading from a file, and sending a key. ```text rk mux send %5 "keep going" ``` ```text rk mux send @3 - < prompt.txt ``` ```text rk mux send =work:agent --key Enter ``` -------------------------------- ### Install HexoKit via shll bootstrap Source: https://hexokit.com/docs/install Installs HexoKit (plus the shll meta-CLI) via Homebrew, handling tap trust automatically, and puts the `hexokit` binary on your PATH. The formula also installs `rk` as a fully interchangeable short alias. The legacy `sh -s -- run-kit` bootstrap argument still works. ```bash curl -fsSL https://hexokit.com/install | sh -s -- hexokit ``` -------------------------------- ### Start operator agent Source: https://hexokit.com/docs/skill/tutorial Run this command to start the operator agent when no operator is present. It opens the pinned singleton and boots the operator agent. ```bash rk operator ``` -------------------------------- ### hexokit desktop --help output Source: https://hexokit.com/docs/commands Shows the raw help output for 'hexokit desktop', listing available subcommands: install, status, uninstall, update. ```text Usage: hexokit desktop [command] Available Commands: install Download and install the HexoKit desktop app status Show installed vs latest HexoKit desktop app version (read-only) uninstall Remove the HexoKit desktop app and its desktop integration (Linux) update Update the HexoKit desktop app when a newer release exists Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) Use "hexokit desktop [command] --help" for more information about a command. ``` -------------------------------- ### Check for HexoKit's rk command and exit if missing Source: https://hexokit.com/docs/skill/cron Place this gate at the start of a script before using HexoKit. It exits silently if the 'rk' command is unavailable, allowing the rest of the script to run only when HexoKit is installed. ```shell command -v rk >/dev/null 2>&1 || exit 0 ``` -------------------------------- ### rk mux new examples Source: https://hexokit.com/docs/commands Examples of the rk mux new command with and without the --ephemeral flag. ```shell rk mux new scratch1 rk mux new scratch2 --ephemeral ``` -------------------------------- ### Install, update, and check desktop app status with rk desktop CLI Source: https://hexokit.com/docs/install Primary CLI commands for the desktop app on macOS and Linux. `rk desktop install` fetches and installs the latest release, `rk desktop update` is a no-op when already current, and `rk desktop status` shows installed vs latest version (read-only). ```bash rk desktop install # fetch the latest release and install it rk desktop update # same, but a no-op when already current rk desktop status # installed vs latest version (read-only) ``` -------------------------------- ### Enable agent state with shll setup agent Source: https://hexokit.com/docs/readme Run once per machine to enable agent state reporting. Installs the shll toolkit skill and HexoKit's dashboard hooks, delegating to `rk agent setup`, which shows a settings diff and asks before writing. Re-running is idempotent and never touches other hooks; until run (and agent sessions restarted), agent state shows `—`. ```shell shll setup agent # places the shll toolkit skill + installs HexoKit's dashboard hooks ``` -------------------------------- ### hexokit cron mute examples Source: https://hexokit.com/docs/commands Example invocations of the mute command, including a lease-based mute and unmute. ```text rk cron mute a3f9 rk cron mute a3f9 --for 30m rk cron mute a3f9 --off ``` -------------------------------- ### Install HexoKit toolkit Source: https://hexokit.com/docs/readme Installs the entire HexoKit toolkit via Homebrew, handling tap trust automatically. Requires tmux ≥ 3.4, checked at runtime; `rk doctor` reports your version. ```bash curl -fsSL https://hexokit.com/install | sh ``` -------------------------------- ### rk mux inventory, panes, and sessions command examples Source: https://hexokit.com/docs/skill/mux Shows the three enumeration commands with their common flags. inventory returns live servers with JSON output; panes lists every pane once; sessions lists sessions, with --all including labeled infrastructure. ```bash rk mux inventory --json # all live servers; -L scopes one, --agents-only filters, --limit caps returned panes rk mux panes # one row per pane (aligned table; --json wraps the array: {"ok":true,"result":[…]}) rk mux sessions --all # one row per session; default lists user-facing only, --all adds labeled infrastructure ``` -------------------------------- ### rk mux kill examples Source: https://hexokit.com/docs/commands Examples of the rk mux kill command with different targets and the --force flag. ```shell rk mux kill %12 rk mux kill %12 --force rk mux kill @3 ``` -------------------------------- ### hexokit mux adopt raw help output Source: https://hexokit.com/docs/commands Raw help output for the adopt command, showing usage, examples, and global flags. ```text Usage: hexokit mux adopt [flags] Examples: rk mux adopt ext1 Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) -L, --server string tmux server name (pane-scoped verbs: send/await/capture/kill/process, and panes/sessions/inventory; inventory defaults to all live servers, other queries default: the caller's own server from $TMUX, else the default server) ``` -------------------------------- ### hexokit cron add examples Source: https://hexokit.com/docs/commands Examples of using hexokit cron add with various scheduling options, including fixed intervals, idle intervals, backoff, cron expressions, and targeting specific roles or sessions. ```bash rk cron add "check PRs" --every 1h rk cron add "wake up" --idle-every 3m rk cron add "tick" --backoff --min 2m --max 30m rk cron add "nightly" --cron "0 3 * * *" --role operator rk cron add "morning digest" --cron "0 9 * * *" --deliver skip-if-busy rk cron add "operator tick" --backoff --min 3m --max 24m --wake-on agent-state-change --deliver skip-if-busy --role operator --if-absent respawn --respawn rk --respawn operator --respawn -L --respawn '{server}' --pinned rk cron add "follow up" --every 2h --session 4fe2abc-1c3b-4f7e-9a2d-8b5c4e1f0a37 ``` -------------------------------- ### Enable the GUI with `rk gui on` Source: https://hexokit.com/docs/gui Starts a VNC X server (Xvnc) on a private display, a window manager, and the `rk-gui` supervisor tmux session, and reveals the 4th tile button (⌘4) in the dashboard. Use `rk gui status` to check the one-line state and `rk gui off` to tear it down. ```bash rk gui on ``` -------------------------------- ### rk mux inventory examples Source: https://hexokit.com/docs/commands Examples of the rk mux inventory command with various flags: --json, --agents-only, and -L work --limit 100. ```shell rk mux inventory --json rk mux inventory --agents-only --json rk mux inventory -L work --limit 100 --json ``` -------------------------------- ### rk mux await usage examples Source: https://hexokit.com/docs/skill/mux Shows common invocations of `rk mux await` with options for waiting on idle, until states, file appearance, readiness, timeout, and notifications. ```bash rk mux await %5 # block until the pane's agent is idle rk mux await %5 --until idle,waiting # wake on finish OR a question back rk mux await %5 --file /tmp/result.json # OR-compose a file-appearance signal rk mux await %5 --ready # wait for BOOT: `ready %5 (state)`, `ready %5 (echo)`, `parked %5`, or `narrow %5 (54x14)` rk mux await %5 --timeout 120 # give up waiting after 120s rk mux await %5 --notify # Web Push yourself/the human on wake ``` -------------------------------- ### rk mux capture examples Source: https://hexokit.com/docs/commands Example invocations of the capture command showing various flag combinations: default capture, specifying line count, raw output, JSON output, and combined flags with classify. ```shell rk mux capture %5 rk mux capture @3 --lines 200 rk mux capture %5 --raw rk mux capture %5 --json rk mux capture %5 --lines 20 --classify --json ``` -------------------------------- ### Create a new agent window Source: https://hexokit.com/docs/skill/tutorial Run this command to create a new agent window named 'tour-worker' when the operator is missing. Then start the same agent CLI to deliver the brief. ```bash rk tab new --name tour-worker ``` -------------------------------- ### hexokit agent subcommand help Source: https://hexokit.com/docs/commands Shows the usage and available subcommands for 'hexokit agent'. The agent command is for agent instrumentation, with subcommands 'hook' and 'setup'. The global flag --quiet is available. ```text Usage: hexokit agent [command] Available Commands: hook Report an agent's lifecycle state to run-kit (invoked by installed hooks) setup Install agent-harness hooks that report agent state to run-kit Global Flags: --quiet Suppress progress/decoration/chatter (data and errors still print) Use "hexokit agent [command] --help" for more information about a command. ``` -------------------------------- ### rk operator request examples Source: https://hexokit.com/docs/skill/messaging Shows the rk operator request command with the --list flag to list the registry, and examples of server-scoped and window-scoped requests. Window-scoped templates require --window @N; --text is accepted only by spawn-task, find-discussion, and user-message; --session only by update-annotations. A busy operator queues the request and reports queued