Commit Graph

14 Commits

Author SHA1 Message Date
d27dd4b7bd Document v1.1.6 release in CLAUDE.md
Added comprehensive session history for v1.1.6 including:
- Translation completion for all 6 locales
- Version bump details
- Release package creation
- Checksums and file counts
- Key lessons learned about translation maintenance

Fixed markdown linting: Added blank line before list

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 21:20:22 +01:00
4f65c8e5e0 Add missing admin translations for Fixed Price field
Updated all translation files with new strings from v1.1.4:
- Simplified "How to calculate the price" description
- New "Fixed Price" field label
- New "Enter the fixed price for this composable product" description

Translations added to all 6 locales:
- de_DE (German formal): Festpreis / Geben Sie den Festpreis ein
- de_DE_informal (German informal): Festpreis / Gib den Festpreis ein
- de_CH (Swiss German formal): Festpreis / Geben Sie den Festpreis ein
- de_CH_informal (Swiss German informal): Festpreis / Gib den Festpreis ein
- fr_CH (Swiss French): Prix fixe / Entrez le prix fixe
- it_CH (Swiss Italian): Prezzo fisso / Inserisci il prezzo fisso

All admin strings are now fully translated across all supported locales.

Updated CLAUDE.md "Bugs found" section to mark admin translation task as completed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 21:12:46 +01:00
054617f320 Document v1.1.5 Twig filter bug fix in CLAUDE.md
Added comprehensive session history for v1.1.5 including:
- Root cause analysis of Twig filter vs function mismatch
- Error log evidence and backtrace analysis
- Technical solution with code examples
- Lessons learned about multi-plugin Twig compatibility
- Updated "Bugs found" section marking Twig bug as fixed

Also fixed markdown linting warnings:
- Added blank line before fenced code block
- Added language specification (text) to code fence
- Added blank line around list

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 21:07:20 +01:00
867abc8f63 Document v1.1.4 session: Fixed price field enhancement
Added session history for v1.1.4 which introduced:
- Fixed price field in Composable Options tab
- JavaScript toggle based on pricing mode selection
- Improved admin UX with progressive disclosure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 21:01:52 +01:00
818fd51502 Document translation updates in CLAUDE.md v1.1.3 section 2025-12-31 17:36:54 +01:00
17d5312df3 Add releases/ directory to project structure in CLAUDE.md 2025-12-31 17:27:18 +01:00
037be97ece Update CLAUDE.md with v1.1.3 session history
Session 6 documented:
- WooCommerce HPOS compatibility implementation
- Price calculation conflict resolution
- Compatibility with WooCommerce Analytics and pricing plugins
- User confirmation: "it all works, now"

Key learnings:
- HPOS declaration is critical for modern WooCommerce
- Static flags prevent duplicate hook execution
- Cart item metadata flags for plugin cooperation
- Compatibility testing with common WC extensions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 17:26:21 +01:00
8aaf30de99 Update CLAUDE.md with v1.1.1 and v1.1.2 session history
Document the critical bug fix journey for the WC_Settings_Page error:

v1.1.1 session (failed attempt):
- Attempted to fix with hook timing change
- Changed to woocommerce_init hook
- Bug persisted - error logs showed it still failed
- Lesson: Always verify fixes with error logs

v1.1.2 session (successful fix):
- Discovered root cause: Settings.php loaded too early
- require_once happened during Plugin::includes()
- PHP tried to parse 'extends WC_Settings_Page' before class existed
- Solution: Delayed require_once to add_settings_page() callback
- This callback runs when WC has loaded all settings classes

Key learnings documented:
1. Class loading order matters more than hook timing
2. Always verify fixes don't just assume they work
3. Lazy loading pattern for extending third-party classes
4. Read error logs thoroughly - backtrace reveals the sequence
5. Don't assume hook order means all classes are loaded
6. Test immediately after each release

Also documents the debugging approach that worked and the
5-version journey to finally fix this persistent issue.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 17:03:11 +01:00
7bde9e2f0c Fix Markdown formatting in CLAUDE.md (blank lines around lists)
Applied linter formatting fixes for MD032 compliance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 16:48:41 +01:00
e491dadc67 Update CLAUDE.md with v1.0.1 and v1.1.0 session history
Documentation updates:
- Added v1.0.1 bug fix details (fatal error resolution)
- Comprehensive v1.1.0 stock management documentation
- Updated project structure with Stock_Manager.php
- Enhanced data flow section with order processing
- Documented all 6 key lessons learned from stock implementation
- Updated core classes section with Stock_Manager details
- Removed stock management from limitations (now implemented)

