{ "name": "assessment-model", "dockerComposeFile": "docker-compose.yml", "service": "frontend", "remoteUser": "vscode", "workspaceFolder": "/workspaces/assessment-model", // Host preflight: ensure GitHub auth exists before we try to build. // Either ~/.config/gh (from `gh auth login`) or a GITHUB_TOKEN env var. "initializeCommand": "test -d \"$HOME/.config/gh\" || test -n \"$GITHUB_TOKEN\" || { echo >&2 'error: no GitHub auth found. Run `gh auth login && gh auth setup-git` on the host, or export GITHUB_TOKEN, then retry.'; exit 1; }", // Install Domna's curated skill set (pinned to 0.0.5) into this workspace, // then install npm deps. `gh repo clone` handles private-repo auth using // the mounted host ~/.config/gh. // impeccable (github.com/pbakaus/impeccable) is no longer installed here: the // old `skills add --global` step silently never landed it, and live mode needs // its scripts/ on a stable path anyway. It's now vendored at // .claude/skills/impeccable and updated with `npx impeccable update`. "postCreateCommand": "gh repo clone Hestia-Homes/agentic-toolkit /tmp/agentic-toolkit -- --branch 0.0.8 --depth 1 && bash /tmp/agentic-toolkit/setup.sh && npm install", "forwardPorts": ["frontend:3000", "pgadmin:80", "frontend:6080", "frontend:8400"], "portsAttributes": { "frontend:3000": { "label": "Next.js" }, "frontend:6080": { "label": "Playwright noVNC desktop", "onAutoForward": "silent" }, // impeccable live mode's helper server (serves /live.js + SSE to the page). // The script injected into the app hard-codes http://localhost:8400, so this // must land on host port 8400 exactly — if VS Code remaps it to a free port // because 8400 is taken, the element picker silently fails to load. "frontend:8400": { "label": "impeccable live helper", "onAutoForward": "silent", "requireLocalPort": true } }, "mounts": [ // Optional, just makes getting from Downloads (local env) easier "source=${localEnv:HOME},target=/workspaces/home,type=bind" ], "customizations": { "vscode": { "settings": { "files.defaultWorkspace": "/workspaces/assessment-model", "editor.formatOnSave": true, "editor.tabSize": 2, "editor.insertSpaces": true }, "extensions": [ "esbenp.prettier-vscode", "Anthropic.claude-code" ] } } }