Back to Directory/Developer Tools

io.github.estruyf/vscode-demo-time

Enables AI assistants to interact with Demo Time and helps build presentations and demos.

Developer ToolsTypeScriptv0.0.55

Features

  • Scripted Demos: Automate your coding demonstrations to maintain a perfect flow.​
  • Code Highlighting: Emphasize specific code segments to draw audience attention.​
  • Integrated Slides: Present slides directly within VS Code for a cohesive experience.​
  • Customizable Actions: Execute various VS Code commands and tasks as part of your demo.
  • PowerPoint Integration: Seamlessly move from slides to code using the PowerPoint integration.

Getting Started

  1. Installation: Install the extension.​
  2. Initialization: After installation, initialize the extension in your project by opening the Explorer panel in VS Code. Locate the Demo Time view and click on the "Initialize" button. This action creates a .demo folder in your workspace containing either a demo.json or demo.yaml file, depending on your chosen format.​
  3. Creating Demos: Populate the act file with your actions, defining each step and action as required.​ More information about the available actions can be found in the supported actions documentation section.

Documentation

For detailed instructions, advanced configurations, and best practices, please refer to the comprehensive documentation available at https://demotime.show. This resource offers in-depth guides and examples to help you maximize the extension's capabilities.

Example act file

Here is an example demo:

{
  "$schema": "https://demotime.show/demo-time.schema.json",
  "title": "Sample demo",
  "description": "This is a sample demo configuration to show the capabilities of the extension.",
  "demos": [
    {
      "title": "Step 1",
      "description": "This is step 1",
      "steps": [
        {
          "action": "create",
          "path": "sample.json",
          "content": "{\n  \"firstName\": \"Elio\",\n  \"lastName\": \"Struyf\"\n}"
        },
        {
          "action": "open",
          "path": "sample.json"
        },
        {
          "action": "highlight",
          "path": "sample.json",
          "position": "2:3"
        }
      ]
    },
    {
      "title": "Step 2",
      "description": "This is step 2",
      "steps": [
        {
          "action": "snippet",
          "contentPath": "./snippets/insert_and_highlight.json",
          "args": {
            "MAIN_FILE": "sample.json",
            "CONTENT_PATH": "content.txt",
            "CONTENT_POSITION": "3",
            "HIGHLIGHT_POSITION": "4"
          }
        }
      ]
    }
  ]
}

You can also explore a comprehensive example in the following GitHub Repositories:

Testing

Run linting and unit tests with:

npm run lint
npm test

Tests use Jest with built-in coverage. New tests are located in the tests/ directory.

Support

If you enjoy my work and find them useful, consider sponsor me and the ecosystem to help Open Source sustainable. Thank you!

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @demotime/mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-estruyf-vscode-demo-time": {
      "command": "npx",
      "args": [
        "-y",
        "@demotime/mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@demotime/mcpnpm

Compatible MCP Clients

io.github.estruyf/vscode-demo-time works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More