# AGENT CODING STANDARDS

This project is a PHP MVC application using Composer, Twig, FastRoute, and SQLite in an LXC container.

## 🛠️ Development Commands

- **Dependencies:** `composer install` / `update` (updates after editing composer.json)
- **Linting:** N/A (adhere to PSR-12 manually)
- **Testing:** `curl localhost` (no framework; run manual scripts like `php test.php` for single tests)
- **Build:** N/A (direct PHP execution)
- **Version Control:** `git status` / `add` / `commit` / `push`

## 📐 Code Style & Conventions

1. **Architecture:** MVC pattern (Controllers in `src/Controllers/`, Models in `src/Models/`, Views in `templates/`)
2. **Namespacing:** PSR-4 with `App\` base
3. **Naming:** Classes `PascalCase`, methods/variables `camelCase`
4. **Templating:** Twig only (`.twig` files)
5. **I18n:** Use `App\Services\TranslationService` (PHP) or `{{ trans('ID') }}` (Twig)
6. **Error Handling:** `try/catch` blocks; log with `error_log()`
7. **Database:** Use `App\Database\Database::getInstance()` (no direct PDO)
8. **Imports:** `use` statements at top or fully qualified names
9. **Security:** No secrets/keys exposure or logging
10. **Types:** Type hints on params/returns where possible
11. **Formatting:** PSR-12
12. **Comments:** Avoid unless requested
13. **Libraries:** Check composer.json before adding
