Files
adsPRO/AGENTS.md
Jacek Pyziak 4635cefcbb feat: update font to Roboto across templates and add campaign/ad group filters in product views
- Changed font from Open Sans to Roboto in layout files.
- Added campaign and ad group filters in products main view.
- Enhanced product history to include campaign and ad group IDs.
- Updated migrations to support new campaign and ad group dimensions in product statistics.
- Introduced new migration files for managing campaign types and dropping obsolete columns.
2026-02-18 01:21:22 +01:00

46 lines
2.5 KiB
Markdown

# Repository Guidelines
## Project Structure & Module Organization
adsPRO is a custom PHP MVC app. Keep business logic in:
- `autoload/controls/` (`class.*.php`): request handling (`\controls\*`)
- `autoload/factory/` (`class.*.php`): DB access via Medoo (`\factory\*`)
- `autoload/view/` (`class.*.php`): view composition (`\view\*`)
- `autoload/services/`: external integrations (Google Ads, OpenAI, Claude)
- `templates/`: PHP templates rendered with `\Tpl::view()`
- `migrations/`: SQL migrations (`NNN_description.sql` + optional `demo_data.sql`)
- `layout/`: SCSS/CSS assets (`style.scss` -> `style.css`)
Main entry points are `index.php`, `ajax.php`, `api.php`, `cron.php`, and `install.php`.
## Build, Test, and Development Commands
- `php -S 127.0.0.1:8000` - run a local PHP server from repo root.
- `php install.php` - apply pending DB migrations.
- `php install.php --with_demo` - apply migrations and demo data.
- `php install.php --force` - re-apply tracked migrations.
- `php -l autoload/controls/class.Campaigns.php` - lint a changed PHP file.
There is no dedicated build pipeline; frontend dependencies are committed in `libraries/`. SCSS is typically compiled via VS Code Live Sass Compiler.
## Coding Style & Naming Conventions
- Follow existing PHP style: spaces inside parentheses (`if ( $x )`), braces on new lines.
- Use `PascalCase` class names, lowercase namespaces (`\controls`, `\factory`), and `snake_case` for methods/variables/DB columns.
- Controllers/factories are conventionally `static public function ...`.
- Keep route/module naming aligned with URL pattern `/module/action/...`.
## Testing Guidelines
No first-party automated test suite is maintained in this repo. Validate changes with:
- PHP lint on edited files.
- Manual UI checks for affected `templates/` views.
- Endpoint checks for `ajax.php`, `api.php`, or `cron.php` paths you touched.
- Migration dry run on a non-production database when schema is changed.
Document manual test steps and outcomes in each PR.
## Commit & Pull Request Guidelines
- Use concise Polish commit messages with prefixes seen in history: `feat:`, `fix:`, `update:`.
- Keep commits focused (feature, refactor, migration, UI tweak).
- PRs should include: scope summary, linked issue/task, migration notes, manual test checklist, and screenshots for UI changes.
## Security & Configuration Tips
`config.php` contains environment credentials. Do not introduce new secrets in commits or PR discussions, and treat any credential change as a coordinated ops task.