Dev Instance
Run the current worktree as a production-shaped local dev instance with web, Slack, or...
Install
npx skills add yc-software/qm --skill dev-instance -g -a claude-code -y- Repository
- yc-software/qm15.6k
- Category
- Testing
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- No, instructions only
What it does
Run the current worktree as a production-shaped local dev instance with web, Slack, or both, on a real LLM + Postgres. Each developer uses their own set of Slack apps from their own machine's pool store, so many worktrees (yours and a teammate's) can run reachable at once without colliding. Use when asked to /dev-instance, "spin this up so I can QA it in Slack", or "let me test your branch end to end".
dev-instance
dev-instance runs the current worktree with the surfaces needed for the task.
Choose web for browser/admin work, Slack for bot work, and both only for cross-surface QA. It is the way to QA a
branch end to end: real LLM turns, a real sandbox, a real local Postgres (empty by
default; opt in to prod data), and the real Slack/web/admin surfaces.
Use the repo-root launcher (a thin wrapper over the TypeScript CLI in scripts/dev/;
every command accepts --json for machine-readable output):
bash scripts/dev-instance.sh up --surface web
bash scripts/dev-instance.sh up --surface slack
bash scripts/dev-instance.sh up --surface both
bash scripts/dev-instance.sh status
bash scripts/dev-instance.sh down
bash scripts/dev-instance.sh doctor
bash scripts/dev-instance.sh canary
bash scripts/dev-instance.sh restart [child]
bash scripts/dev-instance.sh logs [child] [-f]
npm run dev-instance, npm run dev-instance:status, npm run dev-instance:down, and
npm run dev-instance:doctor are equivalent. The Codex-visible skill copy lives at
.codex/skills/dev-instance/SKILL.md; keep the two skill descriptions equivalent.
New instances default to web only. npm run dev-instance:web,
npm run dev-instance:slack, and npm run dev-instance:both select a surface explicitly.
Bare up preserves the mode of an existing instance. Explicitly selecting a different
surface tears down and boots the worktree again, claiming the appropriate slot.
--no-slack (and DEV_INSTANCE_NO_SLACK=1) remain aliases for web only.
What up Starts
up --surface slack and up --surface both claim one free Slack app slot from this machine's pool store (see "Slack reach"
below), then spawns a per-slot supervisor daemon that owns the production-shaped stack:
- core API + workers in every mode
- Slack Socket Mode plugin in
slackandboth - web UI, admin, and portal front door in
webandboth


