Workshop App Guide

This guide will help you get the most out of the Epic Workshop App. Whether you're just getting started or need help troubleshooting, you'll find useful information here.

๐ŸŽ“ New to the Workshop App?

We highly recommend going through the official tutorial to learn all the features the workshop app has to offer:

npx epicshop add epicshop-tutorial

This will add the tutorial workshop to your setup so you can learn at your own pace.

Workshop Structure

Each workshop is a standalone project with a consistent structure:

  • exercises/ โ€“ Contains the "problem" and "solution" versions of each step. Treat this as a reference for after the workshop.
  • playground/ โ€“ This is where your work takes place. We recommend opening this directory as its own editor instance for efficient file searching.

The Lesson Page

When you click into a lesson, the app displays the video along with written content, code snippets, and other useful information. To the right is a pane with tabs:

  • Playground โ€“ Where you'll spend most of your time. You can interact with the app here or open it in a dedicated tab.
  • Problem โ€“ The starting point of the exercise.
  • Solution โ€“ The completed exercise state.
  • Diff โ€“ Compare your current version against the finished state. Use this if you get stuck, but try to avoid it if possible.
  • Tests โ€“ If the exercise includes tests, they'll appear here to verify your work.

Setting the Playground

If you navigate to a different exercise than what's currently loaded, a red "Set to Playground" link will appear. Clicking this syncs the playground for the appropriate exercise.

Important: Always have your Playground set to the lesson you're working on! This is not automated because you might want to refer back to previous exercises without losing your current work.

The Diff Tab

The diff tab helps you get unstuck when you're totally stuck. It shows the difference between your playground and the solution. This is especially useful for catching typos or small mistakes.

  • + lines (green) show code that needs to be added
  • - lines (red) show code that needs to be removed
  • Unchanged lines provide context around the changes

Tip: Try to avoid using the diff tab until you've made a solid attempt at the exercise. The learning happens in the struggle!

Tests

Some exercises include tests to verify your work. If available, they appear in the Tests tab. Tests can run in two ways:

  • Script-based: A button runs the test script and streams the output
  • Browser-based: Test files are compiled and run directly in the browser

Look for ๐Ÿšจ Alfred the Alert in test failures for helpful explanations about what went wrong.

Keyboard Shortcuts

When the workshop server is running in your terminal, you can use these keyboard shortcuts:

  • u โ€“ Check for and apply updates to the workshop
  • d โ€“ Dismiss update notifications

The server automatically restarts after updates are applied.

CLI Commands

The epicshop CLI provides useful commands for managing your workshop:

epicshop start

Start the workshop (or just run npm start)

epicshop playground set

Set the playground to the next incomplete step

epicshop diff

Show the diff between your playground and the solution in the terminal

epicshop progress

View your progress through the workshop

epicshop exercises

List all exercises with completion status

Run epicshop --help to see all available commands.

AI Assistant (MCP)

If you use an AI assistant that supports MCP (Model Context Protocol), you can install the Epic Workshop MCP server to enhance your learning experience.

What it provides

  • Exercise context: Your AI can understand what you're working on and provide relevant help
  • Progress tracking: Mark lessons complete directly through your AI
  • Diff viewing: Ask your AI to show you what changes are needed
  • File opening: Have your AI open the relevant files in your editor
  • Quiz mode: Ask your AI to quiz you on workshop topics

Installation

Add the following to your AI assistant's MCP configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "epicshop": {
      "command": "npx",
      "args": ["-y", "@epic-web/workshop-mcp"]
    }
  }
}

Make sure to run your AI assistant from within the workshop directory so the MCP server can find the right files.

Emoji Key

Each exercise has comments with helpful emoji characters:

  • ๐Ÿ‘จโ€๐Ÿ’ผ Peter the Product Manager โ€“ Helps you know what users want
  • ๐Ÿงโ€โ™€๏ธ Kellie the Co-worker โ€“ Your co-worker who sometimes does work ahead of your exercises
  • ๐Ÿจ Kody the Koala โ€“ Tells you when there's something specific to do
  • ๐Ÿฆบ Lily the Life Jacket โ€“ Helps with TypeScript-specific parts
  • ๐Ÿ’ฐ Marty the Money Bag โ€“ Gives specific tips and sometimes code
  • ๐Ÿ“ Nancy the Notepad โ€“ Encourages you to take notes
  • ๐Ÿฆ‰ Olivia the Owl โ€“ Gives useful tidbits and best practices
  • ๐Ÿ“œ Dominic the Document โ€“ Links to useful documentation
  • ๐Ÿ’ฃ Barry the Bomb โ€“ Indicates code to delete
  • ๐Ÿ’ช Matthew the Muscle โ€“ Indicates you're working with an exercise
  • ๐Ÿ Chuck the Checkered Flag โ€“ Indicates a final step
  • ๐Ÿšจ Alfred the Alert โ€“ Shows up in test failures with explanations

Need More Help?

Visit our Support page for additional help options, including Discord access and how to report issues.