mirror of
https://github.com/Hestia-Homes/assessment-model.git
synced 2026-07-27 22:45:03 +00:00
Live mode (impeccable.style/live-mode) never worked here because the skill was never actually installed: postCreate ran `skills add pbakaus/impeccable --global`, which silently no-ops — it's absent from ~/.claude/skills. Vendor it into .claude/skills/impeccable instead, so live mode's scripts/ sit on a stable path and everyone gets the same version (`npx impeccable update` to refresh). Drop the dead postCreate step. Live-mode wiring: - .impeccable/live/config.json for Next.js App Router (src/app/layout.tsx, </body>, jsx). detect-csp.mjs reports no CSP in this project, so no config patch is needed and cspChecked is honestly true. - Forward port 8400 with requireLocalPort. The script injected into the page hard-codes http://localhost:8400, so if VS Code remaps it the element picker silently never loads — the one devcontainer-specific trap here. - Ignore the per-session journal/screenshots; keep the configs tracked. DESIGN.md is required — live.mjs refuses to boot without it (context_missing). Generated via the `document` skill from the actual codebase, so it records what the code really does, including the gaps (dark mode defined but dead, --font-sans referenced but never defined, --radius unused, the broken Tremor colour block). Worth a read rather than a rubber stamp: it's the context live mode generates variants against. Verified: live.mjs boots ok with the helper on 8400 and injects into layout.tsx; live-server.mjs stop strips the tag back out cleanly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
61 lines
2.4 KiB
JSON
61 lines
2.4 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 (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"
|
|
]
|
|
}
|
|
}
|
|
}
|