Files
interblue.pl/AGENTS.md
2026-03-31 22:07:39 +02:00

2.5 KiB

Repository Guidelines

Project Structure & Module Organization

This repository is a live PrestaShop 1.7.x shop instance. Core application code is in classes/, controllers/, src/, and app/. Customizations should usually go in modules/, override/, and themes/InterBlue/.

Key paths:

  • themes/InterBlue/ - custom storefront theme (assets/css/*.scss, templates/**/*.tpl)
  • modules/ - PrestaShop modules (custom and vendor)
  • override/ - class/controller overrides (high-impact; change carefully)
  • xml/, custom/, root *.php scripts - feed/export/import integrations
  • changelog/ - dated maintenance notes

Build, Test, and Development Commands

There is no single root build pipeline; use targeted commands.

  • php -l path\to\file.php - quick PHP syntax check before commit.
  • php .\import-products.php - run product import script locally (only with safe test data).
  • php .\modules\ps_facetedsearch\vendor\bin\phpunit -c .\modules\ps_facetedsearch\tests\phpunit.xml - run module tests where bundled.
  • SCSS workflow: edit themes/InterBlue/assets/css/custom.scss; VSCode Live Sass Compiler (see .vscode/settings.json) compiles CSS on save.

After PHP/template/override changes, clear PrestaShop cache (var/cache/*) from Back Office Performance settings.

Coding Style & Naming Conventions

  • Follow existing PrestaShop PHP conventions: 4-space indentation, ClassNameCore extension pattern in overrides, hook-first integrations.
  • Keep module strings translatable ($this->l('...')).
  • Use snake_case for script files (custom-cron.php) and PrestaShop-standard class/file names elsewhere.
  • Avoid direct core edits when a hook or module override can solve it.

Testing Guidelines

Automated test coverage is partial and module-specific. For custom changes, combine:

  • syntax checks (php -l),
  • targeted module PHPUnit when available,
  • manual Back Office + storefront regression checks (checkout, product page, cart rules, mail templates).

Document what you tested in PR notes.

Commit & Pull Request Guidelines

Recent history mixes generic (update) and descriptive commits; prefer descriptive, scoped messages, e.g. Fix product import stock sync for XML feed.

PRs should include:

  • purpose and affected paths,
  • deployment/cache-clear notes,
  • screenshots for UI/theme/admin changes,
  • linked issue/task and rollback considerations.

Security & Configuration Tips

Treat .vscode/ftp-kr.json, app/config/parameters.yml, and similar files as sensitive. Never introduce new credentials or tokens in commits.