{ "name": "IHUFT Documentation Environment", "dockerFile": "Dockerfile", "context": "..", // Configure tool-specific properties "customizations": { "vscode": { "settings": { "python.defaultInterpreterPath": "/usr/local/bin/python", "python.linting.enabled": true, "python.linting.ruffEnabled": true, "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": false, "python.formatting.provider": "none", "python.formatting.blackProvider": "none", "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports": true, "source.fixAll": true } }, "files.associations": { "*.md": "markdown" }, "yaml.schemas": { "https://json.schemastore.org/github-workflow.json": "/.forgejo/workflows/*.yml" }, "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.profiles.linux": { "bash": { "path": "/bin/bash", "args": ["-l"] } } }, "extensions": [ "ms-python.python", "ms-python.vscode-pylance", "charliermarsh.ruff", "ms-vscode.vscode-json", "redhat.vscode-yaml", "ms-vscode-remote.remote-containers", "ms-vscode.makefile-tools", "davidanson.vscode-markdownlint", "yzhang.markdown-all-in-one" ] } }, // Use 'postCreateCommand' to run commands after the container is created "postCreateCommand": ".devcontainer/post-create.sh", // Use 'postStartCommand' to run commands after the container starts "postStartCommand": "echo 'Welcome to your Python 3.13 development environment! 🚀'", // Features to add to the dev container "features": { "ghcr.io/devcontainers/features/common-utils:2": { "installZsh": true, "configureZshAsDefaultShell": true, "installOhMyZsh": true, "upgradePackages": true }, "ghcr.io/devcontainers/features/git:1": { "ppa": true, "version": "latest" }, "ghcr.io/devcontainers/features/github-cli:1": { "installDirectlyFromGitHubRelease": true, "version": "latest" } }, // Configure container environment "containerEnv": { "PYTHONDONTWRITEBYTECODE": "1", "PYTHONUNBUFFERED": "1", "PIP_NO_CACHE_DIR": "1", "UV_CACHE_DIR": "/tmp/uv-cache", "MCP_LOG_DIR": "/tmp/mcp-logs", "NODE_PATH": "/usr/local/lib/node_modules" }, // Mounts "mounts": [ "source=ihuft-uv-cache,target=/tmp/uv-cache,type=volume", "source=ihuft-mcp-cache,target=/tmp/mcp-logs,type=volume" ], // Port forwarding "forwardPorts": [8000], "portsAttributes": { "8000": { "label": "MkDocs Development Server", "onAutoForward": "notify" } }, // Lifecycle scripts "initializeCommand": "echo 'Initializing IHUFT Documentation Environment...'", "onCreateCommand": "echo 'Creating development environment...'", // Resource limits (increased for MCP servers and Claude Code) "hostRequirements": { "cpus": 4, "memory": "8gb", "storage": "16gb" } }