Files
metabuilder/packages
JohnDoe6345789 69f5598dcd Enhance LuaCATS type annotations for top 5 priority packages
Improved types.lua with comprehensive annotations:
- user_manager: Added filter/pagination, CRUD operations, bulk actions, module interface
- github_tools: Added API config, pagination, stats, failure analysis, log parsing, module interface
- social_hub: Added post/comment types, reactions, feed filtering, media handling, module interface
- notification_center: Added preferences, delivery channels, toast config, grouping, module interface
- irc_webchat: Added channels, presence, commands, connection state, UI components, module interface

Each file now includes:
- Enumerated type aliases for all string literals
- Comprehensive class definitions with field descriptions
- Module interface with typed function signatures
- UI component type definitions
2025-12-30 19:36:51 +00:00
..
2025-12-30 17:33:53 +00:00

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:

{
  "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