Skip to content

Interactive config wizard (teeclip --configure) #11

@djdarcy

Description

@djdarcy

Summary

Add a teeclip --configure command that interactively walks users through creating or editing ~/.teeclip/config.toml. Similar to git config --global or aws configure.

Motivation

Currently:

  • teeclip --config shows the effective configuration (read-only)
  • Changing settings requires hand-editing ~/.teeclip/config.toml

For settings like encryption where multiple values need to coordinate (encryption, auth_method, salt setup), a guided wizard would provide a much better onboarding experience.

Proposed UX

$ teeclip --configure

teeclip configuration wizard
Config file: ~/.teeclip/config.toml

[history]
  Enable clipboard history? [Y/n]: y
  Maximum entries to keep [50]: 100
  Auto-save piped content? [Y/n]: y

[security]
  Enable encryption? [y/N]: y
  Auth method (os/password) [os]: os

[clipboard]
  Force backend (leave empty for auto-detect) []:

[output]
  Quiet mode (suppress warnings)? [y/N]: n

Config saved to ~/.teeclip/config.toml

Design Notes

  • Should show current values as defaults (in brackets) when editing an existing config
  • Creating a new config uses the built-in defaults
  • Encryption setup (--configure with encryption=yes) could handle salt generation and initial password setup in one flow
  • Non-interactive mode: teeclip --configure --set history.max_entries=200 for scriptable changes (stretch)

Acceptance Criteria

  • teeclip --configure creates or edits config.toml interactively
  • Shows current values as defaults when config exists
  • Handles encryption setup flow (auth method selection, salt generation)
  • --config (read) and --configure (write) form a coherent pair

Analysis

See 2026-02-16__22-38-29__both_auto-encrypt-config.md for related notes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature requestphase 2Phase 2: Clipboard History

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions