Files
Kayvan Sylvan 4004c51b9e refactor: restructure project to align with standard Go layout
### CHANGES

- Introduce `cmd` directory for all main application binaries.
- Move all Go packages into the `internal` directory.
- Rename the `restapi` package to `server` for clarity.
- Consolidate patterns and strategies into a new `data` directory.
- Group all auxiliary scripts into a new `scripts` directory.
- Move all documentation and images into a `docs` directory.
- Update all Go import paths to reflect the new structure.
- Adjust CI/CD workflows and build commands for new layout.
2025-07-08 22:47:17 -07:00
..

create_mnemonic_phrases

Generate short, memorable sentences that embed Dicewarestyle words unchanged and in order. This pattern is ideal for turning a raw Diceware word list into phrases that are easier to recall while preserving the exact secret.

What is Diceware?

Diceware is a passphrase scheme that maps every possible roll of five sixsided dice (1111166666) to a unique word. Because there are 6^5 = 7776 combinations, the canonical list contains the same number of entries.

Entropy of the standard 7776word list

words = 7776
entropy_per_word = log2(words) ≈ 12.925 bits

A passphrase that strings N independently chosen words together therefore carries N × 12.925bits of entropy—≈77.5bits for six words, ≈129bits for ten, and so on. Four or more words already outclass most humanmade passwords.

Pattern overview

The accompanying system.md file instructs Fabric to:

  1. Echo the supplied words back in bold, separated by commas.
  2. Generate five distinct, short sentences that include the words in the same order and spelling, enabling rapid rote learning or spacedrepetition drills.

The output is deliberately minimalist—no extra commentary—so you can pipe it straight into other scripts.

Quick start

# 1  Pick five random words from any Dicewarecompatible list
shuf -n 5 diceware_wordlist.txt | \
  # 2  Feed them to Fabric with this pattern
  fabric --pattern create_mnemonic_phrases -s

Youll see the words echoed in bold, followed by five candidate mnemonic sentences ready for memorisation.