A CLI password manager built lesson-by-lesson in Rust from Zero on projectlighthouse.io.
Each commit on master corresponds to one chapter. Read the book; the diff is the lesson.
Subject to change as the repo evolves (bug fixes, dep updates) or the book updates. Book v1 published at commit 56dcca049e3abf4e590c3b87c7b0d9e83760aeb5.
- AES-GCM sealed vault, Argon2id-derived key
- Local SQLite + file blob store, optional git sync
- Session cache (TTL) so you don't retype the master password
- Password generator with character-class controls
- Axum HTTP server with cookie sessions and x25519 keypair sharing
- JSON output, shell completions, masked reveal (
eh)
cargo build --release
./target/release/rune --helpRequires Rust 2024 edition (1.85+).
rune init # create default vault
rune add github.com # prompts for password
rune get github.com --json
rune gen --length 24
rune serve --addr 127.0.0.1:8080
rune completions fish > ~/.config/fish/completions/rune.fishConfig lives at $XDG_CONFIG_HOME/rune/config.toml (override with --config).
cargo test
cargo test --test propertiesSee CONTRIBUTING.md. Short version: bug fixes and dep bumps welcome; new features and refactors are not, because each commit maps to a book chapter.
AGPL-3.0 (see LICENSE).