A CLI flashcard system with spaced repetition that lives in your text files.
Study facts embedded in your markdown notes, tracked by content hash so cards survive edits and file moves. No cloud, no sync — just your files and per-vault SQLite state, with optional relocation via .carddown/config.toml.
- Scan — extract flashcards from any markdown/text file
- Revise — interactive TUI with spaced repetition (SM2, SM5, Simple8)
- Audit — review orphaned and leech cards
Pre-built binaries on the releases page, or:
mise use github:martintrojer/carddown # mise
cargo install carddown # cargo# Mark flashcards in your notes
echo "Who discovered penicillin? : Alexander Fleming 🧠" >> notes.md
# Scan your notes
carddown scan ./notes
# Study due cards
carddown revise
# Review problem cards
carddown auditSingle-line — use 🧠 or #flashcard as marker:
Capital of France? : Paris 🧠
What is HTTP? : HyperText Transfer Protocol #flashcard #webMulti-line — end with --- or ***:
Explain the Bohr model #flashcard #physics
Electrons orbit in quantized energy levels.
Transitions between levels emit/absorb photons.
---Tags like #physics let you focus study sessions: carddown revise --tag physics
| Feature | |
|---|---|
| Per-vault storage | Config and state lives in .carddown/. DB location configurable |
| Spaced repetition | SM2, SM5, and Simple8 algorithms with quality grades 0-5 |
| Content hashing | Cards identified by blake3 hash — move files freely |
| Tags | Filter study sessions by topic |
| Incremental scan | Only re-parses modified files |
| Leech detection | Flags cards you repeatedly fail |
| Reverse cards | Optionally swap prompt/response with --reverse-probability |
| Cram mode | Review all cards regardless of schedule |
- User Guide — commands, revise workflow, card format details
- Algorithms — how SM2, SM5, and Simple8 work
MIT
