Files

113 lines
3.2 KiB
JSON

{
"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"
}
}