diff --git a/README.ar.md b/README.ar.md index de1c0ed..de327ee 100644 --- a/README.ar.md +++ b/README.ar.md @@ -19,6 +19,34 @@ --- +## ๐Ÿš€ ุงู„ุชุซุจูŠุช ูˆุงู„ุจุฏุก ุงู„ุณุฑูŠุน + +ุงุฎุชุฑ ุทุฑูŠู‚ุฉ ุงู„ุชุซุจูŠุช ุงู„ู…ู†ุงุณุจุฉ ู„ู…ุดุฑูˆุนูƒ: + +### ุงู„ุฎูŠุงุฑ (ุฃ): ุนุจุฑ TidyFactor CLI ุงู„ุฑุณู…ูŠ (ุงู„ู…ูˆุตู‰ ุจู‡) +ุงู„ุชุซุจูŠุช ุงู„ููˆุฑูŠ ุฏูˆู† ุงู„ุญุงุฌุฉ ู„ุชุซุจูŠุช ุงู„ุฃุฏุงุฉ ุนุงู„ู…ูŠุงู‹ ููŠ ุจูŠุฆุฉ ุนู…ู„ูƒ ุงู„ู†ุดุทุฉ: +```bash +npx @tidyfactor/cli add php +``` +*ุฃูˆ ููŠ ุญุงู„ ูƒุงู†ุช ุงู„ุฃุฏุงุฉ ู…ุซุจุชุฉ ู„ุฏูŠูƒ ุนุงู„ู…ูŠุงู‹ (`npm i -g @tidyfactor/cli`):* +```bash +tidyfactor add php +``` + +### ุงู„ุฎูŠุงุฑ (ุจ): ุนุจุฑ ู…ุนูŠุงุฑ ู…ู‡ุงุฑุงุช ุงู„ูˆูƒู„ุงุก ุงู„ู…ูุชูˆุญ (skills.sh) +ุงู„ุชุซุจูŠุช ุงู„ุนุงู„ู…ูŠ ุงู„ู…ุชูˆุงูู‚ ู…ุน ูƒุงูุฉ ุจูŠุฆุงุช ุงู„ูˆูƒู„ุงุก ูˆู…ุญุฑุฑุงุช ุงู„ุฐูƒุงุก ุงู„ุงุตุทู†ุงุนูŠ (Antigravity, Cursor, Claude Code, Windsurf, Codex): +```bash +npx skills add tidyfactor/php +``` + +### ุงู„ุฎูŠุงุฑ (ุฌ): ุงู„ุชุซุจูŠุช ุงู„ู…ุจุงุดุฑ ุงู„ูุฑุฏูŠ ุนุจุฑ NPM +ุชุดุบูŠู„ ู…ุซุจุช ุงู„ู…ู‡ุงุฑุฉ ุงู„ู…ุณุชู‚ู„ ู…ุจุงุดุฑุฉ ู…ุน ุชุฌุงูˆุฒ ุงู„ุฐุงูƒุฑุฉ ุงู„ู…ุฎุจุฃุฉ ูˆุถู…ุงู† ุฃุญุฏุซ ุฅุตุฏุงุฑ: +```bash +npx @tidyfactor/php@latest +``` + +--- + ## ๐Ÿ›๏ธ ู…ุนู…ุงุฑูŠุฉ ู…ู†ุธูˆู…ุฉ TidyFactor **ู…ู†ุธูˆู…ุฉ TidyFactor** ู‡ูŠ ุจูŠุฆุฉ ู…ุนู…ุงุฑูŠุฉ ุจุฑู…ุฌูŠุฉ ู…ูุชูˆุญุฉ ูˆุญุฒู… ู…ู‡ุงุฑุงุช ู„ูˆูƒู„ุงุก ุงู„ุฐูƒุงุก ุงู„ุงุตุทู†ุงุนูŠ ู‚ุงุฆู…ุฉ ุนู„ู‰ ุงู„ูุตู„ ุงู„ุชุงู… ู„ู„ู…ุณุคูˆู„ูŠุงุช ุนุจุฑ ุฏูˆุฑุฉ ุญูŠุงุฉ ุงู„ู…ู†ุชุฌุงุช: diff --git a/README.md b/README.md index 699f29a..02ca868 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,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 php +``` +*Or if you have the CLI installed globally (`npm i -g @tidyfactor/cli`):* +```bash +tidyfactor add php +``` + +### 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/php +``` + +### Option C: Standalone Zero-Dependency Runner (NPM Direct) +Run the dedicated skill installer directly with automatic cache invalidation: +```bash +npx @tidyfactor/php@latest +``` + --- ## ๐Ÿ›๏ธ TidyFactor Ecosystem Architecture diff --git a/dist/tidyfactor-php.skill b/dist/tidyfactor-php.skill deleted file mode 100644 index 6a4f8e6..0000000 Binary files a/dist/tidyfactor-php.skill and /dev/null differ diff --git a/dist/tidyfactor-php/.tidyfactor b/dist/tidyfactor-php/.tidyfactor deleted file mode 100644 index 0cb721f..0000000 --- a/dist/tidyfactor-php/.tidyfactor +++ /dev/null @@ -1,41 +0,0 @@ -{ - "ecosystem": "tidyfactor", - "track": "php", - "name": "tidyfactor-php", - "version": "1.2.0", - "npmPackage": "@alwkala/tidyfactor-php", - "github": "https://github.com/TidyFactor/PHP", - "skillFile": "../tidyfactor-php-v1.1.0.skill", - "category": "fullstack-php", - "commands": [ - "brief", - "admin", - "assets", - "cache", - "compo", - "deploy", - "events", - "i18n", - "init", - "logging", - "logic", - "media", - "pages", - "plugins", - "rbac", - "route", - "secure", - "seo", - "store", - "themes" - ], - "foundations": [ - "native-php", - "blade-like-templates" - ], - "visionRef": "../TidyFactor-VISION.md", - "commercialPartner": "alwkala", - "website": "https://tidyfactor.com", - "docs": "https://tidyfactor.com/documentation", - "license": "Apache-2.0" -} diff --git a/dist/tidyfactor-php/AGENTS.md b/dist/tidyfactor-php/AGENTS.md deleted file mode 100644 index caaaf20..0000000 --- a/dist/tidyfactor-php/AGENTS.md +++ /dev/null @@ -1,3 +0,0 @@ -# Agent Rules โ€” tidyfactor-php - -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-php/CHANGELOG.md b/dist/tidyfactor-php/CHANGELOG.md deleted file mode 100644 index c473ec1..0000000 --- a/dist/tidyfactor-php/CHANGELOG.md +++ /dev/null @@ -1,28 +0,0 @@ -# Changelog - TidyFactor PHP - -All notable changes to the **[@tidyfactor/php](https://www.npmjs.com/package/@tidyfactor/php)** 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 (P1โ€“P5: Framework Architecture, Database Storage Engine, Admin Panel Scope, Extensibility Engine, Output Scope). -- **Brief Command (`/brief`)**: Added `references/commands/brief.md` and `references/workflows/brief.md` for pre-flight PHP Monolith discovery. -- **7-Axis PHP Quality Gate (`P/H/E/S/R/V/D`)**: Added `references/memory/quality-bar.md` enforcing strict types, Medoo prepared statement security, and RBAC middleware. -- **Structured References & Workflows Architecture**: Created `references/memory/` and `references/workflows/` (init, admin, plugins, themes, 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/php` diff --git a/dist/tidyfactor-php/LICENSE b/dist/tidyfactor-php/LICENSE deleted file mode 100644 index 8ea93e1..0000000 --- a/dist/tidyfactor-php/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-php/README.ar.md b/dist/tidyfactor-php/README.ar.md deleted file mode 100644 index de1c0ed..0000000 --- a/dist/tidyfactor-php/README.ar.md +++ /dev/null @@ -1,90 +0,0 @@ -
- -# ๐Ÿ˜ ู…ู‡ุงุฑุฉ ุชุงูŠุชููƒุชูˆุฑ ู„ู…ู†ุธูˆู…ุงุช PHP ุงู„ุญุฏูŠุซุฉ `TidyFactor PHP v1.2.0` -### ุงู„ู…ู†ุธูˆู…ุฉ ุงู„ุฃุญุงุฏูŠุฉ ุงู„ู…ุนูŠุงุฑูŠุฉ ุงู„ุญุฏูŠุซุฉ ุจู†ุธุงู… Plates ูˆ Flight ูˆ Medoo ูˆุฅุฏุงุฑุฉ 13 ู…ูˆุฏูŠูˆู„ ู…ุบู„ู‚ - -[![npm version](https://img.shields.io/npm/v/@tidyfactor/php.svg?style=for-the-badge&color=777BB4)](https://www.npmjs.com/package/@tidyfactor/php) -[![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 PHP 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-php/README.md b/dist/tidyfactor-php/README.md deleted file mode 100644 index 699f29a..0000000 --- a/dist/tidyfactor-php/README.md +++ /dev/null @@ -1,150 +0,0 @@ -
- -# ๐Ÿ˜ TidyFactor PHP `v1.2.0` -### Modern Modular Monolith, Component UI & Locked 13-Module Platform Engine - -**The official modern PHP 8.x architecture track within the TidyFactor Ecosystem.** - -[![npm version](https://img.shields.io/npm/v/@tidyfactor/php.svg?style=for-the-badge&color=777BB4)](https://www.npmjs.com/package/@tidyfactor/php) -[![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) -[![PHP 8.4+](https://img.shields.io/badge/PHP-8.4%2B%20SSR-8892BF.svg?style=for-the-badge)](https://php.net) - -[๐Ÿš€ Quick Start](#-quick-start) โ€ข [โšก 15 Commands](#-command-set) โ€ข [๐Ÿ›๏ธ Ecosystem](#%EF%B8%8F-tidyfactor-ecosystem-architecture) โ€ข [๐Ÿ“– ุจุงู„ุนุฑุจูŠุฉ](README.ar.md) - -

