Skip to content

gregfromstl/keiko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keiko 稽古

A tool for practice.

Keiko is a simple spaced repetition CLI. It prioritizes practical effectiveness over features.

Installation

Currently, Keiko is only available via this repo. This means having Rust installed on your local machine is a prerequisite for installation:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Clone the repo:

git clone https://github.com/gregfromstl/keiko.git ~/keiko

Build and alias the project:

cd ~/keiko && cargo build -r
echo "alias keiko='~/code/keiko/target/release/keiko'" >> ~/.zshrc && source ~/.zshrc

Warning

Replace ~/.zshrc with ~/.bashrc if you are using bash rather than zsh.

Usage

Add a question with: keiko add or keiko add "question" "answer"

Pracice with: keiko or keiko practice

Overview

All items are stored in a SQLite table with the following structure:

{
  "id": 1,
  "question": "How would you center a header in markdown?",
  "answer": "<h1 align='center'>Title</h1>",
}

Notice the question could have a variety of answers. Answers are self-assessed to support more open-ended questions like this.

During practice, these atoms are shown to the user in primary order of how recently they were incorrect (oldest first) and secondary order of time since last practiced times 2 to the power of the number of consecutive correct responses. This is similar to spaced repetition but without a prescriptive time between practicing or concept of practice being "due". You are never done practicing and may do so as much or as little as your time allows.

Tip

As part of Keiko's philosophy there's no tagging or categories. What needs to be practiced will surface naturally and what does not will wait until it does.

When an attempt is recorded based on user input, it's stored as follows:

{
  "atom": 1,
  "time": "2024-04-12 11:37:46",
  "response": "<h2 align='center'>Title</h2>",
  "correct": 1
}

About

A tool for practice.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages