repeater  by shaankhosla

Terminal-based spaced repetition for enhanced memory retention

Created 2 months ago
360 stars

Top 78.3% on SourcePulse

GitHubView on GitHub
Project Summary

Summary repeater is a command-line flashcard program designed to significantly boost memory retention by integrating spaced repetition directly into terminal-based workflows. It targets users who prefer minimalist, text-first approaches, allowing flashcards to live alongside regular notes in plain Markdown files. This offers a low-friction, highly accessible alternative to feature-rich GUI applications like Anki, streamlining the process of creating and reviewing study material.

How It Works The system's core innovation lies in its Markdown-first approach: plain .md files are parsed, automatically detecting specific Q/A or cloze formats as flashcards. Progress is persistently tracked using an SQLite database, and review scheduling is managed by the state-of-the-art Free Spaced Repetition Scheduler (FSRS) algorithm, which aims for optimal recall rates (reportedly 90%). This design prioritizes simplicity and direct manipulation of study material using standard text editors and version control systems, drastically reducing the overhead and friction typically associated with dedicated SRS applications.

Quick Start & Requirements Installation is streamlined via a dedicated script for Linux/macOS (curl --proto '=https' --tlsv1.2 -LsSf https://github.com/shaankhosla/repeater/releases/latest/download/repeater-installer.sh | sh), Homebrew (brew install shaankhosla/tap/repeater), PowerShell for Windows (irm https://github.com/shaankhosla/repeater/releases/latest/download/repeater-installer.ps1 | iex), or npm (npm install @shaankhosla/repeater). Users create decks by writing flashcards in Markdown files. An optional OpenAI API key can be configured for advanced LLM-powered features. Comprehensive documentation, including installation guides, is available at https://shaankhosla.github.io/repeater/.

Highlighted Details

  • Markdown-first decks: Supports basic Q/A and cloze card formats directly within standard .md files, coexisting with regular notes.
  • Media support: Seamlessly opens linked images, audio, and video files associated with flashcards.
  • Anki import: Facilitates migration from existing Anki collections by importing .apkg decks into the project's Markdown format.
  • Stable card identity: Employs "meaning-only" hashing to ensure that minor formatting tweaks do not reset accumulated study progress.
  • Optional LLM helper: Integrates with OpenAI's API to automatically suggest cloze brackets and optionally rephrase basic questions, enhancing card creation efficiency.

Maintenance & Community No specific details regarding active maintainers, community support channels (e.g., Discord, Slack), or project roadmaps were explicitly provided in the README.

Licensing & Compatibility The README does not specify the project's open-source license or provide explicit compatibility notes relevant to commercial use or linking within closed-source projects.

Limitations & Caveats repeater intentionally offers less flexibility compared to comprehensive systems like Anki. It lacks a graphical user interface, mobile applications, a plugin ecosystem, a dedicated card editor, or built-in syncing capabilities. Its text-first, terminal-centric design and reliance on plain files may not be suitable for all user preferences or workflows.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
19
Issues (30d)
4
Star History
45 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.