Commit graph

17 commits

Author SHA1 Message Date
guessthepw
2fb83ada34 Updates documentation for Windows security features
README.md:
- Add skip parameters example (-SkipVNC, -SkipOllama)
- Document VNC password prompt and minimum length
- Update requirements to show ISO creation fallbacks

CLAUDE.md:
- Add Windows script editing section
- Add Windows security patterns section
- Add Windows testing instructions
- Update VNC password minimum from 6 to 8 chars
- Document checksum verification for Windows

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 13:36:00 -05:00
guessthepw
ca12925111 Adds security hardening to Windows Hyper-V script
Security improvements:
- SHA256 checksum verification for Ubuntu image downloads
- Strict input validation for all user inputs (git name/email, passwords)
- Blocks shell metacharacters to prevent injection attacks
- Config file created with restricted ACL from the start
- VNC password minimum increased to 8 characters
- Security reminder to remove cloud-init ISO after first boot

Reliability improvements:
- ARM64 architecture detection for Windows on ARM
- Log file creation for troubleshooting
- Automatic cleanup on failure (VM, disk, ISO)
- Hosts file backup before modification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 13:23:08 -05:00
guessthepw
65790ee3e2 Implements full Windows Hyper-V provisioning
Rewrites setup_env_windows.ps1 to fully implement WINDOWS_PLAN.md with:
- Fixed cloud-init password handling using chpasswd
- Multiple ISO creation fallbacks (oscdimg/WSL/IMAPI2)
- Component skip parameters for VNC, PostgreSQL, Ollama, Playwright
- VNC password support via base64 encoding
- BITS transfer for reliable downloads
- SSH readiness checking before showing connection info

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:52:58 -05:00
guessthepw
cc1277cd98 Fix Tidewave install, add Python to mise, document Windows plan
Fixes:
- Tidewave CLI now downloads from correct repo (tidewave_app)
  with proper musl binary naming convention

Features:
- Python runtime managed by mise instead of system apt
- Python added as selectable component in interactive menu

Documentation:
- WINDOWS_PLAN.md explains Hyper-V vs WSL2 security tradeoffs
- Documents CVEs affecting WSL2 (2024-20681, 2025-9074, 2025-53788)
- Describes full implementation architecture and workflow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:48:35 -05:00
guessthepw
77093a0ce6 Adds Python support via mise version manager
Integrates Python as a selectable component alongside existing Node.js and Erlang options
Updates component descriptions to reflect mise's expanded language support
Includes pip upgrade during Python installation for package management

Fixes Tidewave CLI download URL and architecture detection for improved reliability
2026-01-25 12:47:45 -05:00
guessthepw
70c2559d40 Add Windows Hyper-V support for maximum security isolation
Creates setup_env_windows.ps1 PowerShell script that:
- Provisions full Hyper-V VMs (not WSL2) for complete isolation
- Uses Ubuntu cloud images with cloud-init for automated setup
- Generates SSH keys for passwordless access
- Adds VMs to hosts file for easy <name>.local access
- Disables integration services by default for security

Hyper-V provides stronger isolation than WSL2:
- Separate kernel per VM
- Complete filesystem isolation (no /mnt/c mount)
- Own network stack (no firewall bypass)
- No ability to launch Windows programs from Linux

Also updates README with cross-platform quick start guides
and security comparison between WSL2 and Hyper-V.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:18:25 -05:00
guessthepw
2861664a03 Add OpenCode and Tidewave CLI support
- OpenCode: Open-source AI coding assistant (npm install -g opencode-ai)
  Supports multiple LLM providers including OpenAI, Anthropic, Gemini

- Tidewave: Elixir/Phoenix MCP server for AI-powered development
  Downloads binary from GitHub releases with ELF validation
  Enables runtime introspection, SQL queries, and code evaluation

Both tools are optional components in the interactive installer.
Tidewave is automatically skipped if Erlang is not selected.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 12:16:06 -05:00
guessthepw
63bcc0aea3 Add error checking for base64 decode in VM bootstrap
Ensures early failure with clear error messages if credential
decoding fails during VM provisioning.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:36:02 -05:00
guessthepw
26501daa4e Fix critical security vulnerabilities from audit
- Rustup: Download script to temp file with shebang/size validation
  before execution, matching mise/ollama pattern (line 1119)

- SKIP_EXPORTS: Refactor from embedded shell commands to base64-encoded
  list decoded safely in VM, eliminating injection risk (line 478)

- Playwright symlink: Validate path is executable and within expected
  cache directory before creating system symlinks (line 1053)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:34:24 -05:00
guessthepw
cbc379c0cc Add project memory system with versioning guidelines
Establishes CLAUDE.md, CHANGELOG.md, and README.md as persistent
project memory. Adds documentation update triggers and semantic
versioning rules to ensure context is maintained across sessions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:29:37 -05:00
guessthepw
b3ed5e66a5 Add CHANGELOG.md with version history
Documents all releases from v0.1.0 through v0.6.0 following
Keep a Changelog format with semantic versioning.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 09:28:50 -05:00
guessthepw
9ee89df424 Improves security and simplifies version management
Switches all tools to use latest versions by default instead of pinning specific versions, reducing maintenance overhead while still allowing customization for Erlang and Elixir.

Enhances security measures by documenting input validation patterns, safe config loading practices, and credential handling procedures. Updates PostgreSQL authentication to use scram-sha-256 for all TCP connections.

Clarifies that VNC passwords are never stored and must be entered each time, improving the security posture of credential management.

Simplifies tool installation by removing version pinning constraints and using native package managers where appropriate.
2026-01-25 09:25:57 -05:00
guessthepw
20fa7fa3c5 Hardens security against injection attacks
Prevents shell injection through input validation and safe parameter passing
Replaces direct sourcing with manual config parsing to avoid code execution
Downloads and validates install scripts before execution instead of piping
Uses base64 encoding for secure VM parameter transmission
Adds checksum verification for binary downloads
Creates secure temporary directories and files with proper permissions

Addresses multiple security vulnerabilities in environment setup process
2026-01-25 09:25:57 -05:00
guessthepw
8c6fb6c3bc Adds parallel execution and dashboard to setup script
Replaces sequential installation with parallel step execution
Introduces real-time progress dashboard with spinner and status
Removes color variables to improve terminal compatibility
Restructures logging with per-step files for better debugging

Significantly reduces total setup time by running independent steps concurrently
2026-01-25 09:25:57 -05:00
guessthepw
d7788a5212 Creates dual-mode development sandbox setup
Implements orchestration on macOS and provisioning on Linux for isolated Claude Code environments

Adds interactive component selection with visual menu interface
Enables secure VM creation with disabled host filesystem access
Provides comprehensive toolchain including PostgreSQL, Erlang/Elixir, and browser automation
Configures VNC desktop access for OAuth workflows and browser-based tasks
2026-01-25 09:25:57 -05:00
guessthepw
bdf8b97dbc Adds OrbStack development sandbox setup script
Creates comprehensive environment configuration for Elixir/Erlang development with browser automation capabilities

Installs and configures mise version manager, Node.js LTS, Erlang 28.3.1, and Elixir 1.19.5-otp-28
Sets up PostgreSQL 16 with trust authentication and remote access
Integrates Claude Code with multiple plugin marketplaces and MCP servers
Includes Chromium browser and Playwright for automation tasks

Enables seamless development workflow between macOS host and Ubuntu VM with detailed connection instructions
2026-01-25 09:25:03 -05:00
guessthepw
b2b0068638 Initial Commit 2026-01-24 16:44:45 -05:00