Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit d7b3e84

Browse files
lukeclaude
andcommitted
docs: Comprehensive documentation update for plugins and features
- Updated README.md with complete feature list including all plugins - Added detailed architecture and usage sections - Created CHANGELOG.md to track version history - Reorganized TODO.md with categorized tasks and progress tracking - Added PLUGIN_GUIDE.md with usage examples and development guide - Documented security considerations and best practices - Added troubleshooting section with common issues 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent c29e00c commit d7b3e84

File tree

4 files changed

+663
-62
lines changed

4 files changed

+663
-62
lines changed

CHANGELOG.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Changelog
2+
3+
All notable changes to Xe Launcher will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Workerd plugin for local Cloudflare Workers development
12+
- Create and manage worker projects
13+
- Start/stop worker instances with port management
14+
- Real-time status monitoring
15+
- Worker logs viewing
16+
- Automatic workerd binary download
17+
- Delete worker projects with confirmation
18+
- Enhanced worker detection with port scanning for orphaned processes
19+
- Improved UI with auto-refresh and loading states
20+
- Comprehensive plugin documentation
21+
22+
### Changed
23+
- Updated README with complete feature documentation
24+
- Reorganized TODO.md with clear categories and progress tracking
25+
- Improved error handling across all plugins
26+
27+
### Fixed
28+
- Worker status display now shows actual running state
29+
- Module resolution issues with plugin JavaScript bindings
30+
- UI refresh functionality with visual feedback
31+
- Git ignore patterns for build artifacts
32+
33+
## [0.1.0] - 2024-07-02
34+
35+
### Added
36+
- Chrome management plugin
37+
- Launch Chrome with IWA development flags
38+
- Custom profile management
39+
- Remote debugging support
40+
- Process lifecycle management
41+
- Podman integration plugin
42+
- Container creation and management
43+
- Real-time log streaming
44+
- Podman machine status monitoring
45+
- Built-in Podman binaries
46+
- Core launcher features
47+
- Auto-start with system boot
48+
- Automatic updates via CrabNebula CDN
49+
- System tray integration
50+
- Bundled Bun runtime
51+
- Git integration for repository cloning
52+
- Project dependency management
53+
54+
### Infrastructure
55+
- Tauri v2 framework
56+
- Modular plugin architecture
57+
- React + TypeScript frontend
58+
- Comprehensive permissions system
59+
60+
## [0.0.1] - 2024-06-15
61+
62+
### Added
63+
- Initial project setup
64+
- Basic Tauri application structure
65+
- Development environment configuration
66+
67+
[Unreleased]: https://github.com/agent54/xe-launcher/compare/v0.1.0...HEAD
68+
[0.1.0]: https://github.com/agent54/xe-launcher/releases/tag/v0.1.0
69+
[0.0.1]: https://github.com/agent54/xe-launcher/releases/tag/v0.0.1

README.md

Lines changed: 165 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,195 @@
11
# Xe Launcher
22

3-
Xe Launcher is a desktop application designed to simplify the experience of running Isolated Web Apps (IWAs) locally. It aims to unlock user agency through controlled frames and local-first applications, making IWAs more accessible to developers and users.
3+
Xe Launcher is a desktop application designed to simplify the experience of running Isolated Web Apps (IWAs) and cloud-native development environments locally. It provides integrated support for Chrome management, container orchestration via Podman, and Cloudflare Workers development through workerd, making modern web development more accessible.
44

5-
## Current Features
5+
## Features
66

