{"_id":"@aitutor/cli","_rev":"7-93c3307446941d21d262597f640eb963","name":"@aitutor/cli","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.0":{"name":"@aitutor/cli","version":"0.1.0","keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"author":{"name":"Naor Peled"},"license":"MIT","_id":"@aitutor/cli@0.1.0","maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"homepage":"https://github.com/naorpeled/aitutor","bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"bin":{"aitutor":"run.js"},"dist":{"shasum":"8fb1e534e5424dad6685df12b52eae89064ce79e","tarball":"https://registry.npmjs.org/@aitutor/cli/-/cli-0.1.0.tgz","fileCount":4,"integrity":"sha512-U6OKNN4JCBF9/6gjVmv4cDKZs0gm7Pq02j8YbqVDUZxsrLKiT+2bfiRELsN2U6qL5J87v8anmV4WqXD9pDB6pQ==","signatures":[{"sig":"MEYCIQDgXfPh5b71LcCaNnNj4EUHchluxDmeOaWw7piYDHy/ZAIhAPNG1lSAg07fVEGWUym7sV2YFSoeUt6SuI85nSBh5cs4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8300},"gitHead":"5289e768b1be3977960a3b6b66b830a0ad3a6aa2","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"naorpeled","email":"me@naor.dev"},"repository":{"url":"git+https://github.com/naorpeled/aitutor.git","type":"git"},"_npmVersion":"11.9.0","description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1773181949677_0.3056491513817561","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aitutor/cli","version":"0.1.3","keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"author":{"name":"Naor Peled"},"license":"MIT","_id":"@aitutor/cli@0.1.3","maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"homepage":"https://github.com/naorpeled/aitutor","bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"bin":{"aitutor":"run.js"},"dist":{"shasum":"e880dce623486ad5bc45865c761e26b8e246c6ec","tarball":"https://registry.npmjs.org/@aitutor/cli/-/cli-0.1.3.tgz","fileCount":5,"integrity":"sha512-OBFwK+/8qu1frG9vsfgoh1YPgB53exVBWVtjuuUM/FgS4kiB5eci4R9fyfaP9WS+HsDkjw0HpQ/YuzkJLN6sag==","signatures":[{"sig":"MEQCIG2BOHnEJXqn7uOFJvsx+XQPhG9a3ApppJRm2nHEf0GxAiAYad9HOmcJ06bGjPFBfpkOPY3nu2VB9a6KSDy8Urcgew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aitutor%2fcli@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9620},"gitHead":"442ada35a1427b756aaca6fa40e2b6387fdf2a40","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"naorpeled","email":"me@naor.dev"},"repository":{"url":"git+https://github.com/naorpeled/aitutor.git","type":"git"},"_npmVersion":"10.8.2","description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.3_1773189234081_0.9103709700131699","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aitutor/cli","version":"0.1.4","keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"author":{"name":"Naor Peled"},"license":"MIT","_id":"@aitutor/cli@0.1.4","maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"homepage":"https://github.com/naorpeled/aitutor","bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"bin":{"aitutor":"run.js"},"dist":{"shasum":"7680a206bd2cf918f3963e6b9484d87c66530b74","tarball":"https://registry.npmjs.org/@aitutor/cli/-/cli-0.1.4.tgz","fileCount":5,"integrity":"sha512-Y1BamyyUnsKe/TRfuyuyXLqXxzw32FWiXMNu/9xIMEJK30SJalYZYe4OuszYKquUI0vfl1A1R8NIw+XEO46KSA==","signatures":[{"sig":"MEQCIAJN3hsm4ozdZtBnhKvTI9DZh3uqMqEObdp+YZoCpnkSAiBz6ReubcPV4rZrQddC5bcKROpt43B0aBhuWlmReq2VRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aitutor%2fcli@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9627},"gitHead":"a835933ca52b2cf43329266cd1772ddd59a19ef9","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"naorpeled","email":"me@naor.dev"},"repository":{"url":"git+https://github.com/naorpeled/aitutor.git","type":"git"},"_npmVersion":"10.8.2","description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.4_1773228908064_0.6172603767927785","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aitutor/cli","version":"0.1.5","keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"author":{"name":"Naor Peled"},"license":"MIT","_id":"@aitutor/cli@0.1.5","maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"homepage":"https://github.com/naorpeled/aitutor","bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"bin":{"aitutor":"run.js"},"dist":{"shasum":"3dbd88ef338c437c371cd5720bd00ed5d3c59c9b","tarball":"https://registry.npmjs.org/@aitutor/cli/-/cli-0.1.5.tgz","fileCount":5,"integrity":"sha512-BlWzT5VeaYK84T0xgDm3XhAdsGbYVM5mZR44zE1H43tmKhOc8k35hKkHGqbhUlbmKHYY1eM8qILztlq9QacSjA==","signatures":[{"sig":"MEQCIFodfqEY/vK6EujSMvM9Xc0ds5QKOrhjUzm0XZg42BN/AiAkAHef/qtuM/5wJFsX5CcdYDvqsb6EBT4mcuqsIMv08w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aitutor%2fcli@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9627},"gitHead":"cd09485cd3a2e2807c332ce399b3b29fa36bc80a","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"naorpeled","email":"me@naor.dev"},"repository":{"url":"git+https://github.com/naorpeled/aitutor.git","type":"git"},"_npmVersion":"10.8.2","description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.5_1773277847762_0.8828138772872052","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aitutor/cli","version":"0.1.6","keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"author":{"name":"Naor Peled"},"license":"MIT","_id":"@aitutor/cli@0.1.6","maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"homepage":"https://github.com/naorpeled/aitutor","bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"bin":{"aitutor":"run.js"},"dist":{"shasum":"2ad8aafa1a3e1fdd82f92c5b1ec5eefaf41d84a2","tarball":"https://registry.npmjs.org/@aitutor/cli/-/cli-0.1.6.tgz","fileCount":5,"integrity":"sha512-mPND/ZhLw5mvYwKyPkZ1uMTVGwMs0rIKtItqmOAmmAyEMR8n6jEhZ2rdHXQtteOqRH/AyH8usWVgTwttzsj3yQ==","signatures":[{"sig":"MEUCIQCXs7F5vB/04MwVh7YuZYNpgVD9NaZPpwyr+DmN247eegIgcbWC4nd1kdqwWyYVSQYrTdpoZjfdErhA+ogOtOhvkLs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aitutor%2fcli@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9809},"gitHead":"491ae6477578db6b1196ec3ebe2cff0e45307505","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"naorpeled","email":"me@naor.dev"},"repository":{"url":"git+https://github.com/naorpeled/aitutor.git","type":"git"},"_npmVersion":"10.8.2","description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.6_1773278986039_0.4147838504492216","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@aitutor/cli","version":"0.1.7","keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"author":{"name":"Naor Peled"},"license":"MIT","_id":"@aitutor/cli@0.1.7","maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"homepage":"https://github.com/naorpeled/aitutor","bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"bin":{"aitutor":"run.js"},"dist":{"shasum":"7343a875c7c43bd26b49ca67f603d62d16a4c2e8","tarball":"https://registry.npmjs.org/@aitutor/cli/-/cli-0.1.7.tgz","fileCount":5,"integrity":"sha512-ZgK2lQVIaafQJ+7733mTwTHjjDa+sWSQ3lMI2iMHqRG3oDyYck9/Rl6D/YOIguMFcFhKjtqsoRX7ibFVS6zanQ==","signatures":[{"sig":"MEQCIHHDK25sPxUS83izpOztGFqszLfdh5sMWy0cYaUd30YvAiBF7z4bQ76/dHebUx7Lvtq6f7MLSRNbRLB8YQrpH4x9Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aitutor%2fcli@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9787},"gitHead":"f75185793318bf6bb4052397f2d7e07b33a1cf66","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"naorpeled","email":"me@naor.dev"},"repository":{"url":"git+https://github.com/naorpeled/aitutor.git","type":"git"},"_npmVersion":"10.8.2","description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.7_1773280127393_0.7771827204560882","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@aitutor/cli","version":"0.1.8","description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","bin":{"aitutor":"run.js"},"scripts":{"postinstall":"node install.js"},"repository":{"type":"git","url":"git+https://github.com/naorpeled/aitutor.git"},"keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"engines":{"node":">= 16"},"author":{"name":"Naor Peled"},"license":"MIT","homepage":"https://github.com/naorpeled/aitutor","publishConfig":{"access":"public","provenance":true},"_id":"@aitutor/cli@0.1.8","gitHead":"76fcd19b52f9ca0d7ddfa8d178c8437585a872f6","bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-tTlt+5n2RiRnoTSqmKI5upG6W/qp0gB2C8dqaQG9dlE8XcjpegFCiUaOWYDrtH9W8fUXfWFMryYgM/gh2QFnbA==","shasum":"6f295a1348353178f5eccdf828e923a3a3c73b41","tarball":"https://registry.npmjs.org/@aitutor/cli/-/cli-0.1.8.tgz","fileCount":5,"unpackedSize":10619,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aitutor%2fcli@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCN0u/TLca+ub6KjI4mzN3pqbZU+/eTPojAQBhhXyEMbQIgQ7HqNYKM5duqGV4bgxpbiLqoD+RtRYdvj3HzIyqGWPM="}]},"_npmUser":{"name":"naorpeled","email":"me@naor.dev"},"directories":{},"maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.8_1774109172917_0.21759961082616708"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-10T22:32:29.584Z","modified":"2026-03-21T16:06:13.389Z","0.1.0":"2026-03-10T22:32:29.887Z","0.1.3":"2026-03-11T00:33:54.234Z","0.1.4":"2026-03-11T11:35:08.268Z","0.1.5":"2026-03-12T01:10:47.921Z","0.1.6":"2026-03-12T01:29:46.192Z","0.1.7":"2026-03-12T01:48:47.555Z","0.1.8":"2026-03-21T16:06:13.060Z"},"bugs":{"url":"https://github.com/naorpeled/aitutor/issues"},"author":{"name":"Naor Peled"},"license":"MIT","homepage":"https://github.com/naorpeled/aitutor","keywords":["ai","tutorial","coding","terminal","tui","vimtutor","learning"],"repository":{"type":"git","url":"git+https://github.com/naorpeled/aitutor.git"},"description":"Interactive terminal-based tutorial for AI coding concepts — like vimtutor, but for AI-assisted development","maintainers":[{"name":"naorpeled","email":"me@naor.dev"}],"readme":"# AITutor\n\nInteractive terminal-based tutorial for AI coding concepts. Learn context windows, MCP, tools, subagents, and more through hands-on lessons with visualizations and quizzes — like vimtutor, but for AI-assisted development.\n\n![Go](https://img.shields.io/badge/Go-1.23+-00ADD8?logo=go&logoColor=white)\n\n<!-- To regenerate: brew install vhs && vhs demo.tape -->\n\n![AITutor Demo](demo.gif)\n\n## Install\n\nNo setup needed — just run:\n\n```bash\nnpx @aitutor/cli@latest\n```\n\nOr install globally:\n\n```bash\nnpm install -g @aitutor/cli@latest\naitutor\n```\n\n### Homebrew\n\n```bash\nbrew tap naorpeled/tap\nbrew install aitutor\naitutor\n```\n\n### Go\n\n```bash\ngo install github.com/naorpeled/aitutor@latest\naitutor\n```\n\n### Build from source\n\n```bash\ngit clone https://github.com/naorpeled/aitutor.git\ncd aitutor\nmake build\n./aitutor\n```\n\n## Curriculum\n\n### Beginner\n\n| # | Lesson | What You'll Learn |\n|---|--------|-------------------|\n| 1 | What is an AI Coding Assistant? | The observe-think-act agent loop |\n| 2 | Context Window | How token budgets work, MCP tool costs, compression |\n| 3 | Tools | Glob, Read, Edit, Bash — the core tool chain |\n| 4 | Prompt Engineering | Writing effective prompts for AI assistants |\n\n### Intermediate\n\n| # | Lesson | What You'll Learn |\n|---|--------|-------------------|\n| 5 | AGENTS.md / CLAUDE.md | Project-specific AI instructions and scoping |\n| 6 | Execution Modes | Plan mode vs execution mode decision-making |\n| 7 | Hooks | Lifecycle hooks and automation triggers |\n| 8 | Memory & Persistence | Session memory, persistent storage, CLAUDE.md |\n| 9 | The Agentic Loop | Read → Think → Act → Observe iteration cycle |\n| 10 | Prompting Techniques | Seven techniques for better AI-generated code |\n| 11 | AI Code Review | Bug spotting, verification strategies, common AI mistakes |\n\n### Advanced\n\n| # | Lesson | What You'll Learn |\n|---|--------|-------------------|\n| 12 | MCP (Model Context Protocol) | Client-server architecture, browsing and calling tools |\n| 13 | Skills | Lazy-loaded skill system and slash commands |\n| 14 | Subagents | Parallel agent fan-out for complex tasks |\n| 15 | Git Worktrees | Isolated workspaces for parallel development |\n| 16 | Tool Search & Deferred Tools | On-demand tool loading to save context |\n| 17 | Batch Tool Calls | Per-tool execution policies and parallel batching |\n\n## How It Works\n\nEach lesson has three phases:\n\n1. **Theory** — Scrollable content explaining the concept\n2. **Visualization** — Interactive ASCII visualization you can manipulate\n3. **Quiz** — Multiple choice, fill-in-the-blank, or ordering questions\n\nProgress saves automatically to `~/.aitutor/progress.json` and resumes across sessions.\n\n## Keys\n\n| Key | Action |\n|-----|--------|\n| `q` / `Ctrl+C` | Quit |\n| `Tab` | Toggle sidebar |\n| `n` / `p` | Next / previous lesson |\n| `→` / `Enter` | Advance to next phase |\n| `←` / `Backspace` | Go back a phase |\n| `↑/↓` or `j/k` | Scroll / navigate |\n| `Enter` / `Space` | Interact with visualizations |\n| `?` | Help overlay |\n\n## Project Structure\n\n```\naitutor/\n├── main.go                          # Entry point\n├── internal/\n│   ├── app/                         # Root TUI model, keys, messages\n│   ├── ui/                          # Header, footer, sidebar, styles, layout\n│   ├── lesson/                      # Lesson state machine, registry, renderer\n│   ├── content/\n│   │   ├── beginner/                # Lessons 1-4\n│   │   ├── intermediate/            # Lessons 5-11\n│   │   └── advanced/                # Lessons 12-17\n│   ├── viz/                         # Interactive visualizations\n│   ├── quiz/                        # Quiz system (MC, fill-blank, ordering)\n│   └── progress/                    # JSON persistence, progress bar\n└── pkg/types/                       # Shared types (Tier, LessonDef, etc.)\n```\n\n## Dependencies\n\n- [bubbletea](https://github.com/charmbracelet/bubbletea) — Terminal UI framework\n- [lipgloss](https://github.com/charmbracelet/lipgloss) — Styling\n- [bubbles](https://github.com/charmbracelet/bubbles) — Viewport, text input, key bindings\n\nNo other external dependencies.\n\n## Contributing\n\nSomething missing? Something wrong? Feel free to open an issue or submit a PR at [github.com/naorpeled/aitutor](https://github.com/naorpeled/aitutor).\n\n## Disclaimer\n\nContent is community-contributed and may be AI-assisted. While we strive for accuracy, it may contain errors. This is not a substitute for professional training. Contributions and corrections are welcome.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}