@elyos-dev/create-app
v0.1.3
Published
CLI tool to scaffold ElyOS app projects
Maintainers
Readme
@elyos-dev/create-app
CLI tool to scaffold ElyOS app projects. Generates a complete project structure with SDK integration, build configuration, and localization — ready to develop in seconds.
Usage
# Interactive wizard
bunx @elyos-dev/create-app
# With a name
bunx @elyos-dev/create-app my-app
# With a name and template
bunx @elyos-dev/create-app my-app --template advanced
# Skip dependency installation
bunx @elyos-dev/create-app my-app --no-installTemplates
basic
A minimal plugin with a single Svelte component and SDK integration. Good starting point for simple UI plugins.
my-plugin/
├── src/
│ ├── App.svelte # Main component
│ └── main.ts # Entry point with SDK init
├── locales/
│ ├── en.json # English translations
│ └── hu.json # Hungarian translations
├── assets/
│ └── icon.svg # Plugin icon
├── manifest.json # Plugin metadata
├── package.json # Dependencies (@elyos/sdk)
├── vite.config.ts # Build configuration
└── .gitignoreadvanced
Includes server-side functions and a settings component. Use this when your plugin needs backend logic.
my-plugin/
├── src/
│ ├── App.svelte
│ ├── main.ts
│ └── components/
│ └── Settings.svelte # Settings panel
├── server/
│ └── functions.ts # Server-side remote functions
├── locales/
├── assets/
├── manifest.json
├── package.json
├── vite.config.ts
└── .gitignoredatatable
Full CRUD application with DataTable integration and server functions. Ideal for data-driven plugins.
my-plugin/
├── src/
│ ├── App.svelte
│ ├── main.ts
│ └── components/
│ ├── DataTableView.svelte # DataTable with sorting/filtering
│ └── columns.ts # Column definitions
├── server/
│ └── functions.ts # CRUD operations
├── locales/
├── assets/
├── manifest.json
├── package.json
├── vite.config.ts
└── .gitignoreOptions
| Flag | Description | Default |
| --------------------------- | ------------------------------------------ | ---------- |
| [plugin-name] | Plugin ID in kebab-case | (prompted) |
| -t, --template <template> | Template: basic, advanced, datatable | (prompted) |
| --no-install | Skip bun install after generation | false |
| -V, --version | Show CLI version | |
| -h, --help | Show help | |
Interactive Wizard
When run without flags, the CLI walks you through an interactive setup:
- Plugin ID — kebab-case identifier (e.g.,
my-plugin) - Display Name — human-readable name shown in ElyOS
- Description — short description of the plugin
- Author — your name and email
- Template — choose from basic, advanced, or datatable
- Permissions — select required permissions (database, notifications, remote functions)
Development Workflow
After scaffolding:
cd my-plugin
# Start standalone dev server (uses mock SDK)
bun dev
# Build for production
bun run build
# Test inside ElyOS (requires Docker)
# 1. Start ElyOS: docker compose up -d
# 2. Open Plugin Manager → "Load Dev Plugin"
# 3. Enter: http://localhost:5174Generated Files
manifest.json
Plugin metadata used by ElyOS to register and display your plugin. Includes name, description, permissions, window size constraints, supported locales, and more.
package.json
Pre-configured with @elyos/sdk as a dependency and Vite build scripts.
vite.config.ts
Configured to build your plugin as an IIFE bundle (dist/index.iife.js) compatible with ElyOS's plugin loader.
Further Reading
License
MIT
