Prepare the current DevSpace checkout or worktree for isolated local manual QA. Use when the user asks to set up QA, test a worktree locally, try an experiment in ChatGPT, or reset the local QA environment.
Installs into .claude/skills of the current project.
Are you the author of Setup Qa?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/waishnav-setup-qa)
---
name: setup-qa
description: Prepare the current DevSpace checkout or worktree for isolated local manual QA. Use when the user asks to set up QA, test a worktree locally, try an experiment in ChatGPT, or reset the local QA environment.
---
# Set up DevSpace manual QA
Use the current checkout or worktree. DevSpace's repo-local QA state lives in `.devspace-dev/` and should be used instead of the user's normal DevSpace state.
## Prepare the checkout
If this checkout has not been initialized for QA yet:
```bash
pnpm dev:seed
```
`dev:seed` forks the user's current DevSpace config, auth, local skills/agents, and SQLite state into this checkout's `.devspace-dev/` directory.
For ChatGPT app, widget, CSS, or icon changes, build the UI assets before testing:
```bash
pnpm build:app
```
The source server serves UI assets from `dist/ui`, not directly from `src/ui`.
## Run QA
Start the source server from this checkout with:
```bash
pnpm dev
```
It uses `.devspace-dev/config` and runs the source server under `tsx watch`, so server-side TypeScript changes reload automatically. Frontend changes still need another `pnpm build:app`.
The seeded QA state usually lets ChatGPT keep using the existing connector and tunnel while switching from the installed DevSpace server to this checkout's server.
For UI work, trigger a fresh tool result after rebuilding so ChatGPT loads the new hashed Vite assets.
## Reset the QA snapshot
Only when a fresh fork of the normal DevSpace state is needed:
```bash
pnpm dev:reset
```
Run this with `pnpm dev` stopped, then start `pnpm dev` again so the replaced snapshot is loaded. If the user's normal installation uses a custom `DEVSPACE_CONFIG_DIR`, preserve it while running `dev:seed` or `dev:reset`.