diff --git a/README.ar.md b/README.ar.md index faa26d7..73403a0 100644 --- a/README.ar.md +++ b/README.ar.md @@ -29,6 +29,34 @@ --- +## 🚀 التثبيت والبدء السريع + +اختر طريقة التثبيت المناسبة لمشروعك: + +### الخيار (أ): عبر TidyFactor CLI الرسمي (الموصى به) +التثبيت الفوري دون الحاجة لتثبيت الأداة عالمياً في بيئة عملك النشطة: +```bash +npx @tidyfactor/cli add js +``` +*أو في حال كانت الأداة مثبتة لديك عالمياً (`npm i -g @tidyfactor/cli`):* +```bash +tidyfactor add js +``` + +### الخيار (ب): عبر معيار مهارات الوكلاء المفتوح (skills.sh) +التثبيت العالمي المتوافق مع كافة بيئات الوكلاء ومحررات الذكاء الاصطناعي (Antigravity, Cursor, Claude Code, Windsurf, Codex): +```bash +npx skills add tidyfactor/js +``` + +### الخيار (ج): التثبيت المباشر الفردي عبر NPM +تشغيل مثبت المهارة المستقل مباشرة مع تجاوز الذاكرة المخبأة وضمان أحدث إصدار: +```bash +npx @tidyfactor/js@latest +``` + +--- + ## 🏛️ معمارية منظومة TidyFactor **منظومة TidyFactor** هي بيئة معمارية برمجية مفتوحة وحزم مهارات لوكلاء الذكاء الاصطناعي قائمة على الفصل التام للمسؤوليات عبر دورة حياة المنتجات: diff --git a/README.md b/README.md index 57c2167..21a99f3 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,34 @@ Built and maintained by **alwkala** — github.com/alwkala Licensed under the Apache License 2.0. +--- + +## 🚀 Installation & Quick Start + +Choose your preferred installation method: + +### Option A: Via TidyFactor CLI (Recommended) +Install directly using the official ecosystem package runner into your active workspace: +```bash +npx @tidyfactor/cli add js +``` +*Or if you have the CLI installed globally (`npm i -g @tidyfactor/cli`):* +```bash +tidyfactor add js +``` + +### Option B: Via Open Agent Skills Ecosystem (skills.sh / Vercel Labs) +Install using the universal multi-agent standard across all supported IDEs (Cursor, Antigravity, Claude Code, Windsurf, Trae, Codex): +```bash +npx skills add tidyfactor/js +``` + +### Option C: Standalone Zero-Dependency Runner (NPM Direct) +Run the dedicated skill installer directly with automatic cache invalidation: +```bash +npx @tidyfactor/js@latest +``` + --- ## 🏛️ TidyFactor Ecosystem Architecture diff --git a/dist/tidyfactor-js.skill b/dist/tidyfactor-js.skill deleted file mode 100644 index 3bb6548..0000000 Binary files a/dist/tidyfactor-js.skill and /dev/null differ diff --git a/dist/tidyfactor-js/.tidyfactor b/dist/tidyfactor-js/.tidyfactor deleted file mode 100644 index d95f77b..0000000 --- a/dist/tidyfactor-js/.tidyfactor +++ /dev/null @@ -1,33 +0,0 @@ -{ - "ecosystem": "tidyfactor", - "track": "js", - "name": "tidyfactor-js", - "version": "1.2.0", - "npmPackage": "@alwkala/tidyfactor-js", - "github": "https://github.com/TidyFactor/JS", - "skillFile": "../tidyfactor-js-v1.1.0.skill", - "category": "spa", - "commands": [ - "brief", - "assets", - "compo", - "deploy", - "i18n", - "init", - "logic", - "modules", - "pages", - "route", - "seo", - "store" - ], - "foundations": [ - "vanilla-es6", - "custom-elements" - ], - "visionRef": "../TidyFactor-VISION.md", - "commercialPartner": "alwkala", - "website": "https://tidyfactor.com", - "docs": "https://tidyfactor.com/documentation", - "license": "Apache-2.0" -} diff --git a/dist/tidyfactor-js/AGENTS.md b/dist/tidyfactor-js/AGENTS.md deleted file mode 100644 index bf22ad7..0000000 --- a/dist/tidyfactor-js/AGENTS.md +++ /dev/null @@ -1,3 +0,0 @@ -# Agent Rules — tidyfactor-js - -All work must follow the TidyFactor Vision (`VISION.md`) and single-source-of-truth guidelines in `SKILLS-LAB-GUIDE.md`. diff --git a/dist/tidyfactor-js/CHANGELOG.md b/dist/tidyfactor-js/CHANGELOG.md deleted file mode 100644 index d74fa1c..0000000 --- a/dist/tidyfactor-js/CHANGELOG.md +++ /dev/null @@ -1,28 +0,0 @@ -# Changelog - TidyFactor JS - -All notable changes to the **[@tidyfactor/js](https://www.npmjs.com/package/@tidyfactor/js)** package will be documented in this file. - -## [1.2.0] - 2026-08-29 - -### Added - Global Multi-Tier & Multi-Language Documentation Architecture -- **Rule 13 Implementation**: Two-tier documentation separation between Canonical Technical Documentation (`README.md` SSOT) and First-Class Market Localizations. -- **Universal Multi-Language Switcher**: Standardized 8-language switcher navigation bar across all documentation files (`EN`, `AR`, `FA`, `ES`, `PT`, `ZH`, `DE`, `FR`). -- **First-Class Localized Developer Adoption Guides**: `README.es.md`, `README.pt.md`, `README.fa.md`, `README.zh.md`, `README.de.md`, `README.fr.md`. -- **Automated Validation & Packaging**: Updated `tools/build-skill.js` and `tools/validate_skill.py`. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [1.1.0] - 2026-08-25 - -### Added -- **Contextual Decision Layer (CDL v1.0)**: Added `references/memory/decision-points.md` with thin arbitration protocol (J1–J5: Client Routing Strategy, Build Tooling, State Management Model, Component Pattern, Output Scope). -- **Brief Command (`/brief`)**: Added `references/commands/brief.md` and `references/workflows/brief.md` for pre-flight Vanilla JS SPA discovery. -- **7-Axis SPA Quality Gate (`P/H/E/S/R/V/D`)**: Added `references/memory/quality-bar.md` enforcing zero framework dependencies, reactive proxy state, and memory leak cleanup. -- **Structured References & Workflows Architecture**: Created `references/memory/` and `references/workflows/` (init, route, store, compo, brief). -- **Validation & CLI Suite**: Added `bin/add-skill.js`, updated `package.json` `"bin"` map, created `tools/validate_skill.py`, and updated `brand.json` version. - ---- - -## [1.0.0] - 2026-07-28 -- Initial Release of `@tidyfactor/js` diff --git a/dist/tidyfactor-js/LICENSE b/dist/tidyfactor-js/LICENSE deleted file mode 100644 index 8ea93e1..0000000 --- a/dist/tidyfactor-js/LICENSE +++ /dev/null @@ -1,17 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - Copyright 2026 TidyFactor Ecosystem & Alwkala Digital Agency (https://alwkala.com) - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/dist/tidyfactor-js/README.ar.md b/dist/tidyfactor-js/README.ar.md deleted file mode 100644 index faa26d7..0000000 --- a/dist/tidyfactor-js/README.ar.md +++ /dev/null @@ -1,100 +0,0 @@ -
- -# 🟨 مهارة تايتفكتور لتطبيقات جافاسكريبت المستقلة `TidyFactor JS v1.2.0` -### تطبيقات الصفحة الواحدة SPA بدون أطر عمل وبنظام ES Modules النقي ومكونات الويب Web Components - -[![npm version](https://img.shields.io/npm/v/@tidyfactor/js.svg?style=for-the-badge&color=F7DF1E&logo=npm)](https://www.npmjs.com/package/@tidyfactor/js) -[![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg?style=for-the-badge)](LICENSE) -[![Ecosystem](https://img.shields.io/badge/TidyFactor-Skills--LAB-purple.svg?style=for-the-badge)](https://github.com/TidyFactor) -[![Compatibility](https://img.shields.io/badge/Agents-Antigravity%20|%20Claude%20|%20Cursor%20|%20Codex-orange.svg?style=for-the-badge)](SKILL.md) -[![طبقة القرارات](https://img.shields.io/badge/CDL-طبقة%20القرارات%20السياقية-purple.svg?style=for-the-badge)](SKILL.md) -[![فانيلا سبا](https://img.shields.io/badge/معمارية-Zero%20Dependency%20SPA-F7DF1E.svg?style=for-the-badge&logo=javascript&logoColor=black)](SKILL.md) -[![RTL Native Arabic](https://img.shields.io/badge/RTL-Native%20Arabic-emerald.svg?style=for-the-badge)](README.ar.md) -[![Architect Score](https://img.shields.io/badge/Architect%20Score-13%2F13%20Pass%20(100%25)-green.svg?style=for-the-badge)](#-معايير-الحوكمة-والجودة) -[![AI Agents Compatible](https://img.shields.io/badge/AI%20Agents-Universal%20Compatibility-4285F4.svg?style=for-the-badge)](SKILL.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)](https://www.npmjs.com/package/@tidyfactor/js) -[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge)](LICENSE) -[![RTL Native Arabic](https://img.shields.io/badge/RTL-Native%20Arabic-emerald.svg?style=for-the-badge)](#-معمارية-منظومة-tidyfactor) - -[⚡ الأوامر](#-أوامر-المهارة) • [🏛️ المنظومة](#-معمارية-منظومة-tidyfactor) • [📖 English Version](README.md) - -

