Quest — Socratic AI tutor that never gives the answer, only asks the next better question.
Project description
Quest
Socratic AI tutor — no explanations, only the next better question. Separate evaluator, concept DAGs, mastery tracking, resumable sessions.
Requires Python 3.11+ · Author: yuvrxj
pip install -U quest-ai
mkdir -p ~/.quest
echo 'ANTHROPIC_API_KEY=sk-ant-...' >> ~/.quest/.env
quest
Quick start
| Command | What it does |
|---|---|
quest |
Topic catalog → pick or search → session |
quest TOPIC |
Start or resume a topic |
quest TOPIC --fresh |
New session, replay full concept DAG |
quest topic new "your goal" |
Generate a concept map (LLM) |
quest mastery |
Mastery scores |
quest reset |
Wipe progress (topic YAMLs stay) |
At the catalog prompt: 3, rag_pipeline, rag_pipeline --fresh, new react hooks, help, quit.
Installed data lives in ~/.quest/ (quest.db, checkpoints, custom topics). In a git checkout, data stays beside cli.py.
How sessions work
- You pick a topic (bundled catalog or
quest topic new). - Quest selects a concept from a prerequisite graph (mastery + spaced repetition).
- Tutor asks one Socratic question → you answer → evaluator scores that answer (1–5).
- Repeat on the same concept until mastery (≥4 on three turns), then next concept.
/quitpauses; runquest TOPICagain to resume.
Memory: the tutor sees your full Q↔A on the current concept. The evaluator scores only the latest question and answer (/last in-session for detail).
vs “just use ChatGPT”
Quest is for learning: the tutor does not teach; a separate model scores you; topics are structured graphs; progress persists across sessions.
Links (GitHub)
Use these absolute URLs — PyPI cannot serve files under docs/ on the package page.
Development
git clone https://github.com/preoracle/quest.git
cd quest
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
pytest
python cli.py
Optional: QUEST_WIZARD=1 quest for arrow-key menus instead of the Rich catalog.
Publish to PyPI (token in .env as PYPI_TOKEN or exported in shell):
chmod +x scripts/publish_pypi.sh
./scripts/publish_pypi.sh # build + upload
./scripts/publish_pypi.sh --check # build + validate only
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quest_ai-0.1.2.tar.gz.
File metadata
- Download URL: quest_ai-0.1.2.tar.gz
- Upload date:
- Size: 53.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a636c5de0d2a09bc497421c3ae3c05fbfb26e724b517b8f2304841809777835c
|
|
| MD5 |
7f5331788c6178ebd4bbedf7fe2cbe2a
|
|
| BLAKE2b-256 |
b8f3f3d1c61dc3063a15bc0ae36f99edb9bae517b602c9ef3d72ac42f574e036
|
File details
Details for the file quest_ai-0.1.2-py3-none-any.whl.
File metadata
- Download URL: quest_ai-0.1.2-py3-none-any.whl
- Upload date:
- Size: 57.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6989775c120e32f48a890368240980882687cb51b20027b891d6e8dab639085
|
|
| MD5 |
bc06094686594fe9f871cb1f6fbe0fa8
|
|
| BLAKE2b-256 |
14ee8e53e5b2acf93f391235cfc9098353379d8ed7e3dda949ceceb1c677e4be
|