design-system-cli
Complete Design System Reverse Engineering (DSRE) + Functional Cloning CLI - Extract visual design (tokens, assets) AND functional behavior (workflows, state machines, business rules) from any web application
معلومات المصدر
- المستودع
- jgtolentino/design-system-cli
- آخر نشاط في المصدر
- ٢٠ يناير ٢٠٢٦ في ٠٧:٤٣
- لغة SKILL.md المكتشفة
- الإنجليزية
- النجوم
- ٢
- التفرعات
- ٠
خيارات التثبيت
يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.
مراجعة ملفات المصدر
اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.
عرض SKILL.md
SKILL.md
تعليمات المصدر · معاينة للقراءة فقط- name
- design-system-cli
- description
- Complete Design System Reverse Engineering (DSRE) + Functional Cloning CLI - Extract visual design (tokens, assets) AND functional behavior (workflows, state machines, business rules) from any web application
- license
- MIT
- allowed-tools
- ["Read","Write","Edit","Bash","Grep","Glob"]
# Design System CLI Skill
Complete reverse engineering toolkit for cloning BOTH the visual design AND functional behavior of web applications.
## Overview
The design-system-cli provides two complementary capabilities:
### Part A: Visual Cloning (Phases 1-8)
1. **Design Tokens**: Colors, typography, spacing, border-radius, shadows, breakpoints
2. **Visual Assets**: Images, videos, SVG icons, background images with metadata
3. **Asset Prompts**: LLM-ready prompts for recreating extracted visual assets
4. **Component Generation**: React components from HTML structure
5. **Hard Fork & Rebrand**: Transform sites into legally clean templates
### Part B: Functional Cloning (Phases 9-12)
1. **Interaction Recording**: Capture user sessions with clicks, typing, network calls
2. **Flow Extraction**: Identify screens and user journeys
3. **Entity Inference**: Extract data models from API payloads
4. **Business Rules**: State machines, validation rules, permissions
5. **App Generation**: Generate working Next.js applications from behavioral data
**Result**: Clone BOTH the look AND behavior of any web application
## Core Capabilities
### Part A: Visual Cloning (Phases 1-8)
#### 1. Design Token Extraction
**Command**: `ds pipeline --url <url> --framework <framework>`
**Frameworks Supported**:
- `react-tailwind` - Tailwind CSS config for React
- `vue-tailwind` - Tailwind CSS config for Vue
- `react-mui` - Material-UI theme for React
- `angular-material` - Angular Material theme
- `css-variables` - Plain CSS custom properties
**Output Files**:
- `raw-tokens.json` - Raw extracted tokens
- `normalized-tokens.json` - Normalized design system
- `<framework>.config.js` - Framework-specific config
**Example**:
```bash
ds pipeline --url https://labs.google/aifuturesfund/ --framework react-tailwind
```
#### 2. Visual Asset Extraction
**Command**: `ds pipeline --url <url> --assets-out <path>`
**Extracts**:
- Images (`<img>` tags) with dimensions, alt text, aspect ratio
- Videos (`<video>` tags) with dimensions, controls, autoplay state
- SVG icons and illustrations
- Background images from computed styles
- Dominant colors from each asset
**Asset Metadata**:
- `id`: Unique identifier (img-1, video-1, svg-1, bg-1)
- `type`: image | video | icon | illustration | animation
- `role`: hero | thumbnail | avatar | background | decoration | content
- `src`: Asset URL
- `alt`: Alternative text (images only)
- `aspectRatio`: Width:height ratio (16:9, 1:1, etc.)
- `dominantColors`: Array of prominent colors
- `dimensions`: {width, height} in pixels
**Output**:
```json
{
"page": "https://example.com",
"capturedAt": "2025-11-19T13:18:46.363Z",
"assets": [
{
"id": "img-1",
"type": "image",
"role": "hero",
"src": "https://example.com/hero.webp",
"alt": "Hero image description",
"aspectRatio": "16:9",
"dominantColors": ["#1a73e8", "#ffffff"],
"dimensions": {"width": 1920, "height": 1080}
}
]
}
```
#### 3. Asset Prompt Generation
**Command**: `ds assets-prompts --assets <assets.json> --out <asset-prompts.json>`
**Generates LLM-ready prompts** for image recreation via fal-ai models:
**Output Format**:
```json
{
"page": "https://example.com",
"items": [
{
"id": "img-1",
"type": "image",
"target_model": "fal-ai/image",
"prompt": "TODO: describe hero for https://example.com",
"negative_prompt": "text, watermark, logos, UI chrome",
"guidance": {
"aspect_ratio": "16:9",
"color_palette": ["#1a73e8", "#ffffff"],
"style_notes": "role: hero",
"role": "hero"
}
}
]
}
```
**Workflow**:
1. Extract assets with `ds pipeline --assets-out assets.json`
2. Generate prompts with `ds assets-prompts --assets assets.json --out asset-prompts.json`
3. Review and enhance prompts with asset context
4. Use prompts with fal-ai image generation models
5. Replace original assets with AI-generated versions
#### 4. Figma Integration
**Command**: `ds figma --tokens <normalized-tokens.json> --out <figma-plugin/>`
**Generates** a ready-to-use Figma plugin with:
- Color styles from token palette
- Text styles from typography tokens
- Interactive UI for import confirmation
- Complete manifest.json configuration
**Plugin Usage**:
1. Generate plugin: `ds figma --tokens normalized-tokens.json`
2. Load plugin in Figma: Plugins → Development → Import from manifest
3. Run plugin to import design tokens as Figma styles
---
### Part B: Functional Cloning (Phases 9-12)
Clone the **behavior and workflows** of applications, not just the visual design.
#### 5. Interaction Recording (Phase 9)
**Command**: `ds trace --url <url> --out trace.json --duration <ms>`
**Captures**:
- User interactions (clicks, typing, navigation, scrolls)
- Network requests and responses with full payloads
- DOM snapshots at each screen transition
- Form submissions and API calls
- Session replay data
**Output**: `trace.json` with complete interaction history
**Example**:
```bash
ds trace --url https://gradual.com --out gradual-trace.json --duration 30000
```
**Use Cases**:
- Record user workflows for analysis
- Document complex application flows
- Capture API contracts and data models
- Build behavioral test suites
#### 6. Flow Extraction (Phase 10)
**Command**: `ds flows --trace <trace.json> --out-screens <screens.json> --out-flows <flows.json>`
**Extracts**:
- Distinct screens from DOM snapshots
- User journeys and navigation patterns
- Screen transition triggers
- Flow confidence scoring
**Outputs**:
- `screens.json` - Unique screens with metadata
- `flows.json` - User journeys with step-by-step actions
**Example**:
```bash
ds flows --trace gradual-trace.json --out-screens screens.json --out-flows flows.json
```
**Use Cases**:
- Map application navigation structure
- Document user journeys
- Identify key user paths
- Analyze flow complexity
#### 7. Entity Inference (Phase 11)
**Command**: `ds entities --trace <trace.json> --out entities.json`
**Infers**:
- Data models from network payloads
- Field types and schemas (string, number, boolean, date-time, array, object)
- Required vs optional fields
- CRUD operations per entity
- Field relationships and metadata
**Output**: `entities.json` with complete data model
**Example**:
```bash
ds entities --trace gradual-trace.json --out entities.json
```
**Use Cases**:
- Reverse engineer database schemas
- Document API contracts
- Generate TypeScript types
- Build data models for new systems
#### 8. Business Rules Extraction (Phase 12)
**Command**: `ds rules --trace <trace.json> --flows <flows.json> --entities <entities.json> --out rules.json`
**Extracts**:
- State machines from entity status fields
- State transitions from user flows
- Validation rules from field types and API errors
- Permission rules from CRUD operation patterns
- Business rules for workflows and immutability
**Output**: `rules.json` with complete rule system
**Example**:
```bash
ds rules \
--trace gradual-trace.json \
--flows flows.json \
--entities entities.json \
--out rules.json
```
**Rule Types**:
- **State Machines**: Lifecycle states and transitions (draft → active → archived)
- **Validation Rules**: Field constraints (required, email, max:500, min:3)
- **Permission Rules**: Authorization requirements (create, update, delete, approve)
- **Business Rules**: Workflow logic and field immutability
#### 9. Functional App Generation (Phase 12)
**Command**: `ds fx-codegen --screens <screens.json> --flows <flows.json> --entities <entities.json> --rules <rules.json> --out <dir>`
**Generates**:
- Complete Next.js 14 application with App Router
- Typed API clients for each entity
- List and detail pages for all entities
- TypeScript types from entity schemas
- React components with validation
- README with functionality spec
**Output**: Working Next.js application
**Example**:
```bash
ds fx-codegen \
--screens screens.json \
--flows flows.json \
--entities entities.json \
--rules rules.json \
--out apps/gradual-clone
```
**Generated Structure**:
```
apps/gradual-clone/
├── app/
│ ├── layout.tsx # App shell with navigation
│ ├── [entity]s/
│ │ ├── page.tsx # List page
│ │ └── [id]/page.tsx # Detail page
├── lib/
│ ├── types.ts # TypeScript types from entities
│ └── api/
│ └── [entity]s.ts # CRUD API clients
├── package.json # Next.js 14 dependencies
└── README.md # Functionality spec
```
## Complete Workflows
### Workflow 1: Complete Functional Clone (Phases 9-12)
**Goal**: Clone an entire SaaS application (like Gradual, Linear, or Notion)
```bash
# Step 1: Record user interactions (30 seconds)
ds trace --url https://gradual.com --out gradual-trace.json --duration 30000
# Step 2: Extract screens and user flows
ds flows --trace gradual-trace.json --out-screens gradual-screens.json --out-flows gradual-flows.json
# Step 3: Infer data models from API calls
ds entities --trace gradual-trace.json --out gradual-entities.json
# Step 4: Extract business rules and state machines
ds rules \
--trace gradual-trace.json \
--flows gradual-flows.json \
--entities gradual-entities.json \
--out gradual-rules.json
# Step 5: Generate working Next.js application
ds fx-codegen \
--screens gradual-screens.json \
--flows gradual-flows.json \
--entities gradual-entities.json \
--rules gradual-rules.json \
--out apps/gradual-clone
# Step 6: Run the cloned application
cd apps/gradual-clone
npm install
npm run dev # http://localhost:3000
```
**Result**: Complete working application with:
- All screens and navigation
- Full data models and TypeScript types
- State machines and lifecycle management
- Validation rules and permissions
- CRUD operations and API clients
### Workflow 2: Combined Visual + Functional Clone
**Goal**: Clone BOTH the look AND behavior of an application
```bash
# Part A: Visual Cloning
ds pipeline --url https://example.com --framework react-tailwind --assets-out assets.json
ds assets-prompts --assets assets.json --out asset-prompts.json
# Part B: Functional Cloning
ds trace --url https://example.com --out trace.json --duration 30000
ds flows --trace trace.json --out-screens screens.json --out-flows flows.json
ds entities --trace trace.json --out entities.json
ds rules --trace trace.json --flows flows.json --entities entities.json --out rules.json
ds fx-codegen --screens screens.json --flows flows.json --entities entities.json --rules rules.json --out apps/full-clone
# Part C: Merge Results
# Copy visual assets into functional app
cp -r design-system/* apps/full-clone/
# Use generated Tailwind config
cp tailwind.config.js apps/full-clone/
# Run complete clone
cd apps/full-clone
npm install
npm run dev
```
**Result**: Pixel-perfect visual clone with complete functional behavior
## Use Cases
### Visual Cloning Use Cases
#### Full Design System Extraction
```bash
# Extract everything from a website
ds pipeline --url https://example.com --framework react-tailwind --assets-out assets.json
# Generate asset recreation prompts
ds assets-prompts --assets assets.json --out asset-prompts.json
# Generate Figma plugin
ds figma --tokens normalized-tokens.json --out figma-plugin/
```
### Functional Cloning Use Cases
#### Clone SaaS Application Workflows
```bash
# Record and clone key user journeys
ds trace --url https://linear.app --out linear-trace.json
ds flows --trace linear-trace.json --out-screens screens.json --out-flows flows.json
ds fx-codegen --screens screens.json --flows flows.json --entities entities.json --rules rules.json --out apps/linear-clone
```
**Use Cases**:
- Recreate project management workflows (Linear, Asana, Jira)
- Clone CRM functionality (Salesforce, HubSpot)
- Reverse engineer SaaS features for competitive analysis
- Build similar apps with custom branding
#### Document Legacy Applications
```bash
# Record enterprise application behavior
ds trace --url https://sap-system.company.com --out sap-trace.json
ds flows --trace sap-trace.json --out-screens sap-screens.json --out-flows sap-flows.json
ds entities --trace sap-trace.json --out sap-entities.json
```
**Use Cases**:
- Document undocumented legacy systems
عرض على GitHubملف SKILL.md هذا كبير جدا، لذلك يعرض SkillsMP القسم الاول فقط هنا. عرض على GitHub