6.3 KiB
MetaBuilder Schema Examples
This directory contains example packages demonstrating MetaBuilder schema usage.
Directory Structure
examples/
├── minimal-package/ # Bare minimum valid package
├── complete-package/ # Comprehensive example with all features
└── advanced-features/ # Advanced patterns and techniques
Minimal Package
The simplest valid MetaBuilder package with only required fields.
Files included:
package.json- Basic metadataentities/schema.json- Single User entityscripts/functions.json- Simple greeting function
Purpose: Quick start template, understanding minimum requirements
Validation:
cd minimal-package
../../schema_validator.sh package.json
../../schema_validator.sh entities/schema.json
../../schema_validator.sh scripts/functions.json
Complete Package
A production-ready example demonstrating all major features.
Files included:
package.json- Full metadata with dependencies, exports, testsentities/schema.json- Multiple entities with relationships, indexes, ACLtypes/index.json- Type definitions with utility typesapi/routes.json- RESTful API with authentication, rate limitingvalidation/validators.json- Custom validation functionscomponents/ui.json- UI componentsforms/forms.json- Dynamic formsevents/definitions.json- Event-driven architecturepermissions/roles.json- RBAC configurationconfig/settings.json- Configuration managementjobs/tasks.json- Background jobsmigrations/versions.json- Database migrationsstyles/tokens.json- Design tokensstorybook/config.json- Storybook configuration for preview and docs
Purpose: Reference implementation, production patterns, best practices
Features demonstrated:
- ✅ Complete entity relationships (belongsTo, hasMany, hasOne)
- ✅ Row-level security (ACL)
- ✅ API authentication and authorization
- ✅ Cross-schema validation
- ✅ Version compatibility
- ✅ Security best practices (sanitization, password validation)
- ✅ Type safety with TypeScript-style types
- ✅ Event-driven architecture
- ✅ Background job scheduling
- ✅ Dynamic form generation
- ✅ Storybook integration with context variants and controls
Advanced Features
Specialized examples for advanced use cases.
Topics covered:
- Generic types and type constraints
- Complex validation logic
- Visual programming metadata
- Standard library usage
- Multi-step workflows
- WebSocket events
- GraphQL resolvers
- Complex migrations
- A/B testing with feature flags
- Performance optimization
Validation
All examples are validated against their respective schemas:
# Validate all examples
cd examples
find . -name "*.json" -type f -exec ../../schema_validator.sh {} \;
# Validate specific package
cd complete-package
../../schema_validator.sh package.json
Using as Templates
Copy any example directory to bootstrap your package:
# Start from minimal example
cp -r schemas/package-schemas/examples/minimal-package my-new-package
cd my-new-package
# Customize
vim package.json # Update packageId, name, description
# Validate
../schema_validator.sh package.json
Schema Versions
All examples use schema version 2.0.0 which includes:
- ✅ Secure-by-default input sanitization
- ✅ Deprecated
field.primaryremoved (useentity.primaryKey) - ✅ Visual programming metadata support
- ✅ Enhanced cross-schema validation
Learning Path
- Start here:
minimal-package/- Understand basics - Expand knowledge:
complete-package/- See all features working together - Master advanced:
advanced-features/- Specialized patterns
Best Practices Demonstrated
Security
- ✅ Input sanitization enabled by default
- ✅ Strong password validation patterns
- ✅ Role-based access control (RBAC)
- ✅ Row-level security in entities
- ✅ Rate limiting on API routes
- ✅ CORS configuration
Architecture
- ✅ Clear separation of concerns
- ✅ Type safety with explicit schemas
- ✅ Event-driven patterns
- ✅ RESTful API design
- ✅ Database normalization
Developer Experience
- ✅ Comprehensive documentation
- ✅ Explicit versioning
- ✅ Validation at multiple levels
- ✅ Clear error messages
- ✅ Examples and templates
Common Patterns
Creating a CRUD API
See complete-package/api/routes.json for:
- List with pagination
- Get by ID
- Create with validation
- Update (full and partial)
- Delete (soft delete)
Entity Relationships
See complete-package/entities/schema.json for:
- One-to-many (User → Posts)
- One-to-one (User → Profile)
- Foreign key constraints
- Cascade delete
Type Safety
See complete-package/types/index.json for:
- Object types
- Enums
- Utility types (Omit, Pick, Partial)
- Type reuse
Authentication & Authorization
See complete-package/api/routes.json and permissions/roles.json for:
- Bearer token auth
- Role-based permissions
- Route-level authorization
- Resource-level access control
Troubleshooting
Schema Validation Fails
Check:
- Required fields are present
schemaVersionmatches (2.0.0)- Type references exist in types schema
- Handler functions exist in scripts schema
Common issues:
- Missing
schemaVersionfield - Using deprecated
field.primaryinstead ofentity.primaryKey - Handler function not exported
- Type reference doesn't match type name exactly
Cross-Schema References Not Working
Ensure:
- Referenced items are exported
- Names match exactly (case-sensitive)
- All schemas use compatible versions
Contributing
To add new examples:
- Create directory under
examples/ - Include README.md explaining the example
- Ensure all JSON files validate
- Add to this master README
- Test cross-schema validation
Resources
Last Updated: 2026-01-01 Schema Version: 2.0.0 Maintained by: MetaBuilder Team
Generated with Claude Code