MCPcopy Index your code
hub / github.com/epicweb-dev/epicshop

github.com/epicweb-dev/epicshop @v6.90.11

Chat with this repo
repository ↗ · DeepWiki ↗ · release v6.90.11 ↗ · + Follow
1,460 symbols 4,692 edges 293 files 30 documented · 2% 4 cross-repo links updated 6d agov6.90.11 · 2026-07-01★ 2471 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Epic Workshop (epicshop)

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.

Quick start (learners)

npx epicshop init

That interactive setup will:

  • Choose where to store your workshops
  • Clone and set up the epicshop-tutorial
  • Start the workshop app

Once you’ve added a workshop you can run it from inside the workshop folder:

epicshop start

Packages

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.

Documentation

The deeper docs live in /docs:

  • CLI: docs/cli.md
  • Workshop structure: docs/workshop-structure.md
  • Configuration: docs/configuration.md
  • MDX components: docs/mdx.md
  • Diff system: docs/diff.md
  • Video player: docs/video-player.md
  • Testing: docs/testing.md
  • Launch checklist: docs/launch.md
  • Deployment: docs/deployment.md
  • Development: docs/development.md
  • Debug logging: docs/debug-logging.md
  • Other features: docs/other.md

Contributing

npm run setup
npm run validate

Useful scripts:

  • npm run lint / npm run format
  • npm run test (unit) / npm run test:e2e (playwright)
  • npm run precommit to run the same checks as the Git pre-commit hook
  • npm run prepush to run the same checks as the Git pre-push hook

Git 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 workspace
  • pre-push: runs the test suite before allowing a push

Links

  • EpicWeb.dev: https://www.epicweb.dev/get-started
  • Repository: https://github.com/epicweb-dev/epicshop

License

GPL-3.0-only (see package.json).

Extension points exported contracts — how you extend this code

JestAssertion (Interface)
(no doc)
packages/workshop-utils/src/test.ts
CustomEventMap (Interface)
(no doc)
packages/workshop-app/types/dom.d.ts
Logger (Interface)
(no doc)
packages/workshop-utils/src/logger.ts
CustomEventListener (Interface)
(no doc)
packages/workshop-app/types/dom.d.ts
ProcessEnv (Interface)
(no doc)
packages/workshop-utils/src/env.server.ts
Document (Interface)
(no doc)
packages/workshop-app/types/dom.d.ts
Window (Interface)
(no doc)
packages/workshop-utils/src/env.server.ts
Element (Interface)
(no doc)
packages/workshop-app/types/dom.d.ts

Core symbols most depended-on inside this repo

cn
called by 78
packages/workshop-app/app/utils/misc.tsx
getWorkshopRoot
called by 61
packages/workshop-utils/src/apps.server.ts
getErrorMessage
called by 50
packages/workshop-utils/src/utils.ts
getEnv
called by 45
packages/workshop-utils/src/env.server.ts
ensureUndeployed
called by 40
packages/workshop-app/app/utils/misc.tsx
getWorkshopConfig
called by 36
packages/workshop-utils/src/config.server.ts
handleWorkshopDirectory
called by 33
packages/workshop-mcp/src/utils.ts
assertCanPrompt
called by 31
packages/workshop-cli/src/utils/cli-runtime.ts

Shape

Function 1,380
Method 58
Interface 12
Class 10

Languages

TypeScript100%

Modules by API surface

packages/workshop-utils/src/apps.server.ts68 symbols
packages/workshop-utils/src/offline-videos.server.ts50 symbols
packages/workshop-cli/src/commands/workshops.ts44 symbols
packages/workshop-app/app/utils/command-palette.ts41 symbols
packages/workshop-cli/src/commands/cleanup.ts35 symbols
packages/workshop-app/app/utils/misc.tsx35 symbols
packages/workshop-utils/src/epic-api.server.ts34 symbols
packages/workshop-presence/src/server.ts33 symbols
packages/workshop-app/app/routes/_app+/_layout.tsx28 symbols
packages/workshop-utils/src/db.server.ts27 symbols
packages/workshop-utils/src/cache.server.ts26 symbols
packages/workshop-utils/src/process-manager.server.ts25 symbols

For agents

$ claude mcp add epicshop \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact