Skip to content

feat: add secure credential management TUI - #8

Open
ttys3 wants to merge 1 commit into
mainfrom
feat/credential-tui
Open

feat: add secure credential management TUI#8
ttys3 wants to merge 1 commit into
mainfrom
feat/credential-tui

Conversation

@ttys3

@ttys3 ttys3 commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a Bubble Tea/Bubbles TUI for listing, adding, editing, and deleting Git credentials through validated structured fields
  • add opt-in native storage through macOS Keychain, Linux/BSD Secret Service, and Windows Credential Manager while retaining the credential-store-compatible file backend
  • harden credential updates with secret-redacted UI, verified keyring metadata, atomic writes, concurrent-change detection, and deferred keyring cleanup

Compatibility

  • keep file as the default lookup backend and preserve store/erase as no-ops
  • add explicit keyring and auto lookup backends
  • preserve Git credential-store URL formatting, symlink behavior, and Git-compatible .lock updates
  • require Go 1.25 for Bubble Tea v2 while CI remains on Go 1.27.1

Testing

  • go test ./...
  • go test -race ./...
  • go test -shuffle=on -count=20 ./...
  • CGO_ENABLED=0 go test ./...
  • go vet ./...
  • staticcheck ./...
  • govulncheck ./...
  • cross-compiled test binaries for Linux, macOS, Windows, FreeBSD, and OpenBSD
  • verified bidirectional interoperability with Git's built-in credential-store
  • exercised the TUI in a real PTY and scanned the committed snapshot with Gitleaks

Git references

Add a Bubble Tea interface for listing, creating, editing, and deleting credentials through validated structured fields.

Support opt-in native keyring storage while retaining atomic, Git-compatible credential file management.

Co-Authored-By: Codex (gpt-5.6-sol) <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant