{
  "name": "Turborepo Development Environment",
  "build": {
    "dockerfile": "Dockerfile",
    "context": "."
  },
  "runArgs": [
    "--cap-add=SYS_PTRACE",
    "--security-opt",
    "seccomp=unconfined"
  ],
  "features": {
    "ghcr.io/devcontainers/features/github-cli:1": {},
    "ghcr.io/devcontainers/features/git:1": {}
  },
  "customizations": {
    "vscode": {
      "extensions": [
        "rust-lang.rust-analyzer",
        "bradlc.vscode-tailwindcss",
        "esbenp.prettier-vscode",
        "ms-vscode.vscode-json",
        "ms-vscode.vscode-typescript-next",
        "tamasfe.even-better-toml",
        "vadimcn.vscode-lldb"
      ],
      "settings": {
        "rust-analyzer.cargo.buildScripts.enable": true,
        "rust-analyzer.checkOnSave.command": "clippy",
        "rust-analyzer.rustfmt.rangeFormatting.enable": true,
        "editor.defaultFormatter": "esbenp.prettier-vscode",
        "editor.formatOnSave": true,
        "[rust]": {
          "editor.defaultFormatter": "rust-lang.rust-analyzer"
        },
        "[toml]": {
          "editor.defaultFormatter": "tamasfe.even-better-toml"
        },
        "typescript.preferences.importModuleSpecifier": "relative",
        "javascript.preferences.importModuleSpecifier": "relative"
      }
    }
  },
  "forwardPorts": [3000, 3001, 9000, 9001],
  "postCreateCommand": "pnpm install && rustup component add llvm-tools-preview",
  "remoteUser": "vscode",
  "mounts": [
    "source=${localWorkspaceFolder}/.devcontainer/cache,target=/home/vscode/.cache,type=bind,consistency=cached",
    "source=${localWorkspaceFolder}/.devcontainer/cargo,target=/usr/local/cargo,type=bind,consistency=cached"
  ]
}