Raiju/AGENTS.md
2026-10-25 06:05:42 +03:00

79 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Raiju CMS - Структура и Логика
## Архитектура
**Flat-file CMS без базы данных** - всё хранится в JSON файлах:
- `content/pages/*.json` - страницы с секциями контента
- `content/settings.json` - глобальные настройки
- `content/users.json` - пользователи (multi-user система)
- `content/events.json` - события/мероприятия
- `content/analytics.json` - локальная аналитика
## Структура директорий
- **admin/** - админ-панель и API эндпоинты
- **includes/** - хелперы (content-loader, footer, header, ai, backup)
- **api/** - публичные API (контакт, лайки, поиск)
- **cli/** - CLI инструменты для бэкапов и обслуживания
- **assets/** - медиа файлы (images, audio, video, documents)
- **css/** - стили (локальные, без CDN)
- **content/** - JSON контент
- **backups/** - ZIP бэкапы
## Модель контента
Каждая страница - JSON с массивом `sections[]`:
- heading, text, image, quote, list, card
- youtube, soundcloud (embed)
- divider, spacer (layout blocks)
Рендеринг через PHP хелперы из `includes/content-loader.php`.
## Пользователи
Multi-user система в `users.json`:
- `id`, `username`, `passwordHash`, `role` (admin/editor), `email`
- Аутентификация через `admin/users.php`
- Сессии с CSRF защитой в `includes/session-helper.php`
## Настройки
`settings.json` содержит:
- branding (логотип, название)
- theme (цвета, шрифты)
- backup (удалённые цели, токены)
- modules (AI, новости, события)
- privacy (аналитика, email obfuscation)
## Маршрутизация
`.htaccess` + `route.php` как front controller:
- Перенаправляет несуществующие файлы на route.php
- route.php загружает страницы по маппингу из `nav-config.php`
- Поддержка многоязычности (/en/, /de/ и т.д.)
## Интеграции
- **AI**: OpenAI, Anthropic, KIE.ai, Fal.ai, Comet для чата и генерации изображений
- **Бэкапы**: Dropbox, Google Drive, OneDrive, S3, FTP, WebDAV
- **Аналитика**: полностью локальная, без внешних запросов
- **Агент**: AI-агент для контент-операций с sandboxed безопасностью
## Безопасность
- CSRF токены для всех форм
- Password hash (bcrypt) для паролей
- Защита от SSRF в AI-агенте (raijuNetSafeFetch)
- Sanitization HTML для контента
- Dev login только с loopback
## Что важно для сайта:
- JSON - источник истины для контента
- Не редактировать core файлы (admin/, includes/, css/) при адаптации сайта
- Использовать `css/website.css` для кастомных стилей
- `$basePath` для путей к ассетам
- `$contentPage` для admin bar
Система хорошо продумана для локального self-hosted использования без внешних зависимостей.