Repository navigation
rafctl v0.5.0 - Secure Keyring & Switch Command
Highlights
Security: Cross-Platform Keyring Storage
API keys are now stored in your platform's secure credential store instead of plaintext YAML:
- macOS: Keychain
- Linux: secret-service (libsecret/GNOME Keyring)
- Windows: Windows Credential Manager
Existing plaintext keys still work during migration. API key input is now hidden when using auth set-key.
New: rafctl switch Command
Quick profile switching with status display:
rafctl switch work # Set as default + show statusUX Improvements
- Safety: Confirmation prompt before removing profiles
- Scripting:
--yes/-yflag to skip confirmation - Dashboard:
Enter/randlkeys now execute actions after TUI exits
All Changes
Security
- API keys stored in secure platform keyring (not plaintext)
- Hidden API key input with
rpasswordcrate
Added
rafctl switch <profile>— set default and show statuscore::credentialsmodule for unified credential managementcore::constantsmodule for centralized constants--yes/-yflag forprofile removeProcessSpawnandNoDefaultProfileerror variants- Confirmation prompt before profile removal
Changed
- Replaced macOS-only Keychain code with cross-platform
keyringcrate - Dashboard actions execute after TUI exit
- Refactored
handle_runwith extracted helper functions - API requests use 30-second timeout
- Global config uses atomic writes
- Dynamic User-Agent from Cargo.toml
Install
# From source
cargo install --git https://github.com/salacoste/rafctl
# Or download binaries from Assets belowFull Changelog: v0.4.0...v0.5.0