# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project **Bicycle** — самописный PHP-фреймворк, разрабатываемый с нуля. Проект находится в стадии начальной разработки. ## Предполагаемая архитектура Фреймворк строится по принципу **MVC + Service Container**: - `System/Core/` — ядро: Application, загрузка конфига, бутстрап - `System/Http/` — Request, Response, обработка HTTP-цикла - `System/Router/` — маршрутизация (регистрация роутов, диспатчинг) - `System/Container/` — DI-контейнер (bind/make/singleton) - `System/Middleware/` — цепочка middleware (Pipeline) - `System/View/` — шаблонизатор - `System/Database/` — QueryBuilder / ORM - `System/Console/` — CLI-команды - `System/Exceptions/` — обработчики ошибок - `config/` — конфигурационные файлы (.php массивы) - `index.php` — точка входа - `bin/bicycle` — CLI-точка входа ## Когда структура будет создана ### Установка зависимостей ```bash composer install ``` ### Запуск встроенного сервера ```bash php -S localhost:8000 -t public ``` ### Запуск тестов ```bash ./vendor/bin/phpunit # один тест: ./vendor/bin/phpunit tests/Unit/RouterTest.php ``` ### Линтер / статический анализ ```bash ./vendor/bin/phpcs --standard=PSR12 src/ ./vendor/bin/phpstan analyse src --level=5 ``` ### CLI фреймворка ```bash php bin/bicycle ``` ## Соглашения - PHP 8.1+, строгая типизация (`declare(strict_types=1)`) - Стандарт кода — PSR-12 - Пространство имён корня: `Bicycle\` - Автозагрузка через Composer PSR-4: `"Bicycle\\": "src/"`