A terminal adventure for young learners — phonics, math, science, kindness, geography, history, art, and coding.
Project description
The Young Lady's Illustrated Primer
* . . * . * . * . * . . * .
____________ ________ ___ ___________
| ___ \ ___ \_ _| \/ || ___| ___ \
| |_/ / |_/ / | | | . . || |__ | |_/ /
| __/| / | | | |\/| || __|| /
| | | |\ \ _| |_| | | || |___| |\ \
\_| \_| \_|\___/\_| |_/\____/\_| \_|
* . . * . * . * . * . . * .
"The book would be her guardian, her teacher, and her best friend. It would be everything she needed. Whenever she needed it." — Neal Stephenson, The Diamond Age
The cover is midnight blue, with tiny gold stars that sparkle when you tilt it. When you open it, a small glowing creature floats up from between the pages.
"Hello," it says. "My name is Puck. And this book — this book — is for you."
A terminal adventure for young learners. Nine chapters. One companion. A whole world to explore.
Tags: educational game for kids, learning game, children's educational app, learn to read, math for kids, coding for kids, history for kids, terminal game for children, Neal Stephenson Diamond Age
What's Inside
| Chapter | World | What You Learn | Ages |
|---|---|---|---|
| 1 | The Letter Garden | Phonics, vowels, blends, sight words, reading sentences | 5-7 |
| 2 | The Counting Kingdom | Numbers, addition, subtraction, shapes, time, money | 6-8 |
| 3 | The World of Wondering | Living things, weather, the body, simple machines, earth & space | 7-10 |
| 4 | The Art of Being Kind | Feelings, friendship, listening, handling hard emotions | 6+ |
| 5 | The Atlas of Wonders | Continents, oceans, capitals, maps, landforms, world wonders | 7-10 |
| 6 | The Math Academy | Multiplication, division, geometry, decimals, negative numbers | 8-11 |
| 7 | The Time Traveler's Primer | Ancient civilizations, explorers, inventors, wars, world leaders | 8-11 |
| 8 | The Art Studio | Colors, shapes, famous artwork, art elements, famous artists | 7-11 |
| 9 | The Code Garden | What coding is, loops, conditionals, variables, functions | 8-12 |
600+ challenges across 81+ zones. Every challenge is multiple-choice or fill-in-the-blank, designed for short focused sessions. Progress saves automatically.
Finding Your Starting Place
When you begin a new campaign, Puck will ask you a few short questions to find the best place to start. There are no wrong answers — just a gentle way to begin where things are interesting, not too easy and not too hard.
You can also:
- Start at the beginning (Chapter 1: The Letter Garden)
- Jump to any chapter directly from the Chapter Map
- Play individual chapters as standalone adventures
Install
The easy way (recommended)
Mac / Linux:
pip install primer-quest
Windows — open PowerShell and run:
pip install primer-quest
If
primeris not found after install: Open a new terminal window. If still missing, runpython -m primer_game.mainas a fallback.
Best experience on Windows: Use Windows Terminal (free, Microsoft Store). The default
cmd.exemay display characters incorrectly.
One-liner installer (no pip? start here)
Mac / Linux:
curl -sSL https://raw.githubusercontent.com/thorski1/primer/main/install.sh | bash
Windows (PowerShell):
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/thorski1/primer/main/install.ps1 | iex"
Then open a new terminal and run primer.
Auto-updates
The Primer checks for updates automatically at startup. When Puck has something new for you, you'll see:
╭──────────────────────────────╮
│ SOFTWARE UPDATE │
│ │
│ Update available! │
│ Installed : v1.0.0 │
│ Latest : v1.1.0 │
╰──────────────────────────────╯
Install update now? [y/N]
Type y and the game updates and restarts itself.
Running
| Command | Description |
|---|---|
primer |
Full 7-chapter story with Puck — start here |
letters-quest |
The Letter Garden — standalone |
numbers-quest |
The Counting Kingdom — standalone |
science-quest |
The World of Wondering — standalone |
kindness-quest |
The Art of Being Kind — standalone |
geography-quest |
The Atlas of Wonders — standalone |
math-advanced-quest |
The Math Academy — standalone |
coding-basics-quest |
The Code Garden — standalone |
Gameplay
Puck introduces each topic through a short story, then presents challenges:
- Multiple Choice — read the question, type A / B / C / D
- Fill in the Blank — type the missing word or number
Puck: [h] Hint [b] Bookmark [?] Help [s] Skip [q] Menu
Puck offers hints when you're stuck. Every wrong answer is just a step toward the right one.
Features
| Feature | Description |
|---|---|
| Daily Challenge | One special challenge each day with bonus XP |
| Timed Drill | 5/10/15-minute blitz — great for revision before school |
| Bookmarks | Save any challenge to revisit later |
| Zone Preview | See what's coming before entering a zone |
| Speed Records | Personal bests tracked per challenge |
| Star Ratings | Zones rated 1-3 stars based on how you did |
| Completion Certificate | Printed on campaign completion |
| Level Titles | Seedling -> Sprout -> Bloom -> Star -> Wonder -> Sage |
For Parents
- Each zone takes 5-15 minutes — designed for short, focused sessions
- Progress saves automatically between sessions
- The game works independently or as a shared reading experience — especially for younger children
- A placement quiz at the start finds the right chapter for each child
- All content is age-appropriate and celebrates curiosity, kindness, and growth
- The Primer is designed for girls but welcomes every curious reader
Requirements
- Python 3.10+
- A terminal (Terminal.app, iTerm2, Windows Terminal)
- 80+ column width recommended
Built On
Quest Engine — a pluggable terminal RPG framework.
Inspired by the Primer from Neal Stephenson's The Diamond Age.
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 primer_quest-1.5.0.tar.gz.
File metadata
- Download URL: primer_quest-1.5.0.tar.gz
- Upload date:
- Size: 175.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
665b14cf54ca6de2dcb8b29e966357cec9196ecd33aa8d20375f8426b9128b36
|
|
| MD5 |
033574d18e2e873410c1b6e713a1b38b
|
|
| BLAKE2b-256 |
0104b4d9eb5b553e810224b3f308bc2f4ebfab3a3c16f4b72578a9e4afdc69ae
|
Provenance
The following attestation bundles were made for primer_quest-1.5.0.tar.gz:
Publisher:
publish.yml on thorski1/primer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
primer_quest-1.5.0.tar.gz -
Subject digest:
665b14cf54ca6de2dcb8b29e966357cec9196ecd33aa8d20375f8426b9128b36 - Sigstore transparency entry: 1186404423
- Sigstore integration time:
-
Permalink:
thorski1/primer@4e3ac7f7914a3eb08ddc538b9c669abdb393536c -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/thorski1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4e3ac7f7914a3eb08ddc538b9c669abdb393536c -
Trigger Event:
push
-
Statement type:
File details
Details for the file primer_quest-1.5.0-py3-none-any.whl.
File metadata
- Download URL: primer_quest-1.5.0-py3-none-any.whl
- Upload date:
- Size: 187.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c117c90731ad62cabf822bb971dbff6d964150457682782b5fb5029a99b4bdd7
|
|
| MD5 |
2fff2a07e9a63e4516627d43886eae78
|
|
| BLAKE2b-256 |
5a7eeead6de521e02f962b23a8d7bc59c5e382b73f36551ededf198e6003d20d
|
Provenance
The following attestation bundles were made for primer_quest-1.5.0-py3-none-any.whl:
Publisher:
publish.yml on thorski1/primer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
primer_quest-1.5.0-py3-none-any.whl -
Subject digest:
c117c90731ad62cabf822bb971dbff6d964150457682782b5fb5029a99b4bdd7 - Sigstore transparency entry: 1186404428
- Sigstore integration time:
-
Permalink:
thorski1/primer@4e3ac7f7914a3eb08ddc538b9c669abdb393536c -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/thorski1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4e3ac7f7914a3eb08ddc538b9c669abdb393536c -
Trigger Event:
push
-
Statement type: