The Epic Workshop app (sometimes referred to as epicshop) is the local workshop environment used for EpicWeb.dev workshops. It’s a React Router v7 app that runs on your machine and provides a guided learning experience (exercises, steps, diffs, videos, progress, etc.).
If you’re here because you want to run a workshop, you probably want the
epicshop CLI.
npx epicshop init
That interactive setup will:
epicshop-tutorialOnce you’ve added a workshop you can run it from inside the workshop folder:
epicshop start
This repository is a monorepo that publishes several npm packages:
epicshop (packages/workshop-cli): CLI for installing/running/updating
workshops.@epic-web/workshop-app (packages/workshop-app): the React Router
workshop web app used by the CLI.@epic-web/workshop-utils (packages/workshop-utils): shared utilities
used across the ecosystem.@epic-web/workshop-presence (packages/workshop-presence): presence
schema + server helpers.@epic-web/workshop-mcp (packages/workshop-mcp): MCP server for AI
assistants inside workshops.The deeper docs live in /docs:
docs/cli.mddocs/workshop-structure.mddocs/configuration.mddocs/mdx.mddocs/diff.mddocs/video-player.mddocs/testing.mddocs/launch.mddocs/deployment.mddocs/development.mddocs/debug-logging.mddocs/other.mdnpm run setup
npm run validate
Useful scripts:
npm run lint / npm run formatnpm run test (unit) / npm run test:e2e (playwright)npm run precommit to run the same checks as the Git pre-commit hooknpm run prepush to run the same checks as the Git pre-push hookGit hooks are installed automatically via npm install/npm run setup with
Husky:
pre-commit: formats staged files with Oxfmt via lint-staged, then runs
linting, type checking, and builds the workspacepre-push: runs the test suite before allowing a pushhttps://www.epicweb.dev/get-startedhttps://github.com/epicweb-dev/epicshopGPL-3.0-only (see package.json).
$ claude mcp add epicshop \
-- python -m otcore.mcp_server <graph>