mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# Packages Folder
|
|
|
|
This folder contains modular packages for the MetaBuilder application. Each package is self-contained with its own components, metadata, and examples.
|
|
|
|
## Structure
|
|
|
|
Each package follows this structure:
|
|
|
|
```
|
|
packages/
|
|
├── package_name/
|
|
│ ├── seed/
|
|
│ │ ├── components.json # Component definitions
|
|
│ │ ├── metadata.json # Package metadata
|
|
│ │ └── scripts/ # Optional Lua scripts
|
|
│ └── static_content/
|
|
│ └── examples.json # Optional usage examples
|
|
```
|
|
|
|
## Available Packages
|
|
|
|
- **admin_dialog**: Admin dialog components for management interfaces
|
|
- **data_table**: Data table components for displaying tabular data
|
|
- **form_builder**: Form builder components for creating dynamic forms
|
|
- **nav_menu**: Navigation menu components
|
|
- **dashboard**: Dashboard layout components
|
|
- **notification_center**: Notification center components
|
|
- **social_hub**: Social feed components with creator tools and live rooms
|
|
- **codegen_studio**: Code generation studio with template-driven exports
|
|
- **forum_forge**: Modern forum starter with categories, threads, and moderation
|
|
- **arcade_lobby**: Gaming lobby with queues, tournaments, and party setup
|
|
- **stream_cast**: Live streaming control room with schedules and scene control
|
|
|
|
## Package Metadata Format
|
|
|
|
Each `metadata.json` file should contain:
|
|
|
|
```json
|
|
{
|
|
"packageId": "package_name",
|
|
"name": "Display Name",
|
|
"version": "1.0.0",
|
|
"description": "Package description",
|
|
"author": "Author name",
|
|
"category": "ui",
|
|
"dependencies": [],
|
|
"exports": {
|
|
"components": []
|
|
}
|
|
}
|
|
```
|
|
|
|
## Components Format
|
|
|
|
Each `components.json` file should contain an array of component definitions.
|
|
|
|
## Development
|
|
|
|
The main application imports from these packages via relative paths in `src/lib/package-glue.ts`.
|
|
|
|
To add a new package:
|
|
|
|
1. Run `npm run setup-packages <package-name>` to create the package structure
|
|
2. Add optional `static_content/examples.json` if needed
|
|
3. Update `src/lib/package-glue.ts` to import the new package
|
|
4. Commit the new package files to the repository
|