Files
cleverclaude-core/.devcontainer/devcontainer.json
T

155 lines
4.6 KiB
JSON

{
"name": "CleverErnie Dev 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
}
},
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": false,
"behave.language": "gherkin",
"files.associations": {
"*.feature": "gherkin"
},
"yaml.schemas": {
"https://json.schemastore.org/github-workflow.json": "/.forgejo/workflows/*.yml",
"https://json.schemastore.org/helmfile.json": "/k8s/values.yaml"
},
"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-kubernetes-tools.vscode-kubernetes-tools",
"ms-vscode-remote.remote-containers",
"alexkrechik.cucumberautocomplete",
"stevejpurves.cucumber",
"wholroyd.jinja",
"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! 🚀'",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root
"remoteUser": "vscode",
// Features to add to the dev container
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {
"installZsh": true,
"configureZshAsDefaultShell": true,
"installOhMyZsh": true,
"upgradePackages": true,
"username": "vscode",
"userUid": "1000",
"userGid": "1000"
},
"ghcr.io/devcontainers/features/git:1": {
"ppa": true,
"version": "latest"
},
"ghcr.io/devcontainers/features/github-cli:1": {
"installDirectlyFromGitHubRelease": true,
"version": "latest"
},
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"version": "latest",
"enableNonRootDocker": "true",
"moby": "true"
},
"ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
"version": "latest",
"helm": "latest",
"minikube": "none"
}
},
// Configure container environment
"containerEnv": {
"PYTHONPATH": "/app/src",
"PYTHONDONTWRITEBYTECODE": "1",
"PYTHONUNBUFFERED": "1",
"PIP_NO_CACHE_DIR": "1",
"UV_CACHE_DIR": "/tmp/uv-cache",
"MCP_LOG_DIR": "/home/vscode/.local/share/mcp-logs",
"NODE_PATH": "/usr/local/lib/node_modules"
},
// Mounts
"mounts": [
"source=${localWorkspaceFolder}/.devcontainer/bashrc-append.sh,target=/tmp/bashrc-append.sh,type=bind,consistency=cached",
"source=cleverernie-uv-cache,target=/tmp/uv-cache,type=volume",
"source=cleverernie-mcp-cache,target=/home/vscode/.local/share/mcp-logs,type=volume"
],
// Port forwarding
"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"
}
},
// Lifecycle scripts
"initializeCommand": "echo 'Initializing CleverErnie Dev Environment...',"
"onCreateCommand": "echo 'Creating development environment...'",
// Resource limits (increased for MCP servers and Claude Code)
"hostRequirements": {
"cpus": 4,
"memory": "8gb",
"storage": "16gb"
}
}