App Launcher
Create clickable macOS .app bundles that launch dev servers.
Quick Start
python ~/.claude/skills/app-launcher/scripts/create_launcher.py /path/to/project
This creates ProjectName.app on Desktop. Double-click → Terminal opens → dev server runs.
Usage
Basic (Auto-detect)
python ~/.claude/skills/app-launcher/scripts/create_launcher.py ~/projects/my-app
With Custom Options
python ~/.claude/skills/app-launcher/scripts/create_launcher.py ~/projects/my-app \
--name "My App" \
--cmd "npm run dev" \
--icon ~/icons/my-app.png \
--output ~/Desktop
Options
| Option | Description |
|---|---|
--name | App display name (default: folder name) |
--cmd | Start command (default: auto-detect) |
--icon | Icon file path (.icns or .png) |
--output | Output directory (default: ~/Desktop) |
Auto-Detection
The script auto-detects project type:
| Project | Detection | Default Command |
|---|---|---|
| Node.js | package.json | npm run dev / npm start |
| Python | app.py / main.py | python app.py |
| Django | manage.py | python manage.py runserver |
| Docker | docker-compose.yml | docker-compose up |
| Make | Makefile | make dev |
Also auto-detects venv/ or .venv/ and activates it.
Custom Icon
Provide a .png or .icns file:
--icon ~/Desktop/my-logo.png
The script converts PNG to proper macOS icns format.
Workflow
- User says "create launcher for this project" or "make desktop icon"
- Identify project path and any custom requirements (name, icon, command)
- Run the script with appropriate options
- Confirm the .app was created on Desktop
- User can now double-click to launch
Examples
Create launcher for current project
python ~/.claude/skills/app-launcher/scripts/create_launcher.py .
Create launcher with custom icon from project
python ~/.claude/skills/app-launcher/scripts/create_launcher.py ~/projects/canmarket \
--name "CanMarket Dev" \
--icon ~/projects/canmarket/public/logo.png
Create launcher with specific command
python ~/.claude/skills/app-launcher/scripts/create_launcher.py ~/projects/api \
--cmd "uvicorn main:app --reload"