# KeePassGO KeePassGO is a Go-based KeePass-compatible password manager targeting desktop first, with future Android support. ## Current Capabilities - KDBX load and save - password-only, key-file-only, and composite master-key flows through the desktop product UI - master-key changes for existing vault sessions - WebDAV-backed open and save support in the session layer - password generation profiles - gRPC integration surface for trusted automation - template, attachment, group, history, and recycle-bin persistence ## Run ```bash go run . ``` Phone-sized preview: ```bash go run . -mode phone ``` ## Test ```bash go test ./... go tool golangci-lint run ./... ``` KDBX security and KDF compatibility notes are documented in [`docs/kdbx-compatibility.md`](./docs/kdbx-compatibility.md). ## Build Desktop build: ```bash go build ./... ``` By default, build outputs stamp the app version from `git describe --tags --always --dirty`. You can override the version shown in KeePassGO with: ```bash go build -ldflags "-X main.appVersion=v0.0.1" ./... ``` ## Arch Linux Package An AUR-style package definition for the Linux desktop client lives under: - `packaging/archlinux/keepassgo-git/` From that directory you can build and install it with: ```bash makepkg -si ``` The package installs: - `/usr/bin/keepassgo` - a desktop entry at `/usr/share/applications/keepassgo.desktop` - application icons under the hicolor theme ## Android Packaging KeePassGO uses Gio, so Android packaging is done with `gogio`. The repo now has automated tests for the packaging contract: - default APK build arguments - required Android SDK / NDK / JDK layout checks Those are covered by normal test runs: ```bash go test ./... ``` Install: ```bash go get -tool gioui.org/cmd/gogio@latest ``` Package: ```bash go tool gogio -target android -icon assets/keepassgo-icon.png . ``` You will need the Android SDK and NDK installed and configured for real device or release packaging. ## Automation Desktop automation is resolved through the secure gRPC API rather than synthetic auto-type. See [`docs/desktop-automation.md`](./docs/desktop-automation.md).