Author: Martin Sansone (martin@web-asylum.com)
Last Updated: July 2025
Project: TSG-CrossMsg-Signing
This guide explains the recommended Windows development environment setup for the TSG-CrossMsg-Signing project. The setup uses Windows 11 + WSL2 + Docker Desktop to provide optimal cross-platform development capabilities while maintaining performance and compatibility.
The TSG-CrossMsg-Signing project requires a sophisticated development environment that can handle:
- Cross-Platform Development: Java applications that may need to run on both Windows and Linux
- Containerized Testing: Consistent, reproducible test environments
- Performance: Fast file I/O and build times
- Tool Integration: Support for Windows IDEs (CursorAI, VS Code) and Linux tools
- ISO 20022 Standards: Financial messaging standards that often require Linux-based tooling
┌─────────────────────────────────────────────────────────────┐
│ Windows 11 Host │
├─────────────────────────────────────────────────────────────┤
│ C:\Projects\TSG-CrossMsg-Signing │
│ ├── src/ │
│ ├── build.gradle │
│ ├── docker-compose.yml │
│ └── Dockerfile │
├─────────────────────────────────────────────────────────────┤
│ WSL2 (Ubuntu) │
│ /mnt/c/Projects/TSG-CrossMsg-Signing │
│ └── (Same files, Linux file system access) │
├─────────────────────────────────────────────────────────────┤
│ Docker Desktop │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Dev Container │ │ Test Container │ │
│ │ (Gradle) │ │ (JUnit) │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
- Windows 11 (Build 22000 or later)
- WSL2 enabled
- Docker Desktop with WSL2 backend
- At least 16GB RAM (32GB recommended)
- SSD storage for optimal performance
- Windows 11 Pro, Enterprise, or Education
- WSL2 with Ubuntu distribution
- Docker Desktop for Windows
- Git for Windows
- Your preferred IDE (CursorAI, VS Code, IntelliJ IDEA)
Open PowerShell as Administrator and run:
# Enable WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# Enable Virtual Machine feature
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# Restart your computer
Restart-ComputerAfter restart, set WSL2 as default:
wsl --set-default-version 2# Install Ubuntu from Microsoft Store or via command line
wsl --install -d Ubuntu
# Verify installation
wsl --list --verbose- Download Docker Desktop from https://www.docker.com/products/docker-desktop
- Install with WSL2 backend option enabled
- Ensure Docker Desktop is configured to use WSL2 integration
Create the recommended directory structure:
# Create main projects directory
mkdir C:\Projects
# Clone or copy your project
cd C:\Projects
git clone <your-repo-url> TSG-CrossMsg-Signing
# Create Docker-specific subdirectory (optional)
mkdir C:\Projects\dockerFrom WSL2 Ubuntu, verify access to your project:
# In WSL2 Ubuntu terminal
ls -la /mnt/c/Projects/TSG-CrossMsg-SigningYour project uses this directory structure:
Windows Path: C:\Projects\TSG-CrossMsg-Signing
WSL Path: /mnt/c/Projects/TSG-CrossMsg-Signing
Docker Context: Uses Docker Desktop with WSL2 backend
The project's docker-compose.yml is already optimized for this setup:
version: '3.8'
services:
dev:
build:
context: .
volumes:
- type: bind
source: . # C:\Projects\TSG-CrossMsg-Signing
target: /app # Inside container
- type: bind
source: ./build # Build output
target: /app/build
ports:
- "8080:8080"
- "5005:5005"-
Development: Use your preferred IDE in Windows
- CursorAI, VS Code, IntelliJ IDEA
- Direct access to
C:\Projects\TSG-CrossMsg-Signing
-
Building: Use Docker Desktop
.\dev.ps1 build
-
Testing: Run in containers
.\dev.ps1 test
-
Debugging: Use container debugging
.\dev.ps1 shell
Create or edit %USERPROFILE%\.wslconfig:
[wsl2]
memory=16GB
processors=8
swap=0
localhostForwarding=true- Resources: Allocate sufficient memory (8GB+ recommended)
- WSL Integration: Enable for Ubuntu distribution
- File Sharing: Ensure
C:\Projectsis shared
- Use WSL2 file system for Linux tools when possible
- Use Windows file system for IDE access
- Docker volumes provide optimal performance for container operations
# Reset WSL2
wsl --shutdown
wsl --update# Reset Docker Desktop
docker system prune -a# In WSL2, check file permissions
ls -la /mnt/c/Projects/TSG-CrossMsg-Signing- Ensure WSL2 has sufficient memory allocation
- Check Docker Desktop resource limits
- Verify antivirus exclusions for project directories
# Check WSL2 status
wsl --list --verbose
# Check Docker status
docker info
# Check project access
wsl -d Ubuntu -e ls -la /mnt/c/Projects/TSG-CrossMsg-Signing- Windows IDEs for development
- Linux tooling for testing and deployment
- Containerized builds for consistency
- WSL2 provides near-native Linux performance
- Docker Desktop with WSL2 backend optimizes container operations
- Direct file system access eliminates I/O bottlenecks
- Use familiar Windows tools (CursorAI, VS Code)
- Access Linux-specific tools when needed
- Consistent environment across team members
- Containers run the same way in development and production
- Linux-based deployment targets are easily tested
- ISO 20022 tooling compatibility
- Pros: Simpler setup, native performance
- Cons: Limited Linux tooling, potential compatibility issues
- Pros: Full Linux environment
- Cons: Performance overhead, complex file sharing
- Pros: Consistent environment, no local setup
- Cons: Network dependency, potential latency
The Windows 11 + WSL2 + Docker Desktop setup provides the optimal balance of:
- Performance: Fast file I/O and container operations
- Compatibility: Support for both Windows and Linux tooling
- Productivity: Familiar development environment with powerful Linux capabilities
- Consistency: Reproducible builds and testing environments
This setup is specifically designed for projects like TSG-CrossMsg-Signing that require:
- Financial messaging standards compliance
- Cross-platform compatibility
- Containerized development and testing
- Integration with both Windows and Linux ecosystems
- WSL2 Installation Guide
- Docker Desktop WSL2 Backend
- WSL2 Performance Optimization
- ISO 20022 Standards
Note: This setup guide is specifically tailored for the TSG-CrossMsg-Signing project. For other projects, consider the specific requirements and adjust accordingly.