# Novedu teacher guide > How teachers author Novedu activities — AI tutors, quizzes, writing tasks and coding assistants — as YAML files, and share them with students as codes. Every chapter below is linked as a Markdown file. Appending `.md` to any page URL of the HTML guide returns the same Markdown. Agents that want to work with Novedu hands-on (validate activity YAML, inspect the exact prompts an activity produces, create and manage codes) can install the `novedu-tutor-cli` skill, which teaches an agent to drive the `@novedu/cli`: see [The Novedu CLI and its AI skill](https://docs.novedu.at/40-ai-llms/01-novedu-cli.md). ## Documentation sets - [Complete guide](https://docs.novedu.at/llms-full.txt): every chapter of the teacher guide concatenated into one Markdown document. ## Introduction - [What is Novedu](https://docs.novedu.at/00-introduction/01-what-is-novedu.md): Novedu lets teachers give students AI activities they control by writing instructions, not training models. - [What is a shareable code](https://docs.novedu.at/00-introduction/02-shareable-codes.md): The short link that opens one activity for your class, how you get one, what students do with it, and which settings it carries. - [Tutors: a chat that teaches your way](https://docs.novedu.at/00-introduction/03-tutors-overview.md): What a tutor is, what students see in the chat, and how your written instructions shape the help it gives. - [Quizzes: open questions, graded by the AI](https://docs.novedu.at/00-introduction/04-quizzes-overview.md): What a quiz is, how students answer and get feedback, and how your private grading guidance shapes the verdicts. - [Writing: students draft, a coach advises](https://docs.novedu.at/00-introduction/05-writing-overview.md): What a writing activity is, how the AI coach reads but never edits the draft, and how students save their finished text. - [Coding: an AI assistant inside the student's editor](https://docs.novedu.at/00-introduction/06-coding-overview.md): What a coding activity is, how students connect their own coding tool to it, and how your rules and model choice shape the help they get. - [DEV and PROD: the two Novedu environments](https://docs.novedu.at/00-introduction/07-environments.md): Novedu runs twice, as PROD for your classes and as DEV for trying new features and activities. Which one to use when, and what happened to the prototype. ## YAML for teachers - [The idea behind YAML](https://docs.novedu.at/10-yaml-for-teachers/01-why-yaml.md): Why every Novedu activity is one plain-text YAML file you can read, copy, and adapt, with no programming needed. - [YAML 101: just enough to edit an activity](https://docs.novedu.at/10-yaml-for-teachers/02-yaml-101.md): The five YAML patterns every activity file uses, and the small mistakes that most often break one. - [JSON schemas in your editor](https://docs.novedu.at/10-yaml-for-teachers/03-json-schemas-vscode.md): Set up VS Code so it suggests fields, underlines mistakes, and shows help while you write an activity file. - [Check your activity with the CLI](https://docs.novedu.at/10-yaml-for-teachers/04-cli-validation.md): Run the Novedu CLI's validate command on an activity file, pick the right kind, and read a pass or fail result before students see it. - [See the exact prompt your activity produces](https://docs.novedu.at/10-yaml-for-teachers/05-see-the-prompt.md): Print the finished prompt an activity sends to the AI, so you can debug it, reuse it in another tool, or test it systematically. - [Test how your quiz grades](https://docs.novedu.at/10-yaml-for-teachers/06-testing-the-grader.md): Write sample answers with the marks they should get, run them through the real grader, and check both the marks and the feedback wording. - [Test how your tutor answers](https://docs.novedu.at/10-yaml-for-teachers/07-testing-a-tutor.md): Script a few conversations, let the real tutor answer the last message, and have a second AI check whether it followed your own tutor rules. ## Building activities - [Publishing your YAML file](https://docs.novedu.at/20-building-activities/01-handling-yaml.md): Make your activity file reachable for Novedu, either through a public GitHub URL or by uploading it on the Files page. - [Choosing an AI model for your activity](https://docs.novedu.at/20-building-activities/02-available-llms.md): Set the model, the provider, and the thinking effort in an activity's llm block, and override the whole block per code without editing the YAML. - [Building a tutor](https://docs.novedu.at/20-building-activities/03-tutors.md): The fields that make a tutor YAML file, what students see on the empty chat, and when reusable fragments are worth the effort. - [Building a quiz](https://docs.novedu.at/20-building-activities/04-quizzes.md): Write a quiz file with open-ended questions and private grading guides, and set shuffling, photo answers, and the follow-up discussion. - [Building a writing activity](https://docs.novedu.at/20-building-activities/05-writing.md): Write the YAML for a writing activity, describe the task, shape a coach that advises without rewriting, and add an optional starter scaffold. - [Building a coding activity](https://docs.novedu.at/20-building-activities/06-coding.md): Write a coding activity's YAML with an id, a pinned AI model, and instructions that keep the assistant within what your class has learned. - [Reusable fragments](https://docs.novedu.at/20-building-activities/07-fragments.md): Write a fragment library once and reuse it across activities, and embed plain-text files such as course material or a sample solution. - [Hosting images](https://docs.novedu.at/20-building-activities/08-hosted-images.md): Upload an image in Novedu and show it in a quiz or tutor by name, without running your own image hosting. ## Sharing activities - [Creating a shared code](https://docs.novedu.at/30-sharing-activities/01-creating-codes.md): Turn an activity into a short link for your class, with a note, an availability window, and an optional model override. - [Seeing how a code is used](https://docs.novedu.at/30-sharing-activities/02-viewing-usage.md): Check a code's own statistics page and the overall usage view to see how much students and the AI have been working. - [Time-limiting a code](https://docs.novedu.at/30-sharing-activities/03-time-limitation.md): Set an optional start and end time so a code only works during your lesson or until a deadline. - [Anonymous or per-user: what an activity records](https://docs.novedu.at/30-sharing-activities/04-anonymous-vs-per-user.md): What you can see in each mode, the default for each activity kind, and why the choice is fixed when a code is created. - [Deleting a code](https://docs.novedu.at/30-sharing-activities/05-deleting-codes.md): Remove codes you no longer need, and know that a code's conversations, saved texts, and statistics are deleted with it, permanently. - [Connecting a coding activity to an outside tool](https://docs.novedu.at/30-sharing-activities/06-coding-special-case.md): How a student picks up a personal API key for a coding code, the attribution notice that comes with it, and what you see as the teacher. - [Reviewing student reports](https://docs.novedu.at/30-sharing-activities/07-student-reports.md): Let students flag notable AI answers, then work through what comes in on the Reports page. - [Many activities at once: the activity registry](https://docs.novedu.at/30-sharing-activities/08-activity-registry.md): Keep every activity of a course in one registry file and let the CLI mint and refresh all its codes in a single command. ## Working with AI agents - [The Novedu CLI and its AI skill](https://docs.novedu.at/40-ai-llms/01-novedu-cli.md): What the Novedu command-line companion does for you, and how to install and update the skill that lets your AI assistant use it. - [Let your AI assistant read this guide](https://docs.novedu.at/40-ai-llms/02-llms-txt.md): Where the machine-readable form of the teacher guide lives, and how to point an AI assistant at it.