Skip to main content

Terminal UI package for ssot-registry workflows.

Project description

🔷 ssot-tui

Textual terminal UI for browsing SSOT registries.

PyPI version Supported Python versions Downloads Repository hits Discord schema_version 0.8.0 Migration coverage 14/14

ssot-tui is a Textual-based terminal UI for browsing SSOT registries.

It is focused on read-oriented exploration and safe workflow bridges rather than full CRUD parity with the CLI. It runs on top of the current ssot-core runtime and ssot-contracts metadata, while the umbrella ssot-registry package exposes it through the optional tui extra.

What this package owns

  • The ssot-tui console entry point
  • The Textual app shell and browser screen
  • TUI widgets for section navigation, entity tables, and detail panes

When to use this package

Use ssot-tui when you want:

  • an interactive terminal browser for SSOT registry content
  • a navigable view across entity sections with filters, recent repos, and keyboard-first navigation
  • structured entity detail views with a raw JSON fallback
  • safe workflow bridges such as validation, CLI read previews, and opening repo resources
  • a Textual UI on top of the ssot-core runtime

Use another package when you want:

  • ssot-cli for full command-line workflow coverage
  • ssot-core for direct Python API access
  • ssot-mcp for MCP clients, pull-worker campaigns, and registry mutation tools
  • ssot-contracts for packaged schemas and templates
  • ssot-views for report and graph builders
  • ssot-codegen for regeneration of metadata artifacts

Install

python -m pip install ssot-tui

For local development from this repository:

python -m pip install -e pkgs/ssot-tui

This package depends on ssot-core, ssot-contracts, and textual. Its internal SSOT dependency ranges track the current core release train with compatible <0.3.0 bounds.

Start the TUI

ssot-tui

The current entry point launches SsotTuiApp, which mounts a browser-oriented screen when the application starts.

Interaction model

The browser now supports:

  • repo auto-discovery from the current working directory
  • persisted recent repos and last-viewed session state
  • inline filtering with /
  • a command palette with Ctrl+P
  • a help overlay with ?
  • pane navigation with Tab, Shift+Tab, h, j, k, and l
  • reload and validation via r and v
  • structured detail rendering with t to toggle raw JSON
  • table view cycling with m

The detail pane can traverse linked entity ids, preview file-backed resources, and render safe CLI read previews for the current section or entity.

Screenshots

The screenshots below are generated from the current Textual application against the repository's SSOT registry. Regenerate them with python scripts/generate_tui_screenshots.py, or regenerate the CLI and TUI assets together with python scripts/generate_terminal_screenshots.py.

Captured against the current repository registry in this workspace:

SSOT TUI browser

SSOT TUI ADR browser

SSOT TUI spec browser

SSOT TUI validation status

Current scope

The current implementation is browser-first and read-first:

  • workspace loading, recent repo switching, and validation summaries
  • section-based navigation with per-section counts and failure rollups
  • tabular browsing with filter and mode switching
  • structured and raw detail inspection for the selected item
  • safe bridge actions for opening files, revealing paths, and previewing read-only CLI output

The package still does not implement full CRUD or guided operational workflows with CLI-level parity.

Main UI concepts

The current source tree exposes these UI building blocks:

  • BrowserScreen: the primary browser screen
  • SectionNavigation: a section chooser with counts and validation indicators
  • EntityTable: a table view for entities in the active section
  • EntityDetailPane: a structured detail view with related-resource traversal
  • CommandPaletteScreen: an action launcher backed by the shared action registry
  • HelpScreen: a keyboard and action reference overlay
  • StatusCenter: a persistent status and toast history panel

At the application level, SsotTuiApp provides a header, footer, and browser screen composition.

Package relationships

If you need complete operational coverage today, use ssot-cli. If you want an interactive terminal browser for current registry content, this package is the right entry point.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssot_tui-0.1.20.dev1.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ssot_tui-0.1.20.dev1-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file ssot_tui-0.1.20.dev1.tar.gz.

File metadata

  • Download URL: ssot_tui-0.1.20.dev1.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ssot_tui-0.1.20.dev1.tar.gz
Algorithm Hash digest
SHA256 8ac1e01612e586c1b659ea67651d647d5429e9b044aa1bce05f8ada707d575b0
MD5 de3d12ea78cdfdb867a157779c7f0f7c
BLAKE2b-256 ac0484c4e85e0c75219bc8d0cd2da0a4e97b450fd81c6cf990a52c2071c78020

See more details on using hashes here.

File details

Details for the file ssot_tui-0.1.20.dev1-py3-none-any.whl.

File metadata

  • Download URL: ssot_tui-0.1.20.dev1-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ssot_tui-0.1.20.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 da51bc6eaaf93832a13e0b2b0302e88566edd9db1f5d4d118e4a3d0a74b49738
MD5 4eec34402f32669f4ba98889e01602fd
BLAKE2b-256 47387e7ca3a66728411a90a1c203e8b2f979ea7197008506d8df2571cabba825

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page