demo-setup

Configure a project's /demo launch command and VM Dockerfile by inspecting the repository.

Updated Sep 5, 2025
One-click install
npx skills add https://github.com/MrS-E/config --skill demo-setup-mrs-e
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: demo-setup
Source: https://github.com/MrS-E/config/tree/main/junie/versions/2045.46/skills/demo-setup
Command: npx skills add https://github.com/MrS-E/config --skill demo-setup-mrs-e

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When a project has no demo configuration, the /demo command seeds starter files and aborts, leaving the user to figure out the correct launch command, port, and VM image setup. This Skill inspects the repository, proposes a candidate launch command, confirms it with the user, and then fills in .junie/demo.md and .junie/vms/<vm>/Dockerfile correctly. ## Core Features & Use Cases - Repository inspection: Detects the dev/start command, runtime, package manager, and port from manifests like package.json, lockfiles, pyproject.toml, go.mod, or Gemfile. - Confirmation-first workflow: Never writes files before the user approves the proposed launch command, preventing wrong guesses from being committed. - Dockerfile derivation and verification: Extends the official demo base image with only the layers the confirmed command needs, then builds the image with BuildKit to catch errors early. - Use Case: After running /demo on a Nuxt project for the first time and seeing it abort, ask the agent to finish the setup; it detects pnpm dev, confirms port 3000 with you, writes demo.md, and validates the Dockerfile build. ## Quick Start Ask the agent to set up and finish the /demo configuration for this project by inspecting the repo and confirming the launch command with you.

Frequently Asked Questions about demo-setup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up /demo for my project after the first run aborted?

Ask the agent to finish the /demo setup. It inspects your repo for the dev/start command, runtime, and port, proposes a candidate launch command for your confirmation, then writes .junie/demo.md and the VM Dockerfile only after you approve.

How does the skill determine the launch command for demo.md?

It reads scripts in package.json (dev, start, preview) or the equivalent for your stack, identifies the package manager from lockfiles like pnpm-lock.yaml or requirements.txt, and infers the port from the script or framework defaults. It treats suspicious scripts like start-*.sh skeptically and always confirms with you first.

Can I customize the Dockerfile used by the /demo VM?

Yes, but only by adding layers on top of the official demo base image, which already ships Chromium, Node.js, xterm, a window manager, and an ffmpeg recorder. Never replace the FROM line; add only runtimes or packages the confirmed launch command actually needs.

What happens if the Dockerfile build fails during verification?

The skill builds the image with DOCKER_BUILDKIT=1 only if layers were added. If the build fails, it applies at most one or two confident fixes, then stops and shows you the error rather than guessing repeatedly. If docker is unavailable or the base image cannot be pulled, it skips verification and tells you why.

When should I not use this demo setup skill?

Do not use it when /demo is already configured and you only want to run it, or when editing application code unrelated to demo setup. It also cannot support apps requiring services the VM cannot provide, such as a Docker daemon or multi-service orchestrators.