Session 4 (v1.1.0) highlights:
- New Stock_Manager class (263 lines, 6 public methods)
- 8 new translatable strings
- Visual stock indicators with color-coded badges
- Automatic stock deduction/restoration on order status changes
- Order audit trail via WooCommerce order notes
- Technical details: hooks, filters, and meta storage patterns

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 16:48:21 +01:00
bcbf12702e Update CLAUDE.md with v1.0.0 release documentation and session history
Enhanced documentation with comprehensive session tracking:

Translation Status Update:
- Updated from "Planned" to "Available" translations
- Marked all 6 locales as complete (✓)
- Added command for compiling .mo files from .po files
- Documented 40+ translated strings with locale-specific terminology

Session History Restructuring:
- Split v1.0.0 development into 3 distinct sessions
- Session 1: Core implementation (21 files, initial commit)
- Session 2: Documentation & translations (6 .po files, CLAUDE.md)
- Session 3: Release creation (tag, package, checksums)

Release Documentation:
- Documented release package details (371 KB)
- Added git workflow (main branch + dev branch structure)
- Listed verified functionality with checkmarks
- Updated known limitations (added .mo compilation note)
- Added release-specific details section

Statistics:
- Total files: 28 (21 PHP/templates + 7 translations)
- Total code: 3,842 lines
- Git tag: v1.0.0 on commit 8c17734
- Package verification: 336 vendor files included

This update provides complete context for future AI sessions about what was
accomplished across all three development sessions leading to v1.0.0 release.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 16:26:20 +01:00
8c17734836 Add complete translation files for all planned locales
Created translation (.po) files for all 6 planned locales:

German locales:
- de_DE: German (Germany, formal "Sie")
- de_DE_informal: German (Germany, informal "du")
- de_CH: German (Switzerland, formal "Sie")
- de_CH_informal: German (Switzerland, informal "du")

Swiss locales:
- fr_CH: French (Switzerland)
- it_CH: Italian (Switzerland)

All translations include:
- Complete translation of all 40+ user-facing strings
- Proper plural forms configuration
- Swiss locale examples using CHF currency formatting
- Formal/informal variants where appropriate
- Locale-specific terminology (e.g., "Artikelnummer" vs "référence")

Translation coverage:
✓ Plugin activation messages
✓ Admin settings interface
✓ Product data tab fields
✓ Frontend product selector
✓ Cart and checkout messages
✓ Error and validation messages

Ready for compilation to .mo files for production use.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 16:20:00 +01:00
2828f1ab25 Update CLAUDE.md with session learnings and project documentation
Enhanced CLAUDE.md with comprehensive project context for future AI sessions:

Added sections:
- Complete project structure with file descriptions
- Architecture overview with all 6 core classes
- Detailed data flow diagrams for product creation, display, and cart
- Development workflow and testing checklist
- Release creation commands
- Session history documenting v1.0.0 implementation

Key updates:
- Documented all architectural decisions made during implementation
- Added testing checklist for quality assurance
- Included known limitations and future enhancement ideas
- Created "For AI Assistants" section with session startup guide
- Updated translation section to reflect current .pot template status

This documentation will help future sessions understand:
- What was built and why
- How the system works end-to-end
- What needs testing before releases
- Areas for future improvement

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 00:41:38 +01:00
1edb0be3d9 Initial implementation of WooCommerce Composable Products plugin
Implemented custom WooCommerce product type allowing customers to build their own
product bundles by selecting from predefined sets of products.

Features:
- Custom "Composable Product" type with admin interface
- Product selection by category, tag, or SKU
- Configurable selection limits (global and per-product)
- Dual pricing modes: fixed price or sum of selected products
- Modern responsive frontend with Twig templates
- AJAX add-to-cart functionality
- Full internationalization support (.pot file)
- WooCommerce settings integration
- Comprehensive documentation

Technical implementation:
- PHP 8.3+ with PSR-4 autoloading
- Twig 3.0 templating engine via Composer
- Vanilla JavaScript with jQuery for frontend interactions
- WordPress and WooCommerce hooks for seamless integration
- Security: input sanitization, validation, and output escaping
- Translation-ready with text domain 'wc-composable-product'

Documentation:
- README.md: Project overview and features
- INSTALL.md: Installation and usage guide
- IMPLEMENTATION.md: Technical architecture
- CHANGELOG.md: Version history

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 00:38:29 +01:00