- -

- TidyFactor JS Hero Banner -

- -
- ---- - -## 🏛️ معمارية منظومة TidyFactor - -**منظومة TidyFactor** هي بيئة معمارية برمجية مفتوحة وحزم مهارات لوكلاء الذكاء الاصطناعي قائمة على الفصل التام للمسؤوليات عبر دورة حياة المنتجات: - -```text -منظمة TidyFactor الرسمية (github.com/TidyFactor) -│ -├── مهارات التصميم (Design Skills) -│ ├── Cinematic ← تجربة الإبهار البصري / Experience ("Wow") (صفحات سينمائية تفاعلية) -│ ├── Design ← بناء النماذج الأولية / Prototype ("Build") (محرك تصميم كودي وبديل Figma) -│ └── Styler ← الجاهزية للإنتاج والتنسيق / Production ("Ship") (محرك التنسيق ودعم RTL) -│ -├── مهارات التطوير البرمجي (Development Skills) -│ ├── HTML ← المواقع الثابتة وسيو المحتوى / Static & SEO (هياكل خفيفة وسريعة) -│ ├── HTMX ← الواجهات التفاعلية الخفيفة / Hypermedia (تفاعلات بدون جافاسكريبت معقدة) -│ ├── JS ← تطبيقات الصفحة الواحدة بدون أطر / Vanilla SPA (نماذج تفاعلية بـ ES Modules) -│ ├── PHP ← المنظومات المخدمية الحديثة / Server-Rendered (مكونات حديثة وتطبيقات PHP 8) -│ └── Next ← منصات الساس متعددة المستأجرين / Multi-Tenant (Next.js 16 + Postgres RLS) -│ -└── مهارات النمو والتسويق (Growth Skills) - └── Marketing ← استراتيجيات النمو والمبيعات / Growth & SEO (تسويق الاستجابة المباشرة) -``` - -### 💎 ثلاثي الواجهات الأمامية والتجربة (Frontend Triad) - -```text - TidyFactor - │ - ┌─────────┼─────────┐ - │ │ │ - Cinematic Design Styler - │ │ │ - Experience Prototype Production - │ │ │ - "Wow" "Build" "Ship" -``` - -### 📦 مصفوفة التكامل الشامل للمجتمع (GitHub • Skill • NPM) - -| المسار البرمجي | الفئة | مستودع GitHub | مهارة الوكيل | حزمة NPM | -| :--- | :--- | :--- | :--- | :--- | -| **Cinematic** | التصميم | [`TidyFactor/Cinematic`](https://github.com/TidyFactor/Cinematic) | `tidyfactor-cinematic` | [`@tidyfactor/cinematic`](https://www.npmjs.com/package/@tidyfactor/cinematic) | -| **Design** | التصميم | [`TidyFactor/Design`](https://github.com/TidyFactor/Design) | `tidyfactor-design` | [`@tidyfactor/design`](https://www.npmjs.com/package/@tidyfactor/design) | -| **Styler** | التصميم | [`TidyFactor/Styler`](https://github.com/TidyFactor/Styler) | `tidyfactor-styler` | [`@tidyfactor/styler`](https://www.npmjs.com/package/@tidyfactor/styler) | -| **Next** | التطوير | [`TidyFactor/Next`](https://github.com/TidyFactor/Next) | `tidyfactor-next` | [`@tidyfactor/next`](https://www.npmjs.com/package/@tidyfactor/next) | -| **HTML** | التطوير | [`TidyFactor/HTML`](https://github.com/TidyFactor/HTML) | `tidyfactor-html` | [`@tidyfactor/html`](https://www.npmjs.com/package/@tidyfactor/html) | -| **HTMX** | التطوير | [`TidyFactor/HTMX`](https://github.com/TidyFactor/HTMX) | `tidyfactor-htmx` | [`@tidyfactor/htmx`](https://www.npmjs.com/package/@tidyfactor/htmx) | -| **JS** | التطوير | [`TidyFactor/JS`](https://github.com/TidyFactor/JS) | `tidyfactor-js` | [`@tidyfactor/js`](https://www.npmjs.com/package/@tidyfactor/js) | -| **PHP** | التطوير | [`TidyFactor/PHP`](https://github.com/TidyFactor/PHP) | `tidyfactor-php` | [`@tidyfactor/php`](https://www.npmjs.com/package/@tidyfactor/php) | -| **Marketing** | النمو | [`TidyFactor/Marketing`](https://github.com/TidyFactor/Marketing) | `tidyfactor-marketing` | [`@tidyfactor/marketing`](https://www.npmjs.com/package/@tidyfactor/marketing) | - ---- - -## 👨‍💻 المنظمة والتواصل والدعم - -- 🌐 **الموقع الرسمي للمنظومة:** [https://tidyfactor.com/](https://tidyfactor.com/) -- 📚 **التوثيق الرسمي المعتمد:** [https://tidyfactor.com/documentation](https://tidyfactor.com/documentation) -- 🤝 **الشريك التقني الرسمي:** [الوكالة الرقمية Alwkala](https://alwkala.com/) -- 🐙 **منظمة GitHub الرسمية:** [github.com/TidyFactor](https://github.com/TidyFactor) -- 📧 **استفسارات الأعمال والشركات:** [hello@tidyfactor.com](mailto:hello@tidyfactor.com) -- 📱 **واتساب:** [+20 101 665 6899](https://wa.me/201016656899) -- 📞 **الهاتف:** +20 101 665 6899 -- 📍 **المقر:** القاهرة، جمهورية مصر العربية - ---- - -## 📜 الترخيص والمجتمع - -مرخصة تحت رخصة **Apache License 2.0**. حقوق النشر محفوظة (c) 2026 لصالح [منظومة TidyFactor](https://tidyfactor.com) و[الوكالة الرقمية Alwkala](https://alwkala.com). diff --git a/dist/tidyfactor-js/README.md b/dist/tidyfactor-js/README.md deleted file mode 100644 index 57c2167..0000000 --- a/dist/tidyfactor-js/README.md +++ /dev/null @@ -1,125 +0,0 @@ -
- -# 🟨 TidyFactor JS `v1.2.0` -### Framework-Free Reactive Vanilla SPA, Web Components & Contextual Decision Engine - -**The official vanilla JavaScript SPA engineering track within the TidyFactor Ecosystem.** - -[![npm version](https://img.shields.io/npm/v/@tidyfactor/js.svg?style=for-the-badge&color=F7DF1E)](https://www.npmjs.com/package/@tidyfactor/js) -[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge)](LICENSE) -[![RTL Ready](https://img.shields.io/badge/RTL-Native%20Arabic-emerald.svg?style=for-the-badge)](README.ar.md) -[![Framework-Free](https://img.shields.io/badge/Runtime-Vanilla%20SPA-purple.svg?style=for-the-badge)](#-three-lifecycle-modes) - -[🚀 Quick Start](#-quick-start) • [⚡ 11 Commands](#-command-set) • [🏛️ Ecosystem](#%EF%B8%8F-tidyfactor-ecosystem-architecture) • [📖 بالعربية](README.ar.md) - -

