{"id":49903977,"url":"https://github.com/krychu/lrn","last_synced_at":"2026-05-16T09:38:37.842Z","repository":{"id":42382938,"uuid":"426542023","full_name":"krychu/lrn","owner":"krychu","description":"Command-line tool for learning by repetition.","archived":false,"fork":false,"pushed_at":"2022-04-07T21:45:09.000Z","size":692,"stargazers_count":64,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-11T07:40:18.779Z","etag":null,"topics":["cmd","command-line","command-line-tool","flashcards","learning","memorization","repetition","spaced-repetition"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krychu.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-10T08:27:41.000Z","updated_at":"2025-08-21T08:36:43.000Z","dependencies_parsed_at":"2022-09-10T07:51:07.480Z","dependency_job_id":null,"html_url":"https://github.com/krychu/lrn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/krychu/lrn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krychu%2Flrn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krychu%2Flrn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krychu%2Flrn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krychu%2Flrn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krychu","download_url":"https://codeload.github.com/krychu/lrn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krychu%2Flrn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33097312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmd","command-line","command-line-tool","flashcards","learning","memorization","repetition","spaced-repetition"],"created_at":"2026-05-16T09:38:36.789Z","updated_at":"2026-05-16T09:38:37.835Z","avatar_url":"https://github.com/krychu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lrn\n\n\u003cimg width=\"587\" alt=\"lrn\" src=\"https://user-images.githubusercontent.com/947457/147010333-c05a6a4a-cb02-457c-a806-54512c3ef766.png\"\u003e\n\nCommand-line tool for learning by repetition. \u003cbr\u003e\n\nIn `lrn` you answer a series of self-prepared questions. You can choose between two modes. In the `match` mode you type answer to a question, which is then checked against the correct answer. In the `cards` mode you flip between question and the correct answer, and decide yourself whether you knew it or not (just like flashcards).\n\n`lrn` doesn't support spaced-repetition algorithms, schedules, categories, tags, styles etc. The final barrier between you and the thing you want to learn is removed. No last chance to procrastinate by tweaking knobs and whistles of the learning tool itself. What's left is to learn, learn, and repeat.\n\n# Install\n\n```bash\n$ npm install --global lrn\n```\n\n# Usage\n\nRun `lrn` without arguments to see usage instructions:\n\n```bash\n$ lrn\n```\n\nAs an example, to practice a deck in `match` mode:\n\n```bash\n$ lrn -m match decks/c.txt\n```\n\n# Format of a deck file\n\nQuestion and answer appear on separate lines, and are followed by a blank line:\n\n```\nQuestion 1\nAnswer 1\n\nQuestion 2\nAnswer 2\n\n...\n```\n\nThe same deck can be practiced in `match` and `cards` modes.\n\n# Working with big decks\n\nIt's recommended to keep your decks small so each can be studied in a single session. If you end up with a big deck you can generate smaller ones with:\n\n```bash\n$ split -l 72 big_deck.txt deck_\n```\n\nJust keep in mind that `-l` specifies number of lines, and each question and answer takes three lines in the deck file. If the learning material is hard, generate decks with fewer questions. If the material is easy, make the decks bigger.\n\n# Thanks\n\nThanks to [lnarmour](https://github.com/lnarmour) for donating the `lrn` package name at https://www.npmjs.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrychu%2Flrn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrychu%2Flrn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrychu%2Flrn/lists"}