{
"name": "PolyMind (Frontend)",
"build": {
"dockerfile": "Dockerfile",
"context": ".",
"args": { "VARIANT": "24" }
},
"remoteUser": "node",
"updateRemoteUserUID": true,
"workspaceFolder": "/workspaces/polymind",
"runArgs": ["--network", "host"],
"containerEnv": {
"PNPM_HOME": "/home/node/.local/share/pnpm"
},
"mounts": [
"source=polymind_pnpm_store,target=/home/node/.local/share/pnpm,type=volume",
"source=polymind_node_modules,target=/workspaces/polymind/node_modules,type=volume"
],
"onCreateCommand": "bash .devcontainer/scripts/post-create.sh",
"postStartCommand": "bash .devcontainer/scripts/post-start.sh",
"forwardPorts": [3000, 3001],
"portsAttributes": {
"3000": { "label": "PolyMind Dev Server (Next.js)" },
"3001": { "label": "PolyMind Production CLI (standalone)" }
},
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss",
"Orta.vscode-jest"
],
"settings": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.useFlatConfig": true,
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"typescript.tsdk": "node_modules/typescript/lib",
"npm.packageManager": "pnpm",
"files.eol": "\n",
"search.exclude": {
"**/node_modules": true,
"**/.next": true,
"**/coverage": true
},
"files.watcherExclude": {
"**/.next/**": true,
"**/node_modules/**": true
},
"terminal.integrated.defaultProfile.linux": "bash"
}
}
}
}