diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..c4fe77b --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,17 @@ +# Use the official TypeScript Node.js image as a base +FROM mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm + +# Install additional features +RUN apt-get update && apt-get install -y \ + awscli \ + curl \ + exa \ + jq \ + fzf \ + locate \ + manpages \ + ripgrep \ + shellcheck \ + && rm -rf /var/lib/apt/lists/* + +ENV SHELL /bin/zsh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 6e0cac0..61524fb 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,18 +1,31 @@ { "name": "Node.js & TypeScript", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm", + "dockerComposeFile": "docker-compose.yml", + "service": "ai-code-reviewer", + "workspaceFolder": "/workspace", "features": { - "ghcr.io/devcontainers/features/aws-cli:1": {}, - "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {}, - "ghcr.io/dhoeric/features/act:1": {} // "ghcr.io/guiyomh/features/just:0": {}, // "ghcr.io/jungaretti/features/ripgrep:1": {}, // "ghcr.io/lukewiwa/features/shellcheck:0": {}, }, "customizations": { "vscode": { - "extensions": ["yzhang.markdown-all-in-one"] + "extensions": [ + "eamodio.gitlens", + "fill-labs.dependi", + "GitHub.copilot", + "github.copilot-chat", + "github.vscode-pull-request-github", + "kaiwood.center-editor-window", + "ms-azuretools.vscode-docker", + "ms-vsliveshare.vsliveshare", + "timonwong.shellcheck", + "usernamehw.errorlens", + "visualstudioexptteam.vscodeintellicode", + "wenfangdu.jump", + "yzhang.markdown-all-in-one" + ] } } -} +} \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..5e728ee --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3.8' + +services: + ai-code-reviewer: + build: + context: . + dockerfile: Dockerfile + volumes: + - ..:/workspace + command: sleep infinity \ No newline at end of file