@@ -13,27 +13,6 @@ The dev container provides a consistent development environment with caching to
13131 . ** Docker Compose Configuration** : Defines the container setup, volume mounts, and environment variables
14142 . ** Dockerfile** : Specifies the container image and installed tools
15153 . ** project-setup.sh** : Configures the environment after container creation
16- 4 . ** host-setup.sh** : Sets up the host environment before starting the container
17- 5 . ** setup-git-signing.sh** : Automatically configures Git to use SSH signing with forwarded SSH keys
18-
19- ## Cache System
20-
21- The container uses a conservative caching approach to prevent cache corruption issues:
22-
23- 1 . ** Local Cache Directories** : Each container instance maintains its own cache directories
24- - ` vscode-cache ` → ` /home/vscode/.cache ` (VS Code cache)
25- - ` vscode-config ` → ` /home/vscode/.config ` (VS Code configuration)
26- - ` vscode-data ` → ` /home/vscode/.local/share ` (VS Code data)
27- - ` vscode-bin ` → ` /home/vscode/.local/bin ` (User binaries)
28-
29- 2 . ** Safe Caches Only** : Only caches that won't cause cross-branch issues are configured
30- - GitHub CLI: ` /home/vscode/.cache/github `
31- - Python packages: ` /home/vscode/.cache/pip `
32-
33- 3 . ** Intentionally Not Cached** : These tools use their default cache locations to avoid contamination
34- - NPM (different dependency versions per branch)
35- - Foundry, Solidity (different compilation artifacts per branch)
36- - Hardhat (different build artifacts per branch)
3716
3817## Setup Instructions
3918
@@ -48,7 +27,7 @@ To start the dev container:
4827When the container starts, the ` project-setup.sh ` script will automatically run and:
4928
5029- Install project dependencies using pnpm
51- - Configure Git to use SSH signing with your forwarded SSH key
30+ - Configure basic Git settings (user.name, user.email) from environment variables
5231- Source shell customizations if available in PATH
5332
5433## Environment Variables
@@ -60,10 +39,10 @@ Environment variables are defined in two places:
6039
6140### Git Configuration
6241
63- To enable Git commit signing , add the following settings to your environment file:
42+ To configure Git user settings , add the following to your environment file:
6443
6544``` env
66- # Git settings for commit signing
45+ # Git settings
6746GIT_USER_NAME=Your Name
6847GIT_USER_EMAIL=your.email@example.com
6948```
@@ -72,34 +51,20 @@ These environment variables are needed for Git commit signing to work properly.
7251
7352## Troubleshooting
7453
75- ### Cache Issues
54+ ### Build Issues
7655
77- If you encounter build or compilation issues that seem related to cached artifacts :
56+ If you encounter build or compilation issues:
7857
79- 1 . ** Rebuild the container** : This will start with fresh local caches
58+ 1 . ** Rebuild the container** : This will start with fresh isolated caches
80592 . ** Clean project caches** : Run ` pnpm clean ` to clear project-specific build artifacts
81603 . ** Clear node modules** : Delete ` node_modules ` and run ` pnpm install ` again
8261
83- ### Git SSH Signing Issues
62+ ### Git Authentication Issues
8463
85- If you encounter issues with Git SSH signing :
64+ If you encounter issues with Git operations :
8665
87- 1 . ** SSH Agent Forwarding** : Make sure SSH agent forwarding is properly set up in your VS Code settings
88- 2 . ** GitHub Configuration** : Ensure your SSH key is added to GitHub as a signing key in your account settings
89- 3 . ** Manual Setup** : If automatic setup fails, you can manually configure SSH signing:
90-
91- ``` bash
92- # Check available SSH keys
93- ssh-add -l
94-
95- # Configure Git to use SSH signing
96- git config --global gpg.format ssh
97- git config --global user.signingkey " key::ssh-ed25519 YOUR_KEY_CONTENT"
98- git config --global gpg.ssh.allowedSignersFile ~ /.ssh/allowed_signers
99- git config --global commit.gpgsign true
100-
101- # Create allowed signers file
102- echo " your.email@example.com ssh-ed25519 YOUR_KEY_CONTENT" > ~ /.ssh/allowed_signers
103- ```
66+ 1 . ** GitHub CLI** : Use ` gh auth login ` to authenticate with GitHub
67+ 2 . ** Git Configuration** : Set user.name and user.email if not configured via environment variables
68+ 3 . ** Commit Signing** : Handle commit signing on your host machine for security
10469
105- For other issues, check the ` project-setup.sh ` and ` setup-git-signing.sh ` scripts for any errors.
70+ For other issues, check the ` project-setup.sh ` script for any errors.
0 commit comments