Remove all local environment detection logic and focus 100% on production.
Changes:
- Use static absolute paths for all resources (/css/, /js/, /favicon.ico)
- Remove complex environment detection and dynamic script loading
- Simplify DataLoader to always use absolute paths (/components.json)
- Clean up debugging logs and navigation links
- Static script tags for reliable loading order
This eliminates complexity and ensures robust production functionality.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The DataLoader was using relative paths like 'components.json' which
resolved incorrectly from SEO-friendly URLs (/component/agent/name).
Changes:
- Add environment detection to DataLoader constructor
- Add getDataPath() method for environment-aware resource paths
- Use relative paths for local development (components.json)
- Use absolute paths for production (/components.json)
- Add debug logging to trace loading issues
This should fix the "Loading component..." issue in production
by ensuring components.json loads from the correct path.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
JavaScript files were loading with relative paths (js/data-loader.js)
which resolved incorrectly from SEO-friendly URLs like
/component/agent/name to /component/agent/js/data-loader.js.
Changes:
- Replace static script tags with dynamic environment-aware loading
- Use relative paths (js/) for local development
- Use absolute paths (/js/) for production
- Maintain script execution order with async=false
- Add debugging logs for troubleshooting
This resolves MIME type errors and ensures JavaScript functionality
works correctly on production component pages.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add interactive agent selection feature when --agent not provided
- Add interactive prompt input when --prompt not provided
- Document Y/n confirmation step before execution
- Clarify files download to current directory in sandbox-xxxxx folder
- Add ESC to cancel execution feature
- Update execution process table with complete 12-step workflow
- Fix timeout documentation (15 minutes, not 5)
- Remove --studio references (keeping it private for now)
- Add interactive mode example in quick start
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Keep --studio as separate web interface command for Claude Code Studio
- Make --sandbox e2b pure CLI experience without opening web interface
- Add interactive agent selection when --agent not provided
- Agent list fetched from GitHub with option to continue without agent
- Maintain existing prompt collection and Y/n confirmation flow
- Real-time log display and folder download already working
This ensures --sandbox e2b follows the CLI workflow:
1. Check/download agents if missing
2. Prompt for input if --prompt not provided
3. Confirm E2B execution with Y/n
4. Execute and show logs
5. Download folder when complete
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add prominent API keys notice with setup instructions
- Include direct links to get E2B and Anthropic API keys
- Improve error handling to detect missing API key errors
- Show helpful error messages for API key configuration
- Better user guidance for .env file setup
Changes:
- E2B launcher now downloads files to ./ (project root) instead of ./e2b-outputs/
- Updated confirmation dialog to show "Files will be downloaded to project root directory"
- Updated modal feature text to "Files downloaded to project root"
- Removed timestamp folder organization for simpler file management
This ensures generated files are immediately available in the project root
where users expect them, without needing to navigate to subfolders.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Corrections:
- Modal: Changed --agent=${componentPath} to correctly show folder/agent-name
- Index.html: Updated from --agent=frontend-developer to --agent=development-team/frontend-developer
- Steps section: Added missing agent specification in Cloud Sandbox step
- Tools section: Corrected E2B sandbox command format
This aligns with the CLI requirement where agents must be specified as:
--agent=folder/agent-name (e.g., development-team/frontend-developer)
The componentPath already contains the correct folder/name structure,
so this ensures the modal commands work correctly when copied.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changes:
- E2B Sandbox section now only appears for agent components
- Commands, MCPs, settings, hooks, and templates no longer show E2B option
- This aligns with the CLI implementation where --sandbox only works with --agent
- Keeps modal clean and relevant for each component type
Reasoning:
E2B sandbox execution is specifically designed for agent workflows since
agents provide the AI decision-making needed for complex cloud operations.
Other component types (commands, settings, etc.) are configuration-based
and don't require isolated execution environments.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Modal Structure:
✅ Basic Installation - Install component locally with brief description
✅ Global Agent (Claude Code SDK) - For agents only, with usage and features
✅ Run in E2B Sandbox (Cloud Execution) NEW - Cloud execution with simplified setup
E2B Sandbox Improvements:
- Added NEW badge to highlight the feature
- Simplified API key setup section with .env example
- Cleaner command structure without multiple methods
- Improved API key links styling with hover effects
- Better responsive design for mobile devices
Visual Enhancements:
- Clear section dividers and consistent spacing
- Improved typography and color hierarchy
- Better organized content flow matching the screenshot
- Enhanced readability with proper descriptions
This matches the exact structure requested based on the modal screenshot.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Modal Improvements:
- Added detailed API key setup section with two methods
- Method 1: Environment variables (.env file) - recommended
- Method 2: Command line parameters - for testing
- Enhanced visual structure with separate sections for each method
- Added responsive design for mobile devices
Main Page Layout:
- E2B sandbox tool card now spans full width (3 columns)
- Improved internal layout with side-by-side .env setup
- Better spacing and organization for the expanded card
- Responsive breakpoints for mobile and tablet
Users now have clear, easy-to-follow instructions for both modal
components and main page examples with API key management.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added E2B sandbox section to all component modal details
- Includes cloud execution command with component-specific parameters
- Features: isolated environment, extended timeouts, file downloads, monitoring
- Added requirements section with E2B and Anthropic API key links
- Styled E2B section with blue gradient background and warning styling
- Handles templates vs other component types correctly in command generation
- Updated components.json with latest component scan (2 sandbox components)
Users can now see E2B sandbox instructions for every component in the modal.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add E2B sandbox component with Python launcher script
- Support CLI parameters for E2B and Anthropic API keys (--e2b-api-key, --anthropic-api-key)
- Add comprehensive error handling for file downloads
- Make dotenv import optional in launcher script
- Add complete blog post with sandbox usage guide
- Update component generation system to support sandbox category
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>