Learn TypeScript the way it actually sticks — Handbook-aligned practice, a local progress tracker, and an AI mentor that refuses to spoil the answer.
English · Русский · Getting Started · Comparison · Launch posts
AI can autocomplete TypeScript.
This repo teaches you to understand it.
Most “learn TypeScript with AI” chats end the same way: a perfect snippet, a dopamine hit, and zero retention.
TS Learn Path turns the official TypeScript Handbook + Reference into a cloneable practice system:
- one folder per topic
- real
exercises.tswork (not quizzes) - a progress tracker you can commit to git
- mentor rules for Cursor, Claude, Codex, Gemini, Copilot, Windsurf
Star it if you want learning tooling that respects the struggle.
Live demo:
https://apervashov.github.io/typescript-learning-assistant/
Prefer a clean fork? Use Use this template.
| Usual approach | What goes wrong |
|---|---|
| Watch a course | Passive — concepts don’t survive the next PR |
| Paste into ChatGPT / Copilot | Answers arrive before understanding |
| Random type puzzles | Fun, but not mapped to day-to-day app TypeScript |
| Handbook only | Excellent theory, weak deliberate practice loop |
| TS Learn Path | |
|---|---|
| Curriculum | 1:1 with Handbook + Reference sections |
| Practice | Real TypeScript files in your IDE |
| Progress | Local tracker + git-friendly state file |
| AI | Mentor mode (hints, ≥3 attempts, real use cases) |
| Cost | Free, MIT, no account |
| Offline | Works after npm install |
See the full matrix in docs/COMPARISON.md.
git clone https://github.com/apervashov/typescript-learning-assistant.git
cd typescript-learning-assistant
npm install
npm startOpen http://localhost:4173/ts-tracker.html
Then:
npm run typecheckFull walkthrough: docs/GETTING_STARTED.md
1. Start tracker → npm start
2. Connect folder once → Chrome / Edge → “Connect tracker folder”
3. Pick 03) Narrowing → read the official docs link
4. Edit exercises.ts → attempt a discriminated union handler
5. Write NOTES.md → explain why typeof fails for objects
6. Ask your AI mentor → “hint only, review my attempt”
7. Mark Done → commit progress if you want history
I’m on 07) Generics. Review my attempt and hint — don’t give the solution.
Explain this error with a real API payload example.
Ask me questions until I can explain keyof without reading notes.
Solve all exercises.
Give me the final code.
- 28 lessons across Handbook + Reference
- Progress tracker with RU/EN UI, status, and notes
- Git-friendly state in
ts-tracker-state.js - AI mentor pack already wired for major AI IDEs
- Strict TypeScript practice via
npm run typecheck - Beginner → advanced path without abandoning official docs
Tracker UI → ts-tracker-state.js → git history
↓
Lesson folders (exercises.ts + NOTES.md)
↓
Official Handbook / Reference
↓
AGENTS.md mentor rules (mirrored per AI tool)
Details: docs/ARCHITECTURE.md
| Folder | Topic |
|---|---|
01) The Basics |
The Basics |
02) Everyday Types |
Everyday Types |
03) Narrowing |
Narrowing |
04) More on Functions |
More on Functions |
05) Object Types |
Object Types |
06) Creating Types from Types |
Creating Types from Types |
07) Generics |
Generics |
08) Keyof Type Operator |
Keyof |
09) Typeof Type Operator |
Typeof |
10) Indexed Access Types |
Indexed Access Types |
11) Conditional Types |
Conditional Types |
11.1) Inferring Within Conditional Types |
Infer |
12) Mapped Types |
Mapped Types |
13) Template Literal Types |
Template Literal Types |
14) Classes |
Classes |
15) Modules |
Modules |
| Folder | Topic |
|---|---|
R1) Utility Types |
Utility Types |
R2) Decorators |
Decorators |
R3) Declaration Merging |
Declaration Merging |
R4) Enums |
Enums |
R5) Iterators and Generators |
Iterators and Generators |
R6) JSX |
JSX |
R7) Mixins |
Mixins |
R8) Namespaces |
Namespaces |
R9) Symbols |
Symbols |
R10) Triple-Slash Directives |
Triple-Slash Directives |
R11) Type Compatibility |
Type Compatibility |
R12) Variable Declarations |
Variable Declarations |
Do I need an AI IDE?
No. The exercises and tracker work alone. AI mentor rules are an accelerator.
Will this give me solution files?
No — and PRs that dump finished answers will be rejected. Learning is the product.
Chrome/Edge only for auto-save?
Folder binding uses the File System Access API. Other browsers can still use the tracker; persistence is manual / localStorage depending on flow.
Is this a replacement for type-challenges?
No. type-challenges is excellent for type-level puzzles. This repo optimizes for Handbook-ordered, app-shaped practice plus mentor behaviour.
Can my team fork this for onboarding?
Yes. That’s a first-class use case.
- Public GitHub Pages demo of the tracker
- Screenshot / GIF assets in README
- Difficulty labels + estimated time per lesson
- Optional unit-test harness for selected exercises
- “Interview warm-up” path (subset of lessons)
- Shareable progress badge / markdown summary export
- More bilingual exercise prompts where it helps newcomers
Read CONTRIBUTING.md and CODE_OF_CONDUCT.md.
Small PRs that reduce beginner friction are especially welcome.
AI умеет дописывать TypeScript.
Этот репозиторий учит его понимать.
TS Learn Path — практика по официальному Handbook / Reference:
- папка на каждую тему
- живые
exercises.ts, а не только теория - трекер прогресса, который можно коммитить
- правила наставника для Cursor, Claude, Codex, Gemini, Copilot, Windsurf
Если хочешь tooling, который не убивает обучение «готовым ответом» — поставь ⭐.
git clone https://github.com/apervashov/typescript-learning-assistant.git
cd typescript-learning-assistant
npm install
npm startОткрой http://localhost:4173/ts-tracker.html
Подробнее: docs/GETTING_STARTED.md
Без правил агент оптимизирует завершение задачи.
С правилами из этого репо он оптимизирует понимание: подсказки, попытки, точный словарь, реальные кейсы.
Трекер → официальная дока → exercises.ts + NOTES.md → typecheck → статус Done