7+
### Core Features
78
- ✅ Auto-start with system boot
89
- ✅ Automatic updates via CrabNebula CDN
9-
- ✅ Basic Chrome launching capabilities
10-
- ✅ Dedicated Chrome profile management for IWAs
11-
- ✅ Bun sidecar bundled
12-
- ✅ Git support (for cloning repos)
13-
- WIP - Support for `.swbn` and `.wbn` file associations
14-
- WIP - Cross-platform support (macOS, Windows, Linux) - currently only macOS
15-
16-
## Planned Features
17-
18-
- Installation of IWAs from files and URLs (dev mode)
19-
- IWA management and tracking
20-
- Shortcut management
21-
- IWA verification and security features
22-
- Chrome extension integration
23-
- Community-curated IWA list
24-
- Boot-time IWA launching
25-
- Source-based IWA building
26-
- IWA update management
10+
- ✅ System tray integration
11+
- ✅ Cross-platform support (macOS, Windows, Linux) - currently optimized for macOS
12+
13+
### Chrome Management Plugin
14+
- ✅ Launch Chrome with custom profiles for IWA development
15+
- ✅ Dedicated Chrome profile management
16+
- ✅ Remote debugging support (port 9222)
17+
- ✅ IWA development mode flags enabled
18+
- ✅ Process lifecycle management
19+
20+
### Podman Integration Plugin
21+
- ✅ Container management UI
22+
- ✅ Podman machine status monitoring
23+
- ✅ Container creation, start, stop, and removal
24+
- ✅ Real-time container logs streaming
25+
- ✅ Container state management
26+
- ✅ Built-in Podman binaries (no separate installation required)
27+
28+
### Workerd Plugin (Cloudflare Workers Runtime)
29+
- ✅ Local Cloudflare Workers development
30+
- ✅ Worker project creation and management
31+
- ✅ Start/stop worker instances
32+
- ✅ Real-time worker status monitoring
33+
- ✅ Port management (8080-8199 range)
34+
- ✅ Worker logs viewing
35+
- ✅ Automatic workerd installation
36+
- ✅ Delete worker projects with confirmation
37+
38+
### Development Tools
39+
- ✅ Bundled Bun runtime for JavaScript/TypeScript
40+
- ✅ Git integration for repository cloning
41+
- ✅ Project dependency management (bun install)
42+
- ✅ Development server management (bun dev)
43+
- ✅ Integrated terminal output
44+
45+
## Architecture
46+
47+
The application is built with:
48+
- **Frontend**: React + TypeScript + Vite
49+
- **Backend**: Rust with Tauri v2
50+
- **Plugins**: Modular architecture with separate plugins for Chrome, Podman, and workerd
51+
52+
### Plugin Structure
53+
Each plugin follows a consistent pattern:
54+
- Rust backend with command definitions
55+
- JavaScript/TypeScript API bindings
56+
- Permissions system for security
57+
- React components for UI integration
2758

2859
## Development Setup
2960

