npm package: @maqadhi/sdk
Description: Maqadhi Platform SDK for building themes and components
Author: Maqadhi Team
Latest version: 1.0.0

# Maqadhi SDK

مكتبة Maqadhi SDK لبناء القوالب والمكونات المخصصة للمنصة

## 📦 التثبيت (Installation)

```bash
npm install -g @maqadhi/sdk
# أو
yarn global add @maqadhi/sdk
```

## 🚀 البدء السريع (Quick Start)

### إنشاء مشروع جديد

```bash
# إنشاء قالب جديد
maqadhi init -t template

# إنشاء مكون جديد
maqadhi init -t component
```

### التحقق من القالب/المكون

```bash
maqadhi validate my-template.ts
```

### بناء القالب/المكون

```bash
maqadhi build -t template -i my-template.ts -o ./dist
```

### رفع القالب/المكون إلى المنصة

```bash
maqadhi publish -t template -f my-template.ts --api-key YOUR_API_KEY
```

## 📚 الوثائق (Documentation)

### استخدام SDK برمجياً

```typescript
import { 
  TemplateDefinition, 
  createSection, 
  validateTemplate,
  buildTemplateFile 
} from '@maqadhi/sdk';

// إنشاء قالب
const myTemplate: TemplateDefinition = {
  id: 'my-template',
  name: 'قالبي المخصص',
  nameEN: 'My Custom Template',
  description: 'وصف القالب',
  descriptionEN: 'Template description',
  category: 'ecommerce',
  themeId: 'royal-purple',
  v3Config: {
    pages: [
      {
        pageName: 'home',
        label: 'الرئيسية',
        labelEn: 'Home',
        isHeaderShow: true,
        sections: [
          createSection('heroSection', 'قسم البطل', {
            type: 'ImageHeroSection',
            content: {
              title: 'مرحباً',
              titleEN: 'Welcome'
            }
          }, false)
        ]
      }
    ]
  },
  preview: {
    thumbnail: 'https://example.com/thumbnail.jpg',
    screenshots: []
  },
  tags: ['ecommerce', 'modern']
};

// التحقق من القالب
const validation = validateTemplate(myTemplate);
if (validation.valid) {
  console.log('✅ Template is valid!');
} else {
  console.error('❌ Errors:', validation.errors);
}

// بناء ملف القالب
buildTemplateFile(myTemplate, './dist/my-template.ts');
```

### إنشاء مكون مخصص

```typescript
import { ComponentLibraryDefinition, validateComponent } from '@maqadhi/sdk';

const myComponent: ComponentLibraryDefinition = {
  id: 'my-component',
  name: 'مكوني المخصص',
  nameEN: 'My Custom Component',
  description: 'وصف المكون',
  descriptionEN: 'Component description',
  category: 'hero',
  tags: ['hero', 'custom'],
  version: '1.0.0',
  author: {
    id: 'author-id',
    name: 'Author Name'
  },
  pricing: {
    type: 'free'
  },
  source: {
    type: 'library',
    url: 'https://cdn.example.com/my-component.js',
    version: '1.0.0'
  },
  propsSchema: {
    title: {
      type: 'string',
      label: 'العنوان',
      labelEN: 'Title',
      required: true
    }
  },
  examples: [
    {
      title: 'مثال',
      titleEN: 'Example',
      props: {
        title: 'Hello World'
      }
    }
  ],
  preview: {
    thumbnail: 'https://example.com/thumbnail.jpg',
    screenshots: []
  }
};

// التحقق من المكون
const validation = validateComponent(myComponent);
if (validation.valid) {
  console.log('✅ Component is valid!');
}
```

## 📖 الأوامر المتاحة (Available Commands)

### `maqadhi init`
إنشاء مشروع جديد (قالب أو مكون)

```bash
maqadhi init -t template -n my-template
maqadhi init -t component -n my-component
```

### `maqadhi validate`
التحقق من صحة ملف القالب أو المكون

```bash
maqadhi validate my-template.ts
maqadhi validate my-component.ts
```

### `maqadhi build`
بناء القالب أو المكون

```bash
maqadhi build -t template -i my-template.ts -o ./dist
maqadhi build -t component -i my-component.ts -o ./dist
```

### `maqadhi publish`
رفع القالب أو المكون إلى منصة Maqadhi

```bash
maqadhi publish -t template -f my-template.ts --api-key YOUR_KEY
maqadhi publish -t component -f my-component.ts --api-key YOUR_KEY
```

## 🎨 أمثلة (Examples)

راجع مجلد `examples/` للأمثلة الكاملة.

## 📝 أنواع البيانات (Types)

جميع الأنواع متاحة من `@maqadhi/sdk`:

- `TemplateDefinition`
- `ComponentLibraryDefinition`
- `ComponentSource`
- `SectionData`
- `ValidationResult`
- وغيرها...

## 🔗 روابط مفيدة (Useful Links)

- [وثائق API](https://docs.maqadhi.com/api)
- [دليل المطورين](https://docs.maqadhi.com/developers)
- [منتدى المجتمع](https://community.maqadhi.com)

## 📄 الترخيص (License)

MIT