113 lines
3.2 KiB
JSON
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"
|
|
}
|
|
}
|