Documentation
¶
Overview ¶
Spotnik — a terminal Spotify client for developers. This file is the entry point only — no logic lives here.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package cmd provides the CLI entry point for Spotnik via Cobra.
|
Package cmd provides the CLI entry point for Spotnik via Cobra. |
|
internal
|
|
|
api
Package api provides the Spotify HTTP client, OAuth authentication flow, and token management.
|
Package api provides the Spotify HTTP client, OAuth authentication flow, and token management. |
|
app
Package app contains the root Bubble Tea model that wires together all panes, the central store, and the active theme.
|
Package app contains the root Bubble Tea model that wires together all panes, the central store, and the active theme. |
|
cliout
Package cliout renders styled CLI output for the spotnik command-line interface.
|
Package cliout renders styled CLI output for the spotnik command-line interface. |
|
config
Package config handles loading and providing application configuration.
|
Package config handles loading and providing application configuration. |
|
domain
Package domain contains the shared data types for the Spotnik application.
|
Package domain contains the shared data types for the Spotnik application. |
|
keychain
Package keychain provides an abstraction for storing and retrieving OAuth tokens.
|
Package keychain provides an abstraction for storing and retrieving OAuth tokens. |
|
prefs
Package prefs provides a coalescing preference writer for Spotnik.
|
Package prefs provides a coalescing preference writer for Spotnik. |
|
state
Package state — StateReader is a read-only view of the central Store.
|
Package state — StateReader is a read-only view of the central Store. |
|
testhelpers
Package testhelpers provides shared test utilities for the Spotnik test suite.
|
Package testhelpers provides shared test utilities for the Spotnik test suite. |
|
ui/components
Package components — timeutil.go provides time-formatting utilities used across panes that display timestamps in human-readable relative form.
|
Package components — timeutil.go provides time-formatting utilities used across panes that display timestamps in human-readable relative form. |
|
ui/components/viz
Package viz provides the visualizer engine for the NowPlaying pane.
|
Package viz provides the visualizer engine for the NowPlaying pane. |
|
ui/layout
Package layout provides the grid-based layout engine for Spotnik's btop-inspired UI.
|
Package layout provides the grid-based layout engine for Spotnik's btop-inspired UI. |
|
ui/panes
Package panes — AlbumsPane displays the user's saved albums in a dense table with in-pane filtering.
|
Package panes — AlbumsPane displays the user's saved albums in a dense table with in-pane filtering. |
|
ui/theme
This file contains ConfigTheme — the sole concrete implementation of Theme used for all built-in and user-provided themes loaded from TOML files.
|
This file contains ConfigTheme — the sole concrete implementation of Theme used for all built-in and user-provided themes loaded from TOML files. |
|
uikit
Package uikit implements the Spotnik TUI design system.
|
Package uikit implements the Spotnik TUI design system. |
Click to show internal directories.
Click to hide internal directories.
