Initial commit
This commit is contained in:
58
commands/create-badge-app.md
Normal file
58
commands/create-badge-app.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
description: Create a new MonaOS app with proper structure, template code, and icon
|
||||
---
|
||||
|
||||
# Create Badge App
|
||||
|
||||
Create a complete MonaOS application structure with all required files.
|
||||
|
||||
## What to do
|
||||
|
||||
1. Ask the user for the app name if not provided
|
||||
2. Validate the app name (lowercase, no spaces, alphanumeric with underscores/hyphens)
|
||||
3. Create the following directory structure:
|
||||
|
||||
```
|
||||
{app_name}/
|
||||
├── __init__.py # Main app file from template
|
||||
├── icon.png # 24x24 icon
|
||||
└── assets/ # Optional assets directory
|
||||
```
|
||||
|
||||
4. Use the app template from `badger-marketplace/badger-2350-dev/templates/app_template.py`
|
||||
5. Replace `{{APP_NAME}}` placeholders with the actual app name
|
||||
6. Copy the icon template from `badger-marketplace/badger-2350-dev/templates/icon_template.png`
|
||||
7. Create an empty `assets/` directory
|
||||
|
||||
## After creation
|
||||
|
||||
Tell the user:
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
1. **Test your app locally:**
|
||||
```bash
|
||||
mpremote run {app_name}/__init__.py
|
||||
```
|
||||
|
||||
2. **Edit the code:**
|
||||
- Open `{app_name}/__init__.py` in your editor
|
||||
- Replace TODO comments with your app logic
|
||||
- Add button handlers, animations, and content
|
||||
|
||||
3. **Deploy to badge when ready:**
|
||||
```bash
|
||||
/deploy-to-badge {app_name}
|
||||
```
|
||||
|
||||
4. **Customize the icon:**
|
||||
- Edit `{app_name}/icon.png` (must be 24x24 pixels)
|
||||
- Use any image editor or pixel art tool
|
||||
|
||||
Your app structure is ready! The template includes examples of:
|
||||
- Button handling for all 5 buttons
|
||||
- Simple animation with frame counter
|
||||
- Text and shape drawing
|
||||
- State management pattern
|
||||
|
||||
Check the `examples/` directory in this plugin for working examples like `hello_world` and `meditation_timer`.
|
||||
Reference in New Issue
Block a user