chore: initial snapshot of 2meet-data-optimizer v0.1.0

Baseline before backporting wp-data-optimizer v3.0.1-v3.4.6.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TbG1keQQ7XBa7qMQY16KCY
This commit is contained in:
2026-07-31 05:06:36 +08:00
commit d36bb954d1
206 changed files with 66538 additions and 0 deletions
+108
View File
@@ -0,0 +1,108 @@
# CLAUDE.md — 2meet Data Optimizer (核心)
> 父環境:`/var/www/Studio/wp-local-dev/CLAUDE.md` 與 `/var/www/Studio/wp-local-dev30/CLAUDE.md`
> 全域:`~/.claude/CLAUDE.md`(含 Karpathy Guidelines
---
## Reset recovery
1. 讀本檔(CLAUDE.md)取得 plugin 上下文
2. 讀 [PLAN.md](PLAN.md) 看當前 phase 進度
3. 接續 PLAN.md 的下一個未完成步驟
---
## Plugin 概述
**2meet-data-optimizer** 是純通用 WordPress 反 EAV 引擎,從 `wp-data-optimizer v2.16.0` 提煉。
- 不依存 HivePress / WooCommerce / LatePoint / 2meet-*
- 4 entity 通用(post/user/term/comment
- 整合層全部交給 11 個獨立 AddOn
完整拆分計畫見 `~/.claude/plans/wp-data-optimizer-2meet-data-optimizer-zesty-liskov.md`
---
## 開發紀律
### 命名前綴
- 類別:`TMDO_*`
- 函式:`tmdo_*`
- 常數:`TMDO_VERSION` / `TMDO_PATH` / `TMDO_URL` / `TMDO_FILE`
- Hook`tmdo_*`(同時 dual-fire `wpdo_*` 過渡)
- Text-domain`2meet-data-optimizer`
### 對外相容
- 主要 API 公開:`TMDO_API``TMDO_Schema_Registry``TMDO_Entity_Registry``TMDO_Custom_Table_Registry``TMDO_Feature_Flags``TMDO_DB``TMDO_Crypto``TMDO_Logger`
- **必加 `class_alias( 'TMDO_*', 'WPDO_*' )`** 對應全部上述 8 個類別
- **必 dual-fire** `tmdo_*``wpdo_*` 共 9 個 hook(見 plan § 11.2
### 反 EAV 紅線(CI gate 守門)
-`SELECT FROM wp_postmeta / wp_usermeta / wp_termmeta / wp_commentmeta`(除一次性 migration / cron
- ❌ 硬編碼表名 `wp_postmeta` / `wp_options`,必走 `TMDO_DB::table()`
- ❌ 主動 `add_action('updated_postmeta', ...)`(與 Hook Bus 衝突)
- ❌ 單外掛 `autoload=yes``wp_options` > 30 條
- ❌ 直接 `unserialize()`,必走 `TMDO_Safe_Unserialize::run()`
### 安全
- 所有 SQL 走 `$wpdb->prepare()`
- 動態 IN 子句用 `array_fill('%d')` 動態佔位符
- DROP TABLE 前白名單 + prefix 雙重驗證
- `manage_options` capability check + nonce
- 輸出 `esc_html()` / `esc_attr()` / `esc_url()`
### Crypto
- `TMDO_Crypto`AES-256-GCM AEAD`enc:v2:` 格式),向後相容讀取 `enc:v1:` (CBC)
- 加密 wp_options 內 webhook 密鑰
---
## 任務管理
- 開始任務前更新 `PLAN.md`
- 每完成一步驟,標記 ✅
- 重要決策 / 踩坑記錄在 PLAN.md「Lessons learned」
---
## 常用指令
```bash
# Lint
find . -name "*.php" | grep -v vendor | grep -v tests | xargs php -l
# Unit tests
./vendor/bin/phpunit --configuration phpunit.xml
# Integration tests(需本機 MariaDB
./vendor/bin/phpunit --configuration phpunit-integration.xml
# WP-CLI
wp --path=/var/www/Studio/wp-local-dev30 tmdo status
wp --path=/var/www/Studio/wp-local-dev30 tmdo doctor
wp --path=/var/www/Studio/wp-local-dev30 tmdo benchmark hot_post --samples=200
# 打包(必經 10 終檢)
/var/www/Studio/wp-local-dev/scripts/package-plugin.sh 2meet-data-optimizer
```
---
## 邊界
- ✅ 本外掛觸碰:4-entity 反 EAV 引擎、zone 表、migration、wizard、admin、CLI、REST、snapshot、diagnostic、notifications
- ❌ 本外掛**不**觸碰:HP / WC / LP / 2meet-* 邏輯(全部交給 AddOn
- ❌ 本外掛**不**註冊:HP listing 欄位、WC product 欄位、SSO sso group、infocards postmeta(全部交給 AddOn
---
## Phase 進度
```
Phase 0 ✅ 骨架建立 (2026-05-15)
Phase 1 ⬜ Core v0.1.0 (W1-W2)
```
詳見 `PLAN.md`