Skip to main content

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.

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

Metadata

Release files for quest-ai 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quest-ai 0.1.2
File Size Uploaded
quest_ai-0.1.2.tar.gz 53.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quest-ai 0.1.2
File Interpreter ABI Platform
quest_ai-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 111.4 kB

Release files / quest_ai-0.1.2.tar.gz

Download URL quest_ai-0.1.2.tar.gz
Size 53.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a636c5de0d2a09bc497421c3ae3c05fbfb26e724b517b8f2304841809777835c
BLAKE2b-256 checksum
How to use checksums
b8f3f3d1c61dc3063a15bc0ae36f99edb9bae517b602c9ef3d72ac42f574e036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / quest_ai-0.1.2-py3-none-any.whl

Download URL quest_ai-0.1.2-py3-none-any.whl
Size 57.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6989775c120e32f48a890368240980882687cb51b20027b891d6e8dab639085
BLAKE2b-256 checksum
How to use checksums
14ee8e53e5b2acf93f391235cfc9098353379d8ed7e3dda949ceceb1c677e4be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page