using-git-worktrees
OBobra/superpowers298k2,631 new stars in the last 7 days
Deploy LiveCodes to static servers, GitHub Pages, or Docker. Configure SDK appUrl, BASE_URL for subdirectories, and handle share/broadcast services. Load this skill when self-hosting LiveCodes or using a custom app URL.
This skill requires sdk-embedding. Read it first for foundational concepts.
LiveCodes runs entirely client-side. Host it on any static file server or CDN.
build folder# Files to serve
build/
├── index.html
├── livecodes/
│ ├── assets/
│ └── ...
└── docs/ (optional)
git clone https://github.com/live-codes/livecodes.git
cd livecodes
npm install
npm run build # Build to build/ directory
npm run serve # Local preview at http://localhost:8080
npm run deploy # Build + deploy to GitHub Pages
# Setup
npm install
npm run deploy # Deploys to gh-pages branch
Configure CNAME file for custom domain if needed.
docker-compose up -d
Docker setup includes:
# docker-compose.yml
# See: docs/docs/advanced/docker.mdx for customization
npm run build, serve build/npm run build, serve build/firebase init hosting, deploy build/import { createPlayground } from 'livecodes';
createPlayground('#container', {
appUrl: 'https://playground.example.com',
template: 'react',
});
The appUrl tells the SDK where to load the playground iframe from.
By default, LiveCodes expects to be at the root of a domain. For subdirectories:
# Host at https://example.com/playground/
npx cross-env BASE_URL="/playground/" npm run build
This sets <base href="/playground/"> and adjusts all asset paths.
To link documentation to livecodes.io instead of building locally:
npx cross-env DOCS_BASE_URL=null npm run build:app
Docs links will point to https://livecodes.io/docs/ instead of local docs.
Self-hosted apps use fallback services:
| Service | Default Hosted | Self-Hosted |
|---|---|---|
| Share (short URLs) | dpaste.com (365 days) | dpaste.com or Docker setup |
| Broadcast | LiveCodes server | Docker setup required |
| GitHub Integration | LiveCodes OAuth | Your GitHub App |
Docker setup provides all services:
docker-compose up -d
# Serves at https://livecodes.localhost
See docs/docs/advanced/docker.mdx for configuration.
Use versioned URLs to prevent breaking changes:
// Version-specific URL (never changes)
createPlayground('#container', {
appUrl: 'https://v48.livecodes.io',
template: 'react',
});
// Pin SDK version
import { createPlayground } from '[email protected]';
// or
import { createPlayground } from 'https://cdn.jsdelivr.net/npm/[email protected]';
Permanent URLs format: https://v{VERSION}.livecodes.io
Wrong:
# Build default, serve at /playground/
npm run build
# Results in broken asset paths
Correct:
# Set BASE_URL for subdirectory
npx cross-env BASE_URL="/playground/" npm run build
Without BASE_URL, the app expects to be at root (/) and asset paths will be wrong.
Source: docs/docs/features/self-hosting.mdx — Custom Build section
// dpaste.com deletes share URLs after 365 days
// For permanent self-hosted share:
// 1. Use Docker setup for own share service
// 2. Or use permanent URL pattern for embeds
The default dpaste.com service deletes shared URLs after one year. For permanent sharing, use Docker setup with your own share service.
Source: docs/docs/features/self-hosting.mdx — Services section
# Fork live-codes/livecodes
# Enable GitHub Pages in repo settings
npm install
npm run deploy
# Access at https://your-username.github.io/livecodes/
# Build command: npm run build:app
# Output directory: build
# Environment: NODE_VERSION=18
# Access at https://your-subdomain.pages.dev/
git clone https://github.com/live-codes/livecodes.git
cd livecodes
docker-compose up -d
# Access at https://livecodes.localhost
# Configure domain in docker-compose.yml
OBobra/superpowers298k2,631 new stars in the last 7 days
OBobra/superpowers298k2,631 new stars in the last 7 days
OBobra/superpowers298k2,631 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days