- -

- TidyFactor PHP Hero Banner -

- -
- ---- - -Part of the TidyFactor ecosystem. The larger sibling of -`tidyfactor-php-micro` โ€” same locked-stack philosophy, scaled from "small -starter with an admin panel" up to "extensible platform" โ€” and this is -the largest, most opinionated PHP track in the family. - -## Not a Laravel clone. Not headless. Not API-first. -The browser talks directly to PHP: -`Browser โ†’ Flight Router โ†’ Controller โ†’ Service โ†’ Repository โ†’ Medoo โ†’ -MySQL โ†’ Plates View โ†’ HTML Response`. No REST API, no GraphQL, no SPA, no -React/Vue/Inertia/Livewire. - -## What's locked vs. what's extensible -- **Locked stack**: PHP 8.4+, Flight, Medoo, Plates, Tailwind CSS - (precompiled static file, zero server-side build step), Alpine.js, - MySQL/MariaDB, session-based auth โ€” every frontend library vendored - and pinned, never CDN-loaded. -- **Locked admin shape**: exactly 13 modules โ€” Dashboard, Pages, Posts, - Media Library, Menus, Users, Roles, Permissions, Settings, Themes, - Plugins, Logs, Profile. Extending past 13 is always a confirmed - decision, never a silent default. -- **A real, always-asked fork**: HTMX progressive enhancement, on or off. -- **Architecture-ready, not pre-built**: multi-language content, - multi-site, multi-tenant, AI integrations, search indexing, background - jobs, webhooks, an optional REST API, CLI commands, a scheduler, object - storage, and CDN integration are future extension points via the - event/plugin system โ€” not implemented now. - -## Three lifecycle modes -- **Init** โ€” scaffold the full monolith: bootstrap, DI container, event - dispatcher, plugin loader, theme loader, auth, an example CRUD (Pages), - and the default theme, working end to end. -- **Convert** โ€” bring an existing PHP site/CMS onto this architecture. -- **Improve** โ€” audit and harden a project already on this stack. - -## Command set -`init` ยท `secure` ยท `assets` ยท `logic` ยท `store` ยท `compo` ยท `route` ยท -`pages` ยท `themes` ยท `plugins` ยท `events` ยท `admin` ยท `rbac` ยท `media` ยท -`cache` ยท `i18n` ยท `logging` ยท `seo` ยท `deploy` โ€” see `SKILL.md` for the -full sequencing and each command's reference file under -`references/commands/`. - -## Related skills -Part of the TidyFactor skill library โ€” see `tidyfactor-php-micro` (a -much smaller, fixed-scope starter), `tidyfactor-php` (vanilla, -bring-your-own architecture), `tidyfactor-html` (no backend), and -`tidyfactor-htmx` (the full hypermedia-interaction layer, layered on top -once htmx is actually adopted beyond this skill's optional fork). - -## 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-php/SKILL.md b/dist/tidyfactor-php/SKILL.md deleted file mode 100644 index 3a7fac4..0000000 --- a/dist/tidyfactor-php/SKILL.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -name: tidyfactor-php -description: "Modern server-rendered PHP 8.x modular monolith (Flight + Medoo + Plates) with Contextual Decision Layer (CDL). Features WordPress-scale architecture, auto-discovered plugin hooks, dynamic theme engine, RBAC, and locked admin modules. Trigger on commands 'brief', 'init', 'admin', 'plugins', 'themes', 'events', 'rbac', 'secure', 'route', 'pages', 'media', 'i18n', 'seo', 'deploy'." ---- -# TidyFactor PHP (Modern Server-Rendered Modular Monolith) - -A command dispatcher for full-stack server-rendered PHP monoliths. This router declares commands and workflows without performing execution directly. - -## Commands - -| User intent | Command | What it loads | -|---|---|---| -| Strategic Monolith 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 PHP monolith | `references/commands/init.md` | `references/workflows/init.md` + `references/memory/architecture.md` | -| Construct & protect the 13 locked admin panel modules | `references/commands/admin.md` | `references/workflows/admin.md` + `references/memory/architecture.md` | -| Auto-discovered plugin system & hook listeners | `references/commands/plugins.md` | `references/workflows/plugins.md` + `references/memory/quality-bar.md` | -| Dynamic theme system & template layout overrides | `references/commands/themes.md` | `references/workflows/themes.md` + `references/memory/architecture.md` | -| Global event dispatcher & lifecycle listeners | `references/commands/events.md` | `references/commands/events.md` + `references/memory/quality-bar.md` | -| Role-Based Access Control (RBAC) & permission guards | `references/commands/rbac.md` | `references/commands/rbac.md` + `references/memory/quality-bar.md` | -| Security hardening, CSRF tokens, XSS & SQLi shields | `references/commands/secure.md` | `references/commands/secure.md` + `references/memory/quality-bar.md` | -| Front controller routing (FlightPHP route patterns) | `references/commands/route.md` | `references/commands/route.md` + `references/memory/architecture.md` | -| Content page controllers & Plates template views | `references/commands/pages.md` | `references/commands/pages.md` + `references/memory/architecture.md` | -| Media upload manager & image variant processing | `references/commands/media.md` | `references/commands/media.md` + `references/memory/quality-bar.md` | -| Multi-driver caching (file, Redis, APCu) | `references/commands/cache.md` | `references/commands/cache.md` + `references/memory/quality-bar.md` | -| Multilingual translation dictionary & RTL views | `references/commands/i18n.md` | `references/commands/i18n.md` + `references/memory/quality-bar.md` | -| Structured JSON/text logging & audit trails | `references/commands/logging.md` | `references/commands/logging.md` + `references/memory/quality-bar.md` | -| SEO metadata, OpenGraph tags, sitemap generation | `references/commands/seo.md` | `references/commands/seo.md` + `references/memory/quality-bar.md` | -| Medoo database repository queries & migrations | `references/commands/store.md` | `references/commands/store.md` + `references/memory/decision-points.md` | -| Business domain services & dependency injection | `references/commands/logic.md` | `references/commands/logic.md` + `references/memory/architecture.md` | -| Reusable view components & UI macros | `references/commands/compo.md` | `references/commands/compo.md` + `references/memory/architecture.md` | -| Asset pipeline, cache busting, and minification | `references/commands/assets.md` | `references/commands/assets.md` + `references/memory/quality-bar.md` | -| Prepare shared/cPanel hosting deployment & .htaccess | `references/commands/deploy.md` | `references/commands/deploy.md` + `references/memory/quality-bar.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 monolith baselines via `/brief` or `.tidyfactor/php-brief.md` before emitting code. -2. **Server-Side Rendered PHP**: Browser communicates directly with PHP. No SPA or headless React layers. -3. **Medoo Prepared Statements**: Never concatenate SQL queries directly. Use Medoo parameterized bindings. -4. **Strict Types & PSR-12**: Every PHP file must declare `declare(strict_types=1);` with explicit typing. -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-php/assets/hero-banner.png b/dist/tidyfactor-php/assets/hero-banner.png deleted file mode 100644 index 94f7fa1..0000000 Binary files a/dist/tidyfactor-php/assets/hero-banner.png and /dev/null differ diff --git a/dist/tidyfactor-php/assets/og-default.png b/dist/tidyfactor-php/assets/og-default.png deleted file mode 100644 index 94f7fa1..0000000 Binary files a/dist/tidyfactor-php/assets/og-default.png and /dev/null differ diff --git a/dist/tidyfactor-php/bin/add-skill.js b/dist/tidyfactor-php/bin/add-skill.js deleted file mode 100644 index 31d985a..0000000 --- a/dist/tidyfactor-php/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-php - * 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-php'; - -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-php/bin/create-kit.js b/dist/tidyfactor-php/bin/create-kit.js deleted file mode 100644 index a6a9a32..0000000 --- a/dist/tidyfactor-php/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-php v1.0.0'); - process.exit(0); -} - -if (args.includes('-h') || args.includes('--help')) { - console.log('Usage: npx @tidyfactor/cli-php [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-php starter project successfully.'); diff --git a/dist/tidyfactor-php/brand.json b/dist/tidyfactor-php/brand.json deleted file mode 100644 index 61e5c89..0000000 --- a/dist/tidyfactor-php/brand.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "TidyFactor PHP", - "version": "1.2.0", - "schemaVersion": "brand-core-v2", - "meta": { - "product": "TidyFactor PHP", - "tagline": "Modern Server-Rendered PHP Monolith", - "description": "WordPress-scale modern modular monolith in PHP 8.x (Flight + Medoo + Plates) with theme and plugin systems and 13 locked admin modules.", - "owner": "TidyFactor Ecosystem", - "website": "https://tidyfactor.com", - "repo": "https://github.com/TidyFactor/PHP", - "version": "1.1.0", - "lastUpdated": "2026-08-25" - } -} diff --git a/dist/tidyfactor-php/memory/overview.md b/dist/tidyfactor-php/memory/overview.md deleted file mode 100644 index 981326c..0000000 --- a/dist/tidyfactor-php/memory/overview.md +++ /dev/null @@ -1 +0,0 @@ -# Deep Reference Memory โ€” tidyfactor-php diff --git a/dist/tidyfactor-php/package.json b/dist/tidyfactor-php/package.json deleted file mode 100644 index 979c4bd..0000000 --- a/dist/tidyfactor-php/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "@tidyfactor/php", - "version": "1.2.0", - "description": "TidyFactor PHP Mono track โ€” Modern Server-Rendered Modular Monolith (Flight + Medoo + Plates) with Contextual Decision Layer (CDL)", - "main": "SKILL.md", - "bin": { - "tidyfactor-php": "bin/add-skill.js", - "add-skill": "bin/add-skill.js", - "add-php-skill": "bin/add-skill.js" - }, - "keywords": [ - "tidyfactor", - "php", - "modular-monolith", - "flightphp", - "medoo", - "plates", - "cms", - "wordpress-alternative", - "ai-agents", - "antigravity", - "claude-code", - "cursor" - ], - "author": "TidyFactor (https://tidyfactor.com)", - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "git+https://github.com/TidyFactor/PHP.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-php/references/commands/_template.md b/dist/tidyfactor-php/references/commands/_template.md deleted file mode 100644 index 8b3861d..0000000 --- a/dist/tidyfactor-php/references/commands/_template.md +++ /dev/null @@ -1,31 +0,0 @@ -# Command: `` โ€” - -## Purpose -One or two sentences: what this command builds/audits/extends, 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 the -HTMX fork only where it genuinely differs; say so explicitly where it -doesn't. Always name which MVC layer (Controller/Service/Repository/View) -each piece of generated code belongs to. - -## Output convention -``` -Example file tree fragment showing where output lands, following the -app/, resources/views/, themes/, plugins/, routes/ conventions. -``` - -## 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-php/references/commands/admin.md b/dist/tidyfactor-php/references/commands/admin.md deleted file mode 100644 index bb466b4..0000000 --- a/dist/tidyfactor-php/references/commands/admin.md +++ /dev/null @@ -1,85 +0,0 @@ -# Command: `admin` โ€” The 13 Fixed Admin Modules - -## Purpose -Build and extend the dashboard's locked shape: **Dashboard, Pages, -Posts, Media Library, Menus, Users, Roles, Permissions, Settings, -Themes, Plugins, Logs, Profile**. This command owns each module's -Controller/Service/View; `rbac.md` owns the permission gating, -`media.md` owns Media Library's storage internals, `themes.md`/ -`plugins.md` own what the Themes/Plugins modules manage underneath. - -## The locked shape โ€” read this before touching anything -Exactly 13 modules. A 14th, or replacing one of these, is **always a -confirmed decision with the user** โ€” propose it, explain the tradeoff, -wait for explicit agreement. This is not a normal `admin` run; treat it -as a scope change, the same discipline `tidyfactor-js-micro`'s `admin.md` -applies to its (smaller) locked set. - -| Module | What it manages | -|---|---| -| Dashboard | At-a-glance summary โ€” counts, recent activity, nothing that isn't already computed elsewhere | -| Pages | The `pages.md`/`store.md`-backed CRUD scaffolded in `init.md` | -| Posts | Same CRUD shape as Pages, typically with categories/tags | -| Media Library | See `media.md` โ€” uploads, thumbnails, browsing/attaching to content | -| Menus | Manage the frontend navigation structure (`partials/header.php` reads from this rather than hardcoding links) | -| Users | Manage user accounts (list/create/edit/deactivate) | -| Roles | Named roles (see `rbac.md`) | -| Permissions | The permission catalog, including ones plugins declare | -| Settings | Site-wide key-value settings form (site name, active theme, contact email, feature toggles) | -| Themes | Activate/preview installed themes (see `themes.md`) | -| Plugins | Enable/disable installed plugins (see `plugins.md`) | -| Logs | Read-only viewer over the Monolog output (application/error/security logs from `init.md`'s bootstrap) | -| Profile | The logged-in user's own account settings (password change, etc.) | - -## When to run it -- `init` already scaffolded Dashboard, Pages, Users, and Settings fully - working, with real nav entries (not 404s) for the rest โ€” run `admin` - to build out one of the remaining modules, or to extend/audit an - existing one. -- The user asks for functionality in a specific module, or to add a - module (triggers the confirmation above first). -- Runs after `themes`, `plugins`, and `events` exist (the Themes/Plugins - modules manage them; other modules may dispatch/react to events) and - before `rbac` fully gates every module's routes, `media` (Media - Library's storage internals), and `cache`. - -## What it does -1. Confirm which module(s) are in scope โ€” don't touch the others. -2. Each module follows the same MVC discipline as any other feature - (`pages.md`): thin Controller, Service for business logic, Repository - for data (`store.md`), Plates views built from `compo`'s shared - components (especially `table.php`/`modal.php` for list/confirm- - delete patterns โ€” reused across all 13, not reimplemented per module). -3. Every mutating action shows a loading/pending state and explicit - success/error feedback โ€” an admin surface people rely on to confirm a - change took effect never fails silently. -4. Destructive actions (delete a Page/Post/User, deactivate a Plugin) - require a confirmation step. -5. Every module's routes live in `routes/admin.php` under the `/admin` - prefix, gated by `AuthMiddleware` and the RBAC permission check from - `rbac.md` โ€” a module a user can't see in the nav should also 403 if - reached directly by URL, not merely be hidden. -6. Relevant domain events dispatch on mutating actions - (`page.created`, etc.) per `events.md`. - -## Output convention -``` -app/Controllers/Admin/{Dashboard,Page,Post,Media,Menu,User,Role, - Permission,Setting,Theme,Plugin,Log,Profile}Controller.php -app/Services/Admin/... -resources/views/pages/admin/{dashboard,pages,posts,media,menus,users, - roles,permissions,settings,themes,plugins, - logs,profile}/ -``` - -## Checklist -- [ ] Exactly 13 modules exist, matching the locked shape โ€” any - deviation was explicitly confirmed first -- [ ] Every module performs real CRUD/actions against `store`'s - Repositories, not static placeholder content -- [ ] Loading and success/error feedback present on every mutating action -- [ ] Destructive actions require confirmation -- [ ] Every module reuses `compo`'s shared table/modal/form components -- [ ] Every module's routes are both auth-guarded and RBAC-permission- - guarded โ€” verified by attempting direct URL access without the - permission, not just checking the nav is hidden diff --git a/dist/tidyfactor-php/references/commands/assets.md b/dist/tidyfactor-php/references/commands/assets.md deleted file mode 100644 index 7d98b9e..0000000 --- a/dist/tidyfactor-php/references/commands/assets.md +++ /dev/null @@ -1,60 +0,0 @@ -# Command: `assets` โ€” Frontend Asset Hygiene - -## Purpose -Keep CSS/JS organized and locally vendored with zero required -JavaScript build tooling at runtime โ€” Tailwind ships precompiled, Alpine -and htmx (optional) are vendored like every other TidyFactor skill. - -## When to run it -- The audit finds a `