Run Local
Start the local development environment using the configured orchestrator.
Arguments
--backend-only-- Skip the frontend dev server--no-dashboard-- Skip opening the orchestrator dashboard
Configuration
Read cloudstack.json from the project root at the start of execution. Extract:
FRONTEND_PATH=frontend.path(default:web)FRONTEND_PORT=frontend.devPort(default:5173)
Additionally check for local dev configuration. The skill supports two orchestrators:
Option A -- .NET Aspire (default if AppHost project exists):
Look for a project directory matching *AppHost* under src/. If found:
APP_HOST_PATH= path to the AppHost projectDASHBOARD_PORT= the Aspire dashboard port (typically 15888, checklaunchSettings.json)
Option B -- Docker Compose:
If no AppHost project exists, look for docker-compose.yml or docker-compose.yaml in the repo root or src/.
If cloudstack.json does not exist, auto-detect by scanning the project structure.
Process
Step 1: Pre-flight
# Verify Docker is running (required for databases, messaging, caches)
docker info > /dev/null 2>&1 || echo "ERROR: Docker is not running. Start Docker first."
# Verify .NET SDK
dotnet --version
Step 2: Start Services
If using .NET Aspire:
cd ${APP_HOST_PATH} && dotnet run
The Aspire dashboard will be available at https://localhost:${DASHBOARD_PORT}.
If using Docker Compose:
docker compose up -d
Step 3: Start Frontend (unless --backend-only)
In a separate terminal:
cd ${FRONTEND_PATH} && npm run dev
Frontend available at http://localhost:${FRONTEND_PORT}.
Ports
The port table depends on your project configuration. Common defaults:
| Service | Port |
|---|---|
| Orchestrator Dashboard | Varies (check config) |
| API Gateway | 5000 |
| Frontend (Vite) | ${FRONTEND_PORT} |
| PostgreSQL | 5432 |
Check your app host or docker-compose file for the actual port mappings.
Troubleshooting
- Port conflict: Check for running containers with
docker ps - Build failure: Run
dotnet build ${SOLUTION}first to see errors - Docker containers stuck: Run
docker compose downto clean up
Post-Launch Verification
After the services start, optionally verify they're working using Playwright:
- Navigate to the dashboard URL using
mcp__playwright__browser_navigate - Take a snapshot with
mcp__playwright__browser_snapshotto confirm it loaded - Check
mcp__playwright__browser_console_messagesfor any errors
This is optional -- only do it if the user asks to verify, or if there were recent issues with the local setup.
Related Skills
/smoke-testto verify the running app in the browser/run-teststo run tests after verifying locally/diagnoseif the local environment has issues