/SKILL.md
Manage isolated dev environments with git worktrees, auto ports, and preview URLs
npx skillsauth add 5hanth/zdev-skill zdevInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use zdev to manage isolated development environments when working on features. Each feature gets its own git worktree, ports, and optional public preview URL.
zdev CLI installed (bunx zdev or bun add -g zdev)# Basic TanStack Start project
zdev create my-app
# With Convex backend
zdev create my-app --convex
# Flat structure (no monorepo)
zdev create my-app --flat
Creates:
.zdev/setup.sh for worktree setupzdev init /path/to/project
Creates .zdev/project.json with project metadata.
First-time setup (or to change settings):
zdev config --set devDomain=dev.example.com
zdev config --set traefikConfigDir=/etc/traefik/dynamic
zdev config --list
# Check what's already running
zdev list
If your feature already exists, just cd to the worktree path shown.
# Start feature with public URL
zdev start <feature-name> -p /path/to/project
# Start without public URL (local only)
zdev start <feature-name> -p /path/to/project --local
# Start with seed data (Convex projects)
zdev start <feature-name> -p /path/to/project --seed
# Use different base branch
zdev start <feature-name> -p /path/to/project --base-branch main
After starting:
.zdev/setup.sh runs automatically (installs deps, etc.)~/.zdev/worktrees/project-feature)http://localhost:5173)https://project-feature.dev.example.com)cd to the worktree path to begin workYou're in an isolated git worktree with its own:
feature/<name>)Work normally. Commit often. Push when ready for review.
git add .
git commit -m "description"
git push -u origin feature/<name>
# Stop servers but keep worktree (resume later)
zdev stop <feature-name> -p /path/to/project --keep
# Or just leave it running if you'll be back soon
# Check status
zdev list
# If stopped, restart
zdev start <feature-name> -p /path/to/project
# If already running, just cd to the worktree
cd ~/.zdev/worktrees/project-feature
When showing zdev output to users:
Example:
**Local:** http://localhost:5185
**Public:** https://project-feature.dev.example.com
NOT like this:
| Local | `http://localhost:5185` | ← URLs not clickable!
# Create PR with auto-generated title and preview URL
zdev pr -p /path/to/project
# Create PR with custom title
zdev pr -p /path/to/project --title "Add user authentication"
# Create draft PR
zdev pr -p /path/to/project --draft
# Open PR in browser instead of CLI
zdev pr -p /path/to/project --web
The PR body automatically includes the preview URL.
# Clean up completely
zdev clean <feature-name> -p /path/to/project
This removes the worktree, Traefik route, and port allocation.
| Task | Command |
|------|---------|
| Create new project | zdev create NAME |
| Init existing project | zdev init PATH |
| Configure | zdev config --list |
| See what's running | zdev list |
| Start feature | zdev start NAME -p PATH |
| Create PR | zdev pr -p PATH |
| Stop (keep files) | zdev stop NAME -p PATH --keep |
| Stop (full) | zdev stop NAME -p PATH |
| Remove after merge | zdev clean NAME -p PATH |
"Feature already exists" → It's already running. Use zdev list to find the worktree path.
"Failed to create worktree: invalid reference" → Use --base-branch master or the correct branch name.
Port conflict → Specify a port: zdev start NAME --port 5200
No public URL → Run zdev config --set devDomain=dev.example.com first.
Convex not working → Run bunx convex dev once in the main project first to select a Convex project.
Vite "host not allowed" / 403 on preview URL → zdev start auto-patches vite.config.ts with server.allowedHosts using the configured devDomain. If it didn't work: check zdev config --list has devDomain set, and that your vite config uses defineConfig({}) or export default {}.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.