{
    "name": "Nixtla Development Environment",
    "image": "mcr.microsoft.com/vscode/devcontainers/python:3.11-bookworm",
    "hostRequirements": {
        "cpus": 4,
        "memory": "16gb",
        "storage": "32gb"
    },
    "customizations": {
        "vscode": {
            "settings": {
                "terminal.integrated.shell.linux": "/bin/bash",
                "python.terminal.activateEnvInCurrentTerminal": true,
                "python.defaultInterpreterPath": ".venv/bin/python",
                "python.pythonPath": ".venv/bin/python",
                "[python]": {
                    "editor.defaultFormatter": "charliermarsh.ruff",
                    "editor.formatOnSave": true,
                    "editor.codeActionsOnSave": {
                        "source.fixAll": "explicit",
                        "source.organizeImports": "explicit"
                    }
                },
                "notebook.python.defaultInterpreterPath": ".venv/bin/python",
                "notebook.codeActionsOnSave": {
                    "source.fixAll": "explicit",
                    "source.organizeImports": "explicit"
                },
                "ruff.nativeServer": "on",
                "python.languageServer": "Default",
                "debug.internalConsoleOptions": "neverOpen",
                "extensions.ignoreRecommendations": true,
                "files.insertFinalNewline": true
            },
            "extensions": [
                "ms-python.python",
                "ms-python.mypy",
                "ms-python.vscode-pylance",
                "ms-toolsai.jupyter@2025.2.0",
                "charliermarsh.ruff@2025.22.0",
                "GitHub.copilot",
                "tamasfe.even-better-toml",
                "anthropic.claude-code@1.0.127"
            ]
        }
    },
    "forwardPorts": [
        8888
    ],
    "containerEnv": {
        "UV_NO_SYNC": "1"
    },
    "onCreateCommand": "make devenv",
    "postCreateCommand": "make init_codespace",
    "waitFor": "postCreateCommand",
    "features": {
        "ghcr.io/devcontainers/features/docker-in-docker:2.12.3": {},
        "ghcr.io/va-h/devcontainers-features/uv:1.1.4": {},
        "ghcr.io/devcontainers/features/node:1.6.3": {}
    }
}
