{
  "name": "{{ package_name }}",
  "dockerComposeFile": ["{{ docker_compose_file }}"],
  "service": "{{ package_name }}",
  "shutdownAction": "none",
  "workspaceFolder": "/workspace/packages/{{ package_name }}",
  "mounts": [
    "source={{ package_name }}-bashhistory,target=/home/vscode/commandhistory,type=volume",
    "source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind,consistency=cached"
  ],
  "postStartCommand": "uv sync && uv run pre-commit install",
  "postAttachCommand": ". ~/.venv/bin/activate",
  "customizations": {
    "vscode": {
      "extensions": [
        "charliermarsh.ruff",
        "redhat.vscode-yaml",
        "tamasfe.even-better-toml",
        "ms-python.python",
        "ms-vscode-remote.remote-containers"
      ],
      "settings": {
        "git.openRepositoryInParentFolders": "always",
        "python.terminal.activateEnvInCurrentTerminal": true,
        "python.defaultInterpreterPath": "/home/vscode/.venv/bin/python",
        "python.testing.pytestArgs": ["tests"],
        "python.testing.unittestEnabled": false,
        "python.testing.pytestEnabled": true,
        "github.copilot.editor.enableAutoCompletions": true,
        "[python]": {
          "editor.defaultFormatter": "charliermarsh.ruff"
        },
        "editor.tabSize": 2,
        "editor.rulers": [88],
        "editor.formatOnSave": true,
        "ruff.lineLength": 88,
        "ruff.lint.run": "onSave",
        "terminal.integrated.inheritEnv": true,
        "terminal.integrated.defaultProfile.linux": "zsh",
        "terminal.integrated.profiles.linux": {
          "bash": {
            "path": "bash",
            "icon": "terminal-bash"
          },
          "zsh": {
            "path": "zsh"
          },
          "fish": {
            "path": "fish"
          },
          "tmux": {
            "path": "tmux",
            "icon": "terminal-tmux"
          },
          "pwsh": {
            "path": "pwsh",
            "icon": "terminal-powershell"
          }
        }
      }
    }
  }
}
