diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..fbd61b5 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,19 @@ +# Agent Instructions for CodePress CMS + +## Build & Run +- **Run Server**: `php -S localhost:8080 -t public` +- **Lint PHP**: `find . -name "*.php" -exec php -l {} \;` +- **Dependencies**: No Composer/NPM required. Native PHP 8.4+ implementation. + +## Code Style & Conventions +- **PHP Standards**: Follow PSR-12. Use 4 spaces for indentation. +- **Naming**: Classes `PascalCase` (e.g., `CodePressCMS`), methods `camelCase` (e.g., `renderMenu`), variables `camelCase`, config keys `snake_case`. +- **Architecture**: + - Core logic resides in `index.php`. + - Configuration in `config.php`. + - Public entry point is `public/index.php`. +- **Content**: Stored in `public/content/`. Supports `.md` (Markdown), `.php` (Dynamic), `.html` (Static). +- **Templating**: Simple string replacement `{{placeholder}}` in `templates/layout.html`. +- **Navigation**: Auto-generated from directory structure. Folders require an index file to be clickable in breadcrumbs. +- **Security**: Always use `htmlspecialchars()` for outputting user/content data. +- **Git**: `main` is the clean CMS core. `e.noorlander` contains personal content. Do not mix them. \ No newline at end of file diff --git a/public/templates/layout.html b/public/templates/layout.html index 706d011..e1d9e63 100644 --- a/public/templates/layout.html +++ b/public/templates/layout.html @@ -249,7 +249,7 @@ {{file_info}}