Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Docs for the development version; the latest release is v0.8.1.

Terminal dashboard (stockwise tui)

A full-screen, live version of stockwise dashboard: market indices, your watchlist, portfolio P&L, price alerts, and a chart of the selected symbol, refreshed in place.

stockwise tui              # Indian market (default)
stockwise tui -m us        # US indices; bare tickers are US symbols
stockwise tui -i 60        # refresh every 60 seconds (default 30, range 10-3600)

Read-only. The TUI never places orders and has no trading keys. The only thing it changes is your local watchlist (add and remove). Live trading stays in stockwise trade, with its preview and confirmation.

Layout

PaneShows
HeaderMarket, time of the last refresh, ⟳ while a refresh runs
IndicesNIFTY 50, SENSEX, BANK NIFTY, NIFTY IT (or the US indices with -m us). Prices are dropped on narrow terminals
WatchlistPrice and day change for every watched symbol
ChartClosing prices of the selected symbol for the selected period, with the change over the period
PortfolioTotal value and P&L, then each holding. Holdings without a live price show N/A and are left out of the totals (the title says how many)
AlertsTriggered alerts first (marked !), then the rest, with the live price. An alert never fires without a price
FooterKey hints, or the latest message (errors in red)

The chart follows the selection: move through the watchlist or, after Tab, the portfolio. With both empty it shows the first index.

Keys

KeyAction
↑ ↓ / j kMove the selection (the chart follows)
g G / Home EndFirst / last row
TabSwitch between watchlist and portfolio
1-6 / [ ]Chart period: 1d 5d 1mo 6mo 1y 5y
/ or aSearch a company or ticker and add it to the watchlist (Enter searches, ↑ ↓ choose, Enter adds, Esc cancels). Listings on your market’s exchanges (NSE/BSE for India) are listed first
x / DelRemove the selected watchlist symbol
rRefresh now
?Show or hide the help
q / Ctrl+CQuit

Refresh and rate limits

Every refresh is one batched quote request for the indices, watchlist, holdings and alert symbols together, plus one chart request. All requests go through the same client as the CLI, so they share its rate limiter (5 requests/second), retries, and cache. Quotes are cached for 30 seconds (in Redis too, when it runs), so an interval below 30s mostly re-reads the cache.

If a refresh fails (network down, Yahoo rate-limiting), the last data stays on screen, the footer shows the error, and the next refresh tries again.

Terminal support

  • Works in any terminal crossterm supports (macOS, Linux, Windows Terminal).
  • 80×24 shows everything. Smaller (down to 40×12) drops the chart and shows the alerts as one line; smaller still shows a “too small” message until you resize.
  • NO_COLOR=1 turns colours off; direction is still shown by ▲/▼ and +/− signs, and the selection by reverse video.
  • The terminal is restored on q, Ctrl+C, SIGINT, errors, and panics.
  • Needs an interactive terminal. For a one-shot view use stockwise dashboard; for scripts, the --json commands or stockwise serve.

Screenshots

stockwise tui --snapshot 100x30 fetches the data once, prints a single frame, and exits. With CLICOLOR_FORCE=1 the frame keeps its colours when piped, which is how assets/tui.svg is made:

CLICOLOR_FORCE=1 stockwise tui --snapshot 100x30 \
  | python3 assets/ansi2svg.py assets/tui.svg "stockwise tui"

Building without it

The TUI is the tui cargo feature, on by default. A minimal build leaves out ratatui and crossterm:

cargo install stockwise --no-default-features            # no tui, no serve
cargo install stockwise --no-default-features --features tui

stockwise tui in a build without the feature exits with a message saying so.