Files
backPRO/AGENTS.md

2.3 KiB

Repository Guidelines

Project Structure & Module Organization

BackPRO is a custom PHP MVC application (no Laravel/Symfony). Main code lives in src/ under PSR-4 namespace App\\.

  • src/Core/: bootstrap, routing, base controller/model, config/auth helpers.
  • src/Controllers/, src/Models/, src/Services/: HTTP actions, data access, external integrations.
  • templates/: PHP view templates.
  • config/routes.php: all route definitions.
  • cron/: CLI jobs (publish.php, semstorm.php).
  • migrations/: ordered SQL schema changes (001_*.sql, 002_*.sql, ...).
  • assets/: CSS/JS and WordPress theme files.
  • storage/logs/: runtime logs.

Build, Test, and Development Commands

  • composer install: install PHP dependencies.
  • php -S localhost:8000 -t .: run local dev server from repository root.
  • php cron/publish.php: run publishing workflow manually.
  • php cron/semstorm.php: sync SEO metrics manually.
  • php -l src\\Services\\PublisherService.php: lint a PHP file (repeat per changed file).

Coding Style & Naming Conventions

  • Target PHP >=8.1 (see composer.json), use strict typing where applicable.
  • Follow PSR-4 and existing suffix patterns: *Controller, *Service, *Model.
  • Use 4-space indentation and braces/newline style consistent with src/Core/App.php.
  • Keep controllers thin; move API/business logic to src/Services/.
  • Escape output in templates (htmlspecialchars) and use prepared statements via PDO/model layer.

Testing Guidelines

There is currently no dedicated tests/ suite in this repository. For each change:

  • Lint modified PHP files with php -l.
  • Run affected flows through UI endpoints and/or cron scripts.
  • Verify database-impacting changes with the relevant migration and rollback plan.
  • Document manual test steps in the PR.

Commit & Pull Request Guidelines

Git history favors Conventional Commit-style prefixes, especially feat: (for example: feat: Integrate DataForSEO...). Use:

  • feat:, fix:, refactor:, docs:, chore: with concise imperative summaries.
  • One logical change per commit; include migration changes in the same commit as dependent code.

PRs should include:

  • Clear scope and risk summary.
  • Linked issue/task ID (if available).
  • Setup/migration notes (migrations/00x_*.sql, .env changes).
  • Screenshots for template/UI updates (templates/, assets/).