A terminal-based spaced repetition flashcard tool.
- Importing decks from Anki and csv's!
- Reviewing from TUI and Terminal!
Theme: material default-community
Goki is an intelligent flashcard management tool inspired by Anki built in the terminal!
Launch by running goki:
goki_demo.mov
Goki features a Spaced Repetion Algorithm which uses user feedback on card difficulty to effectively space out practice sessions.
Home Page
| Action | Keybinding |
|---|---|
| Review Decks Flashcards | r |
| Create New Deck | N |
| View Deck Card List | o |
| Edit Deck Name | e |
| Delete Deck | d |
| Move Up | up arrow,k |
| Move Down | down arrow,j |
| Toggle Help Menu | ? |
| Quit | q,ctrl+c |
Flashcard List Page
| Action | Keybinding |
|---|---|
| Move Up | up arrow,k |
| Move Down | down arrow,j |
| Next page | right arrow,l |
| Previous Page | left arrow,h |
| Search Flashcards | / |
| New Card | n |
| Edit Card | e |
| Delete Card | d |
| Undo Deleted Card | u |
Create/Edit Flashcard Form
| Action | Keybinding |
|---|---|
| Next Field / Submit | enter |
| Previous Field | tab |
| Exit Form | esc |
Flashcard
| Action | Keybinding |
|---|---|
| Exit Review | esc |
| Show Back | o |
| Flashcard needs repeated again | 1 |
| Flashcard took some thought | 2 |
| Flashcard was easy to remember | 3 |
Using go:
go install github.com/abeleinin/goki@latest
Build from source (go 1.13+)
git clone https://github.com/abeleinin/goki.git
cd goki
go build
Using the pipe operator < to feed flashcard data in as stdin. Apply
a custom name with the -n flag, or a default name will be assigned.
-t flag assigns the data seperation character, comma , separation
is the default.
goki < flashcards.csv # default sep=','
goki -t < flashcards.txt # use -t to set sep='\t'
goki -n "My Deck Name" < flashcards.csv
goki -n "My Deck Name" -t < flashcards.txt
Here is an example of data formatting. Only rows with 2 elements will be parsed, the first as the question and second as answer.
"Question","Answer"
Question Answer
Export as Notes in Plain Text (.txt) in Anki, which generates a tab \t separated text file. Run the follow on the exported file.
goki -n "My Anki Cards" -t < anki.txt
Press r on the selected deck you want to review on the home page. Or
use the command goki review <deck index> to review from the CLI.
Review from CLI:
Review from TUI:
Press N in the home page. Use e to edit the currently selected deck.
Press o to view the cards in a deck. Press n to create a new card.
Usage:
goki - tui mode
goki list - view deck index
goki review <deck index> - review deck from cli
Import:
opt: - optional flags
-n "deck name" - assigned deck name to imported cards
-t - assigns tab sep (default sep=',')
goki opt < deck.txt - import deck in using stdin
- Augmenting Long-term Memory by Michael Nielsen, Y Combinator Research, July 2018
- Created using Charm