Metadata-Version: 2.3
Name: smorg
Version: 1.3.2
Summary: Keyboard-driven terminal dashboard, one tab per connected integration
License: MIT
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: httpx>=0.28
Requires-Dist: keyring>=25.0
Requires-Dist: pygithub>=2.5
Requires-Dist: requests>=2.32
Requires-Dist: textual>=1.0
Requires-Dist: tomli-w>=1.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown

# smorg

[![PyPI](https://img.shields.io/pypi/v/smorg)](https://pypi.org/project/smorg/)
[![Python](https://img.shields.io/pypi/pyversions/smorg)](https://pypi.org/project/smorg/)
[![CI](https://img.shields.io/github/actions/workflow/status/ldelvoye/smorg/ci.yml?branch=main&label=ci)](https://github.com/ldelvoye/smorg/actions/workflows/ci.yml)
[![License](https://img.shields.io/github/license/ldelvoye/smorg)](LICENSE)

Short for [Smorgasbord](https://en.wikipedia.org/wiki/Smorgasbord): a table laid out with many dishes, everyone taking what they want.

smorg is that table for your work: a keyboard-driven CLI with one tab per connected integration, showing what's on your plate and what changes since you last looked.

## Install

To install it once and reuse it:

    uv tool install smorg
    smorg

Press `^ + p` and pick "Add integration" to connect one, then select the desired connection method.

`smorg connect <integration>` does the same from the CLI, and is also how you re-authenticate a tab whose token has expired or been revoked

`smorg logout <integration>` (or "Remove integration" from `^ + p`) removes a tab, its stored token, and its seen marks.

Inside the dashboard: `h`/`l` switch tabs, `up`/`down` select an item, `o` opens it in your browser, `r` refreshes, `m` marks the tab's changes seen, `u` marks the selected item unseen, `?` shows the current tab's keys, `^ + p` opens the menu (add/remove integrations, screenshots), `q` quits.

## Status

Three dishes on the table:
* **Linear**, showing the issues assigned to you
* **GitHub**, showing what needs your attention
* **Spotify**, showing your player: now playing, queue, last played

See [docs/ROADMAP.md](docs/ROADMAP.md) for what's ahead.
