55 "DISPLAY" : " ${localEnv:DISPLAY}" ,
66 "PYTHONUNBUFFERED" : " 1" ,
77 "PYTHONDONTWRITEBYTECODE" : " 1" ,
8- "UV_CACHE_DIR" : " ${containerWorkspaceFolder} /.cache/uv" ,
8+ "UV_CACHE_DIR" : " /home/vscode /.cache/uv" ,
99 "UV_LINK_MODE" : " copy" ,
1010 "UV_PROJECT_ENVIRONMENT" : " /home/vscode/.venv" ,
11- "UV_COMPILE_BYTECODE" : " 1"
11+ "UV_COMPILE_BYTECODE" : " 1" ,
12+ "CLAUDE_CONFIG_DIR" : " /home/vscode/.claude"
1213 },
1314 "features" : {
1415 "ghcr.io/devcontainers/features/github-cli:1" : {},
1516 "ghcr.io/devcontainers/features/common-utils:2" : {
1617 "configureZshAsDefaultShell" : true
1718 },
1819 "ghcr.io/rocker-org/devcontainer-features/apt-packages:1" : {
19- "packages" : " curl,wget,git,jq,ca-certificates,build-essential,ripgrep"
20+ "packages" : " curl,wget,git,jq,ca-certificates,build-essential,ripgrep,fd-find "
2021 },
2122 "ghcr.io/va-h/devcontainers-features/uv:1" : {
2223 "shellAutocompletion" : true
4647 ]
4748 }
4849 },
50+ "remoteUser" : " vscode" ,
51+ "containerUser" : " vscode" ,
52+ "initializeCommand" : " mkdir -p ${localEnv:HOME}/.claude ${localEnv:HOME}/.codex && touch ${localEnv:HOME}/.claude/CLAUDE.md ${localEnv:HOME}/.codex/config.toml" ,
4953 "mounts" : [
50- " source=claude-code-config,target=/home/vscode/.claude,type=volume"
54+ " source=shell_history-${devcontainerId},target=/shell_history,type=volume" ,
55+ " source=${localEnv:HOME}/.claude,target=/home/vscode/.claude,type=bind" ,
56+ " source=${localEnv:HOME}/.claude/CLAUDE.md,target=/home/vscode/.claude/CLAUDE.md,type=bind" ,
57+ " source=${localEnv:HOME}/.codex,target=/home/vscode/.codex,type=bind" ,
58+ " source=${localEnv:HOME}/.codex/config.toml,target=/home/vscode/.codex/config.toml,type=bind"
5159 ],
52- "postCreateCommand" : " uv sync" ,
60+ "postCreateCommand" : " npm install -g @openai/codex@latest && uv sync" ,
5361 "postStartCommand" : " uv run pre-commit install"
5462}
0 commit comments