mirror of
https://github.com/acedanger/finance.git
synced 2025-12-05 14:40:13 -08:00
111 lines
3.9 KiB
JSON
111 lines
3.9 KiB
JSON
{
|
|
"name": "Finance App Development",
|
|
"image": "ghcr.io/acedanger/finance-devcontainer:latest",
|
|
"workspaceFolder": "/workspaces/finance",
|
|
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/finance,type=bind,consistency=cached",
|
|
"features": {
|
|
"ghcr.io/devcontainers/features/git:1": {},
|
|
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
|
|
"ghcr.io/devcontainers/features/github-cli:1": {}
|
|
},
|
|
"runArgs": ["--dns", "8.8.8.8", "--dns", "8.8.4.4", "--network=host", "--dns-search=."],
|
|
"containerEnv": {
|
|
"HOSTALIASES": "/etc/host.aliases",
|
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "${localEnv:GITHUB_PERSONAL_ACCESS_TOKEN}",
|
|
"TZ": "America/New_York"
|
|
},
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"astro-build.astro-vscode",
|
|
"GitHub.copilot",
|
|
"GitHub.copilot-chat",
|
|
"ms-vscode.vscode-typescript-next",
|
|
"bradlc.vscode-tailwindcss",
|
|
"biomejs.biome",
|
|
"PKief.material-icon-theme",
|
|
"Gruntfuggly.todo-tree",
|
|
"humao.rest-client",
|
|
"chrisdias.promptboost"
|
|
],
|
|
"settings": {
|
|
"editor.formatOnSave": true,
|
|
"[typescript]": {
|
|
"editor.formatOnSave": true,
|
|
"editor.defaultFormatter": "biomejs.biome",
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.biome": "explicit",
|
|
"source.organizeImports.biome": "explicit"
|
|
}
|
|
},
|
|
"[javascript]": {
|
|
"editor.formatOnSave": true,
|
|
"editor.defaultFormatter": "biomejs.biome",
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll.biome": "explicit",
|
|
"source.organizeImports.biome": "explicit"
|
|
}
|
|
},
|
|
"[astro]": {
|
|
"editor.defaultFormatter": "astro-build.astro-vscode"
|
|
},
|
|
"mcp": {
|
|
"servers": {
|
|
"github": {
|
|
"command": "docker",
|
|
"args": [
|
|
"run",
|
|
"-i",
|
|
"--rm",
|
|
"-e",
|
|
"GITHUB_PERSONAL_ACCESS_TOKEN=${env:GITHUB_PERSONAL_ACCESS_TOKEN}",
|
|
"ghcr.io/github/github-mcp-server"
|
|
],
|
|
"env": {
|
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "${env:GITHUB_PERSONAL_ACCESS_TOKEN}"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"[json]": {
|
|
"editor.defaultFormatter": "biomejs.biome"
|
|
},
|
|
"[markdown]": {
|
|
"editor.defaultFormatter": "biomejs.biome"
|
|
},
|
|
"typescript.updateImportsOnFileMove.enabled": "always",
|
|
"editor.bracketPairColorization.enabled": true,
|
|
"files.exclude": {
|
|
"**/.git": true,
|
|
"**/.DS_Store": true,
|
|
"**/node_modules": true,
|
|
"**/.idea": true
|
|
},
|
|
"terminal.integrated.defaultProfile.linux": "bash",
|
|
"mcp.servers.github": {
|
|
"command": "bash",
|
|
"args": [
|
|
"-c",
|
|
"source ${containerWorkspaceFolder}/.devcontainer/library-scripts/load-env.sh && if [ -n \"${GITHUB_PERSONAL_ACCESS_TOKEN}\" ]; then docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=\"${GITHUB_PERSONAL_ACCESS_TOKEN}\" ghcr.io/github/github-mcp-server; else echo 'Error: GITHUB_PERSONAL_ACCESS_TOKEN not set' >&2; exit 1; fi"
|
|
],
|
|
"env": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"forwardPorts": [3000],
|
|
"postCreateCommand": "npm install && npm run check",
|
|
"remoteUser": "node",
|
|
"mounts": [
|
|
"type=bind,source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh,target=/home/node/.ssh,readonly"
|
|
],
|
|
"updateRemoteUserUID": true,
|
|
"remoteEnv": {
|
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "${localEnv:GITHUB_PERSONAL_ACCESS_TOKEN}"
|
|
},
|
|
"initializeCommand": {
|
|
"load-env": "echo 'Preparing environment variables for container startup'"
|
|
},
|
|
"postStartCommand": "bash -c 'source ${containerWorkspaceFolder}/.devcontainer/library-scripts/load-env.sh && gh auth status || gh auth login'"
|
|
}
|