# Cloudways Deployment Plan (Revised: Strategy B - Temp Path + Hooks) This document outlines the plan to transition the project development workflow to a Cloudways staging server and configure automated deployment via Git. This plan uses the **Revised Strategy B**, where the deployment branch (`cloudways-dev`) contains the plugin code plus essential development folders, and Cloudways uses a temporary deployment path with post-deployment hooks. ## Phase 1: Project Cleanup & Restructure (on `cloudways-dev` branch) - Completed * **Goal:** Prepare the `cloudways-dev` branch for deployment while retaining essential development folders. * **Actions Performed:** 1. The branch was initially cleaned to contain only the `hvac-community-events` plugin folder. 2. Essential development folders (`.roo/`, `docs/`, `memory-bank/`, `.roomodes`) were restored from commit `b1522bad`. 3. A `.gitignore` file was added to ignore everything except `hvac-community-events/` and `.gitignore` itself (Note: This only affects untracked files; the restored folders are tracked and will be deployed). 4. The resulting state (plugin + essential folders + `.gitignore`) was force-pushed to the remote `cloudways-dev` branch. ## Phase 2: Cloudways Git Deployment Configuration (User Action - Strategy B) * **Goal:** Configure Cloudways to automatically deploy *only* the plugin from the `cloudways-dev` branch into the correct server path. * **Prerequisites:** Cloudways SSH key generated and added as a Deploy Key in the GitHub repository settings (`bengizmo/upskill-event-manager`). * **Actions (to be performed by the user in the Cloudways UI):** 1. Navigate to the target Application Settings -> Deployment Via Git. 2. Set the Git Remote Address (SSH URL): `git@github.com:bengizmo/upskill-event-manager.git` 3. Select the Branch: `cloudways-dev` 4. Set the Deployment Path to a **temporary location**: e.g., `/home/master/git_deploys/upskill-event-manager` 5. Add **Post-Deployment Commands** to copy *only* the plugin to the correct location: ```bash # Remove the old plugin directory (use -f to avoid errors if it doesn't exist) echo "Removing existing plugin directory..." rm -rf /home/master/applications/uberrxmprk/public_html/wp-content/plugins/hvac-community-events # Copy the newly deployed plugin directory from the temporary location echo "Copying new plugin directory..." cp -R /home/master/git_deploys/upskill-event-manager/hvac-community-events /home/master/applications/uberrxmprk/public_html/wp-content/plugins/ # Optional: Clear cache if WP-CLI is installed # echo "Flushing WP cache..." # wp cache flush --path=/home/master/applications/uberrxmprk/public_html || true echo "Plugin deployment script finished." ``` 6. Click "Start Deployment" to perform the initial deployment. 7. Verify that *only* the `hvac-community-events` directory appears correctly in `/home/master/applications/uberrxmprk/public_html/wp-content/plugins/` on the server via SSH/SFTP or the WordPress admin panel. Check that `docs/`, `memory-bank/` etc. are *not* copied into the plugins directory. ## Phase 3: Workflow Considerations * **Branching:** The `cloudways-dev` branch contains the plugin and essential development files. * **Development:** Make code changes on this branch or your primary development branch. If using a separate primary branch, ensure changes are merged/cherry-picked to `cloudways-dev` before deployment. * **Deployment Trigger:** Push the updated `cloudways-dev` branch to trigger the Cloudways deployment (if auto-deploy is enabled) or manually trigger deployment in the Cloudways UI. ## Phase 4: Memory Bank Update (Roo Action) * The Memory Bank files (`decisionLog.md`, `activeContext.md`, `progress.md`) on the main development branch will be updated to reflect this final strategy.