Skip to main content

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

  1. You pick a topic (bundled catalog or quest topic new).
  2. Quest selects a concept from a prerequisite graph (mastery + spaced repetition).
  3. Tutor asks one Socratic question → you answer → evaluator scores that answer (1–5).
  4. Repeat on the same concept until mastery (≥4 on three turns), then next concept.
  5. /quit pauses; run quest TOPIC again 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

Internal design notes: BRIEF · PHASES

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quest_ai-0.1.2.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quest_ai-0.1.2-py3-none-any.whl (57.5 kB view details)

Uploaded Python 3

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

Hashes for quest_ai-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a636c5de0d2a09bc497421c3ae3c05fbfb26e724b517b8f2304841809777835c
MD5 7f5331788c6178ebd4bbedf7fe2cbe2a
BLAKE2b-256 b8f3f3d1c61dc3063a15bc0ae36f99edb9bae517b602c9ef3d72ac42f574e036

See more details on using hashes here.

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

Hashes for quest_ai-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b6989775c120e32f48a890368240980882687cb51b20027b891d6e8dab639085
MD5 bc06094686594fe9f871cb1f6fbe0fa8
BLAKE2b-256 14ee8e53e5b2acf93f391235cfc9098353379d8ed7e3dda949ceceb1c677e4be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page