Bicycle/CLAUDE.md
Egor Isaev e672216b8a Initial commit: entry point and project structure
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 15:28:15 +03:00

61 lines
2.1 KiB
Markdown
Raw 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.

# 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/"`