135 lines
4.4 KiB
JSON
135 lines
4.4 KiB
JSON
{
|
|
"name": "CleverDatasets Dev Environment (Multi-IDE Support)",
|
|
"dockerFile": "Dockerfile",
|
|
"context": "..",
|
|
|
|
"customizations": {
|
|
"vscode": {
|
|
"settings": {
|
|
"python.defaultInterpreterPath": "/usr/local/bin/python",
|
|
"python.linting.enabled": true,
|
|
"python.linting.pylintEnabled": false,
|
|
"python.linting.ruffEnabled": true,
|
|
"python.formatting.provider": "none",
|
|
"python.formatting.ruffEnabled": true,
|
|
"editor.formatOnSave": true,
|
|
"editor.codeActionsOnSave": {
|
|
"source.organizeImports": "explicit"
|
|
},
|
|
"python.analysis.typeCheckingMode": "basic",
|
|
"python.analysis.autoImportCompletions": true,
|
|
"files.exclude": {
|
|
"**/__pycache__": true,
|
|
"**/*.pyc": true,
|
|
"**/.pytest_cache": true,
|
|
"**/.nox": true
|
|
},
|
|
"python.testing.pytestEnabled": true,
|
|
"python.testing.unittestEnabled": false,
|
|
"python.testing.nosetestsEnabled": false,
|
|
"[python]": {
|
|
"editor.defaultFormatter": "charliermarsh.ruff",
|
|
"editor.formatOnSave": true,
|
|
"editor.codeActionsOnSave": {
|
|
"source.fixAll": "explicit",
|
|
"source.organizeImports": "explicit"
|
|
}
|
|
},
|
|
"[markdown]": {
|
|
"editor.wordWrap": "on"
|
|
},
|
|
"terminal.integrated.defaultProfile.linux": "zsh",
|
|
"terminal.integrated.profiles.linux": {
|
|
"zsh": {
|
|
"path": "/bin/zsh"
|
|
}
|
|
}
|
|
},
|
|
"extensions": [
|
|
"ms-python.python",
|
|
"ms-python.vscode-pylance",
|
|
"charliermarsh.ruff",
|
|
"ms-python.black-formatter",
|
|
"ms-python.debugpy",
|
|
"ms-python.isort",
|
|
"ms-toolsai.jupyter",
|
|
"ms-toolsai.jupyter-keymap",
|
|
"ms-toolsai.jupyter-renderers",
|
|
"ms-vscode.vscode-json",
|
|
"redhat.vscode-yaml",
|
|
"ms-vscode.makefile-tools",
|
|
"eamodio.gitlens",
|
|
"github.vscode-pull-request-github",
|
|
"ms-vscode.remote-containers",
|
|
"ms-azuretools.vscode-docker",
|
|
"mkdocs.mkdocs-material",
|
|
"tamasfe.even-better-toml",
|
|
"ms-python.mypy-type-checker"
|
|
]
|
|
},
|
|
"jetbrains": {
|
|
"backend": "PyCharm",
|
|
"plugins": [
|
|
"com.jetbrains.plugins.ini4idea",
|
|
"com.jetbrains.plugins.yaml",
|
|
"org.jetbrains.plugins.go",
|
|
"com.jetbrains.plugins.kubernetes",
|
|
"com.jetbrains.plugins.markdown"
|
|
]
|
|
}
|
|
},
|
|
|
|
"postCreateCommand": "bash -c 'cd /workspaces/datasets 2>/dev/null || cd /app 2>/dev/null || cd /workspace 2>/dev/null || true; if command -v uv &> /dev/null; then uv pip install --system -e \".[tests,docs]\" || pip install -e \".[tests,docs]\"; else pip install -e \".[tests,docs]\"; fi; python --version'",
|
|
|
|
"postStartCommand": "bash -c 'if [ -f .env ] && [ -f creds.json ]; then echo \"✅ Credentials found\"; else echo \"⚠️ Missing credentials. See README for setup.\"; fi'",
|
|
|
|
"remoteUser": "${localEnv:USER}",
|
|
|
|
"features": {
|
|
"ghcr.io/devcontainers/features/common-utils:2": {
|
|
"installZsh": true,
|
|
"configureZshAsDefaultShell": true,
|
|
"installOhMyZsh": true,
|
|
"upgradePackages": false,
|
|
"username": "${localEnv:USER}",
|
|
"userUid": "${localEnv:HOST_UID}",
|
|
"userGid": "${localEnv:HOST_GID}"
|
|
}
|
|
},
|
|
|
|
"containerEnv": {
|
|
"PYTHONPATH": "/workspaces/datasets/src",
|
|
"PYTHONDONTWRITEBYTECODE": "1",
|
|
"PYTHONUNBUFFERED": "1",
|
|
"PIP_NO_CACHE_DIR": "1",
|
|
"UV_CACHE_DIR": "/tmp/uv-cache",
|
|
"MCP_LOG_DIR": "/home/${localEnv:USER}/.local/share/mcp-logs",
|
|
"NODE_PATH": "/usr/local/lib/node_modules"
|
|
},
|
|
|
|
"workspaceFolder": "/workspaces/datasets",
|
|
|
|
"mounts": [
|
|
"source=datasets-uv-cache,target=/tmp/uv-cache,type=volume"
|
|
],
|
|
|
|
"forwardPorts": [8000, 8080, 3000, 9090, 3001],
|
|
|
|
"portsAttributes": {
|
|
"8000": { "label": "Application Server", "onAutoForward": "notify" },
|
|
"8080": { "label": "Development Server", "onAutoForward": "silent" },
|
|
"3000": { "label": "MkDocs Development Server", "onAutoForward": "notify" },
|
|
"9090": { "label": "Prometheus Server", "onAutoForward": "silent" },
|
|
"3001": { "label": "Forgejo/Gitea Server", "onAutoForward": "silent" }
|
|
},
|
|
|
|
"initializeCommand": "echo 'Initializing CleverDatasets Dev Environment...'",
|
|
"onCreateCommand": "echo 'Creating development environment...'",
|
|
|
|
"hostRequirements": {
|
|
"cpus": 4,
|
|
"memory": "8gb",
|
|
"storage": "16gb"
|
|
}
|
|
}
|