4 Commits

Author SHA1 Message Date
4d6e64668a Add --field name option to retrieve entry name 2026-02-17 22:30:53 +01:00
487f2caf39 Add pre-commit with ruff, ruff-format, and pyright 2026-02-17 20:33:58 +01:00
d621ebb81e Fix bugs, harden config validation, and clean up codebase
- Guard against empty ROFI_INFO before calling decode_info to prevent IndexError
- Use .get() chain for password field access to prevent KeyError
- Raise ValueError for unknown field names instead of silently returning empty string
- Validate config keybinding values against allowed fields (password, username, totp)
- Warn to stderr when config file exists but has invalid structure
- Set history file permissions to 0o600
- Extract shared prepare_entries() helper to deduplicate selector logic
- Add --version flag
- Delete legacy src/bitwarden.py and src/main.py
- Update CLAUDE.md to reflect pyyaml dependency
2026-02-17 20:27:15 +01:00
a316e1b233 Rewrite bw-menu using rbw CLI backend and proper Python packaging
Replace bw-serve/Ansible-based implementation with a clean rewrite:
- rbw CLI wrapper for listing entries and fetching credentials
- Rofi script-mode and fzf selectors with history-first sorting
- JSON-backed frecency history at ~/.cache/bw-menu/
- Clipboard support via wl-copy/xclip auto-detection
- uv + hatchling packaging with bw-menu entry point
2026-02-17 19:32:27 +01:00