diff --git a/CLAUDE.md b/CLAUDE.md index 6482051..be916b0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -97,3 +97,7 @@ jQuery 3.6, DataTables 2.1, Bootstrap 4, Select2 4.1, Highcharts, Font Awesome 6 ## API Settings Storage Google Ads, Claude, and OpenAI API keys are stored in the `settings` table (key-value) and managed via the Settings page (`\controls\Users::settings`). + +## Project Memory + +Plik `docs/memory.md` zawiera trwala pamiec projektu - decyzje, ustalenia i wzorce potwierdzone w trakcie pracy. Czytaj go na poczatku sesji i aktualizuj gdy zapadna nowe istotne decyzje. diff --git a/docs/memory.md b/docs/memory.md new file mode 100644 index 0000000..a9aabb9 --- /dev/null +++ b/docs/memory.md @@ -0,0 +1,44 @@ +# adsPRO - Pamiec projektu + +Ten plik sluzy jako trwala pamiec dla Claude Code. Zapisuj tu wzorce, decyzje i ustalenia potwierdzone w trakcie pracy nad projektem. + +## Architektura + +- Custom MVC: Controllers (`\controls`) -> Factories (`\factory`) -> Medoo ORM (`$mdb`) +- Autoload PSR-0: `\controls\Foo` -> `autoload/controls/class.Foo.php` +- Routing w `index.php`: URL `/module/action/` -> `\controls\Module::action()` +- Szablony w `templates/`, zmienne przez `$this->varName` +- Serwisy API: `\services\GoogleAdsApi`, `\services\ClaudeApi`, `\services\OpenAiApi` + +## Styl kodu + +- Spacje w nawiasach: `if ( $x )`, `function( $a, $b )` +- Klamry w nowej linii +- Wszystkie metody kontrolerow i fabryk: `static public function` +- Endpointy JSON: `echo json_encode([...]); exit;` +- Commity po polsku z prefixem: `feat:`, `fix:`, `update:` + +## Frontend + +- jQuery 3.6, DataTables 2.1, Bootstrap 4, Select2 4.1, Highcharts +- jquery-confirm do modali/dialogow +- Font Awesome 6.5 do ikon +- SASS: `layout/style.scss` -> auto-kompilacja przez Live Sass Compiler + +## Deployment + +- FTP auto-upload przez VS Code FTP-Kr +- Brak kroku budowania - pliki laduja bezposrednio na serwer +- Migracje: `php install.php` (idempotentne, sledzenie w `schema_migrations`) + +## Decyzje projektowe + +- Frazy wyszukiwane dodane do wykluczonych oznaczane czerwonym kolorem (klasa CSS `term-is-negative`) +- Negatywne slowa kluczowe dodawane przez Google Ads API i zapisywane lokalnie w `campaign_negative_keywords` +- Klucze API przechowywane w tabeli `settings` (key-value) + +## Preferencje uzytkownika + +- Komunikacja po polsku +- Zwiezle commity po polsku +- Git push tylko na wyrazna prosbe