diff --git a/.claude/commands/koniec-pracy.md b/.claude/commands/koniec-pracy.md new file mode 100644 index 0000000..395f22e --- /dev/null +++ b/.claude/commands/koniec-pracy.md @@ -0,0 +1,86 @@ +# shopPRO — Koniec Pracy (release workflow) + +Execute the full release workflow for shopPRO. This is a sequential pipeline — each step depends on the previous one succeeding. Stop and report if any step fails. + +## Step 1: Run tests + +Run the full PHPUnit test suite: +```bash +php phpunit.phar +``` +All tests must pass. If any test fails, stop here — do not proceed to commit. Report the failures and wait for instructions. + +## Step 2: Determine version + +Read the latest git tag to determine the current version number: +```bash +git tag --sort=-v:refname | head -1 +``` +The new version is the previous version incremented by 1 (e.g., v0.333 → v0.334). Use this version number throughout the remaining steps. + +## Step 3: Update documentation + +Update these docs files **only if** changes in this session affect them: + +| File | When to update | +|------|---------------| +| `docs/CHANGELOG.md` | Always — add a new version entry at the top describing what changed | +| `docs/TESTING.md` | If tests were added/removed — update test count and structure | +| `CLAUDE.md` | If test count changed — update the "Current suite" line | +| `docs/DATABASE_STRUCTURE.md` | If database schema changed | +| `docs/PROJECT_STRUCTURE.md` | If architecture/files changed significantly | +| `docs/FORM_EDIT_SYSTEM.md` | If form system was modified | + +## Step 4: SQL migrations + +If database schema changes were made, create a migration file at `migrations/{version}.sql` (e.g., `migrations/0.334.sql`). Do NOT put SQL files in `updates/` — the build script reads from `migrations/` automatically. + +If no DB changes were made, skip this step. + +## Step 5: Commit + +Stage all relevant changed files (source code, templates, tests, docs, migrations) and commit with a descriptive message. Do NOT stage `.serena/`, `.env`, or credentials files. + +Use this commit message format: +``` +feat/fix/refactor: concise description of what changed + +Longer explanation if needed. + +Co-Authored-By: Claude Opus 4.6 +``` + +## Step 6: Push + +```bash +git push +``` + +## Step 7: Build update package + +Tag the new version and run the build script: +```bash +git tag v0.{VERSION} +powershell.exe -ExecutionPolicy Bypass -File build-update.ps1 -FromTag v0.{PREV_VERSION} -ToTag v0.{VERSION} -ChangelogEntry "{changelog_description}" +``` +The `{changelog_description}` should be a short Polish description of the changes (matching the CHANGELOG entry). + +## Step 8: Commit and push the package + +Stage the generated update files and commit: +```bash +git add updates/0.30/ver_0.{VERSION}.zip updates/0.30/ver_0.{VERSION}_manifest.json updates/versions.php updates/changelog-data.html +git commit -m "build: ver_0.{VERSION} - {short_description}" +git push +git push origin v0.{VERSION} +``` + +## Step 9: Report summary + +Print a summary: +- Version number +- Test results (count, assertions) +- Files changed +- Commit hashes +- Update package path +- Tag name diff --git a/.serena/project.yml b/.serena/project.yml index a29cfe0..ef580cc 100644 --- a/.serena/project.yml +++ b/.serena/project.yml @@ -127,3 +127,8 @@ language_backend: # list of regex patterns which, when matched, mark a memory entry as read‑only. # Extends the list from the global configuration, merging the two lists. read_only_memory_patterns: [] + +# line ending convention to use when writing source files. +# Possible values: unset (use global setting), "lf", "crlf", or "native" (platform default) +# This does not affect Serena's own files (e.g. memories and configuration files), which always use native line endings. +line_ending: diff --git a/AGENTS.md b/AGENTS.md index aa464f7..ce842c7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -217,18 +217,11 @@ $controller = new \admin\Controllers\ExampleController($repo); - AAA pattern: Arrange, Act, Assert - Tests mirror source structure: `tests/Unit/Domain/{Module}/{Class}Test.php` -## Workflow (AGENTS.md) +## Workflow -When user says **"KONIEC PRACY"**, execute in order: -1. Run tests -2. Update documentation if needed: `docs/DATABASE_STRUCTURE.md`, `docs/PROJECT_STRUCTURE.md`, `docs/FORM_EDIT_SYSTEM.md`, `docs/CHANGELOG.md`, `docs/TESTING.md` -3. SQL migrations (if DB changes): place in `migrations/{version}.sql` (e.g. `migrations/0.304.sql`). **NOT** in `updates/` — build script reads from `migrations/` automatically -4. Commit -5. Push -6. Build update package: `git tag v0.XXX && powershell.exe -ExecutionPolicy Bypass -File build-update.ps1 -FromTag v0.PREV -ToTag v0.XXX -ChangelogEntry "opis"` — skrypt automatycznie aktualizuje `versions.php` -7. Commit i push plików paczki (`updates/0.30/ver_0.XXX.zip`, `ver_0.XXX_manifest.json`, `updates/versions.php`, `updates/changelog-data.html`) +When user says **"KONIEC PRACY"**, run `/koniec-pracy` (see `.claude/commands/koniec-pracy.md`). -Before starting implementation, review current state of docs (see AGENTS.md for full list). +Before starting implementation, review current state of docs. ## Key Documentation - `docs/MEMORY.md` — project memory: known issues, confirmed patterns, ORM pitfalls, caching conventions diff --git a/CLAUDE.md b/CLAUDE.md index 69fef9c..4e47075 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -217,18 +217,11 @@ $controller = new \admin\Controllers\ExampleController($repo); - AAA pattern: Arrange, Act, Assert - Tests mirror source structure: `tests/Unit/Domain/{Module}/{Class}Test.php` -## Workflow (AGENTS.md) +## Workflow -When user says **"KONIEC PRACY"**, execute in order: -1. Run tests -2. Update documentation if needed: `docs/DATABASE_STRUCTURE.md`, `docs/PROJECT_STRUCTURE.md`, `docs/FORM_EDIT_SYSTEM.md`, `docs/CHANGELOG.md`, `docs/TESTING.md` -3. SQL migrations (if DB changes): place in `migrations/{version}.sql` (e.g. `migrations/0.304.sql`). **NOT** in `updates/` — build script reads from `migrations/` automatically -4. Commit -5. Push -6. Build update package: `git tag v0.XXX && powershell.exe -ExecutionPolicy Bypass -File build-update.ps1 -FromTag v0.PREV -ToTag v0.XXX -ChangelogEntry "opis"` — skrypt automatycznie aktualizuje `versions.php` -7. Commit i push plików paczki (`updates/0.30/ver_0.XXX.zip`, `ver_0.XXX_manifest.json`, `updates/versions.php`, `updates/changelog-data.html`) +When user says **"KONIEC PRACY"**, run `/koniec-pracy` (see `.claude/commands/koniec-pracy.md`). -Before starting implementation, review current state of docs (see AGENTS.md for full list). +Before starting implementation, review current state of docs. ## Key Documentation - `docs/MEMORY.md` — project memory: known issues, confirmed patterns, ORM pitfalls, caching conventions diff --git a/docs/TODO.md b/docs/TODO.md index 9b54b1a..8aa5e76 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -4,4 +4,5 @@ naprawić działanie newslettera i zapis do bazy newslettera program lojalnościowy proponowane produkty w koszyku Do zamówień w statusie: realizowane lub oczekuje na wpłatę. Opcja tylko dla zarejestrowanych klientów. https://royal-stone.pl/pl/order1.html -Dodać możliwość ustawienia limitu znaków w wiadomościach do produktu \ No newline at end of file +Dodać możliwość ustawienia limitu znaków w wiadomościach do produktu +8. [] Przerobić analitykę Google Analytics i Google ADS \ No newline at end of file diff --git a/templates/shop-basket/summary-view.php b/templates/shop-basket/summary-view.php index 1a88680..78acbe5 100644 --- a/templates/shop-basket/summary-view.php +++ b/templates/shop-basket/summary-view.php @@ -82,7 +82,7 @@
- Wartość koszyka: 1 + Wartość koszyka: