A terminal-based spaced repetition flashcard tool.
Now supports importing decks from Anki!
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
Create:
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