From 3d47ee63d8c1a58ff1ddec654b943d3a05dd0a21 Mon Sep 17 00:00:00 2001 From: magdev Date: Mon, 29 Dec 2025 21:09:31 +0100 Subject: [PATCH] Update CLAUDE.md with v1.2.2 and v1.2.3 release learnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added detailed documentation for release package creation process: - Critical exclusion patterns (especially wordpress symlink) - Expected package size and verification steps - Complete zip command with all necessary exclusions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- CLAUDE.md | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index d639acd..faabd02 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -519,7 +519,7 @@ The plugin uses Twig 3.0 for templating. Key files: ### Complete Release Workflow Summary -Based on v1.1.22 release experience, here's the complete workflow: +Based on v1.1.22, v1.2.2, and v1.2.3 release experience, here's the complete workflow: 1. **Fix bugs/add features** on `dev` branch 2. **Update version numbers** (3 files: main plugin file header, constant, composer.json) @@ -544,6 +544,52 @@ Based on v1.1.22 release experience, here's the complete workflow: - `releases/wc-tier-and-package-prices-X.X.X.zip*` - Package and checksums - Feature-specific files (templates, PHP classes, etc.) +### Release Package Creation - Critical Notes + +**IMPORTANT:** The zip command must be run from the **parent directory** to create proper archive structure. + +**Correct command (from `/home/magdev/workspaces/php`):** + +```bash +cd /home/magdev/workspaces/php +zip -r wc-tier-and-package-prices/releases/wc-tier-and-package-prices-X.X.X.zip wc-tier-and-package-prices/ \ + -x '*/\.git/*' '*/.git/*' 'wc-tier-and-package-prices/.git/*' \ + '*.gitignore' '*.log' '*/.claude/*' '*/CLAUDE.md' \ + '*/releases/*' '*/wordpress/*' '*/node_modules/*' \ + '*/.DS_Store' '*/Thumbs.db' '*/.vscode/*' '*/.idea/*' \ + '*.sublime-*' '*/notes.*' '*/logs/*' '*/templates/cache/*' \ + '*/composer.lock' +``` + +**Critical Exclusions:** + +- `*/wordpress/*` - MUST be excluded! The project has a symlink to WordPress installation that zip will follow, creating 129MB+ packages instead of ~430KB +- `.git/*` - All git metadata (multiple patterns needed for reliability) +- `.claude/*` and `CLAUDE.md` - Development documentation +- `releases/*` - Prevents including previous releases in new ones +- `composer.lock` - Not needed in production (vendor/ is included) + +**Expected Package Size:** ~430-431KB (383 files) + +**Package Size Alert:** If >1MB, exclusions failed (likely wordpress symlink included) + +**Verification Steps:** + +```bash +# 1. Check size (should be ~430KB) +ls -lh releases/wc-tier-and-package-prices-X.X.X.zip + +# 2. Verify file count (should be 383 files) +unzip -l releases/wc-tier-and-package-prices-X.X.X.zip | tail -1 + +# 3. Check for excluded files +unzip -l releases/wc-tier-and-package-prices-X.X.X.zip | grep -E "CLAUDE\.md|\.claude/|\.git/|wordpress/" +# Should return nothing (exit code 1) + +# 4. Verify version in package +unzip -p releases/wc-tier-and-package-prices-X.X.X.zip wc-tier-and-package-prices/wc-tier-and-package-prices.php | head -30 | grep -E "Version:|WC_TPP_VERSION" +``` + ### Future Features and Roadmap The is a hierarchical list for upcoming features and can be considered as a