-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdevcontainer.json
More file actions
executable file
·119 lines (114 loc) · 6.16 KB
/
Copy pathdevcontainer.json
File metadata and controls
executable file
·119 lines (114 loc) · 6.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
{
"name": "devBenches / cppBench",
"initializeCommand": "USER_NAME=\"$(id -un 2>/dev/null || whoami)\" && bash ${localWorkspaceFolder}/../scripts/write-devcontainer-user-env.sh ${localWorkspaceFolder}/.devcontainer/.env \"$USER_NAME\" && mkdir -p \"${localEnv:HOME}/.agents\" \"${localEnv:HOME}/.pi\" \"${localEnv:HOME}/.config/sonarqube\" && bash ${localWorkspaceFolder}/../scripts/ensure-sonarqube-mcp.sh && bash ${localWorkspaceFolder}/../../scripts/ensure-layer3.sh --base cpp-bench:latest --chown /opt/vcpkg --user \"$USER_NAME\" && bash ${localWorkspaceFolder}/../../scripts/reconcile-devcontainer-container.sh --container cpp-bench --image cpp-bench:\"$USER_NAME\"",
"dockerComposeFile": "docker-compose.yml",
"service": "cpp-bench",
"shutdownAction": "stopCompose",
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.fontFamily": "'MesloLGS NF', 'Hack Nerd Font', 'FiraCode Nerd Font', monospace",
"cmake.configureOnOpen": false,
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.cStandard": "c17",
"C_Cpp.default.compilerPath": "/usr/bin/g++",
"C_Cpp.default.intelliSenseMode": "linux-gcc-x64",
"C_Cpp.clang_format_fallbackStyle": "Google",
"editor.formatOnSave": true,
"files.associations": {
"*.h": "cpp",
"*.hpp": "cpp",
"*.cpp": "cpp",
"*.cc": "cpp",
"*.cxx": "cpp",
"CMakeLists.txt": "cmake",
"*.cmake": "cmake"
}
},
"extensions": [
"ms-vscode.cpptools-extension-pack",
"twxs.cmake",
"xaver.clang-format",
"jbenden.c-cpp-flylint",
"vadimcn.vscode-lldb",
"jeff-hykin.better-cpp-syntax",
"cschlosser.doxdocgen",
"ms-vscode.test-adapter-converter",
"matepek.vscode-catch2-test-adapter",
"formulahendry.code-runner",
"gruntfuggly.todo-tree",
"streetsidesoftware.code-spell-checker",
"ms-vscode.hexeditor",
"ms-vsliveshare.vsliveshare",
"github.copilot",
"eamodio.gitlens",
"mhutchie.git-graph",
"shd101wyy.markdown-preview-enhanced",
"yzhang.markdown-all-in-one"
]
}
},
"containerEnv": {
"SHELL": "/bin/zsh",
"VCPKG_ROOT": "/opt/vcpkg",
"CC": "/usr/bin/gcc-12",
"CXX": "/usr/bin/g++-12"
},
"remoteUser": "${localEnv:USER}",
"updateRemoteUserUID": false,
"workspaceFolder": "/workspace",
"mounts": [
"source=cppbench-zshhistory,target=/home/${localEnv:USER}/.zsh_history,type=volume",
"source=${localEnv:HOME}/projects,target=/workspace/projects,type=bind",
// Shell configurations
"source=${localEnv:HOME}/.zshrc,target=/home/${localEnv:USER}/.zshrc,type=bind,readonly",
"source=${localEnv:HOME}/.oh-my-zsh,target=/home/${localEnv:USER}/.oh-my-zsh,type=bind,readonly",
"source=${localEnv:HOME}/.p10k.zsh,target=/home/${localEnv:USER}/.p10k.zsh,type=bind,readonly",
"source=${localEnv:HOME}/.bashrc,target=/home/${localEnv:USER}/.bashrc,type=bind,readonly",
// Git configuration
"source=${localEnv:HOME}/.gitconfig,target=/home/${localEnv:USER}/.gitconfig,type=bind,readonly",
// SSH keys and configuration
"source=${localEnv:HOME}/.ssh,target=/home/${localEnv:USER}/.ssh,type=bind,readonly",
// GitHub CLI configuration
"source=${localEnv:HOME}/.config/gh,target=/home/${localEnv:USER}/.config/gh,type=bind,readonly",
// AI Agent Credentials
// Claude (Anthropic)
"source=${localEnv:HOME}/.claude,target=/home/${localEnv:USER}/.claude,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude.json,target=/home/${localEnv:USER}/.claude.json,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude-profiles,target=/home/${localEnv:USER}/.claude-profiles,type=bind,consistency=cached",
// Codex (OpenAI)
"source=${localEnv:HOME}/.codex,target=/home/${localEnv:USER}/.codex,type=bind,consistency=cached",
"source=${localEnv:HOME}/.chatgpt-profiles,target=/home/${localEnv:USER}/.chatgpt-profiles,type=bind,consistency=cached",
// Omnigent (AI meta-harness, wraps Codex/Claude)
"source=${localEnv:HOME}/.omnigent,target=/home/${localEnv:USER}/.omnigent,type=bind,consistency=cached",
// Shared agent protocols and skills
"source=${localEnv:HOME}/.agents,target=/home/${localEnv:USER}/.agents,type=bind,consistency=cached",
// Pi coding agent
"source=${localEnv:HOME}/.pi,target=/home/${localEnv:USER}/.pi,type=bind,consistency=cached",
"source=${localEnv:HOME}/.config/sonarqube,target=/home/${localEnv:USER}/.config/sonarqube,type=bind,readonly",
// Gemini (Google)
"source=${localEnv:HOME}/.gemini,target=/home/${localEnv:USER}/.gemini,type=bind,consistency=cached",
// GitHub Copilot CLI
"source=${localEnv:HOME}/.copilot-cli,target=/home/${localEnv:USER}/.copilot-cli,type=bind,readonly",
// NotebookLM (auth tokens from host)
"source=${localEnv:HOME}/.notebooklm,target=/home/${localEnv:USER}/.notebooklm,type=bind,consistency=cached",
"source=${localEnv:HOME}/.notebooklm-mcp-cli,target=/home/${localEnv:USER}/.notebooklm-mcp-cli,type=bind,consistency=cached"
],
// "postCreateCommand": "bash ${containerWorkspaceFolder}/.devcontainer/post-create.sh",
"forwardPorts": [8000, 8080, 3000, 5000, 9090],
"portsAttributes": {
"8000": {
"label": "HTTP Server",
"onAutoForward": "notify"
},
"8080": {
"label": "Development Server",
"onAutoForward": "notify"
},
"3000": {
"label": "Web App",
"onAutoForward": "openBrowser"
}
}
}