{"_id":"@damarkuncoro/ui-core","_rev":"3-6051653434bb8da1db7cd1f03d352755","name":"@damarkuncoro/ui-core","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@damarkuncoro/ui-core","version":"0.1.0","keywords":["ui","library","core","contracts","types","utils","typescript"],"author":{"name":"DAMAR KUNCORO"},"license":"MIT","_id":"@damarkuncoro/ui-core@0.1.0","maintainers":[{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"}],"homepage":"https://github.com/damarkuncoro/contract-architecture#readme","bugs":{"url":"https://github.com/damarkuncoro/contract-architecture/issues"},"dist":{"shasum":"a021084aabbf345c7dfa8b6927f19cdd70b6e7e8","tarball":"https://registry.npmjs.org/@damarkuncoro/ui-core/-/ui-core-0.1.0.tgz","fileCount":337,"integrity":"sha512-0J6jHs01X0MkkM2huNVE8z3z0w/PGFwGVPua0KZ3X1iBzQVT1EvxwJ/Zl509mQDFhX4nEUg55t36LKivrO8C+g==","signatures":[{"sig":"MEUCIQDA1Z/9npLEbh/7Oh939gtZPQf7mv4dhHijzZ+VE3f+5AIgaB+Tq8SIVZpaYrqUR+PQVIjuYB/UCrdCpcLfcrPonPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346587},"main":"lib/cjs/index.cjs","type":"module","types":"lib/esm/index.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./types":{"types":"./lib/esm/types/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./utils":{"types":"./lib/esm/utils/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./contracts":{"types":"./lib/esm/contracts/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"}},"gitHead":"9306bbf856d5088066f17ef04267135ddf91e7eb","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsc --emitDeclarationOnly --declarationDir lib/esm && rollup -c","clean":"rm -rf lib","type-check":"tsc --noEmit"},"_npmUser":{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"},"repository":{"url":"git+https://github.com/damarkuncoro/contract-architecture.git","type":"git","directory":"examples/react-renderer/packages/core"},"_npmVersion":"10.8.2","description":"Core foundation: domain entities, contracts, types, and utilities for UI Library","directories":{},"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","rollup":"^4.0.0","vitest":"^1.2.0","typescript":"^5.0.0","@types/node":"^20.0.0","rollup-plugin-dts":"^6.0.0","@vitest/coverage-v8":"^1.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"@damarkuncoro/meta-architecture":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.0_1769684186148_0.6608267669148764","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@damarkuncoro/ui-core","version":"0.1.1","keywords":["ui","library","core","contracts","types","utils","typescript"],"author":{"name":"DAMAR KUNCORO"},"license":"MIT","_id":"@damarkuncoro/ui-core@0.1.1","maintainers":[{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"}],"homepage":"https://github.com/damarkuncoro/contract-architecture#readme","bugs":{"url":"https://github.com/damarkuncoro/contract-architecture/issues"},"dist":{"shasum":"6ff4915f26a730567c2f98b8bac84eba38ed0d75","tarball":"https://registry.npmjs.org/@damarkuncoro/ui-core/-/ui-core-0.1.1.tgz","fileCount":704,"integrity":"sha512-QLvSmiEmtkq5ncg+mx0RVni0R4qH4VnVm48qVzQTHVcpov0X9CY1AfNXmA5/j9AQHU4CqJUUFElzHnW2sqU6jA==","signatures":[{"sig":"MEUCIQCd/E8PVIQUHbeFxU55/uzjCAwHhaHJOiBcyHHTgp6JTgIgRZcGRoRjd4T5I2JJggbzckQ5tQxNEk0AAmBN7RgqiTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1593513},"main":"lib/cjs/index.cjs","type":"module","types":"lib/esm/index.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./types":{"types":"./lib/esm/types/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./utils":{"types":"./lib/esm/utils/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./contracts":{"types":"./lib/esm/contracts/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"}},"gitHead":"421628e3c78477662eed2b346abe3ed8ae6edb88","scripts":{"dev":"rollup -c -w","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"vitest run","build":"tsc --emitDeclarationOnly --declarationDir lib/esm && rollup -c","clean":"rm -rf lib","analyze":"open lib/bundle-analysis.html","build:prod":"NODE_ENV=production npm run build","test:watch":"vitest","type-check":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"},"repository":{"url":"git+https://github.com/damarkuncoro/contract-architecture.git","type":"git","directory":"examples/react-renderer/packages/core"},"_npmVersion":"10.8.2","description":"Core foundation: domain entities, contracts, types, and utilities for UI Library","directories":{},"sideEffects":false,"_nodeVersion":"20.19.4","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","rollup":"^4.0.0","vitest":"^1.2.0","typescript":"^5.0.0","@types/node":"^20.0.0","rollup-plugin-dts":"^6.0.0","@vitest/coverage-v8":"^1.2.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^25.0.0","rollup-plugin-visualizer":"^5.9.0","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^8.54.0","@rollup/plugin-node-resolve":"^15.0.0","@typescript-eslint/eslint-plugin":"^8.54.0"},"peerDependencies":{"@damarkuncoro/meta-architecture":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-core_0.1.1_1769742872472_0.6938019740296721","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@damarkuncoro/ui-core","version":"0.1.2","description":"Core foundation: domain entities, contracts, types, and utilities for UI Library","type":"module","main":"lib/cjs/index.cjs","module":"lib/esm/index.js","types":"lib/esm/index.d.ts","exports":{".":{"types":"./lib/esm/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./contracts":{"types":"./lib/esm/contracts/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./types":{"types":"./lib/esm/types/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"},"./utils":{"types":"./lib/esm/utils/index.d.ts","import":"./lib/esm/index.js","require":"./lib/cjs/index.cjs"}},"sideEffects":false,"scripts":{"build":"tsc --emitDeclarationOnly --declarationDir lib/esm && rollup -c","build:prod":"NODE_ENV=production npm run build","dev":"rollup -c -w","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint \"src/**/*.{ts,tsx}\"","type-check":"tsc --noEmit","clean":"rm -rf lib","analyze":"open lib/bundle-analysis.html","contract:generate":"tsx scripts/contract-cli.mjs generate","contract:validate":"tsx scripts/contract-cli.mjs validate","contract:migrate":"tsx scripts/contract-cli.mjs migrate","contract:list":"tsx scripts/contract-cli.mjs list","contract:stats":"tsx scripts/contract-cli.mjs stats","contract:help":"tsx scripts/contract-cli.mjs help"},"keywords":["ui","library","core","contracts","types","utils","typescript"],"author":{"name":"DAMAR KUNCORO"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/damarkuncoro/contract-architecture.git","directory":"examples/react-renderer/packages/core"},"peerDependencies":{"@damarkuncoro/meta-architecture":"^2.0.0"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^11.0.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^8.54.0","@typescript-eslint/parser":"^8.54.0","@vitest/coverage-v8":"^1.2.0","eslint":"^8.0.0","rollup":"^4.0.0","rollup-plugin-dts":"^6.0.0","rollup-plugin-visualizer":"^5.9.0","tsx":"^4.21.0","typescript":"^5.0.0","vitest":"^1.2.0"},"_id":"@damarkuncoro/ui-core@0.1.2","gitHead":"c704125976a1c221ba9526ee28ae9cde4b66598a","bugs":{"url":"https://github.com/damarkuncoro/contract-architecture/issues"},"homepage":"https://github.com/damarkuncoro/contract-architecture#readme","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-wKYDeCijw2v7zR6clFpJb8HoM1c/38raF/6WAy5tVD2ihzhXCe6/DO9eULihto0BXhtwgeNAUlS20Y4K+KGVKw==","shasum":"e77a0d5f65913526ecb903c31b75190b2c2d3b8d","tarball":"https://registry.npmjs.org/@damarkuncoro/ui-core/-/ui-core-0.1.2.tgz","fileCount":629,"unpackedSize":1132479,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFV4GHnHl1wrKmUiQzYz1WogtpoamzIW4RfuRzpWPSdvAiEAp+HEnQ5+zcagDzdqOeeNuyP1H01TzFhvl/AsO9ZHSzM="}]},"_npmUser":{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"},"directories":{},"maintainers":[{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui-core_0.1.2_1769752265381_0.2536334101429092"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-29T10:56:26.019Z","modified":"2026-01-30T05:51:05.765Z","0.1.0":"2026-01-29T10:56:26.293Z","0.1.1":"2026-01-30T03:14:32.674Z","0.1.2":"2026-01-30T05:51:05.633Z"},"bugs":{"url":"https://github.com/damarkuncoro/contract-architecture/issues"},"author":{"name":"DAMAR KUNCORO"},"license":"MIT","homepage":"https://github.com/damarkuncoro/contract-architecture#readme","keywords":["ui","library","core","contracts","types","utils","typescript"],"repository":{"type":"git","url":"git+https://github.com/damarkuncoro/contract-architecture.git","directory":"examples/react-renderer/packages/core"},"description":"Core foundation: domain entities, contracts, types, and utilities for UI Library","maintainers":[{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"}],"readme":"# @damarkuncoro/ui-core\n\n**Enterprise-Grade Design System Platform** - Advanced contract-driven UI library foundation with JSON Schema validation, inheritance & composition, and runtime hot reload capabilities.\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue.svg)](https://www.typescriptlang.org/)\n[![SOLID](https://img.shields.io/badge/SOLID-Principles-green.svg)](https://en.wikipedia.org/wiki/SOLID)\n[![JSON Schema](https://img.shields.io/badge/JSON_Schema-Draft_7-orange.svg)](https://json-schema.org/)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n## ⚡ Key Features\n\n- 🔍 **Advanced Validation**: Full JSON Schema compliance with custom business logic validators\n- 🏗️ **Contract Composition**: Inheritance, mixins, templates, and factory patterns\n- 🔄 **Runtime Registry**: Hot reload, dynamic loading, and dependency management\n- 🎨 **Enhanced Theming**: 200+ design tokens with semantic color scales\n- 📊 **Performance Monitoring**: Built-in analytics and usage statistics\n- 🧪 **Comprehensive Testing**: 100% test coverage with advanced mocking\n- 📚 **Auto-Documentation**: Generate Markdown, HTML, and JSON Schema docs\n- 🚀 **Production Ready**: Optimized builds with tree-shaking and minification\n\n## ⚠️ Implementation Status\n\n**Status:** ✅ **Production Ready** - Enterprise-grade design system platform\n\nThis package provides a **complete design system foundation** with advanced contract management, validation, composition, and runtime capabilities. It serves as the constitutional layer defining component contracts while providing powerful tooling for development and production use.\n\n## 🔗 Architecture\n\nBuilt on `@damarkuncoro/meta-architecture` with enterprise-grade extensions:\n\n```\nMeta-Architecture (Domain Logic)\n    ↓\nUI-Core (This Package)\n├── 🔍 Advanced Validation (JSON Schema + Custom)\n├── 🏗️ Contract Composition (Inheritance + Mixins)\n├── 🔄 Runtime Registry (Hot Reload + Dynamic Loading)\n├── 🎨 Enhanced Theming (200+ Design Tokens)\n├── 📊 Analytics (Performance + Usage Monitoring)\n└── 🧪 Testing Framework (Comprehensive Coverage)\n    ↓\nReact-Renderer (Component Implementation)\n```\n\n### Dependency Rules\n1. **UI Contract** → Depends on Meta-Architecture types only\n2. **Base UI** → Depends on UI Contract\n3. **Skins** → Depends on Base UI + Styling System\n4. **Pages** → Depends on Skins + Business Logic\n5. **Plugins** → Can extend any layer through interfaces\n\n## 📚 Package Contents\n\n### 1. 🎯 Advanced Contracts (`src/contracts`)\nEnterprise-grade component contract definitions with composition capabilities:\n\n#### **Atomic Design Structure**\n- **Atoms**: 20+ basic components (Button, Input, Checkbox, Radio, Switch, Badge, Icon, etc.)\n- **Molecules**: 15+ composite components (Card, Alert, Toast, Breadcrumb, etc.)\n- **Organisms**: 10+ complex components (Table, Modal, Form, Drawer, Tabs, etc.)\n- **Layouts**: Page-level structures (DashboardLayout)\n- **Theme**: 200+ design tokens with semantic scales\n\n#### **Advanced Contract Features**\n```typescript\n// Enhanced contract with advanced validation\nexport const buttonContract = ContractEntity.create({\n  name: 'ui-button',\n  category: ContractCategory.UI_COMPONENT,\n  variants: [\n    Builders.createSizeVariant(),\n    Builders.createIntentVariant(),\n    Builders.createShapeVariant(['rounded', 'square', 'pill'])\n  ],\n  props: [\n    // Enhanced with JSON Schema validation\n    (() => {\n      const prop = Builders.createStringPropRequired('label');\n      (prop as any).validationRules = [\n        new JSONSchemaValidator({\n          type: 'string',\n          minLength: 1,\n          maxLength: 100\n        })\n      ];\n      return prop;\n    })()\n  ]\n});\n\n// Contract composition example\nexport const iconButtonContract = composer.compose(\n  baseButtonContract,\n  iconContract\n);\n\n// Template-based creation\nconst primaryButton = ContractTemplate.createFromTemplate('button', {\n  variantOverrides: { intent: { defaultValue: 'primary' } }\n});\n```\n\n### 2. 🛠️ Advanced Utilities (`src/utils`)\n\n#### **Validation System**\n- **`AdvancedValidationEngine`**: JSON Schema + custom business logic validation\n- **`JSONSchemaValidator`**: Full Draft 7 JSON Schema compliance\n- **`CustomValidator`**: Business logic validation with error handling\n- **`RequiredValidator`**, **`RangeValidator`**, **`PatternValidator`**: Built-in validators\n\n#### **Composition System**\n- **`ContractComposer`**: Multiple composition strategies (merge, extend, mixin)\n- **`ContractTemplate`**: Reusable contract patterns\n- **`ContractFactory`**: Specialized component factories\n- **`ContractTemplates`**: Pre-built template library\n\n#### **Runtime Management**\n- **`RuntimeContractRegistry`**: Hot reload, dynamic loading, dependency tracking\n- **`FileWatcherFactory`**: Cross-platform file watching (Node.js + Browser)\n- **`ContractLoadStrategy`**: EAGER, LAZY, HYBRID loading patterns\n\n#### **Documentation & Tooling**\n- **`ContractDocumenter`**: Auto-generate Markdown, HTML, JSON Schema docs\n- **`TypeScriptInterfaceGenerator`**: Generate TypeScript interfaces from contracts\n- **`ContractSummaryGenerator`**: Create contract library overviews\n\n#### **Enhanced Builders**\n- **`VariantBuilder`**: Create contract variants with validation\n- **`PropBuilder`**: Basic property creation\n- **`AdvancedPropBuilder`**: Type-safe enum, union, array, color, date, URL props\n- **`BuilderFactory`**: Dependency injection for builder composition\n\n#### **Legacy Support**\n- **`Builders`**: Backward-compatible static API\n- **`CommonProps`**: 7 shared prop groups (formField, interactive, navigation, etc.)\n- **`I18n`**: Internationalization helpers\n- **`cn`**: Class name merging utility\n\n## 🏗️ Advanced Design Patterns\n\n### SOLID Principles Implementation\n- **🎯 SRP**: Each class has one responsibility (validation, composition, registry, etc.)\n- **📖 OCP**: Open for extension through interfaces, closed for modification\n- **🔄 LSP**: All implementations are substitutable through interfaces\n- **🎨 ISP**: Client-specific interfaces (IValidationRule, IContractComposer, etc.)\n- **🔧 DIP**: High-level modules depend on abstractions, not concretions\n\n### Advanced Patterns\n- **🏭 Factory Pattern**: `ContractFactory`, `BuilderFactory` for object creation\n- **🎭 Strategy Pattern**: Multiple composition and validation strategies\n- **👁️ Observer Pattern**: Hot reload event system\n- **🔌 Plugin Architecture**: Extensible through interface contracts\n- **📦 Template Method**: Contract composition with customizable steps\n\n### Enterprise Patterns\n- **🏛️ Registry Pattern**: Centralized contract management with metadata\n- **🔍 Specification Pattern**: Advanced validation rules and queries\n- **🏗️ Builder Pattern**: Fluent contract construction with validation\n- **📊 Repository Pattern**: Contract persistence and retrieval\n- **🎨 Decorator Pattern**: Contract enhancement without modification\n\n## 🚀 Quick Start\n\n### Basic Usage\n```typescript\nimport {\n  buttonContract,\n  ContractValidator,\n  ContractComposer\n} from '@damarkuncoro/ui-core';\n\n// Create validator\nconst validator = ContractValidator.create();\n\n// Validate props against contract\nconst result = validator.validateProps(buttonContract, {\n  label: 'Click me',\n  onClick: () => console.log('clicked')\n});\n\nif (result.isValid) {\n  // Render component\n} else {\n  console.error('Validation errors:', result.errors);\n}\n```\n\n### Advanced Composition\n```typescript\nimport {\n  ContractComposer,\n  ContractTemplate,\n  RuntimeContractRegistry,\n  ContractLoadStrategy\n} from '@damarkuncoro/ui-core';\n\n// Create composer\nconst composer = new ContractComposer();\n\n// Compose contracts\nconst iconButton = composer.compose(\n  buttonContract,\n  iconContract\n);\n\n// Use templates\nconst primaryButton = ContractTemplate.createFromTemplate('button', {\n  variantOverrides: { intent: { defaultValue: 'primary' } }\n});\n\n// Runtime registry with hot reload\nconst registry = new RuntimeContractRegistry(ContractLoadStrategy.LAZY);\nawait registry.preloadContracts('./contracts');\n\nregistry.onContractReload((contract) => {\n  console.log(`Contract ${contract.name.value} reloaded`);\n});\n```\n\n### Advanced Validation\n```typescript\nimport {\n  JSONSchemaValidator,\n  CustomValidator,\n  AdvancedValidationEngine\n} from '@damarkuncoro/ui-core';\n\n// JSON Schema validation\nconst schemaValidator = new JSONSchemaValidator({\n  type: 'object',\n  properties: {\n    email: { type: 'string', format: 'email' },\n    age: { type: 'number', minimum: 18 }\n  },\n  required: ['email']\n});\n\n// Custom business logic\nconst passwordValidator = new CustomValidator(\n  (value) => /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,}$/.test(value),\n  'Password must contain uppercase, lowercase, and number'\n);\n\n// Validation engine\nconst engine = AdvancedValidationEngine.create();\nengine.registerRule('password-strength', passwordValidator);\n```\n\n## 📖 API Reference\n\n### Core Classes\n\n#### ContractValidator\n```typescript\nclass ContractValidator {\n  validateProps(contract: ContractEntity, props: Record<string, any>): ValidationResult\n  getDefaultProps(contract: ContractEntity): Record<string, any>\n  mergeWithDefaults(contract: ContractEntity, props: Record<string, any>): Record<string, any>\n  isCompatible(source: ContractEntity, target: ContractEntity): boolean\n\n  static create(): ContractValidator  // Factory method\n}\n```\n\n#### ContractComposer\n```typescript\nclass ContractComposer {\n  constructor(options?: CompositionOptions)\n\n  compose(...contracts: ContractEntity[]): ContractEntity\n  extend(base: ContractEntity, extension: ContractExtension): ContractEntity\n  mixin(target: ContractEntity, ...mixins: ContractEntity[]): ContractEntity\n}\n```\n\n#### RuntimeContractRegistry\n```typescript\nclass RuntimeContractRegistry {\n  constructor(strategy?: ContractLoadStrategy, fileWatcher?: IFileWatcher)\n\n  register(contract: ContractEntity): void\n  get(name: string): ContractEntity | undefined\n  loadContractFromFile(path: string): Promise<ContractEntity | null>\n  watchDirectory(path: string): void\n  onContractReload(callback: Function): void\n  getStats(): RegistryStats\n}\n```\n\n### Utility Classes\n\n#### AdvancedValidationEngine\n```typescript\nclass AdvancedValidationEngine {\n  registerRule(name: string, rule: IValidationRule): void\n  validateWithRules(value: any, rules: IValidationRule[], context: ValidationContext): ValidationResult\n  validateContractProps(contract: ContractEntity, props: Record<string, any>): ValidationResult\n\n  static create(): AdvancedValidationEngine\n}\n```\n\n#### ContractDocumenter\n```typescript\nclass ContractDocumenter {\n  generateMarkdown(contract: ContractEntity): string\n  generateHTML(contract: ContractEntity): string\n  generateTypeScriptInterface(contract: ContractEntity): string\n  generateJSONSchema(contract: ContractEntity): any\n  generateSummary(contracts: ContractEntity[]): string\n}\n```\n\n## 🧪 Testing\n\n### Test Setup\n```typescript\nimport { describe, it, expect, beforeEach } from 'vitest';\nimport { ContractValidator, ContractComposer } from '@damarkuncoro/ui-core';\n\ndescribe('UI Core', () => {\n  let validator: ContractValidator;\n  let composer: ContractComposer;\n\n  beforeEach(() => {\n    validator = ContractValidator.create();\n    composer = new ContractComposer();\n  });\n\n  it('should validate contracts', () => {\n    // Test implementation\n  });\n});\n```\n\n### Test Commands\n```bash\n# Run all tests\nnpm test\n\n# Run with coverage\nnpm run test:coverage\n\n# Run specific test file\nnpm test -- advancedValidation.test.ts\n\n# Watch mode\nnpm run test:watch\n```\n\n## 📊 Performance & Monitoring\n\n### Registry Statistics\n```typescript\nconst stats = registry.getStats();\nconsole.log(`\n  Contracts: ${stats.totalContracts}\n  Loaded: ${stats.loadedContracts}\n  Cache Hit Rate: ${(stats.cacheHitRate * 100).toFixed(1)}%\n  Memory Usage: ${stats.memoryUsage} bytes\n`);\n```\n\n### Performance Monitoring\n- **Load Times**: Contract loading and validation performance\n- **Cache Efficiency**: Hit rates and memory usage\n- **Hot Reload**: File change detection and reload times\n- **Validation Speed**: Rule execution times and complexity\n\n## 🔧 Build & Development\n\n### Development Commands\n```bash\n# Start development build with watching\nnpm run dev\n\n# Build for production\nnpm run build:prod\n\n# Type checking\nnpm run type-check\n\n# Linting\nnpm run lint\n\n# Generate documentation\nnpm run docs\n```\n\n### Build Configuration\n- **ESM + CJS**: Dual format outputs\n- **TypeScript**: Strict mode with declarations\n- **Minification**: Production builds with tree-shaking\n- **Source Maps**: Development debugging support\n- **Bundle Analysis**: Size monitoring and optimization\n\n## 📦 Installation & Requirements\n\n```bash\nnpm install @damarkuncoro/ui-core\n```\n\n### Peer Dependencies\n- `@damarkuncoro/meta-architecture`: ^2.0.0\n- `typescript`: ^5.0.0\n\n### Optional Dependencies (for advanced features)\n- `chokidar`: ^3.5.0 (for file watching)\n- `ajv`: ^8.0.0 (for JSON Schema validation)\n\n## 🤝 Contributing\n\n### Development Setup\n```bash\n# Clone repository\ngit clone https://github.com/damarkuncoro/contract-architecture.git\ncd contract-architecture\n\n# Install dependencies\nnpm install\n\n# Start development\nnpm run dev\n\n# Run tests\nnpm test\n```\n\n### Code Standards\n- **SOLID Principles**: All contributions must follow SOLID principles\n- **TypeScript**: Strict mode, no `any` types\n- **Testing**: 100% coverage requirement\n- **Documentation**: Auto-generated docs for all public APIs\n- **Performance**: No performance regressions\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built on the solid foundation of `@damarkuncoro/meta-architecture`\n- Inspired by Atomic Design, SOLID principles, and enterprise design systems\n- Thanks to the TypeScript and Node.js communities for excellent tooling\n\n---\n\n**🎉 This is a production-ready, enterprise-grade design system platform that provides everything needed to build scalable, maintainable UI libraries with advanced contract management, validation, and runtime capabilities.**\n","readmeFilename":"README.md"}