- -

- TidyFactor JS Hero Banner -

- -
- ---- - -Part of the TidyFactor ecosystem. Sibling tracks (`tidyfactor-html`, -`tidyfactor-php`, `tidyfactor-php-micro`, `tidyfactor-js-micro`, -`tidyfactor-htmx`) live as separate skills so each can carry a full, -framework-appropriate command set instead of one skill trying to cover -every stack at once. - -## Three lifecycle modes -- **Init** — scaffold a brand-new vanilla JS application. -- **Convert** — bring an existing static site, jQuery-era codebase, or - React/Vue app onto framework-free vanilla JS. -- **Improve** — audit and upgrade a project already on this track. - -## Two architectural forks (always asked, never defaulted) -- **Routing strategy** — hash-based (zero host config) or History API - (clean URLs, needs a host rewrite rule). -- **Build tooling** — zero-build native ES Modules, or Vite (dev/build - tooling only, never a framework dependency). - -## Command set -`init` · `assets` · `logic` · `store` · `compo` · `route` · `pages` · -`modules` · `i18n` · `seo` · `deploy` — see `SKILL.md` for the full -sequencing and each command's reference file under `references/commands/`. - -## Developer -Built and maintained by **alwkala** — github.com/alwkala - -## License -Licensed under the Apache License 2.0. - - ---- - -## 🏛️ 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) -``` - -### 💎 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 - -Licensed under the **Apache License 2.0**. Copyright (c) 2026 [TidyFactor](https://tidyfactor.com) & [Alwkala](https://alwkala.com). diff --git a/dist/tidyfactor-js/SKILL.md b/dist/tidyfactor-js/SKILL.md deleted file mode 100644 index d32006d..0000000 --- a/dist/tidyfactor-js/SKILL.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -name: tidyfactor-js -description: "Framework-free reactive Vanilla SPA engine with Contextual Decision Layer (CDL). Features client-side routing, reactive Proxy state management, and Web Components with zero React/Vue runtime. Trigger on commands 'brief', 'init', 'assets', 'logic', 'store', 'compo', 'route', 'pages', 'modules', 'i18n', 'seo', 'deploy', or requests to scaffold a pure Vanilla JS SPA." ---- -# TidyFactor Vanilla JS (Framework-Free Reactive Vanilla SPA) - -A command dispatcher for framework-free client-side single page applications. This router declares commands and workflows without performing execution directly. - -## Commands - -| User intent | Command | What it loads | -|---|---|---| -| Strategic SPA Discovery & Brief Resolution | `references/commands/brief.md` | `references/workflows/brief.md` + `references/memory/decision-points.md` + `references/memory/quality-bar.md` | -| Primary deliverable — scaffold a new vanilla SPA | `references/commands/init.md` | `references/workflows/init.md` + `references/memory/architecture.md` | -| Client-side routing (hash `#` vs HTML5 History API) | `references/commands/route.md` | `references/workflows/route.md` + `references/memory/decision-points.md` | -| Reactive Proxy state store & EventTarget subscribers | `references/commands/store.md` | `references/workflows/store.md` + `references/memory/quality-bar.md` | -| Reusable native Web Components (custom elements) | `references/commands/compo.md` | `references/workflows/compo.md` + `references/memory/architecture.md` | -| Central environment configuration & API clients | `references/commands/logic.md` | `references/commands/logic.md` + `references/memory/architecture.md` | -| Assemble multi-screen view controllers | `references/commands/pages.md` | `references/commands/pages.md` + `references/memory/architecture.md` | -| Pure ES Module utilities & formatting helpers | `references/commands/modules.md` | `references/commands/modules.md` + `references/memory/architecture.md` | -| Multilingual translation & dynamic Arabic RTL toggle | `references/commands/i18n.md` | `references/commands/i18n.md` + `references/memory/quality-bar.md` | -| SPA SEO metadata, dynamic page titles, sitemaps | `references/commands/seo.md` | `references/commands/seo.md` + `references/memory/quality-bar.md` | -| Asset hygiene, favicon, and SVG optimization | `references/commands/assets.md` | `references/commands/assets.md` + `references/memory/quality-bar.md` | -| Prepare deployment (Static hosting, Vite build, cPanel) | `references/commands/deploy.md` | `references/commands/deploy.md` + `references/memory/decision-points.md` | - -Read only the command file that matches the request. Do not load all commands simultaneously. - -## Non-Negotiable Invariants - -1. **Contextual Decision Layer (CDL)**: Resolve SPA baselines via `/brief` or `.tidyfactor/js-brief.md` before emitting code. -2. **Zero Framework Runtime**: 100% pure vanilla modern JavaScript. No React, Vue, or Alpine. -3. **Memory Leak Prevention**: All event listeners and timers MUST be cleaned up on `disconnectedCallback()`. -4. **State Mutation Discipline**: All shared state mutations must occur through the Proxy/Store to notify subscribers. -5. **7-Axis Pre-Emit Critique**: All generated code must be evaluated with `/* Pre-emit critique: P5 H5 E5 S5 R5 V5 D5 */`. diff --git a/dist/tidyfactor-js/assets/hero-banner.png b/dist/tidyfactor-js/assets/hero-banner.png deleted file mode 100644 index ded3095..0000000 Binary files a/dist/tidyfactor-js/assets/hero-banner.png and /dev/null differ diff --git a/dist/tidyfactor-js/assets/og-default.png b/dist/tidyfactor-js/assets/og-default.png deleted file mode 100644 index ded3095..0000000 Binary files a/dist/tidyfactor-js/assets/og-default.png and /dev/null differ diff --git a/dist/tidyfactor-js/bin/add-skill.js b/dist/tidyfactor-js/bin/add-skill.js deleted file mode 100644 index b17fbe6..0000000 --- a/dist/tidyfactor-js/bin/add-skill.js +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env node -/** - * bin/add-skill.js — Multi-Agent Skill Installer Wrapper for tidyfactor-js - * Supports Trae, Cursor, Windsurf, Antigravity, GitHub Copilot, RooCode, OpenCode, KiloCode, Warp, and Universal. - * - * @license Apache-2.0 - */ - -const fs = require('fs'); -const path = require('path'); -const os = require('os'); - -const targetDir = process.cwd(); -const skillSource = path.resolve(__dirname, '..'); -const skillName = 'tidyfactor-js'; - -const AGENT_MAP = [ - { name: 'Trae AI IDE', dir: path.join(targetDir, '.trae', 'skills', skillName), test: path.join(targetDir, '.trae') }, - { name: 'Cursor IDE', dir: path.join(targetDir, '.cursor', 'skills', skillName), test: path.join(targetDir, '.cursor') }, - { name: 'Windsurf Cascade', dir: path.join(targetDir, '.windsurf', 'skills', skillName), test: path.join(targetDir, '.windsurf') }, - { name: 'GitHub Copilot', dir: path.join(targetDir, '.github', 'prompts', skillName), test: path.join(targetDir, '.github') }, - { name: 'RooCode', dir: path.join(targetDir, '.roo', 'skills', skillName), test: path.join(targetDir, '.roo') }, - { name: 'OpenCode / Zen', dir: path.join(targetDir, '.opencode', 'skills', skillName), test: path.join(targetDir, '.opencode') }, - { name: 'KiloCode', dir: path.join(targetDir, '.kilocode', 'skills', skillName), test: path.join(targetDir, '.kilocode') }, - { name: 'Warp Terminal', dir: path.join(targetDir, '.warp', 'skills', skillName), test: path.join(targetDir, '.warp') }, - { name: 'Kiro Spec IDE', dir: path.join(targetDir, '.kiro', 'skills', skillName), test: path.join(targetDir, '.kiro') }, - { name: 'Claude Code', dir: path.join(targetDir, '.claude', 'skills', skillName), test: path.join(targetDir, '.claude') }, - { name: 'Zed AI Agent', dir: path.join(targetDir, '.zed', 'skills', skillName), test: path.join(targetDir, '.zed') }, - { name: 'Google Antigravity/Gemini', dir: path.join(targetDir, '.agents', 'skills', skillName), test: path.join(targetDir, '.agents') }, -]; - -function copyRecursive(src, dest) { - fs.mkdirSync(dest, { recursive: true }); - const entries = fs.readdirSync(src, { withFileTypes: true }); - for (const entry of entries) { - const srcPath = path.join(src, entry.name); - const destPath = path.join(dest, entry.name); - if (['.git', 'node_modules', 'dist'].includes(entry.name)) continue; - if (entry.isDirectory()) { - copyRecursive(srcPath, destPath); - } else { - fs.copyFileSync(srcPath, destPath); - } - } -} - -// Determine installation targets -let mountedTargets = []; - -for (const agent of AGENT_MAP) { - if (fs.existsSync(agent.test)) { - copyRecursive(skillSource, agent.dir); - mountedTargets.push(agent.name + ' (' + path.relative(targetDir, agent.dir) + ')'); - } -} - -// Always ensure universal fallback in .agents/skills/ -const defaultDir = path.join(targetDir, '.agents', 'skills', skillName); -copyRecursive(skillSource, defaultDir); -if (!mountedTargets.some(t => t.includes('.agents'))) { - mountedTargets.push('Universal Default (.agents/skills/' + skillName + ')'); -} - -console.log('✨ Successfully injected ' + skillName + ' into:'); -mountedTargets.forEach(t => console.log(' • ' + t)); diff --git a/dist/tidyfactor-js/bin/create-kit.js b/dist/tidyfactor-js/bin/create-kit.js deleted file mode 100644 index 367db1f..0000000 --- a/dist/tidyfactor-js/bin/create-kit.js +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node -const fs = require('fs'); -const path = require('path'); - -const args = process.argv.slice(2); -if (args.includes('-v') || args.includes('--version')) { - console.log('tidyfactor-js v1.0.0'); - process.exit(0); -} - -if (args.includes('-h') || args.includes('--help')) { - console.log('Usage: npx @tidyfactor/cli-js [project-directory] [options]'); - console.log('Options:'); - console.log(' -y, --yes Non-interactive / AI Agent mode'); - console.log(' -v, --version Show version'); - console.log(' -h, --help Show help'); - process.exit(0); -} - -console.log('✨ Scaffolded tidyfactor-js starter project successfully.'); diff --git a/dist/tidyfactor-js/brand.json b/dist/tidyfactor-js/brand.json deleted file mode 100644 index e6c126b..0000000 --- a/dist/tidyfactor-js/brand.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "TidyFactor JS", - "version": "1.2.0", - "schemaVersion": "brand-core-v2", - "meta": { - "product": "TidyFactor JS", - "tagline": "Framework-Free Reactive Vanilla SPA", - "description": "Real client-side single-page applications with state, routing, and data layer built purely with modern vanilla JavaScript.", - "owner": "TidyFactor Ecosystem", - "website": "https://tidyfactor.com", - "repo": "https://github.com/TidyFactor/JS", - "version": "1.1.0", - "lastUpdated": "2026-08-25" - } -} diff --git a/dist/tidyfactor-js/memory/overview.md b/dist/tidyfactor-js/memory/overview.md deleted file mode 100644 index 0f90f97..0000000 --- a/dist/tidyfactor-js/memory/overview.md +++ /dev/null @@ -1 +0,0 @@ -# Deep Reference Memory — tidyfactor-js diff --git a/dist/tidyfactor-js/package.json b/dist/tidyfactor-js/package.json deleted file mode 100644 index 3793455..0000000 --- a/dist/tidyfactor-js/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "@tidyfactor/js", - "version": "1.2.0", - "description": "TidyFactor Vanilla JS track — Framework-Free Reactive Vanilla SPA with Contextual Decision Layer (CDL)", - "main": "SKILL.md", - "bin": { - "tidyfactor-js": "bin/add-skill.js", - "add-skill": "bin/add-skill.js", - "add-js-skill": "bin/add-skill.js" - }, - "keywords": [ - "tidyfactor", - "vanilla-js", - "spa", - "reactive-state", - "client-routing", - "web-components", - "no-framework", - "ai-agents", - "antigravity", - "claude-code", - "cursor" - ], - "author": "TidyFactor (https://tidyfactor.com)", - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/TidyFactor/JS.git" - }, - "scripts": { - "validate": "python tools/validate_skill.py", - "build": "node tools/build-skill.js", - "release": "python ../tools/release_skill.py ." - }, - "publishConfig": { - "access": "public" - }, - "files": [ - ".tidyfactor", - "AGENTS.md", - "CHANGELOG.md", - "LICENSE", - "README.ar.md", - "README.de.md", - "README.es.md", - "README.fa.md", - "README.fr.md", - "README.md", - "README.pt.md", - "README.zh.md", - "SKILL-REGISTRY.md", - "SKILL.md", - "VISION.md", - "assets", - "bin", - "brand.json", - "memory", - "references", - "scripts", - "templates", - "tools" - ] -} diff --git a/dist/tidyfactor-js/references/commands/_template.md b/dist/tidyfactor-js/references/commands/_template.md deleted file mode 100644 index fc7dd1a..0000000 --- a/dist/tidyfactor-js/references/commands/_template.md +++ /dev/null @@ -1,30 +0,0 @@ -# Command: `` — - -## Purpose -One or two sentences: what this command extracts/organizes, and why it's -its own command rather than folded into another one. - -## When to run it -- Signal from the audit that suggests this command applies. -- User phrasing that should trigger it (besides the bare command word). - -## What it does -Numbered steps — concrete actions, not vague principles. Branch by -routing strategy / build tooling only where the two genuinely differ; -say so explicitly where they don't. - -## Output convention -``` -Example file tree fragment showing where output lands (both zero-build -and Vite layouts if they differ). -``` - -## Checklist -- [ ] Concrete, checkable outcomes for this command specifically. - ---- -To register a new command: -1. Copy this file to `references/commands/.md` and fill it in. -2. Add a row to the Command Index table in `SKILL.md`. -3. If it interacts with an existing command (consumes/produces the same - files), cross-reference it in both files' "What it does" sections. diff --git a/dist/tidyfactor-js/references/commands/assets.md b/dist/tidyfactor-js/references/commands/assets.md deleted file mode 100644 index 508d4d5..0000000 --- a/dist/tidyfactor-js/references/commands/assets.md +++ /dev/null @@ -1,60 +0,0 @@ -# Command: `assets` — Asset Organization & Cache-Busting - -## Purpose -Consolidate and lightly optimize CSS/images (JS is already organized by -`compo`/`modules`), and make sure browsers don't serve stale files after -a deploy. - -## When to run it -- The audit finds CSS/images scattered outside a shared asset root, no - cache-busting on hand-written asset URLs (zero-build mode only — see - below), or bulky/unoptimized images. -- The user says "clean up my CSS", "optimize assets", "add cache - busting", or runs `assets`. -- Runs first (Phase 1), before `logic`/`store`/`compo`, so later commands - build on an already-organized asset base. - -## What it does — Zero-build mode -1. Consolidate CSS into `/assets/css/` and images into `/assets/img/` — - no loose stylesheet left inside `src/components/`. -2. Add cache-busting via a single version query-string param - (`style.css?v=`) driven from one constant in `src/config.js` - — not per-file hashes, no build step. -3. Deduplicate near-identical stylesheets if genuinely redundant; flag - instead of silently merging if uncertain. -4. Basic image housekeeping: flag oversized/unoptimized images, suggest - (don't auto-run) compression. - -## What it does — Vite mode -1. Vite already content-hashes and cache-busts anything reached via a - JS/CSS `import` or referenced in `index.html` — don't hand-roll - versioning on top of that. -2. Audit instead for assets that *bypass* Vite's pipeline: hardcoded - absolute paths to `public/` files that should be imports, or large - binaries sitting in `src/` that belong in `public/` (static, unhashed, - copied as-is) versus imported (hashed, optimized). -3. Consolidate stray CSS into per-component styles (co-located with the - Web Component that uses them) or a shared `src/assets/css/base.css` — - match whatever `compo`'s existing components already establish. -4. Flag oversized/unoptimized images for manual compression — Vite - doesn't do this for you without an explicit image-optimization plugin, - and this skill doesn't add build plugins by default (see Hard - Constraints). - -## Output convention -``` -Zero-build: /assets/css/, /assets/img/, version constant in src/config.js -Vite: /public/ for static passthrough files, imports for anything - that should be hashed/bundled -``` - -## Checklist -- [ ] No CSS/image file left scattered outside its established location -- [ ] Zero-build: cache-busting version applied consistently, driven from - one place -- [ ] Vite: no asset hand-rolling a cache-busting scheme Vite already - provides via imports -- [ ] No duplicated stylesheet content (or duplication explicitly - flagged, not silently merged) -- [ ] No bundler/build plugin introduced beyond what the chosen mode - already includes diff --git a/dist/tidyfactor-js/references/commands/brief.md b/dist/tidyfactor-js/references/commands/brief.md deleted file mode 100644 index bbdb56a..0000000 --- a/dist/tidyfactor-js/references/commands/brief.md +++ /dev/null @@ -1,8 +0,0 @@ -# Command: brief - -Discovers vanilla JS SPA architecture, routing strategy, build tooling, and state model via Contextual Decision Layer (CDL). - -## Loads -- `references/workflows/brief.md` -- `references/memory/decision-points.md` -- `references/memory/quality-bar.md` diff --git a/dist/tidyfactor-js/references/commands/compo.md b/dist/tidyfactor-js/references/commands/compo.md deleted file mode 100644 index 91d6f3f..0000000 --- a/dist/tidyfactor-js/references/commands/compo.md +++ /dev/null @@ -1,56 +0,0 @@ -# Command: `compo` — Modular Components - -## Purpose -Break repeated or logically-distinct UI blocks into native Web -Components — the structural unit above "view" and below "module" (see -`modules.md` for logic not tied to any one component). Unlike -`tidyfactor-html`, this track has JS available natively, so there's no -build-vs-runtime fork here — Web Components are simply the standard. - -## When to run it -- The audit shows the same UI block (card, nav item, modal, form field) - repeated across multiple views, or non-trivial DOM manipulation logic - duplicated inline. -- User says "componentize this", "make this modular", or runs `compo`. -- Runs after `store` — new components should consume the store/data layer - from day one rather than being retrofitted onto it later. - -## What it does -1. Identify each repeated/distinct UI block during audit. -2. Extract it into its own file under `src/components/name.js`, a custom - element (`class NameEl extends HTMLElement`) using `