30-
1. Install dependencies:
61+
### Prerequisites
62+
- [Bun](https://bun.sh/) (for package management and runtime)
63+
- [Rust toolchain](https://rustup.rs/) (for Tauri)
64+
- Node.js 18+ (for development tools)
65+
66+
### Installation
67+
68+
1. Clone the repository:
69+
```bash
70+
git clone https://github.com/agent54/xe-launcher.git
71+
cd xe-launcher
72+
```
73+
74+
2. Install dependencies:
3175
```bash
3276
bun install
3377
```
3478

35-
2. Start the development environment:
79+
3. Start the development environment:
3680
```bash
3781
bun tauri dev
3882
```
3983

40-
## Latest Release
84+
### Building for Production
85+
86+
```bash
87+
bun tauri build
88+
```
89+
90+
The built application will be in `src-tauri/target/release/bundle/`.
91+
92+
## Plugin Development
93+
94+
### Creating a New Plugin
95+
96+
1. Generate plugin scaffold:
97+
```bash
98+
cd tauri-plugin-yourplugin
99+
cargo init
100+
```
101+
102+
2. Add the plugin to the main app:
103+
- Add to `src-tauri/Cargo.toml` dependencies
104+
- Add to `package.json` dependencies
105+
- Initialize in `src-tauri/src/lib.rs`
106+
- Add permissions to `src-tauri/capabilities/default.json`
107+
108+
3. Create JavaScript bindings in `guest-js/index.js`
41109

42-
You can download the latest release from our [GitHub Releases](https://github.com/agent54/xe-launcher/releases/latest) page.
110+
4. Build and test the plugin
43111

44-
## Project Status
112+
## Usage
45113

46-
This project is currently in active development. While core features like auto-start and updates are working, many planned features for IWA management are still in development. The current focus is on establishing a stable foundation for the launcher before implementing the full IWA installation and management capabilities.
114+
### Chrome Management
115+
- Launch Chrome with IWA development flags
116+
- Manage Chrome processes
117+
- Access remote debugging tools
47118

48-
## Requirements
119+
### Container Development (Podman)
120+
1. Ensure Podman machine is initialized (handled automatically on macOS)
121+
2. Create and manage containers through the UI
122+
3. View real-time logs
123+
4. Start/stop containers as needed
49124

50-
- Bun (for development)
51-
- Rust toolchain (for Tauri)
52-
- Chrome/Chromium (for running IWAs)
125+
### Cloudflare Workers Development
126+
1. Create a new worker project
127+
2. Edit the worker script in `workers/{project-name}/worker.js`
128+
3. Start the worker to test locally
129+
4. Access at `http://localhost:{assigned-port}`
130+
5. View logs and manage worker lifecycle
131+
132+
## Configuration
133+
134+
The app stores configuration and data in platform-specific locations:
135+
- **macOS**: `~/Library/Application Support/com.agent54.xe-launcher/`
136+
- **Windows**: `%APPDATA%\com.agent54.xe-launcher\`
137+
- **Linux**: `~/.config/com.agent54.xe-launcher/`
138+
139+
## Security
140+
141+
- All plugins use Tauri's permission system
142+
- File system access is scoped and restricted
143+
- External process execution requires explicit permissions
144+
- Network access is controlled per plugin
145+
146+
## Troubleshooting
147+
148+
### Common Issues
149+
150+
1. **Workerd not found**: Click "Download Workerd" in the UI
151+
2. **Podman machine not running**: The app will attempt to start it automatically
152+
3. **Port conflicts**: Workers use ports 8080-8199; ensure these are available
153+
4. **Chrome launch fails**: Ensure Chrome is installed in the default location
154+
155+
### Debug Mode
156+
157+
Run with debug output:
158+
```bash
159+
RUST_LOG=debug bun tauri dev
160+
```
161+
162+
## Latest Release
163+
164+
Download the latest release from our [GitHub Releases](https://github.com/agent54/xe-launcher/releases/latest) page.
53165

54166
## Contributing
55167

56-
Contributions are welcome! Check the TODO list in the repository for areas where help is needed.
168+
We welcome contributions! Please check:
169+
- [TODO.md](TODO.md) for planned features
170+
- [Issues](https://github.com/agent54/xe-launcher/issues) for bug reports and feature requests
171+
- [Pull Requests](https://github.com/agent54/xe-launcher/pulls) for ongoing work
172+
173+
### Development Guidelines
174+
1. Follow the existing code style
175+
2. Add tests for new features
176+
3. Update documentation
177+
4. Test on multiple platforms when possible
57178

58-
To get involved checkout https://userandagents.com and join our [Discord](https://discord.gg/mtEwuEZQ5x).
179+
## Community
180+
181+
Join the User & Agents community:
182+
- Website: https://userandagents.com
183+
- Discord: https://discord.gg/mtEwuEZQ5x
59184

60185
## License
61186

62-
MIT
187+
MIT License - see [LICENSE](LICENSE) file for details
188+
189+
## Acknowledgments
63190

191+
- Built with [Tauri](https://tauri.app/)
192+
- Chrome integration via custom plugin
193+
- Container support via [Podman](https://podman.io/)
194+
- Workers runtime via [workerd](https://github.com/cloudflare/workerd)
195+
- JavaScript runtime via [Bun](https://bun.sh/)

0 commit comments

Comments
 (0)