=== DesignLock ===
Contributors: dakshesh
Tags: design, maintenance, monitor, theme, developer
Requires at least: 5.9
Tested up to: 6.7
Stable tag: 1.0.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Freeze your design system. Get alerted the moment a plugin update, theme change, or client edit breaks your brand.

== Description ==

**Build it once. Keep it perfect.**

DesignLock monitors your design system and alerts you the moment something changes — before your client or visitors notice.

**The Problem Every Developer Knows:**

You spend weeks building a pixel-perfect site. You hand it off. A plugin updates. The client edits something. Three weeks later someone notices the brand color is wrong, the font changed, and a section looks broken.

DesignLock fixes this. It snapshots your design tokens — colors, fonts, spacing, global styles — and compares every scan against that baseline. The moment something drifts, you get an alert with exactly what changed and what caused it.

**What DesignLock Tracks:**

* 🎨 **Color Palette** — Primary, secondary, and accent colors from theme.json
* ✏️ **Font Families** — All registered font families in your theme
* 📏 **Typography Scale** — Font sizes from xs to xxl
* 📐 **Spacing Tokens** — Global spacing and gap presets
* 🔌 **Plugin Versions** — All active plugins — so you know what update caused the drift
* 🎨 **Global Styles** — Block editor global styles and overrides

**Key Features:**

= Design Baseline =
Run a scan to lock your current design state as the "golden baseline." Every future scan compares against this.

= Drift Detection =
Automated daily scans detect color changes, font changes, spacing changes, and plugin updates. Get severity-rated alerts (Critical / High / Medium / Low).

= Client Lock Mode =
Lock specific design tokens so clients and editors cannot accidentally change them. Perfect for agencies handing off sites.

= Design Health Score =
A 0-100 score showing how closely your live site matches its baseline. At a glance — is your site healthy?

= Scan History =
Full timeline of every scan, with status (clean / drifted / error) and drift count per scan.

**Built for:**

* Freelancers who hand off sites to clients
* Agencies maintaining multiple client sites
* Developers who run monthly care plans
* Site owners who want peace of mind after plugin updates

== Installation ==

1. Upload the `designlock` folder to `/wp-content/plugins/`
2. Activate the plugin through the Plugins menu
3. Go to **DesignLock** in the admin menu
4. Click **Run First Scan** to establish your design baseline
5. DesignLock will automatically scan daily and alert you to any changes

== Frequently Asked Questions ==

= Does it work with page builders like Elementor? =
DesignLock reads theme.json and global styles. Full Elementor/Divi value scanning is on the roadmap for v1.1.

= Will it slow down my site? =
No. DesignLock only runs in the admin and on its scheduled cron job. Zero impact on frontend performance.

= What happens when I activate it? =
DesignLock creates its own database tables and schedules a daily scan. It does not touch any existing content or settings.

= How do I reset my baseline? =
Go to Settings > Danger Zone > Reset All Data. Useful after a major intentional redesign.

= Is it secure? =
Yes. Every operation requires manage_options capability (admin only). All queries use prepared statements. All input is sanitized. AJAX endpoints are protected with nonces and rate limiting.

== Screenshots ==

1. Dashboard — Design Health Score, stats, and recent scan history
2. Alerts — Detailed drift report with before/after token values
3. Baselines — Manage your design baseline per page
4. Settings — Configure scan frequency, email alerts, and monitored pages

== Changelog ==

= 1.0.0 =
* Initial release
* Dashboard with Design Health Score
* Automated daily scanning
* Color, font, spacing, and plugin version tracking
* Drift alerts with severity ratings
* Client Lock Mode
* Settings and scan history

== Upgrade Notice ==

= 1.0.0 =
Initial release.
