Files
SeedPass/docs
thePR0M3TH3ANandClaude Fable 5 1eab3bf137 feat: interactive mode, so the bare command opens the vault
Python's `seedpass` launches its TUI when invoked with no subcommand. The
port printed a help dump instead, which is why running the bare command
looked broken: nothing was wrong with it, there was simply no way in. This
adds the interactive mode that was missing.

Scope is the daily path -- browse, search, copy, reveal, add a password /
TOTP / key-value entry, archive, switch profile -- not a port of Python's v2
and v3 TUIs, which are around 20k lines of Textual between them. Piped or
redirected, the bare command still prints the help: there is no terminal to
drive.

No new runtime dependencies. Node's tty and ANSI directly, rather than a TUI
framework, because everything bundled here shares a process with unlocked
seed phrases and the CLI's runtime surface is currently commander plus the
noble/scure crypto libraries.

The agent-blind rule from plan section 9.3 carries over intact, and matters
more here than in the CLI because this screen renders the whole vault at
once: list and detail views show metadata only, `c` copies without ever
drawing the value, and `r` is the single explicit reveal -- on screen until
the next keypress, then gone from the following frame. Everything is drawn
on the alternate screen buffer, so a revealed secret cannot be recovered by
scrolling back after quitting, and never lands in a terminal log that
captures the main buffer. The key-value field is masked while being typed
for the same reason.

terminal.ts owes the user one thing above all: their shell back. Raw mode
with a hidden cursor is an unusable terminal, so restoration is idempotent
and wired to exit, SIGINT, SIGTERM, SIGHUP, and the uncaught-exception paths
-- verified through a pty for each. Holding raw mode across the whole unlock
sequence rather than toggling it per prompt also fixes a narrow leak: echo
came back on between password attempts, so a password retyped after a typo
was echoed in clear text.

Tests drive the real screens through an injected terminal, including the
redaction properties above. Two harness bugs worth recording, because both
produced confident nonsense: sampling the frame count after dispatching a
key made a synchronous redraw look like no redraw at all, and waiting only
for "the screen stopped changing" returned during the second-long PBKDF2 a
mutation performs, so the next keystroke landed on the previous screen and
typed "q" into a form field instead of quitting.

122 CLI tests, 220 core tests, 36/36 cross-impl checks.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-08-15 15:02:06 -04:00
..
2025-07-10 19:37:30 -04:00
2025-07-10 19:37:30 -04:00
2025-07-10 19:37:30 -04:00
2025-08-03 10:27:13 -04:00
2026-02-25 18:07:22 -05:00

SeedPass Docs

This directory contains SeedPass project documentation.

Start Here

  • dev_control_center.md (single source to decide what to do next)

Agent and Autonomy Docs

  • agent_autonomy_security_plan.md
  • policy_as_code.md
  • sync_conflict_contract.md

Core Security Docs

  • security_readiness_checklist.md
  • threat_model.md
  • crypto_key_management_review.md
  • secret_handling_local_exposure_review.md
  • auth_lock_unlock_access_review.md
  • supply_chain_release_integrity.md
  • release_verification_runbook.md
  • release_protection_policy.md
  • operational_runbooks.md
  • staged_rollout_runbook.md

Architecture and Product Docs

  • ARCHITECTURE.md
  • SPEC.md
  • typescript_web_extension_port_plan.md
  • entry_types.md
  • entry_graph.md
  • tui_v3_plan.md (active roadmap for scratch rebuild)
  • tui_v2_plan.md (legacy logic reference)
  • tui_v2_parity_checklist.md
  • tui_v2_parity_backlog.md
  • tui_v2_legacy_parity_matrix.md
  • tui_v2_ui_refresh_plan.md
  • semantic_vector_index_plan.md
  • tui_v2_cutover_decision.md
  • tui_v2_large_vault_validation.md
  • security.md
  • nostr_setup.md
  • nostr_namespace_reset.md
  • packaging.md

QA and Testing Docs

  • TEST_INVENTORY.md (central index of all tests and runners)
  • agent_testing_roadmap.md
  • ai_agent_tui_testing.md
  • agent_test_format.md
  • installer_testing.md
  • kb_scale_validation.md
  • ci-health-2026-02-19.md
  • agent-handoffs/README.md

Discoverability Commands

  • seedpass --help
  • seedpass
  • seedpass tui2
  • seedpass --legacy-tui
  • seedpass legacy
  • seedpass <group> --help
  • seedpass tui2 --help
  • seedpass tui2 --check
  • seedpass capabilities --format json
  • seedpass agent bootstrap-context