-# tidyfactor-design `v1.5.0`
+# tidyfactor-design `v1.9.0`
-**Code-Native UI-Design-Lifecycle & Interaktive Prototyping Engine für KI-Coding-Agenten**
+**Code-Native UI-Design-Lifecycle-Engine und Anti-Slop Designsystem-Suite für KI-Agenten**
[](https://www.npmjs.com/package/@tidyfactor/design)
[](LICENSE)
@@ -13,32 +13,90 @@
---
-## ⚡ Schnellstart (Quickstart)
+## 💡 Kernphilosophie: Trennung von Design-Intelligenz und Implementierung
-```bash
-# Installation & Direktaufruf via NPX
-npx @tidyfactor/cli-design
-```
+Das fundamentale Prinzip von **TidyFactor Design** besteht in der strikten Trennung von **Design-Wissen und -Intelligenz** von der **technischen Code-Implementierung**:
-Oder direkt in Ihrem KI-Assistenten aufrufen (*Google Antigravity, Claude Code, Cursor, Codex*):
-```text
-/tidyfactor-design
```
+ DESIGN INTELLIGENCE
+ │
+ ┌──────────┴──────────┐
+ ↓ ↓
+ Operational Memory Workflows
+ │ │
+ └──────────┬──────────┘
+ ↓
+ AI Agent
+ ↓
+ Design System
+ ↓
+ HTML/CSS/JS
+ ↓
+ Audit
+ ↓
+ Handoff
+```
+
+Diese Architektur macht die Skill zu einem wiederverwendbaren **Design-Engineering-Betriebssystem**, das deterministisch über unterschiedlichste Projekte hinweg agiert. Anstatt per Prompt unüberlegte Oberflächen zu generieren, führt der KI-Agent einen vollständigen, strukturierten Design-Lebenszyklus aus.
---
-## 📋 Befehls- & Workflow-Matrix
+## ⚖️ TidyFactor Design vs. Figma: Die Code-Native Alternative
-| Befehl | Ziel & Ergebnis | Workflow-Referenz |
+TidyFactor Design ist kein klassisches vektorbasiertes Zeichenwerkzeug, sondern eine **Code-Native Alternative zu Figma**:
+
+| Kriterium | Figma | TidyFactor Design |
|---|---|---|
-| `/brief` | Briefing de diseño y descubrimiento de marca | `workflows/brief.md` |
-| `/tokens` | Generación de design tokens y escalas | `workflows/tokens.md` |
-| `/components` | Prototipado interactivo de componentes UI | `workflows/components.md` |
-| `/page` | Montaje de páginas completas interactivas | `workflows/page.md` |
-| `/rtl` | Validación y soporte nativo RTL/Árabe | `workflows/rtl.md` |
+| **Paradigma** | Visuelles Gestaltungswerkzeug | Code-nativer Design-Workflow |
+| **Arbeitsbereich** | Canvas-zentriert | Code-zentriert |
+| **Zielgruppe** | Visuelle Designer | KI-Agent + Entwickler + Design-Engineer |
+| **Bausteine** | Visuelle Komponenten & Variablen | Design-Tokens + Komponenten + Workflows |
+| **Prototyping** | Klickbare Screen-Prototypen | Echte HTML/CSS/JS-Prototypen (Zero-Build-Step) |
+| **Handoff** | Manuelle Übergabe Designer → Entwickler | Design und Implementierung in einer einheitlichen Umgebung |
+| **Governance** | Manuelle visuelle Prüfung | Mechanische, automatisierte Qualitätsprüfungen |
+| **Umfang** | Oberflächengestaltung | Ganzheitliches Design-Lifecycle-Management |
+
+---
+
+## 🧠 Was bedeutet „Operational Memory“?
+
+Das operative Gedächtnis (`references/memory/`) besteht nicht aus abstrakten Texten, sondern aus **anwendbaren Regeln, Matrizen, Schemata und konkreten Restriktionen**:
+
+- **Typografie-Matrix** (`01-typography-matrix.md`): Hierarchien und mathematische Skalen.
+- **Layout-Archetypen** (`02-layout-archetypes.md`): Raster und Raumaufteilungen.
+- **Bewegungsprinzipien** (`03-motion-principles.md`): Physikbasierte Kurven und GSAP-Muster.
+- **Komponenten-Anatomie** (`04-component-anatomy.md`): Standardisierter Komponentenaufbau.
+- **Quality Bar** (`06-quality-bar.md`): Mechanische 7-Achsen-Qualitätsprüfung (`P5 H5 E5 S5 R5 V5 D5`).
+- **RTL- & Arabisch-Regeln** (`14-arabic-rtl-matrix.md`): Bidirektionale Layouts und Typografie.
+
+Der KI-Agent muss grundlegende Design-Entscheidungen nicht jedes Mal neu erraten, sondern greift auf ein geprüftes operatives Regelwerk zurück.
+
+---
+
+## 🚫 Anti-Slop Governance: Mechanisch überprüfbare Qualität
+
+Standard-KI neigt zu austauschbaren, künstlich wirkenden Oberflächen. TidyFactor Design setzt dem strikte Qualitätskriterien entgegen:
+
+- ❌ **Verbot generischer KI-Muster**: Keine lila Farbverläufe (*Purple Gradient Heros*), kein inflationäres *Inter Everywhere*, keine identischen 3-Spalten-Raster und keine unstrukturierten Kartenverschachtelungen.
+- 🎨 **Spezifische Designsysteme**: Farbwelten mit WCAG AAA-Kontrast und Oberflächen mit echter visueller Tiefe.
+- ⚡ **YAML-Primat (Regel 15)**: Definition von Tokens in `brand.yaml`, was 35–50 % an LLM-Kontexttickets einspart.
+
+---
+
+## 🔄 Die 7 Lebenszyklus-Phasen und 24 Befehle
+
+1. **Discovery**: `/study`, `/brief`
+2. **Foundation**: `/init`, `/brand`, `/typography`, `/school`, `/tokens`, `/palette`, `/assets`
+3. **Architecture**: `/layout`, `/nav-footer`, `/page`, `/dashboard`
+4. **Components**: `/components`, `/states`
+5. **Motion**: `/motion`, `/flow`, `/i18n`
+6. **Quality**: `/perf`, `/audit`, `/clone`, `/retrofit`
+7. **Delivery**: `/handoff`, `/deploy`
---
-## 📖 Vollständige Technische Dokumentation
+## 📚 Dokumentation & Leitfäden
-Ausführliche Spezifikationen, Architekturguides und Tools finden Sie im [Offiziellen Technischen README auf Englisch (README.md)](README.md).
+- 📖 [Ausführlicher Leitfaden für Design-Engineering und Nutzung (docs/GUIDE.md)](docs/GUIDE.md)
+- 📖 [Arabischer Engineering-Leitfaden (docs/GUIDE.ar.md)](docs/GUIDE.ar.md)
+- 📋 [Vollständige technische Spezifikation (README.md)](README.md)
diff --git a/README.es.md b/README.es.md
index b75dcf0..bdf0bcc 100644
--- a/README.es.md
+++ b/README.es.md
@@ -1,8 +1,8 @@
-# tidyfactor-design `v1.5.0`
+# tidyfactor-design `v1.9.0`
-**Motor de Ciclo de Vida de Diseño UI Nativo en Código y Prototipado Interactivo para Agentes de IA**
+**Motor de Ciclo de Vida de Diseño UI Nativo en Código y Suite de Diseño Anti-Slop para Agentes de IA**
[](https://www.npmjs.com/package/@tidyfactor/design)
[](LICENSE)
@@ -13,32 +13,92 @@
---
-## ⚡ Inicio Rápido (Quickstart)
+## 💡 La Filosofía Central: Separación de la Inteligencia de Diseño de su Implementación
-```bash
-# Instalación e invocación vía NPX
-npx @tidyfactor/cli-design
-```
+El pilar fundamental de **TidyFactor Design** radica en separar la **inteligencia y conocimiento de diseño** de la **ejecución técnica en código**:
-O invócalo directamente dentro de tu asistente de IA (*Google Antigravity, Claude Code, Cursor, Codex*):
-```text
-/tidyfactor-design
```
+ DESIGN INTELLIGENCE
+ │
+ ┌──────────┴──────────┐
+ ↓ ↓
+ Operational Memory Workflows
+ │ │
+ └──────────┬──────────┘
+ ↓
+ AI Agent
+ ↓
+ Design System
+ ↓
+ HTML/CSS/JS
+ ↓
+ Audit
+ ↓
+ Handoff
+```
+
+Esta arquitectura convierte a la habilidad en un **Sistema Operativo de Ingeniería de Diseño** reutilizable, transferible y predecible entre diferentes proyectos. En lugar de limitarse a generar código mediante un simple prompt, el agente ejecuta un ciclo de diseño formal y estructurado.
---
-## 📋 Matriz de Comandos Principales
+## ⚖️ TidyFactor Design vs. Figma: La Alternativa Nativa en Código
-| Comando | Objetivo y Resultado | Flujo de Trabajo |
+TidyFactor Design no pretende ser una herramienta de dibujo vectorial tradicional en lienzo, sino una **alternativa de diseño nativa en código (Code-Native Alternative)**:
+
+| Característica | Figma | TidyFactor Design |
|---|---|---|
-| `/brief` | Briefing de diseño y descubrimiento de marca | `workflows/brief.md` |
-| `/tokens` | Generación de design tokens y escalas | `workflows/tokens.md` |
-| `/components` | Prototipado interactivo de componentes UI | `workflows/components.md` |
-| `/page` | Montaje de páginas completas interactivas | `workflows/page.md` |
-| `/rtl` | Validación y soporte nativo RTL/Árabe | `workflows/rtl.md` |
+| **Paradigma** | Herramienta de diseño visual | Flujo de trabajo de diseño nativo en código |
+| **Entorno** | Centrado en el lienzo (Canvas-centric) | Centrado en código (Code-centric) |
+| **Audiencia** | Diseñadores visuales | Agente de IA + Desarrollador + Design Engineer |
+| **Bloques de construcción** | Componentes y variables visuales | Tokens + componentes + flujos deterministas |
+| **Prototipado** | Prototipos interactivos de pantalla | Prototipos reales en HTML/CSS/JS (cero build step) |
+| **Handoff** | Transferencia manual Diseñador → Dev | Diseño e implementación unificados |
+| **Gobernanza** | Inspección visual manual | Controles de calidad mecánicos y automatizados |
+| **Ámbito** | Creación de interfaces de usuario | Gestión del ciclo de vida de diseño completo |
+
+---
+
+## 🧠 ¿Qué es la Memoria Operacional (Operational Memory)?
+
+La memoria operacional (`references/memory/`) no consiste en teoría o artículos abstractos. Se compone de **estructuras de datos, matrices operativas, esquemas de diseño y restricciones ejecutables**:
+
+- **Matrices Tipográficas** (`01-typography-matrix.md`): Jerarquías y escalas sin arbitrariedad.
+- **Arquetipos de Layout** (`02-layout-archetypes.md`): Retículas y estructuras espaciales.
+- **Principios de Movimiento** (`03-motion-principles.md`): Física de curvas de animación, tiempos y GSAP.
+- **Anatomía de Componentes** (`04-component-anatomy.md`): Reglas de estructura de componentes.
+- **Barrera de Calidad** (`06-quality-bar.md`): Verificación mecánica en 7 ejes (`P5 H5 E5 S5 R5 V5 D5`).
+- **Reglas RTL y Árabe** (`14-arabic-rtl-matrix.md`): Tipografía y composición bidireccional nativa.
+
+El agente de IA no necesita improvisar o reinventar las bases en cada proyecto; cuenta con una base de reglas operativas precisas y estandarizadas.
+
+---
+
+## 🚫 Gobernanza Anti-Slop: Calidad Mecánica Comprobable
+
+A diferencia de los asistentes genéricos que generan interfaces predecibles, repetitivas y saturadas de patrones artificiales, TidyFactor Design impone **barreras de calidad mecánicas y comprobables**:
+
+- ❌ **Prohibición de Slop de IA**: Adiós a *Purple Gradients*, *Inter Everywhere*, rejillas idénticas de 3 columnas, tarjetas anidadas sin jerarquía (*Card-in-card*) y orbes flotantes (*Floating orbs*).
+- 🎨 **Sistemas de Diseño Específicos**: Paletas cromáticas con ratios de contraste WCAG AAA y superficies con profundidad real.
+- ⚡ **Primacía YAML (Regla 15)**: Almacenamiento de tokens de marca en `brand.yaml`, ahorrando entre 35% y 50% de tokens de contexto para el LLM.
+
+---
+
+## 🔄 Las 7 Fases del Ciclo de Vida y los 24 Comandos
+
+TidyFactor Design estructura el diseño en 7 etapas consecutivas gobernadas por un registro de **24 Slash Commands**:
+
+1. **Discovery**: `/study`, `/brief`
+2. **Foundation**: `/init`, `/brand`, `/typography`, `/school`, `/tokens`, `/palette`, `/assets`
+3. **Architecture**: `/layout`, `/nav-footer`, `/page`, `/dashboard`
+4. **Components**: `/components`, `/states`
+5. **Motion**: `/motion`, `/flow`, `/i18n`
+6. **Quality**: `/perf`, `/audit`, `/clone`, `/retrofit`
+7. **Delivery**: `/handoff`, `/deploy`
---
-## 📖 Especificación Técnica Completa
+## 📚 Documentación y Guías
-Para la arquitectura profunda, esquemas JSON y documentación de herramientas nativas, consulta el [README Técnico en Inglés (README.md)](README.md).
+- 📖 [Guía Exhaustiva de Ingeniería y Uso (docs/GUIDE.md)](docs/GUIDE.md)
+- 📖 [Guía de Ingeniería en Árabe (docs/GUIDE.ar.md)](docs/GUIDE.ar.md)
+- 📋 [Especificación Técnica Completa (README.md)](README.md)
diff --git a/README.fa.md b/README.fa.md
index 175e73d..a9ef20f 100644
--- a/README.fa.md
+++ b/README.fa.md
@@ -1,44 +1,91 @@
-# tidyfactor-design `v1.5.0`
+
+
+
-**موتور چرخه حیات طراحی رابط کاربری بومی در کد و پیشنمایش تعاملی برای ایجنتهای هوش مصنوعی**
+# 🎨 مهندس طراحی تایدی فاکتور (TidyFactor Design) `v1.9.0`
+### موتور چرخه حیات طراحی رابط کاربری مبتنی بر کد و پاد-کلیشه برای عاملهای هوش مصنوعی
-[](https://www.npmjs.com/package/@tidyfactor/design)
+**پایگاه رسمی مهندسی سیستم طراحی و نمونهسازی تعاملی مبتنی بر کد در اکوسیستم TidyFactor.**
+
+[](https://www.npmjs.com/package/@tidyfactor/design)
[](LICENSE)
+[](README.fa.md)
+[](#-دروازه-کیفیت-مکانیکی-و-پاد-کلیشه)
-[ English ](README.md) • [ العربية ](README.ar.md) • [ فارسی ](README.fa.md) • [ Español ](README.es.md) • [ Português ](README.pt.md) • [ 简体中文 ](README.zh.md) • [ Deutsch ](README.de.md) • [ Français ](README.fr.md)
+[ 🇺🇸 English ](README.md) • [ 🇸🇦 العربية ](README.ar.md) • [ 🇮🇷 فارسی ](README.fa.md) • [ 🇪🇸 Español ](README.es.md) • [ 🇧🇷 Português ](README.pt.md) • [ 🇨🇳 中文 ](README.zh.md) • [ 🇩🇪 Deutsch ](README.de.md) • [ 🇫🇷 Français ](README.fr.md)
---
-## ⚡ راهاندازی سریع (Quickstart)
+## 🏛️ نوآوری بنیادین: جداسازی "دانش طراحی" از "اجرای طراحی"
-```bash
-# نصب و اجرای مستقیم از طریق NPX
-npx @tidyfactor/cli-design
-```
+نوآوری اصلی **TidyFactor Design** تفکیک ساختاری و مهندسی میان **دانش و بینش طراحی** و **اجرای کد** است:
-یا فراخوانی مستقیم در دستیار برنامهنویسی (*Google Antigravity, Claude Code, Cursor, Codex*):
-```text
-/tidyfactor-design
```
+ دانش طراحی (DESIGN INTELLIGENCE)
+ │
+ ┌─────────────────┴─────────────────┐
+ ↓ ↓
+ حافظه عملیاتی (Memory) جریانهای کاری (Workflows)
+ (قواعد، ماتریسها، الگوها، CDL) (گامهای منظم اجرایی)
+ │ │
+ └─────────────────┬─────────────────┘
+ ↓
+ عامل هوش مصنوعی
+ (Antigravity / Claude / Cursor)
+ ↓
+ سیستم طراحی یکپارچه
+ (brand.yaml + tokens.css)
+ ↓
+ رابط کاربری زنده با کد
+ (HTML/CSS/JS بدون بیلد)
+ ↓
+ ممیزی خودکار و قطعی
+ (مهر محورهای ۷ گانه کیفیت)
+ ↓
+ تحویل نهایی به توسعه
+ (Production-Ready Handoff)
+```
+
+### چرا این یک "مهندسی سیستم طراحی" است و نه صرفاً یک پرامپت یا کتابخانه کامپوننت؟
+وقتی از هوش مصنوعی میخواهید یک صفحه وب طراحی کند، تلاش میکند تمام متغیرها را همزمان در یک پرامپت حدس بزند که نتیجه آن **خروجی کلیشهای و تکراری (AI Slop)** است. TidyFactor Design این فرآیند را به یک **سیستم مهندسی قطعی** تبدیل میکند:
+
+$$\text{پرامپت سنتی: } \text{پرامپت} \longrightarrow \text{هوش مصنوعی یک خروجی کلیشهای تولید میکند}$$
+$$\text{موتور طراحی تایدی فاکتور: } \text{خلاصه نیازها} \longrightarrow \text{قواعد} \longrightarrow \text{سیستم} \longrightarrow \text{کد استاندارد} \longrightarrow \text{اعتبارسنجی} \longrightarrow \text{تحویل}$$
---
-## 📋 ماتریس دستورات اصلی
+## ⚡ مقایسه با فیگما: جایگزین مبتنی بر کد (Code-Native Alternative to Figma)
-| دستور | هدف و نتیجه | جریان کاری (Workflow) |
+| معیار | فیگما (Figma) | تایدی فاکتور دیزاین (TidyFactor Design) |
|---|---|---|
-| `/brief` | Briefing de diseño y descubrimiento de marca | `workflows/brief.md` |
-| `/tokens` | Generación de design tokens y escalas | `workflows/tokens.md` |
-| `/components` | Prototipado interactivo de componentes UI | `workflows/components.md` |
-| `/page` | Montaje de páginas completas interactivas | `workflows/page.md` |
-| `/rtl` | Validación y soporte nativo RTL/Árabe | `workflows/rtl.md` |
+| **محیط کار** | بوم گرافیکی وکتور (GUI) | محیط زنده و اجرایی درون مرورگر |
+| **تمرکز محوری** | متمرکز بر بوم (Canvas-centric) | متمرکز بر کد استاندارد HTML5 / CSS3 / Vanilla JS |
+| **مخاطب هدف** | طراح رابط و تجربه کاربری (UI/UX) | عامل هوش مصنوعی + توسعهدهنده + مهندس طراحی |
+| **مدل کامپوننت** | فریمها و متغیرهای بصری | متغیرهای CSS و کامپوننتهای ۸ حالته تعاملی |
+| **پروتوتایپ** | نمونهسازی کلیکی و شبیهسازی | نمونهسازی زنده، واقعی و کاملاً ریسپانسیو در مرورگر |
+| **تحویل به توسعهدهنده** | انتقال با ایجاد دوباره کدها | **انتقال بدون اصطکاک**: طراحی دقیقاً همان کد تولیدی است |
+| **تضمین کیفیت** | بازبینی دستی و سلیقهای | **دروازههای کیفیت مکانیکی**: تستهای خودکار AST و ممیزی ۷ محوره |
+| **چرخه حیات** | خلق المانهای بصری | مدیریت کامل ۷ مرحله چرخه حیات طراحی رابط کاربری |
+
+---
+
+## 🔄 ۷ مرحله چرخه حیات و ۲۴ دستور اجرایی (Slash Commands)
+
+1. **کشف و تحقیق (Discovery)**: `/brief` (تعیین پارامترها و حل مجهولات)، `/study` (استخراج DNA طراحی).
+2. **پایهگذاری (Foundation)**: `/init` (آغاز سیستم طراحی)، `/brand` (مدیریت سمبلهای برند)، `/typography` (جفت خطوط هماهنگ)، `/school` (مکتب بصری)، `/tokens` (متغیرهای CSS)، `/palette` (کنتراست WCAG AAA)، `/assets` (بهینهسازی رسانه).
+3. **معماری (Architecture)**: `/layout` (شبکهبندی L1-L4)، `/nav-footer` (هدر و فوتر)، `/page` (صفحه جدید)، `/dashboard` (داشبورد آماری).
+4. **کامپوننتها (Components)**: `/components` (مدیریت اجزا)، `/states` (حالتهای ۸ گانه).
+5. **حرکت و تعامل (Motion)**: `/motion` (انیمیشنهای GSAP)، `/flow` (مسیرهای تعامل)، `/i18n` (راستچین RTL).
+6. **کنترل کیفیت (Quality)**: `/perf` (بودجه عملکردی)، `/audit` (ممیزی پاد-کلیشه)، `/clone` (استخراج ساختار)، `/retrofit` (یکپارچهسازی).
+7. **تحویل (Delivery)**: `/handoff` (مشخصات تحویل توسعهدهنده)، `/deploy` (پیشنمایش محلی).
---
-## 📖 مستندات فنی کامل و رسمی
+## 🏛️ مجوز و حاکمیت
-برای دسترسی به اسکیماهای معماری، الگوهای کامل طراحی و ابزارهای بومی، به [مستندات فنی کامل به زبان انگلیسی (README.md)](README.md) مراجعه نمایید.
+- **مجوز**: Apache-2.0. کاملاً متنباز و رایگان برای استفاده شخصی و تجاری.
+- **توسعه**: بخشی از **اکوسیستم TidyFactor** ([tidyfactor.com](https://tidyfactor.com)) تحت نظارت **آژانس الوکاله (Alwkala)** ([alwkala.com](https://alwkala.com)).
diff --git a/README.fr.md b/README.fr.md
index 7cea4f2..82466c9 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -1,8 +1,8 @@
-# tidyfactor-design `v1.5.0`
+# tidyfactor-design `v1.9.0`
-**Moteur de Cycle de Vie de Design UI Natif en Code et Prototypage Interactif pour Agents d'IA**
+**Moteur de Cycle de Vie de Design UI Natif en Code et Suite de Systèmes de Design Anti-Slop pour Agents IA**
[](https://www.npmjs.com/package/@tidyfactor/design)
[](LICENSE)
@@ -13,32 +13,90 @@
---
-## ⚡ Démarrage Rapide (Quickstart)
+## 💡 Philosophie Fondatrice : Dissociation de l'Intelligence de Design et de son Implémentation
-```bash
-# Installation et exécution via NPX
-npx @tidyfactor/cli-design
-```
+Le principe directeur de **TidyFactor Design** repose sur la séparation stricte entre **l'intelligence de design** et son **exécution technique en code** :
-Ou appelez-le directement depuis votre assistant IA (*Google Antigravity, Claude Code, Cursor, Codex*) :
-```text
-/tidyfactor-design
```
+ DESIGN INTELLIGENCE
+ │
+ ┌──────────┴──────────┐
+ ↓ ↓
+ Operational Memory Workflows
+ │ │
+ └──────────┬──────────┘
+ ↓
+ AI Agent
+ ↓
+ Design System
+ ↓
+ HTML/CSS/JS
+ ↓
+ Audit
+ ↓
+ Handoff
+```
+
+Cette architecture transforme la compétence en un **Système d'Exploitation d'Ingénierie de Design** reproductible et déterministe à travers divers projets. Au lieu de demander à un agent de générer une interface à partir d'un prompt brut, l'IA exécute un cycle de vie d'ingénierie formel.
---
-## 📋 Matrice des Commandes Principales
+## ⚖️ TidyFactor Design vs Figma : L'Alternative Native en Code
-| Commande | Objectif & Résultat | Référence de Workflow |
+TidyFactor Design ne vise pas à concurrencer les logiciels traditionnels de dessin vectoriel sur toile, mais constitue une **Alternative Native en Code à Figma (Code-Native Alternative)** :
+
+| Critère | Figma | TidyFactor Design |
|---|---|---|
-| `/brief` | Briefing de diseño y descubrimiento de marca | `workflows/brief.md` |
-| `/tokens` | Generación de design tokens y escalas | `workflows/tokens.md` |
-| `/components` | Prototipado interactivo de componentes UI | `workflows/components.md` |
-| `/page` | Montaje de páginas completas interactivas | `workflows/page.md` |
-| `/rtl` | Validación y soporte nativo RTL/Árabe | `workflows/rtl.md` |
+| **Paradigme** | Outil de dessin visuel | Flux de travail de design natif en code |
+| **Environnement** | Centré sur la toile (Canvas-centric) | Centré sur le code (Code-centric) |
+| **Public cible** | Designers visuels | Agents IA + Développeurs + Design Engineers |
+| **Éléments de base** | Composants et variables visuels | Design tokens + composants + flux déterministes |
+| **Prototypage** | Maquettes cliquables d'écrans | Prototypes réels en HTML/CSS/JS (zéro build step) |
+| **Handoff** | Transfert manuel Designer → Développeur | Conception et implémentation unifiées |
+| **Gouvernance** | Vérification manuelle visuelle | Portes de qualité mécaniques et automatisées |
+| **Périmètre** | Création d'interfaces utilisateur | Gestion complète du cycle de vie de design |
+
+---
+
+## 🧠 Qu'est-ce que la Mémoire Opérationnelle (Operational Memory) ?
+
+La mémoire opérationnelle (`references/memory/`) ne contient pas de prose théorique, mais des **règles applicables, des matrices structurées, des schémas de conception et des contraintes exécutables** :
+
+- **Matrice Typographique** (`01-typography-matrix.md`) : Hiérarchies et échelles harmoniques.
+- **Archétypes de Layout** (`02-layout-archetypes.md`) : Grilles et structuration spatiale.
+- **Principes de Mouvement** (`03-motion-principles.md`) : Courbes cinématiques, cadences et intégration GSAP.
+- **Anatomie des Composants** (`04-component-anatomy.md`) : Structure standardisée des éléments d'interface.
+- **Barre de Qualité** (`06-quality-bar.md`) : Grille d'audit mécanique en 7 axes (`P5 H5 E5 S5 R5 V5 D5`).
+- **Règles RTL et Arabes** (`14-arabic-rtl-matrix.md`) : Typographie et composition bidirectionnelle native.
+
+L'agent IA n'a plus besoin de réinventer les règles typographiques à chaque session : il opère à partir d'un socle d'ingénierie préétabli.
+
+---
+
+## 🚫 Gouvernance Anti-Slop : Critères de Qualité Mécaniques
+
+Contrairement aux outils d'IA générative produisant des interfaces stéréotypées et répétitives, TidyFactor Design applique des **contrôles qualité mécaniques et vérifiables** :
+
+- ❌ **Interdiction des Clichés d'IA** : Élimination des dégradés violets génériques (*Purple Gradient Heros*), de l'omniprésence d'Inter (*Inter Everywhere*), des grilles à 3 colonnes arbitraires et des orbes lumineuses flottantes (*Aurora blobs*).
+- 🎨 **Systèmes de Design Raffinés** : Palettes respectant les contrastes WCAG AAA et surfaces tactiles à profondeur réelle.
+- ⚡ **Primauté YAML (Règle 15)** : Stockage des tokens de marque dans `brand.yaml`, réduisant de 35 à 50 % la consommation de tokens contextuels pour le LLM.
+
+---
+
+## 🔄 Les 7 Étapes du Cycle de Vie et les 24 Commandes
+
+1. **Discovery** : `/study`, `/brief`
+2. **Foundation** : `/init`, `/brand`, `/typography`, `/school`, `/tokens`, `/palette`, `/assets`
+3. **Architecture** : `/layout`, `/nav-footer`, `/page`, `/dashboard`
+4. **Components** : `/components`, `/states`
+5. **Motion** : `/motion`, `/flow`, `/i18n`
+6. **Quality** : `/perf`, `/audit`, `/clone`, `/retrofit`
+7. **Delivery** : `/handoff`, `/deploy`
---
-## 📖 Documentation Technique Complète
+## 📚 Documentation et Guides
-Pour consulter l'architecture approfondie et les spécifications complètes, veuillez vous référer au [README Technique Officiel en Anglais (README.md)](README.md).
+- 📖 [Guide Complet d'Ingénierie et d'Utilisation (docs/GUIDE.md)](docs/GUIDE.md)
+- 📖 [Guide d'Ingénierie en Arabe (docs/GUIDE.ar.md)](docs/GUIDE.ar.md)
+- 📋 [Spécification Technique Complète (README.md)](README.md)
diff --git a/README.md b/README.md
index 76e039d..22dbb10 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@

-# 🎨 TidyFactor Design `v1.6.0`
+# 🎨 TidyFactor Design `v1.9.0`
### Code-Native UI Design Lifecycle Engine & Anti-Slop Design System Suite
**The official UI design & interactive prototyping foundation for the TidyFactor Ecosystem.**
@@ -12,74 +12,90 @@
[](https://www.npmjs.com/package/@tidyfactor/design)
[](LICENSE)
[](README.ar.md)
-[](#-anti-slop-governance--quality-bar-rule-8)
-[-green.svg?style=for-the-badge)](#-license--governance)
+[](#-anti-slop-mechanical-governance--quality-gate)
+[-green.svg?style=for-the-badge)](#-the-15-structural-rules-of-tidyfactor-skills)
-[✨ Live Demo](https://alwkala.com/tidyfactor-design/) • [🖼️ Visual Showcase](#%EF%B8%8F-visual-showcase--surface-demos) • [⚡ 24 Slash Commands](#-the-7-ui-design-lifecycle-stages--24-command-registry) • [🎨 8 CSS Foundations](#-8-pluggable-css-foundations) • [🛡️ Anti-Slop Rules](#-anti-slop-governance--quality-bar-rule-8) • [📖 بالعربية](README.ar.md)
+[ 🇺🇸 English ](README.md) • [ 🇸🇦 العربية ](README.ar.md) • [ 🇮🇷 فارسی ](README.fa.md) • [ 🇪🇸 Español ](README.es.md) • [ 🇧🇷 Português ](README.pt.md) • [ 🇨🇳 中文 ](README.zh.md) • [ 🇩🇪 Deutsch ](README.de.md) • [ 🇫🇷 Français ](README.fr.md)
---
-> [!NOTE]
-> **TidyFactor Design** is an AI-era, code-native alternative to Figma and complete UI Design Lifecycle Engine. It empowers developers, design engineers, and AI coding agents (*Google Antigravity, Claude Code, Cursor, Codex, Windsurf*) to manage all 7 stages of UI design—from initial discovery through developer handoff—using clean, interactive HTML/CSS/JS with zero build steps and zero per-page CSS/JS drift.
+## 🏛️ The Core Breakthrough: Design Intelligence vs. Execution
----
-
-## 🌟 Value Proposition & Why TidyFactor Design?
-
-| For Developers | For Design Engineers | For AI Coding Agents |
-|---|---|---|
-| **Zero Build Step**: No webpack/vite compilation needed; open `.html` files directly in any browser. | **Figma Alternative**: Design directly in production-ready code with responsive live interactivity. | **Token-Efficient**: Modular slash commands load only necessary context (~350 tokens) per task. |
-| **Zero Per-Page Drift**: All visual styles and components live strictly inside `design-system/`. | **8 Pluggable Foundations**: Choose Native CSS, Tailwind, daisyUI, shadcn/ui, Pico, Bootstrap, or Alpine. | **Anti-Slop Certified**: Structurally blocks generic AI design tells via 16 mechanical quality rules. |
-| **Production Handoff**: Clean, predictable CSS variables and HTML markup ready for framework integration. | **Native RTL & Arabic**: Bidi-first layout support with El Messiri + Tajawal typography pairing. | **Deterministic Workflows**: 100% compliance across 24 commands with automated validation tooling. |
-
----
+The foundational innovation of **TidyFactor Design** is the strict architectural separation of **Design Knowledge** from **Design Implementation**:
-## 🖼️ Visual Showcase & Surface Demos
+```
+ DESIGN INTELLIGENCE
+ │
+ ┌──────────┴──────────┐
+ ↓ ↓
+ Operational Memory Workflows
+ (Rules, Matrices, CDL) (Ordered Steps)
+ │ │
+ └──────────┬──────────┘
+ ↓
+ AI Coding Agent
+ (Antigravity / Claude / Cursor)
+ ↓
+ Design System SSOT
+ (brand.yaml + tokens.css)
+ ↓
+ Interactive HTML/CSS/JS
+ (Zero per-page CSS/JS)
+ ↓
+ Mechanical Audit Gate
+ (7-Axis Stamp + AI Tells)
+ ↓
+ Production Handoff
+ (Clean CSS Tokens + Specs)
+```
-`tidyfactor-design` generates rich, responsive, anti-slop visual surfaces tailored to specific domain registers:
+### Why it is a *Design Engineering Operating System*, not just a Prompt
+When you ask an AI model to *"create a landing page"*, it attempts to simultaneously invent visual philosophy, layout, color theory, component hierarchy, responsive behavior, and implementation code in a single unconstrained prompt. The result is almost invariably **generic AI slop**: repetitive purple-gradient heroes, un-anchored CTAs, card-in-card nesting, and fragmented CSS.
-### 1. Dual-Mode Design System (Light & Dark)
-*Dynamic theme switching powered by `brand.json` v2 token mappings (`colors.light` & `colors.dark`) without page reloads.*
+**TidyFactor Design** replaces arbitrary prompt generation with a **Deterministic Design Engineering Pipeline**:
-| Light Mode Surface | Dark Mode Surface |
-|---|---|
-|  |  |
+$$\text{Traditional AI Prompting: } \text{Prompt} \longrightarrow \text{AI generates generic UI}$$
+$$\text{TidyFactor Design Engine: } \text{Design Brief} \longrightarrow \text{Rules} \longrightarrow \text{System} \longrightarrow \text{Code} \longrightarrow \text{Validation} \longrightarrow \text{Handoff}$$
---
-### 2. Application & Analytics Dashboards
-*Data-rich layouts featuring tabular numeric formatting, KPI stat cards, filters, and shell rails.*
-
-
-
----
+## ⚡ The Definitive Comparison: Figma vs. TidyFactor Design
-### 3. E-Commerce & Product Showcase
-*High-conversion commerce surfaces with gallery previews, spec tables, variant selectors, and CTAs.*
+TidyFactor Design is **the Code-Native Alternative to Figma** for the AI coding agent era:
-
+| Dimension | Figma | TidyFactor Design |
+|---|---|---|
+| **Primary Environment** | Visual Canvas GUI | Code-Native Live Browser Workspace |
+| **Architectural Focus** | Canvas-centric vector drawings | Code-centric semantic HTML5 / CSS3 / Vanilla JS |
+| **Target User** | Human UI/UX Designer | AI Agent + Developer + Design Engineer |
+| **Component Model** | Proprietary frames & canvas variants | CSS Custom Properties + 8-State Component Wrappers |
+| **Prototyping** | Click-through screen transitions | Fully interactive, responsive HTML/CSS/JS runtime |
+| **Handoff Friction** | Redundant redlining & re-implementation in code | **Zero Handoff Drift**: Design *is* the production code |
+| **Governance & QA** | Manual design review & subjective inspection | **Mechanical Quality Gates**: Automated 7-axis audit scripts |
+| **System Scope** | Asset creation | Full 7-Stage UI Design Lifecycle Management |
---
-### 4. Editorial & Magazine Publishing
-*Literary typography hierarchy featuring Markazi Text / El Messiri headings, multi-column storytelling, and colophons.*
-
-
+## 🧠 The Concept of "Operational Memory"
----
+In TidyFactor, `references/memory/` files are **NOT** narrative articles or marketing essays. They are **executable engineering constraints**, tabular decision matrices, and authoritative schemas:
-### 5. Atmospheric & Cinematic Showcase
-*Full-bleed atmospheric storytelling with ambient background color shifts, canvas scroll-film reveals, and specular sheens.*
+- **Typography Matrix (`12-typography-matrix.md`)**: Exact mood-routed Arabic/Latin font pairings with ratio scales.
+- **Layout Archetypes (`13-layout-archetypes.md`)**: L1–L4 structural macrostructures with explicit container grids.
+- **Motion Principles (`04-motion-principles.md`)**: Exact cubic-bezier easing curves and reduced-motion fallback contracts.
+- **Core Component Matrices (`21-` through `28-`)**: Exhaustive catalogs of Eyebrows, Heros, Cards, 8-State Buttons, Section Dividers, Tabular Metrics, and Trust Bullets.
+- **Quality Bar (`06-quality-bar.md`)**: The 16 named AI anti-pattern tells and 11 Codex defect bans with automated audit thresholds.
+- **Arabic / RTL Rigor (`08-arabic-bilingual.md`)**: Curated bidirectional rules (El Messiri display, Tajawal body, never Amiri >24px).
-
+Because this operational memory is decoupled and injected on-demand, the AI agent **never re-invents visual engineering rules**; it executes against deterministic ground truth.
---
## 🔄 The 7 UI Design Lifecycle Stages & 24 Command Registry
-`tidyfactor-design` structures the entire design workflow into **7 sequential stages**, providing 24 specialized slash commands that load precise operational memory without context bloat:
+The skill provides 24 specialized slash commands mapped across 7 rigorous lifecycle stages:
```mermaid
graph LR
@@ -91,328 +107,160 @@ graph LR
S6 --> S7["7. Delivery"]
```
----
-
-### Stage 1: Discovery & Research
-*Extract design DNA, establish context, and determine visual fit before writing code.*
-
-| Command | Signature Syntax | What It Loads | Output & Value |
-|---|---|---|---|
-| **`/study`** | `/study [url\|image]` | `memory/01-design-schools.md`
`memory/06-quality-bar.md` | **Design DNA Report**: Samples computed styles (`getComputedStyle()`), font family declarations, and macrostructure without copying raw layout or text. |
-| **`/brief`** | `/brief` | `memory/01-design-schools.md`
`memory/13-layout-archetypes.md` | **Design Context Gate**: Executes 3-question context gate (Audience mode: inspire/evaluate/act/learn, Surface type, Tone school) & Fit Test filter. |
-
----
-
-### Stage 2: Foundation & System Setup
-*Scaffold identity tokens, brand schema, color systems, typography pairings, and design schools.*
-
-| Command | Signature Syntax | What It Loads | Output & Value |
-|---|---|---|---|
-| **`/init`** | `/init [dir] [--foundation=name]` | `references/workflows/init-prototype.md`
`references/memory/architecture.md` | **Project Scaffold**: Scaffolds clean `design-system/` directory, locked CSS foundation, `brand.json`, and initial index page. |
-| **`/brand`** | `/brand` | `memory/11-brand-json-v2.md`
`memory/02-design-tokens.md` | **Brand Schema v2**: Configures dual-mode `colors.light/dark` (16 tokens each), `shadows.focusRing`, motion tokens, and accessibility floors. |
-| **`/typography`** | `/typography` | `memory/12-typography-matrix.md`
`memory/08-arabic-bilingual.md` | **Typography Matrix**: Routes to 7 curated Arabic + Latin font pairings (e.g. El Messiri/Tajawal, Markazi Text/IBM Plex, Jomhuria display). |
-| **`/school`** | `/school [movement]` | `memory/01-design-schools.md` | **Visual Movement**: Locks design language direction (Minimalist, Brutalism, Glassmorphism, Neumorphism, Swiss, Luxury). |
-| **`/tokens`** | `/tokens` | `memory/02-design-tokens.md`
`references/memory/architecture.md` | **Token Single Source**: Manages `design-system/tokens.css` custom properties and mapping rules. |
-| **`/palette`** | `/palette
` | `memory/02-design-tokens.md`
`memory/10-python-tooling.md` | **Palette Extractor**: Runs `extract_palette.py` to derive dominant brand colors and WCAG 2.1 AA contrast scores. |
-| **`/assets`** | `/assets` | `memory/10-python-tooling.md` | **Asset Hygiene**: Automated background removal (`rembg`), WebP compression, and image optimization (`optimize_images.py`). |
+| Lifecycle Stage | Slash Command | User Intent | What It Injects | Output / Deliverable |
+|---|---|---|---|---|
+| **1. Discovery** | `/brief` | Strategic Design Discovery & Brief Resolution | `workflows/brief.md` + `memory/decision-points.md` + `memory/06-quality-bar.md` | `.tidyfactor/design-brief.snapshot.json` + `design-brief.md` |
+| **1. Discovery** | `/study` | Extract design DNA from reference URL/image | `commands/study.md` + `memory/01-design-schools.md` + `memory/06-quality-bar.md` | Structured visual DNA report |
+| **2. Foundation** | `/init` | Start brand-new design system / prototype | `workflows/init-prototype.md` + `memory/architecture.md` + `memory/foundations.md` | Scaffolded `design-system/` + semantic `index.html` |
+| **2. Foundation** | `/brand` | Scaffold or manage `brand.yaml` / `brand.json` | `commands/brand.md` + `memory/11-brand-json-v2.md` | Validated `brand.yaml` design token SSOT |
+| **2. Foundation** | `/typography` | Mood-routed typography pairing | `commands/typography.md` + `memory/12-typography-matrix.md` | Font tokens in `tokens.css` + Google Fonts preconnect |
+| **2. Foundation** | `/school` | Select design school & movement | `commands/school.md` + `memory/01-design-schools.md` | Visual school declaration locked in `brand.yaml` |
+| **2. Foundation** | `/tokens` | Manage design tokens and CSS variables | `commands/tokens.md` + `memory/02-design-tokens.md` | Synchronized `design-system/tokens.css` |
+| **2. Foundation** | `/palette` | Extract color palette & compute WCAG AAA | `commands/palette.md` + `scripts/extract_palette.py` | WCAG 2.1 AAA contrast tokens for light/dark modes |
+| **2. Foundation** | `/assets` | Asset hygiene, media & image optimization | `commands/assets.md` + `scripts/optimize_images.py` | Constrained WebP assets and transparent cutouts |
+| **3. Architecture** | `/layout` | Select macrostructure layout archetype | `commands/layout.md` + `memory/13-layout-archetypes.md` | L1–L4 responsive grid shell scaffolded |
+| **3. Architecture** | `/nav-footer` | Choose navigation (N1-N9) & footer (Ft1-Ft8) | `commands/nav-footer.md` + `memory/14-nav-footer-catalog.md` | Production nav and footer components wired |
+| **3. Architecture** | `/page` | Add content or marketing page | `workflows/init-prototype.md` + `memory/05-component-anatomy.md` | Markup-only `pages/.html` reading shared tokens |
+| **3. Architecture** | `/dashboard` | Add data-dense dashboard or app screen | `workflows/init-prototype.md` + `memory/05-component-anatomy.md` | Tabular dashboard layout with KPI cards and shell rails |
+| **4. Components** | `/components` | Manage shared UI components & 8-state catalog | `commands/components.md` + `memory/05-component-anatomy.md` | `design-system/components.css` component definitions |
+| **4. Components** | `/states` | Define interactive 8-state wrappers | `commands/states.md` + `memory/05-component-anatomy.md` | Interactive states (idle, hover, active, focus, loading...) |
+| **5. Motion** | `/motion` | Shared animations, scroll & motion recipes | `commands/motion.md` + `memory/04-motion-principles.md` | `design-system/motion.js` with GSAP & Lenis fallbacks |
+| **5. Motion** | `/flow` | Wire interactive prototype navigation flow | `commands/flow.md` + `memory/09-prototype-flow.md` | Client-side routing between prototype pages |
+| **5. Motion** | `/i18n` | Arabic/RTL localization & bidirectional UI | `commands/i18n.md` + `memory/08-arabic-bilingual.md` | Automatic RTL mirroring (`dir="rtl"`) & Arabic type |
+| **6. Quality** | `/perf` | Asset performance budget & size verification | `commands/perf.md` + `memory/15-performance-budget.md` | Audit scorecard checking sub-500KB total page weight |
+| **6. Quality** | `/audit` | Structural consistency audit & quality bar | `workflows/audit-prototype.md` + `memory/06-quality-bar.md` | 7-Axis Quality Stamp + Anti-Slop detection report |
+| **6. Quality** | `/clone` | Extract design system from external URL/clone | `workflows/clone-prototype.md` + `memory/03-narrative-conversion.md` | Clean reconstructed tokens from reference site |
+| **6. Quality** | `/retrofit` | Unify drifted prototype under design system | `workflows/retrofit-prototype.md` + `memory/07-consistency-contract.md` | Inline styles eradicated and mapped to shared tokens |
+| **7. Delivery** | `/handoff` | Developer handoff specs & CSS variable map | `commands/handoff.md` + `memory/11-brand-json-v2.md` | Production handoff tables + optional Brain KI sync |
+| **7. Delivery** | `/deploy` | Local preview server and static deployment | `commands/deploy.md` + `memory/06-quality-bar.md` | Live preview via local server with zero build step |
---
-### Stage 3: Architecture & Layout Structuring
-*Blueprint page macrostructures, navigation patterns, and surface layouts.*
+## 📐 Core UI Component & Page Composition Architecture (Volume 01–03)
-| Command | Signature Syntax | What It Loads | Output & Value |
-|---|---|---|---|
-| **`/layout`** | `/layout [archetype]` | `memory/13-layout-archetypes.md`
`references/memory/architecture.md` | **Layout Archetypes**: Applies 8 specialized blueprints (`fullbleed`, `editorial`, `spatial`, `interface`, `minimal`, `product`, `store`, `auto`). |
-| **`/nav-footer`** | `/nav-footer` | `memory/14-nav-footer-catalog.md`
`memory/06-quality-bar.md` | **Nav & Footer Catalog**: Selects Navigation (N1–N9, e.g. Floating Pill, Newspaper Masthead) & Footer (Ft1–Ft8) avoiding generic AI templates. |
-| **`/page`** | `/page ` | `references/workflows/init-prototype.md`
`memory/05-component-anatomy.md` | **Marketing Screen**: Scaffolds content or landing page markup ONLY (`pages/.html`) with zero inline CSS/JS. |
-| **`/dashboard`** | `/dashboard ` | `references/workflows/init-prototype.md`
`memory/05-component-anatomy.md` | **Application Screen**: Scaffolds data dashboard or web app shell with stat cards, data tables, and filters. |
+`tidyfactor-design` v1.9.0 introduces 8 comprehensive Component Architecture Matrices in operational memory:
----
-
-### Stage 4: Component Design & State Matrix
-*Build reusable UI component classes with complete interactive state handling.*
+```
+references/memory/
+├── 21-eyebrow-kicker-matrix.md # 16 micro-hierarchy kickers across 4 structural families
+├── 22-hero-section-matrix.md # 8 GSAP ScrollTrigger + SVG motion architectures
+├── 23-card-architecture-matrix.md # 16 modular card variants (flex-col, mt-auto CTA anchoring)
+├── 24-button-cta-matrix.md # 16 button alternatives with full 8-state interaction matrices
+├── 25-divider-separator-matrix.md # Volume 03 Section Transitions & parametric SVG wavePath seams
+├── 26-metrics-stat-matrix.md # 12 tabular stat cards (tabular-nums, SVG rings, initCounters)
+├── 27-list-indicator-matrix.md # 12 trust bullet indicators (Status Rings, Milestone Trees)
+└── 28-shared-motion-primitives.md # Shared GSAP foundations (easing, prepDraw, splitChars)
+```
-| Command | Signature Syntax | What It Loads | Output & Value |
-|---|---|---|---|
-| **`/components`** | `/components` | `memory/05-component-anatomy.md`
`references/memory/architecture.md` | **Component Library**: Builds reusable classes in `design-system/components.css` and generates 8-State Demo Wrappers (`.preview.html`). |
-| **`/states`** | `/states` | `memory/05-component-anatomy.md`
`memory/07-consistency-contract.md` | **State Matrix**: Enforces 8 interactive component states (Default, Hover, Active, Focus-Visible, Disabled, Loading, Error, Success). |
+### Key Architectural Invariants:
+1. **Vertical Flex & Pinning Contract**: Every card must use `display: flex; flex-direction: column;`. Actions MUST be pinned to the bottom via `margin-top: auto` to prevent jagged button rows.
+2. **Seam Ownership Mental Model**: In `25-divider-separator-matrix.md`, the seam belongs to the **outgoing section**; it draws from incoming section color via `currentColor`, eliminating background gap seams.
+3. **Heritage Detailing & Zero Motif Overlap**: Mashrabiya, Lotus, and Kufic geometric patterns are isolated to section transitions or background watermarks using CSS `mask-image` with opacity $\le 0.08$. Motif overlays on text are strictly banned.
---
-### Stage 5: Motion & Interactive Experience
-*Choreograph entrance reveals, scroll-driven effects, micro-interactions, and localization.*
-
-| Command | Signature Syntax | What It Loads | Output & Value |
-|---|---|---|---|
-| **`/motion`** | `/motion` | `memory/04-motion-principles.md` | **Motion Choreography**: Implements 4-tier whimsy taxonomy, background `#ambient` color shifts, canvas scroll-film engines, and z-stack layers. |
-| **`/flow`** | `/flow` | `memory/09-prototype-flow.md` | **Interactive Flow**: Wires floating prototype navigation toolbar (`proto-nav.js`) for screen-to-screen clickable testing. |
-| **`/i18n`** | `/i18n` | `memory/08-arabic-bilingual.md` | **Arabic & RTL Engine**: Configures `dir="rtl"` logical properties, Arabic typography, and cultural modesty guidelines. |
+## ⚡ Rule 15: Token Efficiency & Semantic Density (YAML Primacy)
----
-
-### Stage 6: Quality Assurance & Audit
-*Verify performance budgets, enforce anti-slop rules, and reverse-engineer legacy sites.*
+In alignment with **Rule 15**, `tidyfactor-design` adopts **YAML Primacy** for the entire cognitive layer:
-| Command | Signature Syntax | What It Loads | Output & Value |
-|---|---|---|---|
-| **`/perf`** | `/perf` | `memory/15-performance-budget.md` | **Performance Budget Audit**: Generates data table verifying asset weight limits (hero cutout ≤ 400KB, fonts ≤ 3 families/4 weights, logo ≤ 40KB). |
-| **`/audit`** | `/audit` | `references/workflows/audit-prototype.md`
`memory/06-quality-bar.md` | **Quality Bar Audit**: Executes read-only compliance report against 16 AI anti-pattern tells and structural consistency contract. |
-| **`/clone`** | `/clone ` | `references/workflows/clone-prototype.md`
`memory/03-narrative-conversion.md` | **Design System Extraction**: Reverse-engineers external sites by sampling computed styles and token mapping into `brand.json`. |
-| **`/retrofit`** | `/retrofit` | `references/workflows/retrofit-prototype.md`
`memory/07-consistency-contract.md` | **Prototype Unification**: Refactors drifted multi-page prototypes to adopt a central shared `design-system/`. |
+- **~40% Context Token Reduction**: `brand.yaml` consumes ~1,290 tokens versus ~2,180 tokens in JSON by removing brackets, quotes, and trailing commas.
+- **Zero Syntax Drift**: Completely eliminates LLM syntax errors caused by missing or extraneous commas.
+- **Dual-Engine Backward Compatibility**: All tooling automatically reads `brand.yaml` first, falling back gracefully to `brand.json` for legacy codebases.
---
-### Stage 7: Delivery & Developer Handoff
-*Package production assets, export documentation, and run deployment servers.*
-
-| Command | Signature Syntax | What It Loads | Output & Value |
-|---|---|---|---|
-| **`/handoff`** | `/handoff` | `memory/11-brand-json-v2.md`
`memory/05-component-anatomy.md` | **Developer Handoff Package**: Exports token mapping tables, 8-state component specs, grid container rules, and motion curves into `docs/handoff/`. |
-| **`/deploy`** | `/deploy` | `memory/06-quality-bar.md`
`memory/10-python-tooling.md` | **Production Export**: Launches local preview server, runs `test_build.py`, asset minification, and generates release bundle (`build.py`). |
+## 🛡️ Anti-Slop Mechanical Governance & Quality Gate
+
+TidyFactor Design mechanically detects and auto-rejects generic AI patterns during `/audit`:
+
+### 🚫 The 16 Named AI Anti-Pattern Tells
+1. **Purple-Gradient Hero**: Purple-to-pink/blue background gradient with white centered text.
+2. **Inter-Everywhere**: Single unpaired font family used across display and body.
+3. **3-Column Feature Grid**: 3 identical columns with generic icons and 2-line headings.
+4. **Card-in-Card**: Arbitrary nested card containers with no semantic hierarchy.
+5. **Gradient Headline**: `background-clip: text` linear gradient fill on headlines.
+6. **Side-Stripe Card**: 4–6px thick colored border on card edges as a decorative crutch.
+7. **Full-Viewport Centered Hero**: `min-height: 100vh` centered short sentence + massive CTA.
+8. **Pure Black / Pure White**: `#000000` or `#ffffff` flat surfaces (must use tinted neutrals).
+9. **Default-Attractor Sameness**: Reusing identical macrostructures across consecutive pages.
+10. **Specimen Fall-Through**: Defaulting to editorial `01 - HELLO` specimen layout for SaaS.
+11. **The AI Nav**: Wordmark left, 4-5 links center, CTA right, 1px bottom border.
+12. **The AI Footer**: 4 generic columns (Product, Company, Resources, Legal) + copyright.
+13. **Aurora-Blob Background**: Flowing organic mesh blobs in purple/cyan behind hero text.
+14. **Floating-Orb Decoration**: 3D spheres or blurred circles drifting aimlessly behind hero.
+15. **Italic Headers**: Flipping one arbitrary word to italic (`Built to think`) for fake editorial flair.
+16. **Lazy-Loaded LCP**: Adding `loading="lazy"` to the main hero image (tanks Core Web Vitals).
+
+### 🏷️ The 7-Axis Pre-Emit Self-Critique Stamp
+Every generated prototype component, token set, or layout must be stamped with:
+`/* Pre-emit critique: P5 H5 E5 S5 R5 V5 D5 */`
+- **P** — Philosophy & School Authenticity
+- **H** — Hierarchy & Layout Balance
+- **E** — Encapsulation & Zero Per-Page CSS/JS
+- **S** — State Completeness (8-State Wrappers)
+- **R** — RTL & Typography Rigor (El Messiri + Tajawal)
+- **V** — Velocity & Motion Polish (Sub-200ms Easing)
+- **D** — Decision Alignment (100% Synchronized with `brand.yaml`)
---
## 🎨 8 Pluggable CSS Foundations
-Lock a CSS foundation once per project during `/init`. Never mix foundations in the same project:
-
-| Foundation | Command Flag | Best For | Architecture Details |
-|---|---|---|---|
-| **Native CSS** | `--foundation=native` | Pure zero-dependency design systems | Custom CSS variables & semantic component classes in `tokens.css` & `components.css`. |
-| **Tailwind Utility** | `--foundation=tailwind` | Fast utility-first prototyping | Tailwind v4 utility engine via CDN with custom design-token utility mappings. |
-| **daisyUI** | `--foundation=daisyui` | Rapid web application screens | Tailwind CDN + daisyUI component library themed via custom token CSS variables. |
-| **Hybrid** | `--foundation=hybrid` | Signature brand apps & dashboards | daisyUI composite application widgets + Native CSS for signature brand components. |
-| **shadcn/ui** | `--foundation=shadcn` | Accessible primitive tokens | Tailwind v4 + Radix UI accessible token mapping & design primitive styles. |
-| **Pico CSS v2** | `--foundation=pico` | Ultra-fast semantic minimalist sites | Semantic HTML5 tags styled cleanly without utility class bloat. |
-| **Bootstrap 5.3** | `--foundation=bootstrap` | Enterprise apps & dark themes | Enterprise CSS variables with native `data-bs-theme="dark"` theme switching. |
-| **Alpine + Tailwind** | `--foundation=alpine` | Interactive client micro-interactions | Alpine.js reactive state directives (`x-data`, `x-on`) paired with Tailwind v4 utilities. |
-
----
-
-## 🛡️ Anti-Slop Governance & Quality Bar (Rule 8)
-
-`tidyfactor-design` enforces strict anti-slop rules derived from premier design engineering standards (*Taste-Skill*, *Hallmark*, *Anthropic Frontend-Design*, *Website Cloner*).
-
-> [!IMPORTANT]
-> **Pre-Emit Self-Critique Stamp**: Every generated prototype page or component is evaluated on 6 axes: **Philosophy (P)**, **Hierarchy (H)**, **Execution (E)**, **Specificity (S)**, **Restraint (R)**, and **Variety (V)**. Scores < 3 trigger an automatic revision pass before emission:
-> `/* Pre-emit critique: P5 H4 E5 S4 R5 V5 */`
-
-### ⚙️ The Three-Dial System (`brand.json`)
-Configure layout asymmetry, animation depth, and data density dynamically:
-
-```json
-{
- "dials": {
- "designVariance": 8,
- "motionIntensity": 6,
- "visualDensity": 4
- }
-}
-```
-
-### ⛔ 16 Auto-Rejected AI Anti-Patterns
-
-| Anti-Pattern Tell | Why It Fails | Mechanical Quality Rule |
-|---|---|---|
-| **Purple-Gradient Hero** | Most recognized AI template tell | Single anchor hue; no gradient hero backgrounds. |
-| **Inter-Everywhere** | Unpaired single-font layout | Pair distinctive display + body faces (`El Messiri` / `Tajawal` / `Outfit`). |
-| **3-Column Feature Grid** | Generic 3-equal card row | Asymmetric grid, variable card heights, or inline icon lists. |
-| **Card-in-Card Bloat** | Unnecessary nested container cards | Banned. Flat borders or surface tinting without extra containers. |
-| **Gradient Headline Fill** | `background-clip: text` linear gradient | Solid high-contrast text; reserve gold gradient for dark luxury accents. |
-| **Side-Stripe Card** | 4–6px thick border on left edge of card | Banned. Clean 1px border or subtle elevation shadow. |
-| **Full-Viewport Hero** | `min-height: 100vh` centered short sentence | Hero desktop top padding capped at `pt-24` (6rem); headline max 2 lines. |
-| **Pure Black / White** | Pure `#000000` or `#ffffff` flat surfaces | Must use tinted neutrals (`#0F172A`, `#F8FAFC`). |
-| **Default Sameness** | Same macrostructure across consecutive pages | Vary layout archetypes across project screens (`memory/13-layout-archetypes.md`). |
-| **Specimen Fall-Through**| Defaulting to editorial `01 - HELLO` specimen | Match surface archetype to domain register (e.g. `interface` for SaaS). |
-| **The AI Nav** | Wordmark left, 4 links center, CTA right | Banned. Use N1–N9 catalog (e.g. N1 Floating Pill or N5 Edge-Aligned). |
-| **The AI Footer** | 4 equal columns + social row + copyright | Banned. Use Ft1–Ft8 catalog (e.g. Ft1 Mast-Headed or Ft5 Letter Close). |
-| **Aurora-Blob Background** | Organic mesh blobs drifting behind hero | Banned. Use soft radial `#glow` layer or clean ambient ground. |
-| **Floating-Orb Decoration** | Blurred 3D spheres drifting behind text | Banned. Keep background clean and focused on copy/media. |
-| **Italic Header Trick** | Flipping one word in header to italic | Banned. Rely on genuine typographic hierarchy and weight contrast. |
-| **Lazy-Loaded LCP** | Adding `loading="lazy"` to hero image | Banned. Hero LCP images must load eager; lazy-load below-the-fold only. |
-
----
-
-## 🏛️ System Architecture & File Structure
-
-```mermaid
-graph TD
- A["User Prompt / Command"] --> B["SKILL.md (~350 Tokens Load)"]
- B --> C["24 Runtime Commands across 7 Lifecycle Stages"]
- C --> D["Outcome Workflows (references/workflows/)"]
- C --> E["Operational Memory (memory/ & references/memory/)"]
-
- D --> F["Shared Design System (design-system/)"]
- F --> G["tokens.css & brand.json (v2)"]
- F --> H["components.css & base.css"]
- F --> I["motion.js & interactions.js"]
-
- G --> J["Markup-Only Pages (pages/*.html)"]
- H --> J
- I --> J
-```
+Lock your foundation once per project during `/brief` or `/init`. Never mix foundations:
-### 📁 Project Directory Layout
-
-```
-my-prototype/
-├── design-system/
-│ ├── tokens.css ← Single source of truth: color, typography, spacing, radius, motion
-│ ├── base.css ← CSS reset, typography inheritance & dark mode rules
-│ ├── components.css ← Shared component library (buttons, cards, navbars, modals)
-│ ├── utilities.css ← Spatial layout & container helper classes
-│ ├── motion.js ← Shared scroll-reveals, ambient color shifts & choreography
-│ ├── interactions.js ← Shared dropdowns, tabs, modals & toggle behavior
-│ └── brand.json ← Identity tokens, voice registers & brand dials (v2 schema)
-├── pages/
-│ ├── index.html ← Landing page markup ONLY (zero inline CSS/JS)
-│ ├── dashboard.html ← App dashboard markup ONLY
-│ └── pricing.html ← Pricing table markup ONLY
-├── scripts/ ← Python Power Tools (palette extraction, BG removal, WebP compression)
-├── docs/ ← Handoff specs and research documentation
-├── proto-nav.js ← Dev-only floating prototype toolbar
-└── brand.json ← Project-root brand identity configuration
-```
+1. **Native CSS** — Pure modern CSS custom properties, zero dependencies, ultimate portability.
+2. **Tailwind CSS** — Utility-first workflow mapped to design tokens via `tailwind.config.js`.
+3. **daisyUI** — Semantic component classes over Tailwind with pre-built theme mappings.
+4. **Hybrid** — Native design tokens (`tokens.css`) paired with utility classes for page assembly.
+5. **shadcn/ui** — Modern headless component architecture with Tailwind utility styling.
+6. **Pico CSS** — Classless, ultra-light semantic CSS for minimal content-first platforms.
+7. **Bootstrap 5** — SASS token overrides for enterprise migrations.
+8. **Alpine.js** — Lightweight declarative reactive micro-interactions without SPAs.
---
-## 🇸🇦 Native Arabic & RTL System
+## 🛠️ Python Tooling Suite (`scripts/`)
-`tidyfactor-design` provides first-class support for bilingual Middle Eastern digital products:
-
-- **Typography Rules**: Headings = **El Messiri**, Body = **Tajawal**. Never Amiri for headings above 24px.
-- **RTL Logical Properties**: Layout direction switching (`dir="rtl"` / `dir="ltr"`) uses CSS logical properties (`margin-inline-start`, `padding-inline`, `border-inline-end`).
-- **Modesty Guidelines**: Cultural visual rules for regional targets (modest photography selection, proper emblem placement).
-- **RTL Nav & Toolbar**: Floating prototype toolbar (`proto-nav.js`) automatically mirrors alignment in RTL mode.
+- **`scripts/audit_design.py`**: AST parser verifying zero per-page CSS/JS, token compliance, and anti-pattern tells.
+- **`scripts/extract_palette.py`**: Computes WCAG 2.1 AAA contrast ratios and generates `tokens.css` + `brand.yaml`. Supports `--source
--yaml`.
+- **`scripts/optimize_images.py`**: Resizes assets to design tokens, generates WebP formats, and constrains image budgets. Supports `--target --webp`.
---
-## 🚀 Quick Start & CLI Workflows
-
-Published on NPM as [**`@tidyfactor/design`**](https://www.npmjs.com/package/@tidyfactor/design).
+## 🚀 Quickstart & Installation
-### 1. Interactive Scaffold CLI
+Install via the TidyFactor CLI or directly through any AI Coding Agent:
```bash
-# Scaffold new prototype workspace
-npx @tidyfactor/cli-design my-proto
+# Via TidyFactor CLI (NPM)
+npx @tidyfactor/cli add tidyfactor-design
-# Specify CSS Foundation (--foundation=native|tailwind|daisyui|hybrid|shadcn|pico|bootstrap|alpine)
-npx @tidyfactor/cli-design my-app --foundation=native --school=luxury
-
-# Automated AI Agent / CI mode (zero prompts)
-npx @tidyfactor/cli-design my-design-system --yes
-```
-
-### 2. Inject Agent Skill into Existing Workspace
-
-```bash
-npx @tidyfactor/cli-design add-skill
+# Open Agent Skills standard (Claude Code / Cursor / Windsurf)
+npx skills add TidyFactor/Design
```
-*Injects `.agents/skills/tidyfactor-design/`, `.claude-skill/`, `memory/`, `templates/`, and `AGENTS.md` directly into your existing repo.*
-
-### 3. Local Preview & Development Server
+### Typical Workflow Sequence:
```bash
-# Launch zero-dependency local preview server
-python -m http.server 8123
-
-# Open browser at http://localhost:8123
-```
-
----
+# 1. Establish design context and resolve unknowns
+/brief
-## 🏛️ TidyFactor Skill Methodology & 8/8 Governance Architecture
+# 2. Scaffold design system and initial prototype
+/init
-You will notice the badge **`Architect Score: 8/8 Pass (100%)`** across TidyFactor repositories. What does this mean?
+# 3. Extract palette from logo or reference image
+/palette --source assets/logo.png
-The **TidyFactor Skill Methodology** (governed by [`tidyfactor-skill-architect`](file:///c:/wamp64/www/TidyFactor/Skills/Skills-LAB/.agents/skills/tidyfactor-skill-architect/)) is an opinionated, production-grade architectural framework for building AI Agent Skills. It guarantees that an agent skill is not a giant, uncontrolled prompt or a random file dump, but a structured, deterministic runtime system optimized for low latency, zero context bloat, and strict execution quality.
+# 4. Review and audit structural compliance
+/audit
-### 📋 The 8 Architectural Rules Every TidyFactor Skill Must Pass
-
-| # | Governance Rule | Mechanical Specification | Value to User & AI Agents |
-|---|---|---|---|
-| **1** | **Dispatcher Discipline** | `SKILL.md` acts strictly as an entry-point command dispatcher (~350 tokens). It declares what commands exist and routes to workflow/memory files without carrying task execution instructions itself. | **Zero Context Waste**: Your AI Agent loads only ~350 tokens on startup instead of parsing 2,000+ lines of domain rules. |
-| **2** | **One Workflow = One Outcome** | Every workflow file (`references/workflows/`) owns exactly one outcome and ends with an explicit, mechanical validation checklist. | **Deterministic Results**: Prevents AI hallucination or half-finished steps; guarantees tasks complete against a checklist. |
-| **3** | **Operational Memory** | Files in `memory/` contain pure facts, rules, matrices, templates, and schemas — zero prose or narrative. | **High Signal-to-Noise**: Injects crisp, actionable domain constraints directly into the prompt without token bloat. |
-| **4** | **No Empty Structures** | Folder hierarchies (`references/commands/`, `references/workflows/`, `memory/`) exist only when holding multiple items. | **Clean Repository**: Eliminates unnecessary file nesting and maintains portable simplicity. |
-| **5** | **Philosophy Isolation** | Branding rationale, manifestos, or methodologies belong in optional `memory/philosophy.md` — never inside operational execution files. | **Pure Technical Execution**: Agents read only execution rules without parsing marketing philosophy. |
-| **6** | **Trigger-Justified Growth** | New commands and memory files are added strictly when triggered by quantifiable lifecycle needs (e.g. 7-stage lifecycle expansion). | **No Speculative Bloat**: Keeps the skill lean, fast, and maintainable. |
-| **7** | **Anti-Slop & Quality Bar** | Frontend generation workflows enforce Pre-Emit Self-Critique (1-5 scoring on 6 axes: P, H, E, S, R, V) and 16 mechanical AI anti-pattern checks. | **Guaranteed Aesthetic Quality**: Blocks generic "AI-looking" code, purple hero gradients, wrapped CTAs, and duplicate UI patterns. |
-| **8** | **Multi-Target Parity Validation** | 100% parity across Agent skill targets (`.agents`, `.claude-skill`, and root repo files) verified automatically via `node tools/validate-skill.js`. | **Cross-Platform Compatibility**: Works identically in Antigravity, Claude Code, Cursor, Codex, and Windsurf. |
-
----
-
-
----
-
-## 🏛️ TidyFactor Ecosystem Architecture
-
-**TidyFactor** is a modular web architecture and AI coding agent skill ecosystem built on clear separation of concerns across the product lifecycle:
-
-```
-TidyFactor Organization (github.com/TidyFactor)
-│
-├── Design Skills
-│ ├── Cinematic → Experience / "Wow" (Apple × Cartier Scroll-Driven Landing Pages)
-│ ├── Design → Prototype / "Build" (Code-Native UI Design Engine & Figma Alternative)
-│ └── Styler → Production / "Ship" (Framework Styler & RTL Polish Engine)
-│
-├── Development Skills
-│ ├── HTML → Content & Static (Semantic SEO & Static Platform Starter)
-│ ├── HTMX → Hypermedia (Server-Driven Micro-Interactions)
-│ ├── JS → Vanilla SPA (Framework-Free Reactive ES Modules)
-│ ├── PHP → Server-Rendered (Modern PHP 8.x Component UI & Architecture)
-│ └── Next → Multi-Tenant SaaS (Next.js 16, React 19, Supabase RLS & Dev-Perf)
-│
-└── Growth Skills
- └── Marketing → Growth / Revenue (Direct Response, Pillar SEO & Content Lifecycles)
+# 5. Export developer handoff specifications
+/handoff
```
-### 💎 Frontend Triad
-
-```
- TidyFactor
- │
- ┌─────────┼─────────┐
- │ │ │
- Cinematic Design Styler
- │ │ │
- Experience Prototype Production
- │ │ │
- "Wow" "Build" "Ship"
-```
-
-### 📦 Community Package & Skill Parity
-
-| Track | Category | GitHub Repository | Agent Skill | NPM Package |
-| :--- | :--- | :--- | :--- | :--- |
-| **Cinematic** | Design | [`TidyFactor/Cinematic`](https://github.com/TidyFactor/Cinematic) | `tidyfactor-cinematic` | [`@tidyfactor/cinematic`](https://www.npmjs.com/package/@tidyfactor/cinematic) |
-| **Design** | Design | [`TidyFactor/Design`](https://github.com/TidyFactor/Design) | `tidyfactor-design` | [`@tidyfactor/design`](https://www.npmjs.com/package/@tidyfactor/design) |
-| **Styler** | Design | [`TidyFactor/Styler`](https://github.com/TidyFactor/Styler) | `tidyfactor-styler` | [`@tidyfactor/styler`](https://www.npmjs.com/package/@tidyfactor/styler) |
-| **Next** | Development | [`TidyFactor/Next`](https://github.com/TidyFactor/Next) | `tidyfactor-next` | [`@tidyfactor/next`](https://www.npmjs.com/package/@tidyfactor/next) |
-| **HTML** | Development | [`TidyFactor/HTML`](https://github.com/TidyFactor/HTML) | `tidyfactor-html` | [`@tidyfactor/html`](https://www.npmjs.com/package/@tidyfactor/html) |
-| **HTMX** | Development | [`TidyFactor/HTMX`](https://github.com/TidyFactor/HTMX) | `tidyfactor-htmx` | [`@tidyfactor/htmx`](https://www.npmjs.com/package/@tidyfactor/htmx) |
-| **JS** | Development | [`TidyFactor/JS`](https://github.com/TidyFactor/JS) | `tidyfactor-js` | [`@tidyfactor/js`](https://www.npmjs.com/package/@tidyfactor/js) |
-| **PHP** | Development | [`TidyFactor/PHP`](https://github.com/TidyFactor/PHP) | `tidyfactor-php` | [`@tidyfactor/php`](https://www.npmjs.com/package/@tidyfactor/php) |
-| **Marketing** | Growth | [`TidyFactor/Marketing`](https://github.com/TidyFactor/Marketing) | `tidyfactor-marketing` | [`@tidyfactor/marketing`](https://www.npmjs.com/package/@tidyfactor/marketing) |
-
----
-
-## 👨💻 Organization & Support
-
-- 🌐 **Official Website:** [https://tidyfactor.com/](https://tidyfactor.com/)
-- 📚 **Official Documentation:** [https://tidyfactor.com/documentation](https://tidyfactor.com/documentation)
-- 🤝 **Official Partner Website:** [Alwkala Digital Agency](https://alwkala.com/)
-- 🐙 **GitHub Organization:** [github.com/TidyFactor](https://github.com/TidyFactor)
-- 📧 **Business Inquiries:** [hello@tidyfactor.com](mailto:hello@tidyfactor.com)
-- 📱 **WhatsApp:** [+20 101 665 6899](https://wa.me/201016656899)
-- 📞 **Phone:** +20 101 665 6899
-- 📍 **Location:** Cairo, Egypt
-
---
-## 📜 License
+## 🏛️ License & Governance
-Licensed under the **Apache License 2.0**. Copyright (c) 2026 [TidyFactor](https://tidyfactor.com) & [Alwkala](https://alwkala.com).
+- **License**: Apache-2.0. Open-source, free for personal and commercial use.
+- **SSOT Governance**: Governed strictly under the **15 Structural Rules** of TidyFactor Skills-LAB.
+- **Ecosystem**: Part of the **TidyFactor Ecosystem** ([tidyfactor.com](https://tidyfactor.com)), stewarded by **Alwkala** ([alwkala.com](https://alwkala.com)).
diff --git a/README.pt.md b/README.pt.md
index ac5b9b2..886505a 100644
--- a/README.pt.md
+++ b/README.pt.md
@@ -1,8 +1,8 @@
-# tidyfactor-design `v1.5.0`
+# tidyfactor-design `v1.9.0`
-**Motor de Ciclo de Vida de Design UI Nativo em Código e Prototipagem Interativa para Agentes de IA**
+**Motor de Ciclo de Vida de Design UI Nativo em Código e Suíte Anti-Slop para Agentes de IA**
[](https://www.npmjs.com/package/@tidyfactor/design)
[](LICENSE)
@@ -13,32 +13,90 @@
---
-## ⚡ Início Rápido (Quickstart)
+## 💡 Filosofia Central: Separação de Inteligência de Design da Implementação
-```bash
-# Instalação e execução via NPX
-npx @tidyfactor/cli-design
-```
+A base conceitual do **TidyFactor Design** baseia-se na separação estrita entre o **conhecimento e inteligência de design** e a **execução técnica em código**:
-Ou execute diretamente dentro do seu assistente de IA (*Google Antigravity, Claude Code, Cursor, Codex*):
-```text
-/tidyfactor-design
```
+ DESIGN INTELLIGENCE
+ │
+ ┌──────────┴──────────┐
+ ↓ ↓
+ Operational Memory Workflows
+ │ │
+ └──────────┬──────────┘
+ ↓
+ AI Agent
+ ↓
+ Design System
+ ↓
+ HTML/CSS/JS
+ ↓
+ Audit
+ ↓
+ Handoff
+```
+
+Esta arquitetura transforma a skill em um **Sistema Operacional de Engenharia de Design** reutilizável e determinístico entre projetos variados. Em vez de simplesmente solicitar ao modelo que "crie uma interface bonita", o agente executa um ciclo de vida de design formal.
---
-## 📋 Matriz de Comandos Principais
+## ⚖️ TidyFactor Design vs. Figma: Alternativa Nativa em Código
-| Comando | Objetivo e Resultado | Fluxo de Trabalho |
+O TidyFactor Design não busca ser um aplicativo de desenho vetorial convencional, mas sim uma **Alternativa Nativa em Código ao Figma (Code-Native Alternative)**:
+
+| Característica | Figma | TidyFactor Design |
|---|---|---|
-| `/brief` | Briefing de diseño y descubrimiento de marca | `workflows/brief.md` |
-| `/tokens` | Generación de design tokens y escalas | `workflows/tokens.md` |
-| `/components` | Prototipado interactivo de componentes UI | `workflows/components.md` |
-| `/page` | Montaje de páginas completas interactivas | `workflows/page.md` |
-| `/rtl` | Validación y soporte nativo RTL/Árabe | `workflows/rtl.md` |
+| **Paradigma** | Ferramenta visual de design | Fluxo de design nativo em código |
+| **Ambiente** | Focado em Canvas (Canvas-centric) | Focado em Código (Code-centric) |
+| **Público** | Designers visuais | Agentes de IA + Desenvolvedores + Design Engineers |
+| **Componentes** | Componentes e variáveis visuais | Tokens + componentes + fluxos determinísticos |
+| **Prototipagem** | Protótipos visuais de tela | Protótipos reais em HTML/CSS/JS (zero build step) |
+| **Handoff** | Transferência manual Designer → Dev | Design e implementação unificados no mesmo ambiente |
+| **Governança** | Inspeção visual manual | Validações mecânicas de qualidade automatizadas |
+| **Escopo** | Criação de interface de usuário | Gestão completa do ciclo de vida de design |
+
+---
+
+## 🧠 O Que É Memória Operacional (Operational Memory)?
+
+A memória operacional (`references/memory/`) não consiste em artigos teóricos, mas em **regras acionáveis, matrizes estruturadas, esquemas de design e restrições executáveis**:
+
+- **Matriz Tipográfica** (`01-typography-matrix.md`): Hierarquias e escalas sem suposições.
+- **Arquétipos de Layout** (`02-layout-archetypes.md`): Grades e disposições espaciais.
+- **Princípios de Movimento** (`03-motion-principles.md`): Curvas de animação física, tempos e integração GSAP.
+- **Anatomia de Componentes** (`04-component-anatomy.md`): Estrutura canônica de elementos UI.
+- **Quality Bar** (`06-quality-bar.md`): Auditoria mecânica em 7 eixos (`P5 H5 E5 S5 R5 V5 D5`).
+- **Regras RTL e Árabe** (`14-arabic-rtl-matrix.md`): Tipografia e adaptação bidirecional nativa.
+
+O modelo não precisa redescobrir como projetar uma tipografia a cada execução; ele opera sobre padrões já validados e testados.
+
+---
+
+## 🚫 Governança Anti-Slop: Qualidade Mecânica Auditável
+
+Ao contrário de geradores genéricos de IA que produzem interfaces genéricas e artificiais, o TidyFactor Design estabelece **restrições formais de auditoria**:
+
+- ❌ **Bloqueio de Clichês de IA**: Eliminação de *Purple Gradient Heros*, *Inter Everywhere*, grids de 3 colunas repetitivos, cartões aninhados sem contraste (*Card-in-card*) e orbes flutuantes (*Aurora blobs*).
+- 🎨 **Sistemas de Design Coesos**: Paletas com contraste WCAG AAA e superfícies táteis com profundidade real.
+- ⚡ **Primazia YAML (Regra 15)**: Definição de tokens de marca em `brand.yaml`, economizando entre 35% e 50% de tokens de contexto para os LLMs.
+
+---
+
+## 🔄 As 7 Fases do Ciclo de Vida e os 24 Comandos
+
+1. **Discovery**: `/study`, `/brief`
+2. **Foundation**: `/init`, `/brand`, `/typography`, `/school`, `/tokens`, `/palette`, `/assets`
+3. **Architecture**: `/layout`, `/nav-footer`, `/page`, `/dashboard`
+4. **Components**: `/components`, `/states`
+5. **Motion**: `/motion`, `/flow`, `/i18n`
+6. **Quality**: `/perf`, `/audit`, `/clone`, `/retrofit`
+7. **Delivery**: `/handoff`, `/deploy`
---
-## 📖 Especificação Técnica Canônica
+## 📚 Documentação e Guias
-Para a arquitetura detalhada, esquemas JSON completos e código fonte nativo, consulte a [Documentação Técnica Canônica em Inglês (README.md)](README.md).
+- 📖 [Guia Completo de Engenharia e Uso (docs/GUIDE.md)](docs/GUIDE.md)
+- 📖 [Guia de Engenharia em Árabe (docs/GUIDE.ar.md)](docs/GUIDE.ar.md)
+- 📋 [Especificação Técnica Completa (README.md)](README.md)
diff --git a/README.zh.md b/README.zh.md
index cc417bf..4debf2d 100644
--- a/README.zh.md
+++ b/README.zh.md
@@ -1,8 +1,8 @@
-# tidyfactor-design `v1.5.0`
+# tidyfactor-design `v1.9.0`
-**面向 AI 智能体的代码原生 UI 设计生命周期与高保真交互原型引擎**
+**代码原生 UI 设计生命周期引擎与 AI 智能体 Anti-Slop 设计系统套件**
[](https://www.npmjs.com/package/@tidyfactor/design)
[](LICENSE)
@@ -13,32 +13,90 @@
---
-## ⚡ 快速上手 (Quickstart)
+## 💡 核心设计哲学:将“设计智能”与“设计实现”彻底解耦
-```bash
-# 通过 NPX 快速运行
-npx @tidyfactor/cli-design
-```
+**TidyFactor Design** 的核心突破在于将**设计知识与智能(Design Intelligence)**与**具体的代码实现(Implementation)**进行严格解耦:
-或在 AI 编码助手 (*Google Antigravity, Claude Code, Cursor, Codex*) 中调用:
-```text
-/tidyfactor-design
```
+ DESIGN INTELLIGENCE
+ │
+ ┌──────────┴──────────┐
+ ↓ ↓
+ Operational Memory Workflows
+ │ │
+ └──────────┬──────────┘
+ ↓
+ AI Agent
+ ↓
+ Design System
+ ↓
+ HTML/CSS/JS
+ ↓
+ Audit
+ ↓
+ Handoff
+```
+
+这一架构将技能转变为一个可在多个项目间无缝复用、确定性执行的**设计工程操作系统(Design Engineering Operating System)**。AI Agent 不再仅仅根据提示词盲目生成代码,而是按照工程化设计生命周期有序推进。
---
-## 📋 核心命令矩阵
+## ⚖️ TidyFactor Design 对比 Figma:代码原生的代际替代方案
-| 命令 | 目标与产出 | 执行工作流 |
+TidyFactor Design 并不是传统的矢量画布绘制工具,而是**面向 AI 与开发者的代码原生替代方案(Code-Native Alternative)**:
+
+| 维度 | Figma | TidyFactor Design |
|---|---|---|
-| `/brief` | Briefing de diseño y descubrimiento de marca | `workflows/brief.md` |
-| `/tokens` | Generación de design tokens y escalas | `workflows/tokens.md` |
-| `/components` | Prototipado interactivo de componentes UI | `workflows/components.md` |
-| `/page` | Montaje de páginas completas interactivas | `workflows/page.md` |
-| `/rtl` | Validación y soporte nativo RTL/Árabe | `workflows/rtl.md` |
+| **核心范式** | 视觉绘图工具 | 代码原生设计工程工作流 |
+| **工作环境** | 以画布为中心 (Canvas-centric) | 以代码为中心 (Code-centric) |
+| **目标受众** | 视觉设计师 | AI Agent + 开发者 + 设计工程师 |
+| **基础单元** | 视觉组件与变量 | Design Tokens + 原生组件 + 工作流 |
+| **原型验证** | 屏幕视觉连线原型 | 真实 HTML/CSS/JS 原型(零构建开销) |
+| **交付机制** | 设计师向开发者手动 Handoff | 设计与实现在统一代码环境中闭环 |
+| **质量治理** | 人工视觉抽检 | 机械化、自动化质量审查门禁 |
+| **业务范畴** | UI 界面绘制 | 全生命周期设计工程管理 |
+
+---
+
+## 🧠 什么是操作性记忆 (Operational Memory)?
+
+操作性记忆 (`references/memory/`) 绝非冗长的泛论文章,而是**纯粹的规则、矩阵、数据架构与约束条件**:
+
+- **排版矩阵** (`01-typography-matrix.md`): 确定性字号与层级规则。
+- **布局原型** (`02-layout-archetypes.md`): 栅格与空间架构定义。
+- **动效原则** (`03-motion-principles.md`): 物理动画曲线、时间尺度与 GSAP 原生模式。
+- **组件解剖** (`04-component-anatomy.md`): 界面组件标准构造规范。
+- **质量门禁** (`06-quality-bar.md`): 七维自评质检戳记 (`P5 H5 E5 S5 R5 V5 D5`)。
+- **阿语与 RTL 规范** (`14-arabic-rtl-matrix.md`): 双向流与高质量阿文字体规范。
+
+AI 智能体无需在每次生成时从头猜测设计原则,直接调用已验证的工程矩阵。
+
+---
+
+## 🚫 Anti-Slop 治理:可验证的机械质量门禁
+
+普通 AI 生成的 UI 往往充斥着千篇一律的模式与工业废料(Slop)。TidyFactor Design 设立了强力的**机械质检验收标准**:
+
+- ❌ **严禁 AI 刻板套路**:杜绝紫色渐变 Hero(Purple Gradient)、滥用 Inter 字体、千篇一律的三栏卡片网格、无序卡片嵌套(Card-in-card)以及漂浮光斑(Aurora blobs)。
+- 🎨 **定制化设计系统**:严格遵守 WCAG AAA 对比度标准,构建具有真实触感与层次的界面。
+- ⚡ **YAML 优先原则 (Rule 15)**:品牌与设计 Token 优先采用 `brand.yaml`,降低 35–50% 的上下文 Token 占用。
+
+---
+
+## 🔄 七大生命周期阶段与 24 个指令
+
+1. **Discovery (探索阶段)**: `/study`, `/brief`
+2. **Foundation (基础阶段)**: `/init`, `/brand`, `/typography`, `/school`, `/tokens`, `/palette`, `/assets`
+3. **Architecture (架构阶段)**: `/layout`, `/nav-footer`, `/page`, `/dashboard`
+4. **Components (组件阶段)**: `/components`, `/states`
+5. **Motion (动效阶段)**: `/motion`, `/flow`, `/i18n`
+6. **Quality (质检阶段)**: `/perf`, `/audit`, `/clone`, `/retrofit`
+7. **Delivery (交付阶段)**: `/handoff`, `/deploy`
---
-## 📖 完整技术规范与文档
+## 📚 详细文档与工程指南
-如需查看深层架构设计、完整 JSON Schema 契约和原生代码,请参阅[英文权威技术文档 (README.md)](README.md)。
+- 📖 [完整设计工程与用户指南 (docs/GUIDE.md)](docs/GUIDE.md)
+- 📖 [阿拉伯语工程指南 (docs/GUIDE.ar.md)](docs/GUIDE.ar.md)
+- 📋 [完整技术规范 (README.md)](README.md)
diff --git a/SKILL.md b/SKILL.md
index b71adf2..7eff4af 100644
--- a/SKILL.md
+++ b/SKILL.md
@@ -2,38 +2,37 @@
name: tidyfactor-design
description: "Code-native UI design lifecycle engine (Figma alternative) with Contextual Decision Layer (CDL). Supports all 7 design stages with zero per-page CSS/JS and pluggable CSS foundations (Native, Tailwind, daisyUI, Pico, Hybrid). Trigger on commands 'brief', 'study', 'init', 'brand', 'tokens', 'palette', 'layout', 'components', 'page', 'dashboard', 'motion', 'i18n', 'audit', 'deploy', or design system requests."
---
+
# TidyFactor Design (Code-Native UI Design Lifecycle Engine)
A command dispatcher supporting the full UI design lifecycle—from discovery through developer handoff—with zero build steps and complete design system consistency.
-## Lifecycle Commands (7 Stages)
-
-| Lifecycle Stage | User intent | Command | What it loads |
-|---|---|---|---|
-| **1. Discovery** | Strategic Design Discovery & Brief Resolution | `references/commands/brief.md` | `references/workflows/brief.md` + `references/memory/decision-points.md` + `references/memory/quality-bar.md` |
-| **1. Discovery** | Extract design DNA from reference URL/image | `references/commands/study.md` | `references/commands/study.md` + `references/memory/01-design-schools.md` |
-| **2. Foundation** | Start brand-new design system / prototype | `references/commands/init.md` | `references/workflows/init-prototype.md` + `references/memory/architecture.md` + `references/memory/foundations.md` |
-| **2. Foundation** | Scaffold or manage brand.json v2 schema | `references/commands/brand.md` | `references/commands/brand.md` + `references/memory/11-brand-json-v2.md` |
-| **2. Foundation** | Select mood-routed typography pairing | `references/commands/typography.md` | `references/commands/typography.md` + `references/memory/12-typography-matrix.md` |
-| **2. Foundation** | Choose design movement / visual direction | `references/commands/school.md` | `references/commands/school.md` + `references/memory/01-design-schools.md` |
-| **2. Foundation** | Manage design tokens and brand colors | `references/commands/tokens.md` | `references/commands/tokens.md` + `references/memory/02-design-tokens.md` |
-| **2. Foundation** | Scaffold color palette from reference image | `references/commands/palette.md` | `references/commands/palette.md` + `references/memory/02-design-tokens.md` |
-| **2. Foundation** | Asset hygiene and image optimization | `references/commands/assets.md` | `references/commands/assets.md` + `references/memory/10-python-tooling.md` |
-| **3. Architecture** | Select macrostructure layout archetype | `references/commands/layout.md` | `references/commands/layout.md` + `references/memory/13-layout-archetypes.md` |
-| **3. Architecture** | Choose navigation (N1-N9) and footer (Ft1-Ft8) | `references/commands/nav-footer.md` | `references/commands/nav-footer.md` + `references/memory/14-nav-footer-catalog.md` |
-| **3. Architecture** | Add a new content or marketing page | `references/commands/page.md` | `references/workflows/init-prototype.md` + `references/memory/05-component-anatomy.md` |
-| **3. Architecture** | Add a new dashboard or app screen | `references/commands/dashboard.md` | `references/workflows/init-prototype.md` + `references/memory/05-component-anatomy.md` |
-| **4. Components** | Manage shared UI components (8-state wrappers) | `references/commands/components.md` | `references/commands/components.md` + `references/memory/05-component-anatomy.md` |
-| **4. Components** | Define interactive component states | `references/commands/states.md` | `references/commands/states.md` + `references/memory/05-component-anatomy.md` |
-| **5. Motion** | Add shared animations, recipes & ambient layers | `references/commands/motion.md` | `references/commands/motion.md` + `references/memory/04-motion-principles.md` |
-| **5. Motion** | Wire interactive prototype navigation | `references/commands/flow.md` | `references/commands/flow.md` + `references/memory/09-prototype-flow.md` |
-| **5. Motion** | Add Arabic/RTL or bilingual localization | `references/commands/i18n.md` | `references/commands/i18n.md` + `references/memory/08-arabic-bilingual.md` |
-| **6. Quality** | Verify asset performance budgets & size limits | `references/commands/perf.md` | `references/commands/perf.md` + `references/memory/15-performance-budget.md` |
-| **6. Quality** | Audit structural consistency & quality bar | `references/commands/audit.md` | `references/workflows/audit-prototype.md` + `references/memory/quality-bar.md` |
-| **6. Quality** | Extract design system from external site | `references/commands/clone.md` | `references/workflows/clone-prototype.md` + `references/memory/03-narrative-conversion.md` |
-| **6. Quality** | Unify drifted prototype under design system | `references/commands/retrofit.md` | `references/workflows/retrofit-prototype.md` + `references/memory/07-consistency-contract.md` |
-| **7. Delivery** | Export developer handoff specs & token map | `references/commands/handoff.md` | `references/commands/handoff.md` + `references/memory/11-brand-json-v2.md` |
-| **7. Delivery** | Local preview and deployment | `references/commands/deploy.md` | `references/commands/deploy.md` + `references/memory/06-quality-bar.md` |
+## Commands
+
+| User intent | Command | What it loads |
+|---|---|---|
+| Strategic Discovery & Brief Resolution | `references/commands/brief.md` | `workflows/brief.md` + `memory/decision-points.md` + `memory/06-quality-bar.md` |
+| Extract design DNA from reference | `references/commands/study.md` | `commands/study.md` + `memory/01-design-schools.md` + `memory/06-quality-bar.md` |
+| Start brand-new design system / prototype | `references/commands/init.md` | `workflows/init-prototype.md` + `memory/architecture.md` + `memory/foundations.md` |
+| Scaffold or manage brand tokens (YAML / JSON) | `references/commands/brand.md` | `commands/brand.md` + `memory/11-brand-json-v2.md` |
+| Mood-routed typography pairing | `references/commands/typography.md` | `commands/typography.md` + `memory/12-typography-matrix.md` |
+| Select design school & movement | `references/commands/school.md` | `commands/school.md` + `memory/01-design-schools.md` |
+| Design tokens, palette & color extraction | `references/commands/tokens.md` | `commands/tokens.md` + `memory/02-design-tokens.md` |
+| Asset hygiene, media & image optimization | `references/commands/assets.md` | `commands/assets.md` + `memory/10-python-tooling.md` |
+| Macrostructure layout archetype selection | `references/commands/layout.md` | `commands/layout.md` + `memory/13-layout-archetypes.md` |
+| Navigation (N1-N9) & Footer (Ft1-Ft8) systems | `references/commands/nav-footer.md` | `commands/nav-footer.md` + `memory/14-nav-footer-catalog.md` |
+| Add content/marketing page or app screen | `references/commands/page.md` | `workflows/init-prototype.md` + `memory/05-component-anatomy.md` |
+| Manage shared UI components & 8-state catalog | `references/commands/components.md` | `commands/components.md` + `memory/05-component-anatomy.md` |
+| Core Component Matrices (Eyebrow, Hero, Cards, CTA, Seams, Metrics) | `references/commands/components.md` | `memory/21-eyebrow-kicker-matrix.md` through `28-shared-motion-primitives.md` |
+| Shared animations, scroll & motion recipes | `references/commands/motion.md` | `commands/motion.md` + `memory/04-motion-principles.md` + `memory/28-shared-motion-primitives.md` |
+| Interactive prototype navigation flow | `references/commands/flow.md` | `commands/flow.md` + `memory/09-prototype-flow.md` |
+| Arabic/RTL localization & bidirectional UI | `references/commands/i18n.md` | `commands/i18n.md` + `memory/08-arabic-bilingual.md` |
+| Asset performance budget & size verification | `references/commands/perf.md` | `commands/perf.md` + `memory/15-performance-budget.md` |
+| Structural consistency audit & quality bar | `references/commands/audit.md` | `workflows/audit-prototype.md` + `memory/06-quality-bar.md` |
+| Extract design system from external URL/clone | `references/commands/clone.md` | `workflows/clone-prototype.md` + `memory/03-narrative-conversion.md` |
+| Unify drifted prototype under design system | `references/commands/retrofit.md` | `workflows/retrofit-prototype.md` + `memory/07-consistency-contract.md` |
+| Developer handoff specs & CSS variable map | `references/commands/handoff.md` | `commands/handoff.md` + `memory/11-brand-json-v2.md` |
+| Local preview and static deployment | `references/commands/deploy.md` | `commands/deploy.md` + `memory/06-quality-bar.md` |
Read only the command file that matches the request. Do not load all commands simultaneously.
@@ -47,8 +46,11 @@ Read only the command file that matches the request. Do not load all commands si
## Tooling Scope (Rule 10)
-- **Languages**: Python 3 (stdlib, Pillow/rembg for asset optimization)
-- **Mutations**: Read-only audits (`audit_design`), file creation (`extract_palette`), image processing (`optimize_assets`)
-- **Network**: None required
-- **Companion MCP**: Invocable via `tidyfactor-brain`'s `run_skill_tool(skill_id="tidyfactor-design", ...)`
+- **Languages**: Python 3 (stdlib, Pillow, rembg)
+- **Mutations**: Read-only audits (`audit_design`), palette token generation (`extract_palette`), image optimization (`optimize_media`)
+- **Network**: None required (100% offline deterministic execution)
+
+## Skill vs MCP Boundary (Rule 12)
+- **Inside Skill**: Static design tokens, typography pairings, layout archetypes, component matrices (21–28), and zero-build CSS templates.
+- **MCP Layer**: Companion MCP tools invocable via `tidyfactor-brain`'s `run_skill_tool(skill_id="tidyfactor-design", ...)`; live remote asset scraping and database operations delegate to external MCP servers.
diff --git a/brand.json b/brand.json
index 30ff51b..a59f4ae 100644
--- a/brand.json
+++ b/brand.json
@@ -1,6 +1,6 @@
{
"name": "TidyFactor Design",
- "version": "1.8.0",
+ "version": "1.9.0",
"schemaVersion": "brand-core-v2",
"meta": {
"product": "TidyFactor Design System",
diff --git a/brand.yaml b/brand.yaml
new file mode 100644
index 0000000..987a89e
--- /dev/null
+++ b/brand.yaml
@@ -0,0 +1,238 @@
+name: TidyFactor Design
+version: 1.9.0
+schemaVersion: brand-core-v2
+meta:
+ product: TidyFactor Design System
+ tagline: Code-Native Interactive Prototyping Engine
+ description: A zero-bundler, framework-free design system and UI prototyping engine
+ with pluggable CSS foundations and full Arabic/RTL support.
+ version: 1.8.0
+ lastUpdated: '2026-09-02'
+identity:
+ logo:
+ full: assets/logo.svg
+ fullDark: assets/logo-dark.svg
+ mark: assets/logo-mark.svg
+ favicon: assets/favicon.svg
+ minClearSpace: 1x logo-mark height on all sides
+ minSizePx: 24
+ socialPreview:
+ ogImage: assets/og-default.png
+ ogDimensions: 1200x630
+voice:
+ tone: confident, direct, teacher-not-salesperson
+ personality:
+ - direct
+ - practical
+ - warm
+ - no-fluff
+ registers:
+ professional: Direct, precise, clear, task-focused for transactions and settings
+ casual: Warm, encouraging, inviting for onboarding and feature discovery
+ error: Empathetic, clear fix provided, zero blame
+ success: Celebratory, concise, clear next step
+ readingLevel: plain language, avoid jargon unless audience is technical
+ doNotUse:
+ - synergy
+ - leverage (as a verb)
+ - revolutionary
+ - game-changing
+ - simply/just/easily
+ preferredPerson: second person (you)
+colors:
+ light:
+ background: '#FFFFFF'
+ surface: '#F8FAFC'
+ surface2: '#F1F5F9'
+ border: '#E2E8F0'
+ text: '#0F172A'
+ textMuted: '#64748B'
+ primary: '#4F46E5'
+ primaryForeground: '#FFFFFF'
+ secondary: '#06B6D4'
+ secondaryForeground: '#FFFFFF'
+ accent: '#F59E0B'
+ success: '#12B76A'
+ warning: '#F79009'
+ danger: '#EF4444'
+ info: '#4F46E5'
+ codeBackground: '#F8FAFC'
+ dark:
+ background: '#0F172A'
+ surface: '#1E293B'
+ surface2: '#334155'
+ border: '#475569'
+ text: '#F8FAFC'
+ textMuted: '#94A3B8'
+ primary: '#818CF8'
+ primaryForeground: '#0F172A'
+ secondary: '#22D3EE'
+ secondaryForeground: '#0F172A'
+ accent: '#FBBF24'
+ success: '#34D399'
+ warning: '#FBBF24'
+ danger: '#F87171'
+ info: '#818CF8'
+ codeBackground: '#1E293B'
+ chartPalette:
+ - '#4F46E5'
+ - '#06B6D4'
+ - '#F59E0B'
+ - '#12B76A'
+ - '#EF4444'
+ - '#8B5CF6'
+ contrastPolicy: WCAG AA minimum (4.5:1 body text, 3:1 large text/UI) in both light
+ and dark themes
+typography:
+ families:
+ heading:
+ primary: El Messiri
+ fallback: Georgia, serif
+ body:
+ primary: Tajawal
+ fallback: Inter, system-ui, sans-serif
+ display:
+ primary: Outfit
+ fallback: system-ui, sans-serif
+ mono:
+ primary: JetBrains Mono
+ fallback: Menlo, monospace
+ arabicHeading: El Messiri
+ arabicBody: Tajawal
+ weights:
+ light: 300
+ regular: 400
+ medium: 500
+ semibold: 600
+ bold: 700
+ scale:
+ xs: 12px
+ sm: 14px
+ base: 16px
+ lg: 18px
+ xl: 20px
+ 2xl: 24px
+ 3xl: 30px
+ 4xl: 36px
+ 5xl: 48px
+ 6xl: 60px
+ lineHeight:
+ tight: 1.2
+ normal: 1.5
+ relaxed: 1.75
+ letterSpacing:
+ tight: -0.02em
+ normal: '0'
+ wide: 0.02em
+ googleFontsUrl: https://fonts.googleapis.com/css2?family=El+Messiri:wght@400;600;700&family=Outfit:wght@400;500;600;700&family=Tajawal:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500&display=swap
+spacing:
+ baseUnit: 4px
+ scale:
+ '0': 0px
+ '1': 4px
+ '2': 8px
+ '3': 12px
+ '4': 16px
+ '6': 24px
+ '8': 32px
+ '12': 48px
+ '16': 64px
+ '24': 96px
+radius:
+ none: 0px
+ sm: 6px
+ md: 12px
+ lg: 16px
+ xl: 24px
+ full: 9999px
+ default: 12px
+shadows:
+ sm: 0 1px 2px rgba(0,0,0,0.06)
+ md: 0 4px 12px rgba(0,0,0,0.10)
+ lg: 0 12px 32px rgba(0,0,0,0.16)
+ focusRing: 0 0 0 3px color-mix(in srgb, var(--primary) 40%, transparent)
+motion:
+ duration:
+ fast: 120ms
+ base: 200ms
+ slow: 400ms
+ easing:
+ standard: cubic-bezier(0.4,0,0.2,1)
+ emphasized: cubic-bezier(0.2,0,0,1)
+ spring: cubic-bezier(0.34,1.56,0.64,1)
+ reducedMotion: 'honor prefers-reduced-motion: disable scroll-driven and parallax
+ effects, keep only opacity/color transitions'
+ scope: cinematic/scroll-driven motion is reserved for marketing surfaces only —
+ never in docs, dashboard, or transactional UI
+breakpoints:
+ sm: 640px
+ md: 768px
+ lg: 1024px
+ xl: 1280px
+ 2xl: 1536px
+iconography:
+ set: lucide
+ strokeWidth: 1.75
+ sizes:
+ sm: 16px
+ md: 20px
+ lg: 24px
+ rule: never mix icon sets on the same surface
+components:
+ button:
+ radius: radius.md
+ paddingX: spacing.4
+ paddingY: spacing.2
+ primaryBg: colors.primary
+ primaryFg: colors.primaryForeground
+ hoverOpacity: 0.9
+ disabledOpacity: 0.5
+ input:
+ radius: radius.sm
+ border: colors.border
+ focusRing: shadows.focusRing
+ background: colors.surface
+ card:
+ radius: radius.lg
+ border: colors.border
+ background: colors.surface
+ shadow: shadows.sm
+ codeBlock:
+ background: colors.codeBackground
+ radius: radius.md
+ fontFamily: typography.families.mono
+localization:
+ defaultLocale: en
+ supportedLocales:
+ - en
+ - ar
+ rtl: true
+ rtlLocales:
+ - ar
+ mirrorOnRtl:
+ - sidebar
+ - breadcrumb
+ - tableOfContents
+ - iconsWithDirection
+ dateFormat:
+ en: MMM D, YYYY
+ ar: D MMMM YYYY
+accessibility:
+ minTouchTarget: 44px
+ focusVisible: always visible, never suppressed with outline:none without a replacement
+ altTextPolicy: required on every meaningful image; decorative images use alt=''
+foundation: native
+school: minimalist
+usage:
+ sharedBy:
+ - tidyfactor-design
+ - tidyfactor-cinematic
+ - future kits (Dashboard, Admin, LMS, Commerce)
+ rules:
+ - Every surface reads tokens from this file — never hardcode a hex value or font
+ name inline.
+ - Brand colors (primary, logo) do not change between light/dark modes — only surface,
+ background, border, and text tokens do.
+ - If this file changes, regenerate dependent surfaces rather than manually patching
+ colors.
+ - Extend by adding new tokens, not by overriding existing ones per-surface.
diff --git a/dist/tidyfactor-design.skill b/dist/tidyfactor-design.skill
deleted file mode 100644
index 9c49cd7a4f521d79197ffa657ec6cdb052719508..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 15608214
zcmaHSQ;;Y@*W}o?ZO`1XZQHhO+qP}ncWm3XZS4IvcK3hUuO7PUA*0aQ(UEmd9(gHX
z5EOv_v}aZ#o&P=fKM(MKy@8XHiL(>E{QnmO@(*NaVf$YY|Cz?d#Kz9i
iC*+j%#kKM3#KYuB>EGFS|#r$)5R`pNnr
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
z
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