=== Respira for WordPress ===
Contributors: respira
Tags: ai, mcp, cursor, claude, page-builder, automation
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.8.9
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Vibe code your WordPress site. No SSH required. Connect AI coding assistants like Cursor and Claude Code to edit your WordPress site.

== Description ==

**Respira for WordPress** enables AI coding assistants (Cursor, Claude Code, Codex, Windsurf, and more) to remotely edit your WordPress site without requiring SSH access. Built on the Model Context Protocol (MCP), it provides a secure REST API bridge for AI-powered WordPress development.

= Key Features =

* **Safe Editing**: Always creates duplicate pages before making changes
* **Security First**: Built-in validation for XSS, SQL injection, and other vulnerabilities
* **No SSH Required**: Works with any WordPress hosting, even shared hosts
* **Context-Aware AI**: Provides comprehensive site information to AI assistants
* **Page Builder Support**: Works with Gutenberg, Divi, Elementor, Oxygen, Bricks, and more
* **Audit Logging**: Complete activity log of all AI actions
* **Rate Limiting**: Configurable request limits for security
* **Multi-Site Support**: Manage multiple WordPress sites from one AI assistant

= Supported Page Builders =

* Gutenberg (Block Editor) ✅
* Divi ✅
* Elementor ✅
* Oxygen ✅
* Bricks ✅
* Uncode (WPBakery) ✅
* Beaver Builder ✅
* Thrive Architect ✅
* Brizy ✅
* Visual Composer ✅

= Supported AI Tools =

* Cursor ✅
* Claude Desktop ✅
* Codex ✅
* Windsurf ✅
* Cline ✅
* Continue.dev ✅

= How It Works =

1. Install the plugin on your WordPress site
2. Generate an API key from the plugin dashboard
3. Download the MCP server for your local machine
4. Configure your AI coding assistant (Cursor, Claude Code, etc.)
5. Start vibe coding your WordPress site!

= Use Cases =

* Edit WordPress pages with natural language instructions
* Create new content and layouts without leaving your code editor
* Automate content updates across multiple pages
* Quickly prototype designs and features
* Manage client sites more efficiently

= Security & Safety =

* **Duplicate-First Approach**: Never modifies original pages without explicit confirmation
* **Content Validation**: Scans all content for security issues before saving
* **WordPress Standards**: Validates code against WordPress Coding Standards
* **Audit Trail**: Complete log of all API activity
* **Rate Limiting**: Prevents abuse with configurable request limits
* **Encrypted API Keys**: Securely stored with WordPress password hashing

== Installation ==

= Automatic Installation =

1. Log in to your WordPress admin panel
2. Go to Plugins > Add New
3. Search for "Respira for WordPress"
4. Click "Install Now" and then "Activate"

= Manual Installation =

1. Download the plugin ZIP file
2. Go to Plugins > Add New > Upload Plugin
3. Choose the ZIP file and click "Install Now"
4. Activate the plugin

= Configuration =

