You've already forked wc-licensed-product-client
Initialize composer project for WooCommerce Licensed Product Client
- Set up composer.json with package metadata and PSR-4 autoloading - Add symfony/http-client ^7.0 as HTTP client dependency - Create project structure (src/, tests/, tmp/) - Add README.md with project overview - Add CHANGELOG.md to track version history - Add .gitignore for vendor and cache files - Include OpenAPI specification in tmp/openapi.json Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
91
CLAUDE.md
Normal file
91
CLAUDE.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# License-Client for WooCommerce Licensed Product Plugin
|
||||
|
||||
**Author:** Marco Graetsch
|
||||
**Author URL:** <https://src.bundespruefstelle.ch/magdev>
|
||||
**Author Email:** <magdev3.0@gmail.com>
|
||||
**Repository URL:** <https://src.bundespruefstelle.ch/magdev/wc-licensed-product-client>
|
||||
**Issues URL:** <https://src.bundespruefstelle.ch/magdev/wc-licensed-product-client/issues>
|
||||
**Package-Name:** `magdev/wc-licensed-product-client`
|
||||
|
||||
## Project Overview
|
||||
|
||||
This composer package implements a Client for the WooCommerce Licensed Product Plugin. It uses the REST API as described in `tmp/openapi.json` to activate, validate and check the status of licenses.
|
||||
|
||||
## Features
|
||||
|
||||
- Easy integration in licensed software packages
|
||||
- Defines a PHP constant if a licensed is valid or not
|
||||
- Obfuscate the security critical code parts using plain PHP tools as best as possible
|
||||
|
||||
### Key Fact: 100% AI-Generated
|
||||
|
||||
This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase was created through AI assistance.
|
||||
|
||||
## Temporary Roadmap
|
||||
|
||||
**Note for AI Assistants:** Clean this section after the specific features are done or new releases are made. Effective changes are tracked in `CHANGELOG.md`. Do not add completed versions here - document them in the Session History section at the end of this file.
|
||||
|
||||
### Known Bugs
|
||||
|
||||
No known bugs at the moment
|
||||
|
||||
### Version 0.0.1
|
||||
|
||||
- Initialize composer project of type `library` with the known details
|
||||
- Install dependencies
|
||||
|
||||
## Technical Stack
|
||||
|
||||
- **Language:** PHP 8.3.x
|
||||
- **Coding-Style:** Symfony
|
||||
- **HTTP-Client-Library:** symfony/http-client
|
||||
- **Dependency Management:** Composer
|
||||
- **OpenAPI Description:** `tmp/openapi.json`
|
||||
|
||||
---
|
||||
|
||||
**For AI Assistants:**
|
||||
|
||||
When starting a new session on this project:
|
||||
|
||||
1. Read this CLAUDE.md file first
|
||||
2. Semantic versioning follows the `MAJOR.MINOR.BUGFIX` pattern
|
||||
3. Check git log for recent changes
|
||||
4. Verify you're on the `dev` branch before making changes
|
||||
5. Run `composer install` if vendor/ is missing
|
||||
6. Test changes before committing
|
||||
7. Follow commit message format with Claude Code attribution
|
||||
8. Update this session history section with learnings
|
||||
9. Always update the `README.md` on related changes
|
||||
10. Keep changes in a single `CHANGELOG.md`
|
||||
11. Follow markdown linting rules (see below)
|
||||
|
||||
Always refer to this document when starting work on this project.
|
||||
|
||||
### Markdown Linting Rules
|
||||
|
||||
When editing CLAUDE.md or other markdown files, follow these rules to avoid linting errors:
|
||||
|
||||
1. **MD031 - Blank lines around fenced code blocks**: Always add a blank line before and after fenced code blocks, even when they follow list items. Example of correct format:
|
||||
|
||||
- **Item label**:
|
||||
|
||||
(blank line here)
|
||||
\`\`\`php
|
||||
code example
|
||||
\`\`\`
|
||||
(blank line here)
|
||||
|
||||
2. **MD056 - Table column count**: Table separators must have matching column counts and proper spacing. Use consistent dash lengths that match column header widths.
|
||||
|
||||
3. **MD009 - No trailing spaces**: Remove trailing whitespace from lines
|
||||
|
||||
4. **MD012 - No multiple consecutive blank lines**: Use only single blank lines between sections
|
||||
|
||||
5. **MD040 - Fenced code blocks should have a language specified**: Always add a language identifier to code blocks (e.g., `txt`, `bash`, `php`). For shortcode examples, use `txt`.
|
||||
|
||||
6. **MD032 - Lists should be surrounded by blank lines**: Add a blank line before AND after list blocks, including after bold labels like `**Attributes:**`.
|
||||
|
||||
7. **MD034 - Bare URLs**: Wrap URLs in angle brackets (e.g., `<https://example.com>`) or use markdown link syntax `[text](url)`.
|
||||
|
||||
8. **Author section formatting**: Use a heading (`### Name`) instead of bold (`**Name**`) for the author name to maintain consistent document structure.
|
||||
Reference in New Issue
Block a user