61 lines
2.1 KiB
Markdown
61 lines
2.1 KiB
Markdown
# 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 <command>
|
||
```
|
||
|
||
## Соглашения
|
||
|
||
- PHP 8.1+, строгая типизация (`declare(strict_types=1)`)
|
||
- Стандарт кода — PSR-12
|
||
- Пространство имён корня: `Bicycle\`
|
||
- Автозагрузка через Composer PSR-4: `"Bicycle\\": "src/"` |