Commit graph

6 commits

Author SHA1 Message Date
Michel Abboud
e78fed6bd3 feat: Auto-create data directory before starting container
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:55:51 +00:00
Michel Abboud
620cda9282 fix: Use printf for ANSI colors in interactive menus
Replace echo with printf '%b' in select_category and select_versions
to properly interpret ANSI escape sequences.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:38:36 +00:00
Michel Abboud
978abbe7ec feat: Add JSON file cache for container status
- Cache container statuses in ~/.cache/winctl/status.json
- Auto-refresh if cache older than 7 days or data is stale
- Add 'refresh' command to force cache refresh
- Dramatically faster menus (single Docker call vs 44 calls)
- Bump version to 1.1.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:35:28 +00:00
Michel Abboud
b06f53cb17 fix: Interactive menu not displaying and slow status checks
- Send menu prompts to stderr so they display in terminal
- Read user input from /dev/tty for proper interactive mode
- Add status cache to fetch all container states in one Docker call
- Handle interactive_select errors properly in all callers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:28:56 +00:00
Michel Abboud
f642f8faa2 fix: Escape ANSI color codes properly in help output
Use printf '%b' instead of cat heredoc to properly interpret
ANSI escape sequences in the show_usage function.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:22:18 +00:00
Michel Abboud
effdbe0f6f feat: Add winctl.sh management script and multi-version setup
Add winctl.sh with 12 commands for managing Windows Docker containers:
- start, stop, restart, status, logs, shell, stats
- build, rebuild, list, inspect, monitor, check
- Interactive menus, prerequisites checking, color output
- Support for 22 Windows versions across 4 categories

Multi-version compose structure:
- Split base.yml into base-modern.yml (8G) and base-legacy.yml (2G)
- Add .env.example for configuration
- Update all compose files to use env_file
- Add unique port mappings per version
- Update README with winctl.sh documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:14:45 +00:00