Skip to content

feat: diceware passphrase generation (vault generate --passphrase + TUI)#51

Merged
UnbreakableMJ merged 1 commit into
mainfrom
passphrase-generator
Jul 19, 2026
Merged

feat: diceware passphrase generation (vault generate --passphrase + TUI)#51
UnbreakableMJ merged 1 commit into
mainfrom
passphrase-generator

Conversation

@UnbreakableMJ

@UnbreakableMJ UnbreakableMJ commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add generate_passphrase to vault-core, drawing from the EFF large wordlist (7776 words, CC-BY-3.0, vendored at crates/vault-core/src/wordlist.rs) with configurable word count (3-20), separator, capitalization, and an optional appended digit.
  • Wire it through vault generate --passphrase (new flags: --words, --separator, --[no-]capitalize, --[no-]include-number) and the TUI generator overlay (Tab switches Password⇄Passphrase; +/- adjust count; a/n/e toggle capitalize/number/separator).
  • New [generate] config table remembers preferences across sessions; explicit CLI flags override. Generation stays fully client-side — no secret touches the agent or the network.
  • REUSE-compliant vendoring of the EFF wordlist as the project's first third-party-derived in-tree file (LICENSES/CC-BY-3.0.txt, REUSE.toml path override, CREDITS.md entry, regeneration script at crates/vault-core/tools/gen_wordlist.sh).

Test plan

  • cargo build --workspace --all-targets
  • RUSTFLAGS="-D warnings" cargo test --workspace --all-targets (all crates pass, 0 failures)
  • CI-exact clippy: fresh isolated target/clippy, RUSTFLAGS="-D warnings" cargo clippy --workspace --all-targets --all-features -- -D warnings (clean)
  • cargo fmt --all -- --check
  • Headless build gate (vault-cli --no-default-features --features cli, vault-agent --no-default-features)
  • --version attribution block (version-gate)
  • reuse lint (compliant, CC-BY-3.0 + GPL-3.0-or-later)
  • Manual e2e: vault generate --passphrase --words 6 --json, --separator/--capitalize/--include-number combinations, and existing --length/--symbols password path all verified working

🤖 Generated with Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

Add generate_passphrase to vault-core (EFF large wordlist, 7776 words,
CC-BY-3.0, vendored at crates/vault-core/src/wordlist.rs), wired through
`vault generate --passphrase` and the TUI generator overlay (Tab
switches Password<->Passphrase). Preferences persist via a new
[generate] config table; generation stays fully client-side, so no
secret touches the agent or network.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@UnbreakableMJ
UnbreakableMJ force-pushed the passphrase-generator branch from 3bb3a56 to db0228c Compare July 19, 2026 15:50
@UnbreakableMJ
UnbreakableMJ merged commit 7a1dc7d into main Jul 19, 2026
9 checks passed
@UnbreakableMJ
UnbreakableMJ deleted the passphrase-generator branch July 19, 2026 16:05
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