diff --git a/.claude/commands/koniec-pracy.md b/.claude/commands/koniec-pracy.md new file mode 100644 index 0000000..2a8c106 --- /dev/null +++ b/.claude/commands/koniec-pracy.md @@ -0,0 +1,47 @@ +Wykonaj procedurę zakończenia pracy w projekcie cmsPRO. Wszystkie kroki wykonuj kolejno: + +## 1. Testy +Uruchom `php vendor/bin/phpunit`. Jeśli testy nie przechodzą — napraw błędy przed kontynuowaniem. + +## 2. Dokumentacja +Sprawdź czy zmiany wymagają aktualizacji: +- `docs/PROJECT_STRUCTURE.md` — struktura projektu, moduły, fazy refaktoryzacji +- `docs/FORM_EDIT_SYSTEM.md` — system formularzy (tylko jeśli zmiany dotyczyły formularzy) + +Zaktualizuj tylko jeśli zmiany tego wymagają. Nie aktualizuj na siłę. + +## 3. Migracje SQL +Jeśli były zmiany w bazie danych: +- Utwórz plik `migrations/{version}.sql` (np. `migrations/1.694.sql`) +- NIE w `updates/` — build script sam wczyta z `migrations/` + +## 4. Commit +Wykonaj git commit ze zmianami. Użyj konwencji z tego repo (patrz `git log --oneline -5`). + +## 5. Paczka aktualizacji +Procedura budowania paczki: + +a) Znajdź aktualną wersję w `updates/versions.php` (`$current_ver = XXXX`) +b) Oblicz nową wersję: `current_ver + 1` +c) Zaktualizuj `$current_ver` w `updates/versions.php` na nową wartość +d) Utwórz commit: `build(update): paczka {wersja} — {krótki opis zmian}` +e) Utwórz git tag: `git tag v{wersja}` (format: v1.694, v1.695, ...) +f) Uruchom build script: + ``` + powershell -ExecutionPolicy Bypass -File ./build-update.ps1 -FromTag v{poprzednia_wersja} -ToTag v{nowa_wersja} -ChangelogEntry "NEW - {opis zmian}" + ``` +g) Dodaj pliki paczki do ostatniego commita: `git add updates/*/ver_{wersja}.* && git commit --amend` + +## 6. Push +Wykonaj `git push && git push --tags`. Jeśli auth fail (próbuj 3 razy, czasem jest błąd za pierwszym razem) — poinformuj użytkownika żeby uruchomił `! git push && git push --tags`. + +## Podsumowanie +Na koniec wyświetl tabelkę: +| Krok | Status | +|------|--------| +| Testy | OK/FAIL | +| Dokumentacja | Zaktualizowana / Bez zmian | +| Migracje SQL | Utworzone / Nie dotyczy | +| Commit | hash | +| Paczka | ver_X.XXX.zip | +| Push | OK / Wymaga auth | diff --git a/.claude/settings.local.json b/.claude/settings.local.json index f9471bc..d67fbd1 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -48,7 +48,8 @@ "Bash(python3:*)", "Bash(python:*)", "Bash(grep:*)", - "Bash(grep ^ver:*)" + "Bash(grep ^ver:*)", + "Skill(paul:plan)" ] } } diff --git a/.serena/project.yml b/.serena/project.yml index 4eb1cd9..80b7417 100644 --- a/.serena/project.yml +++ b/.serena/project.yml @@ -45,7 +45,9 @@ ignored_paths: [] # Added on 2025-04-18 read_only: false -# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details. +# list of tool names to exclude. +# This extends the existing exclusions (e.g. from the global configuration) +# # Below is the complete list of tools for convenience. # To make sure you have the latest list of tools, and to view their descriptions, # execute `uv run scripts/print_tool_overview.py`. @@ -86,7 +88,8 @@ read_only: false # * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store. excluded_tools: [] -# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default) +# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default). +# This extends the existing inclusions (e.g. from the global configuration). included_optional_tools: [] # fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools. @@ -112,8 +115,10 @@ default_modes: # (contrary to the memories, which are loaded on demand). initial_prompt: "" -# override of the corresponding setting in serena_config.yml, see the documentation there. -# If null or missing, the value from the global config is used. +# time budget (seconds) per tool call for the retrieval of additional symbol information +# such as docstrings or parameter information. +# This overrides the corresponding setting in the global configuration; see the documentation there. +# If null or missing, use the setting from the global configuration. symbol_info_budget: # The language backend to use for this project. @@ -122,3 +127,26 @@ symbol_info_budget: # Note: the backend is fixed at startup. If a project with a different backend # is activated post-init, an error will be returned. language_backend: + +# 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: + +# 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: [] + +# list of regex patterns for memories to completely ignore. +# Matching memories will not appear in list_memories or activate_project output +# and cannot be accessed via read_memory or write_memory. +# To access ignored memory files, use the read_file tool on the raw file path. +# Extends the list from the global configuration, merging the two lists. +# Example: ["_archive/.*", "_episodes/.*"] +ignored_memory_patterns: [] + +# advanced configuration option allowing to configure language server-specific options. +# Maps the language key to the options. +# Have a look at the docstring of the constructors of the LS implementations within solidlsp (e.g., for C# or PHP) to see which options are available. +# No documentation on options means no options are available. +ls_specific_settings: {} diff --git a/.vscode/ftp-kr.json b/.vscode/ftp-kr.json index c78519c..d978a7b 100644 --- a/.vscode/ftp-kr.json +++ b/.vscode/ftp-kr.json @@ -17,6 +17,7 @@ "/.serena", "/docs", "AGENTS.md", - "CLAUDE.md" + "CLAUDE.md", + "/.paul" ] } \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index ad33427..79800b2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,15 +2,4 @@ ## KONIEC PRACY -Gdy użytkownik napisze `KONIEC PRACY`, wykonaj kolejno: - -1. Przeprowadzenie testów. -2. Aktualizacja dokumentacji technicznej, jeśli zmiany tego wymagają: - - `docs/PROJECT_STRUCTURE.md` - - `docs/FORM_EDIT_SYSTEM.md` -3. Migracje SQL (jeśli były zmiany w bazie danych): - - Plik: `migrations/{version}.sql` (np. `migrations/0.304.sql`) - - **NIE** w `updates/` — build script sam wczyta z `migrations/` - - Sprawdź czy plik istnieje i jest poprawnie nazwany przed commitem -4. Commit. -5. Push. \ No newline at end of file +Gdy użytkownik napisze `KONIEC PRACY`, uruchom komendę `/koniec-pracy`. diff --git a/updates/versions.php b/updates/versions.php index 3fc0fdb..d14b99b 100644 --- a/updates/versions.php +++ b/updates/versions.php @@ -13,7 +13,7 @@ $mdb = new medoo( [ $current_ver = 1694; // aktualizowane automatycznie przez build-update.ps1 -// 1. Skan filesystem — lista istniejÄ…cych ZIPĂłw +// 1. Skan filesystem — lista istniejÄ…cych ZIPĂłw $versions = []; for ( $i = 1; $i <= $current_ver; $i++ ) { @@ -34,7 +34,7 @@ $license = $mdb->get( 'pp_update_licenses', '*', [ 'key' => ( $_GET['key'] ?? '' if ( !$license ) die(); -// 3. SprawdĹş waĹĽność daty +// 3. SprawdĹş waĹĽność daty if ( $license['valid_to_date'] && $license['valid_to_date'] < date( 'Y-m-d' ) ) die(); @@ -53,11 +53,11 @@ foreach ( $versions as $ver ) } } -// 5. Filtruj wersje wg kanaĹ‚u (beta widzi beta+stable, reszta tylko stable) +// 5. Filtruj wersje wg kanaĹ‚u (beta widzi beta+stable, reszta tylko stable) $channels = $license['beta'] ? [ 'beta', 'stable' ] : [ 'stable' ]; $allowed = array_flip( $mdb->select( 'pp_update_versions', 'version', [ 'channel' => $channels ] ) ?: [] ); -// 6. Wypisz dostÄ™pne wersje +// 6. Wypisz dostÄ™pne wersje $valid_to_version = $license['valid_to_version']; foreach ( $versions as $ver ) {