mirror of
https://github.com/Hestia-Homes/assessment-model.git
synced 2026-07-27 22:45:03 +00:00
Mirrors the Model devcontainer's Playwright setup for this Next.js repo, so agents and humans can drive the running app in a browser. The image bakes in chromium's apt libraries (as root) and the browser binary (as vscode, so it lands in that user's cache), meaning a fresh container is ready to run with no first-use download. The @playwright/test version and the Dockerfile's PLAYWRIGHT_VERSION are pinned to the same number because Playwright ties browser builds to a library version. Also ports Model's headed viewer stack (Xvfb -> fluxbox -> x11vnc -> noVNC on :6080) as scripts/start_viewer.sh, for watching a headed run. Cypress is untouched; Playwright specs live in e2e/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
50 lines
1.9 KiB
JSON
50 lines
1.9 KiB
JSON
{
|
|
"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 (design-guidance skill, github.com/pbakaus/impeccable) is on
|
|
// trial for the home-page redesign; drop its `skills add` step to remove it.
|
|
"postCreateCommand": "gh repo clone Hestia-Homes/agentic-toolkit /tmp/agentic-toolkit -- --branch 0.0.8 --depth 1 && bash /tmp/agentic-toolkit/setup.sh && npx --yes skills@latest add pbakaus/impeccable --agent claude-code --copy --global --yes && npm install",
|
|
|
|
"forwardPorts": ["frontend:3000", "pgadmin:80", "frontend:6080"],
|
|
|
|
"portsAttributes": {
|
|
"frontend:3000": {
|
|
"label": "Next.js"
|
|
},
|
|
"frontend:6080": {
|
|
"label": "Playwright noVNC desktop",
|
|
"onAutoForward": "silent"
|
|
}
|
|
},
|
|
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|