Expert guidance for developing App0, an Electron-based desktop application that enables users to generate and run AI-powered applets without coding, terminals, or dependency installation.
This skill provides specialized guidance for working with App0, a desktop application built with Electron that allows users to generate and run small personal apps ("applets") using AI.
Assists with development of App0's core components: the AI agent for code generation, the app builder for managing generated applets, the app runner for process management, and the React-based GUI. Understands the unique constraints of embedding a Bun runtime, managing sandboxed Next.js applets, and maintaining a registry-based architecture.
App0 is structured with these key components:
All generated applets must:
When working on App0, always respect these technical constraints:
1. **No External CLI Exposure**: Users never see terminals or run commands manually. All operations happen internally through the GUI.
2. **Bundled Runtime**: App0 embeds a Bun runtime. Users don't install Node, npm, or bun separately.
3. **Local-First**: Everything runs locally by default. Cloud upload is optional.
4. **Sandboxing**: Each applet is isolated with separate processes, ports, and file access.
5. **Simplicity**: The architecture favors modularity and simplicity over complex abstractions.
When modifying the AI generation system:
When modifying the app builder:
When modifying the app runner:
When modifying the frontend:
The `core/registry.json` file:
1. Read existing prompt templates in `core/ai/`
2. Understand current requirement gathering flow
3. Modify or add prompt templates
4. Test with various user inputs
5. Ensure generated code follows applet standards
1. Read current builder implementation in `core/builder/`
2. Understand file writing and dependency management
3. Make changes while preserving sandboxing
4. Test with various applet configurations
5. Verify registry updates correctly
1. Read process management code in `core/runner/`
2. Understand current lifecycle management
3. Implement changes with proper resource cleanup
4. Test start/stop/restart flows
5. Verify port allocation works correctly
1. Read relevant React components in `gui/`
2. Understand current user flows
3. Make UI changes maintaining simplicity
4. Test embedding and display of applets
5. Ensure responsive design
**Creating a new applet:**
1. User describes app in GUI
2. AI agent gathers requirements through prompts
3. Builder creates directory structure under `apps/`
4. Builder writes Next.js files and runs bun install
5. Runner starts applet on allocated port
6. GUI embeds running app in webview
**Managing applet lifecycle:**
1. User clicks "Start" in App0 GUI
2. Runner spawns bun dev process
3. Registry updated with running state and port
4. GUI displays running app
5. User clicks "Stop"
6. Runner terminates process cleanly
7. Registry updated to stopped state
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/app0-development-assistant/raw