1. Go to Respira > API Keys in your WordPress admin
2. Click "Generate API Key" and give it a name
3. Copy and save the API key securely (it won't be shown again)
4. Download the MCP server from respira.press
5. Configure your AI coding assistant with the API key and WordPress URL

== Frequently Asked Questions ==

= Do I need SSH access to use this plugin? =

No! That's the whole point. Respira works entirely through WordPress's REST API, so it works with any hosting provider, including shared hosting.

= Is it safe to let AI edit my WordPress site? =

Yes! Respira always creates duplicate pages before making changes, so your original content is never touched. You can review changes before publishing, and all actions are logged in the audit trail.

= Which page builders are supported? =

Respira supports Gutenberg, Divi, Elementor, Oxygen, Bricks, Uncode, Beaver Builder, Thrive Architect, Brizy, Visual Composer, and more.

= Can I use this with multiple WordPress sites? =

Yes! The MCP server supports multi-site configuration. You can manage multiple client sites from one AI assistant.

= Which AI coding assistants work with this? =

Any AI assistant that supports the Model Context Protocol (MCP), including Cursor, Claude Desktop, Codex, Windsurf, Cline, and Continue.dev.

= Does this work with WordPress multisite? =

Yes! Respira is fully compatible with WordPress multisite networks.

= What happens if the AI makes a mistake? =

Since Respira always creates duplicates, your original content is safe. You can review the duplicate, and if you don't like the changes, simply delete it and start over.

= Is there a limit on API requests? =

Yes, for security. The default is 100 requests per hour per API key, but you can configure this in the settings.

== Screenshots ==

1. Dashboard - Quick start guide and site information
2. API Keys - Generate and manage API keys
3. Settings - Configure security and preferences
4. Audit Log - Complete activity history

== Changelog ==

= 1.8.6 =
* FIXED: Sidebar icon now uses the official 20×20 SVG so it renders exactly like other WordPress menu items
* CHANGED: Start Here workflow rebuilt with a responsive 2-column grid and better hierarchy for steps 1-7
* CHANGED: Personal Onboarding card redesigned in dark mode with improved contrast, typography, and CTA

= 1.8.5 =
* CHANGED: Start Here page grid - improved step boxes layout with proportional sizing based on content
* CHANGED: Onboarding section - enhanced contrast and readability with better colors and typography
* CHANGED: Full-width layout - all plugin pages now use full width with left-aligned content
* CHANGED: Auto-update check interval - changed from 12 hours to 4 hours for faster update availability
* FIXED: Footer links - fixed 404 errors for "Add More Sites" and "Become an Affiliate" (changed from /account to /dashboard)

= 1.8.4 =
* ADDED: Privacy Policy and Terms of Service agreement requirement on license activation
* ADDED: Usage tracking for inject_builder_content API endpoint (page builder content injections)
* ADDED: Automatic page builder detection during license activation (Divi, Elementor, Gutenberg, etc.)
* CHANGED: License activation flow now requires explicit agreement to Privacy Policy and Terms
* CHANGED: Enhanced usage statistics tracking including builder content injections
* IMPROVED: Privacy disclosures throughout plugin settings and documentation

= 1.8.3 =
* CHANGED: Complete design system overhaul - professional redesign of entire admin interface
* CHANGED: New comprehensive design system inspired by respira.press
* CHANGED: Activation-state color theming: Red theme for unlicensed, Green theme for licensed
* CHANGED: Complete CSS refactoring with organized design tokens and component library
* IMPROVED: Typography system with consistent type scale and font families
* IMPROVED: Unified spacing system based on 8px base unit
* IMPROVED: Consistent border radius values across all components
* IMPROVED: Professional component library with reusable styles for buttons, badges, cards, sections, and tables
* IMPROVED: Enhanced visual hierarchy and readability
* IMPROVED: Better organized and maintainable CSS structure
* ADDED: Design system documentation (DESIGN-SYSTEM.md)

= 1.7.1 =
* FIXED: Admin styling - centered all Respira wp-admin screens with consistent dark canvas background
* FIXED: Removed grey seams at page edges when scrolling
* FIXED: Simplified page padding using single CSS variable for consistency
* IMPROVED: Updated sidebar icon to use official Respira logo with refined styling (rounded edges, branded drop shadow)
* IMPROVED: Typography spacing and readability across all admin pages (License, API Keys, Settings, Approvals, Audit Log)

= 1.7.0 =
* ADDED: Page Speed Analysis - comprehensive performance analysis tools
* ADDED: SEO Analysis - complete SEO optimization tools
* ADDED: AI Engine Optimization (AEO) - optimize content for AI search engines
* ADDED: Plugin Management (Experimental) - manage WordPress plugins via API (opt-in feature)
* NEW REST API Endpoints for analysis and plugin management

= 1.6.3 =
* ADDED: Personal Onboarding product integration in dashboard and Start Here pages
* IMPROVED: Added super admin functionality for enhanced account management
* IMPROVED: Updated admin panel access controls

= 1.6.2 =
* IMPROVED: Comprehensive UI/UX improvements for all plugin admin pages
* IMPROVED: Full-page dark background for better visual consistency
* IMPROVED: Audit Log page with white alternative rows for better readability
* IMPROVED: Approvals page with word count, character count, and improved button layout
* IMPROVED: Settings page with full dark background
* IMPROVED: API Keys page with better license notice integration
* IMPROVED: Start Here page with 3-column layout and newsletter subscription
* IMPROVED: Dashboard layout with improved Quick Links section
* IMPROVED: Dynamic header styling (red hues until license activated, then green)
* IMPROVED: Better page builder detection in dashboard footer
* FIXED: Duplicate step 5 in Start Here page
* FIXED: Page builder detection issues in Site Information card

= 1.6.4 =
* IMPROVED: Polished dashboard boxes with centered content and improved button styles
* IMPROVED: Enhanced typography and spacing throughout dashboard
* IMPROVED: Better button hover effects with gradients and shadows
* IMPROVED: FAQ column expansion fixed - items stay fixed when others open
* IMPROVED: Replaced emoji icons with Material Symbols icons in FAQ
* IMPROVED: Added spacing between version badge and license notice in header
* FIXED: All plugin pages now have consistent #1A1F2E dark background
* FIXED: Super admin dashboard now shows all sites and licenses properly
* FIXED: Super admin can add sites even with expired/cancelled licenses
* FIXED: Better error messages when adding duplicate sites
* FIXED: Improved add-site functionality for all users

= 1.6.5 =
* FIXED: Comprehensive dark mode fixes - all plugin pages now have consistent #1A1F2E background
* FIXED: Sidebar Respira logo now visible in wp-admin menu with proper styling
* FIXED: All text readability issues resolved - proper contrast on all pages
* FIXED: Dashboard card overlapping issues resolved with proper grid layout
* FIXED: Button text readability - all buttons now have white text with proper contrast
* FIXED: API endpoint and MCP settings hidden until license is activated
* FIXED: Footer text updated to "Respira for WordPress v1.6.5"
* IMPROVED: Ultra-aggressive CSS overrides to ensure dark background everywhere
* IMPROVED: Enhanced sidebar menu icon visibility and styling
* IMPROVED: Comprehensive text color fixes for headings, paragraphs, labels, and all elements

= 1.6.1 =
* CRITICAL FIX: Fixed fatal error "Class 'Respira_License' not found" in dashboard
* Fixed missing class loading for Respira_License in core plugin initialization

= 1.6.0 =
* Updated pricing to 1-year licenses (yearly payment only)
* Changed Agency plan from unlimited to 20 WordPress sites
* Added upgrade account banner in plugin dashboard
* Updated all upgrade links to point to /dashboard/billing
* Improved license messaging and upgrade prompts
* Updated plugin readme with new pricing structure

= 1.5.4 =

= 1.2.0 =
* NEW: Approval system - AI can only edit duplicates by default, not original pages
* NEW: Page Approvals admin page with two-column layout showing originals and duplicates
* NEW: Approve button to replace original pages with AI-enhanced duplicates
* NEW: "Allow Direct Editing" setting (disabled by default) to control force parameter behavior
* NEW: Enhanced error messages with step-by-step instructions and helpful links
* NEW: Modern toggle switches in settings page replacing checkboxes
* NEW: Post update and delete endpoints (previously only pages)
* IMPROVED: MCP server error handling now formats errors with actionable instructions
* IMPROVED: Tool descriptions updated to reflect new default behavior
* IMPROVED: Better user guidance when trying to edit original pages
* SECURITY: Direct editing of original pages disabled by default for safety

= 1.1.4 =
* CRITICAL FIX: Fixed PHP parse error in dashboard.php - missing endif statement
* FIXED: Dashboard page now loads correctly without syntax errors

= 1.1.3 =
* FIXED: Admin menu structure - removed duplicate Respira page causing errors
* FIXED: Main Respira menu item now properly displays dashboard
* IMPROVED: Clean menu structure with proper submenu ordering
* UPDATED: All links changed from respira.love to respira.press
* NEW: Created documentation pages on product website (documentation, installation, configuration, api-reference, support)

= 1.1.2 =
* NEW: Version badge displayed in dashboard header
* IMPROVED: Better visual hierarchy with styled version indicator
* IMPROVED: Version badge also shown on Start Here page

= 1.1.1 =
* NEW: Auto-update system with GitHub releases integration
* NEW: Custom update server endpoint for private repos
* NEW: Multi-tool dashboard with instructions for Cursor, Claude Code, and Codex
* NEW: Tabbed interface for easy switching between AI tools
* IMPROVED: Enhanced dashboard with platform-specific configuration paths
* IMPROVED: Better user experience with tool-specific setup instructions
* FIXED: Update server URL now points to respira.press

= 1.1.0 =
* NEW: Divi Intelligence - Comprehensive Divi Builder support
* NEW: Dynamic detection of all 200+ Divi modules
* NEW: Complete module schemas with attribute definitions
* NEW: Layout validation before content injection
* NEW: Global module support and resolution
* NEW: Layout pattern library for common Divi structures
* NEW: Enhanced AI context with Divi-specific prompts
* NEW: Improved shortcode parsing with WordPress native functions
* NEW: Performance monitoring for extract/inject operations
* IMPROVED: Divi support upgraded from 45% to 95%+
* IMPROVED: Better handling of complex nested layouts
* IMPROVED: Support for specialty sections and advanced features
* FIXED: Dynamic builder version detection (no longer hardcoded)
* NOTE: Divi Intelligence is a modular addon that can be sold separately

= 1.0.8 =
* CRITICAL FIX: Ultra-aggressive entity decoding now catches Divi's re-encoding during module render
* NEW: Added et_pb_module_content filter to decode entities RIGHT when Divi renders modules
* IMPROVED: Changed final cleanup priority from 99 to 9999 to run after ALL other filters
* IMPROVED: 5-iteration decoding loop (up from 3) to handle deeply nested encoding
* IMPROVED: Added hexadecimal entity support (&#x26;, &#x27;, &#x22;)
* IMPROVED: Automatic removal of <br /> and <p> tags around script tags via regex
* FIXED: Entities that were being re-encoded by Divi during shortcode processing
* FIXED: Script tags now properly decode even when Divi re-encodes them
* OPTIMIZED: Case-insensitive search (stripos) for better detection of encoded scripts

= 1.0.7 =
* CRITICAL FIX: Resolved HTML entity encoding breaking JavaScript execution (&#038; → &, &#8221; → ")
* CRITICAL FIX: Prevented wpautop from adding unwanted <br /> tags around script tags
* IMPROVED: Aggressive entity decoding with explicit str_replace for common WordPress entities
* IMPROVED: Priority 8 filter prevents wpautop interference (runs before wpautop at priority 10)
* IMPROVED: Script tag placeholder protection system to bypass wpautop processing
* FIXED: Logical operators (&&, ||) now render correctly instead of &#038;&#038;
* FIXED: Smart quotes (", ", ', ') decode properly from &#8220;, &#8221;, &#8216;, &#8217;
* FIXED: JavaScript in et_pb_html_content blocks now executes without entity encoding issues
* TESTED: Parallax scroll effects and Cal.com embeds confirmed working on mihai.love/vibe

= 1.0.6 =
* CRITICAL FIX: JavaScript now executes correctly on frontend pages
* NEW: Added frontend rendering filters to preserve scripts during page display
* IMPROVED: Early-priority filter (priority 5) decodes HTML entities before Divi processes shortcodes
* IMPROVED: Hook into Divi's module attribute processing to preserve scripts
* IMPROVED: Post-processing filter (priority 99) decodes any remaining encoded scripts
* FIXED: Script tags in et_pb_html_content blocks now execute on page load
* FIXED: Script tags in et_pb_code blocks now execute on page load
* FIXED: Triple-encoded HTML entities are properly decoded on frontend

= 1.0.5 =
* IMPROVED: Updated branding with official Respira logo from respira.cafe
* IMPROVED: Changed dashboard page title to "Respira for WordPress"
* IMPROVED: Added custom SVG icon to WordPress admin sidebar menu
* IMPROVED: Enhanced header layout with better logo display and responsiveness
* FIXED: Logo now properly loads and displays at optimal size (180px)

= 1.0.4 =
* CRITICAL FIX: Prevent WordPress from stripping script tags during API save operations
* NEW: Comprehensive content filter system for modern web features preservation
* IMPROVED: Enhanced script tag preservation in Divi et_pb_html_content modules
* IMPROVED: Enhanced script tag preservation in Divi et_pb_code modules
* IMPROVED: Multiple-pass HTML entity decoding to handle triple-encoded content
* IMPROVED: API update context tracking to preserve scripts only during authenticated API requests
* IMPROVED: Removal of all WordPress content sanitization filters during API updates (safely)
* FIXED: Third-party embeds (Cal.com, Google Analytics, etc.) now work correctly
* FIXED: Parallax and modern JavaScript animations no longer break
* FIXED: JavaScript wrapped in <p> tags issue resolved
* SECURITY: Maintained security by using custom wp_kses whitelist with script tag support
* SECURITY: Script preservation only enabled for authenticated API requests

= 1.0.3 =
* Added JavaScript and modern web technology support
* Enhanced content sanitization with script tag preservation
* Added data-* attribute support for modern frameworks
* Fixed script tags being stripped in Divi modules

= 1.0.2 =
* Fixed custom CSS output on frontend
* Improved CSS sanitization

= 1.0.1 =
* Added custom CSS support for Divi Builder
* Added SEO meta field support (Yoast, Rank Math, All in One SEO)
* Added featured image management
* Improved content extraction for page builders

= 1.0.0 =
* Initial release
* Gutenberg, Divi, Elementor, Oxygen, Bricks, Uncode support
* REST API with authentication
* Security validation
* Audit logging
* Multi-site support
* Rate limiting

== Upgrade Notice ==

= 1.1.0 =
MAJOR UPDATE: Introduces Divi Intelligence with comprehensive Divi Builder support. All 200+ Divi modules now fully supported with schemas, validation, and AI intelligence. Divi Intelligence is included in this release but can be sold as a separate addon in the future.

= 1.0.8 =
CRITICAL UPDATE: Fixes Divi re-encoding issue with ultra-aggressive decoding. If scripts STILL have &#038; entities after v1.0.7, update NOW!

= 1.0.7 =
CRITICAL UPDATE: Fixes HTML entity encoding (&#038;) and wpautop issues that break JavaScript. Update immediately if scripts aren't executing!

= 1.0.6 =
CRITICAL UPDATE: Fixes JavaScript execution on frontend. If your scripts aren't running on pages, update immediately!

= 1.0.5 =
Branding update with official Respira logo and improved dashboard UI.

= 1.0.4 =
CRITICAL UPDATE: Fixes script tags being stripped during save. If you use third-party embeds or JavaScript, update immediately!

= 1.0.3 =
Adds JavaScript and modern web technology support for Divi Builder.

= 1.0.0 =
Initial release. Install and start vibe coding your WordPress site!

== Privacy Policy ==

Respira for WordPress respects your privacy. We collect only anonymous usage statistics to improve the product.

**What We Collect:**
* Anonymous usage statistics (page/post update counts, approximate line counts)
* Detected page builders (for analytics and insights)
* License activation information

**What We Do NOT Collect:**
* Your actual WordPress content, code, or data
* Personal information or user data
* Database queries or configuration
* Any sensitive or confidential information

**What We Store Locally:**
* API keys (encrypted, in your WordPress database)
* Audit logs (on your WordPress site)
* Plugin settings (on your WordPress site)

**Usage Statistics:**
We collect anonymous aggregate statistics (e.g., "50 pages updated", "1000 lines of code") to understand usage patterns and improve the product. Your actual content, code, and data remain entirely on your server and are never transmitted to or stored on our servers.

All API communication happens directly between your local machine and your WordPress site. Usage statistics are sent asynchronously and do not impact plugin performance.

== Support ==

* Documentation: https://respira.press/documentation
* Installation Guide: https://respira.press/installation
* Configuration Guide: https://respira.press/configuration
* API Reference: https://respira.press/api-reference
* Support: https://respira.press/support
* Support Forum: https://wordpress.org/support/plugin/respira-for-wordpress/
* GitHub Issues: https://github.com/webmyc/respira-wordpress/issues

