An AI-powered CLI learning assistant that helps you learn, retain, and test your knowledge using Claude.
- Ask Mode: Interactive Q&A with Claude, automatically organized by topic
- Quiz Mode: Test your knowledge with AI-generated open-ended questions
- Smart Topic Detection: Automatically categorizes your questions or asks for clarification
- Adaptive Feedback: Get hints and detailed critiques on your quiz answers
- Progress Tracking: (Coming soon) Track your learning progress over time
- Clone the repository
- Install dependencies:
bun install- Link the CLI globally:
bun link- Set your Anthropic API key:
cp .env.example .env
# Edit .env and add your API keyAsk questions and learn interactively. Your conversations are automatically saved and organized by topic.
lllm askExample session:
> What is a channel in Go?
[Topic: golang]
[Claude's response with streaming...]
> What does panic mean in Go?
[Topic: golang]
[Claude's response...]
Test your knowledge on topics you've learned about.
lllm quizFeatures:
- Choose specific topics or quiz on all topics
- Open-ended questions with difficulty ratings
- Up to 3 attempts per question with hints
- Detailed feedback on your answers
View your current configuration:
lllm configYour API key is stored in a .env file in the project directory:
- Copy the example:
cp .env.example .env - Edit
.envand add your Anthropic API key - Get your API key from: https://console.anthropic.com/settings/keys
The .env file is gitignored and will not be committed to version control.
-
Learning: When you ask questions in ask mode, Claude responds and saves the Q&A to topic-specific markdown files in
src/.storage/.topics/ -
Topic Detection: The system intelligently determines which topic your question belongs to. If ambiguous, it will ask for clarification.
-
Quizzing: Quiz mode reads your saved learning materials and generates contextual questions to test your understanding.
-
Adaptive Feedback: When answering quiz questions, you get:
- Immediate feedback on correctness
- Hints if your answer is incomplete (up to 3 attempts)
- Detailed explanations of what you missed
lllm/
├── .env.example # Example environment variables
├── .gitignore # Git ignore rules
├── bun.lock # Bun lock file
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── README.md # Project documentation
├── LICENSE # MIT license
└── src/
├── commands/
│ ├── ask.ts # Ask mode implementation
│ ├── quiz.ts # Quiz mode implementation
│ └── config.ts # Configuration command
├── lib/
│ ├── claude.ts # Claude API wrapper
│ ├── topics.ts # Topic management & storage
│ └── quiz-generator.ts # Quiz generation logic
├── .storage/ # (gitignored - created on first run)
│ ├── .topics/ # Markdown files per topic
│ ├── .metadata.json # Topic metadata
│ └── progress.json # Quiz progress tracking
└── index.ts # CLI entry point
- Full progress tracking implementation
- Spaced repetition reminders
- Export to Anki flashcards
- Web interface
- Multiple AI model support
- Collaborative learning mode
Run without linking:
bun run src/index.ts <command>Build for distribution:
bun build- Runtime: Bun
- CLI Framework: Commander.js
- AI: Anthropic Claude API (Sonnet 4.5)
- Language: TypeScript
MIT
Built with Claude Code 🤖