tree 7ec924eef43f400a9975e7ac1fb0b02fc7ae9de1
parent 57d28bc892e9ec4d842593d6cdd944b6afba532e
author Sean McCullough <banksean@gmail.com> 1749593055 +0000
committer Sean McCullough <banksean@gmail.com> 1749597114 -0700

cmd/sketch: add -dump-dist internal flag to extract embedded filesystem

Add internal CLI flag to dump embedded /dist/ filesystem contents to
a specified directory for debugging and development purposes.

Problem Analysis:
Developers and debugging scenarios sometimes need access to the built
embedded filesystem contents that are generated by webui.Build(). The
embedded filesystem is created dynamically and cached, making it difficult
to inspect or extract its contents for analysis, debugging, or external
use without complex workarounds.

Implementation Changes:

1. CLI Flag Addition:
   - Added -dump-dist string flag as internal/debugging option
   - Positioned in internal flags section alongside other developer tools
   - Flag accepts filesystem path as parameter for output directory
   - Implements early exit pattern after processing like -version and -list-models

2. Filesystem Extraction Function:
   - Created dumpDistFilesystem() function with comprehensive error handling
   - Uses webui.Build() to generate the embedded filesystem
   - Implements fs.WalkDir pattern for complete directory tree traversal
   - Handles both files and directories with appropriate permissions (0o755 for dirs, default for files)

3. File Copy Implementation:
   - Uses io.Copy for efficient file content transfer
   - Proper resource cleanup with defer statements for file handles
   - Preserves directory structure and file hierarchy
   - Creates output directory tree as needed with os.MkdirAll

4. Error Handling and User Feedback:
   - Comprehensive error messages for each failure point
   - Clear success message showing output directory path
   - Proper exit handling - program terminates after successful dump
   - Validates output directory creation before proceeding

Technical Details:
- Leverages existing webui.Build() infrastructure for filesystem generation
- Added required imports: io, io/fs for filesystem operations
- Uses filepath.Join for cross-platform path handling
- Implements early exit pattern consistent with other informational flags
- Positioned as internal flag visible only with -help-internal

Benefits:
- Enables inspection of generated webui assets for debugging
- Supports development workflows requiring filesystem analysis
- Provides clean extraction mechanism without modifying build process
- Useful for troubleshooting webui bundle generation issues
- Maintains separation as internal-only feature

Testing:
- Verified successful filesystem dump with proper directory structure
- Tested error handling with invalid output paths
- Confirmed program exits correctly after dump completion
- Validated flag appears in -help-internal output
- Tested with various output directory scenarios including existing/new paths

This addition provides essential debugging capability for webui filesystem
inspection while maintaining clean separation as an internal development tool.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s5fee523a25bc33dak
