diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..039b8e0 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,15 @@ +{ + "permissions": { + "allow": [ + "Edit(/home/isaevea/http2/Bicycle/**)", + "Write(/home/isaevea/http2/Bicycle/**)", + "Read(/home/isaevea/http2/Bicycle/**)", + "Bash(git:*)", + "Bash(php:*)", + "Bash(composer:*)", + "mcp__gitea__*", + "Bash(gitea-mcp --help)" + ] + }, + "enabledMcpjsonServers": ["gitea"] +} \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..30cf57e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/Bicycle.iml b/.idea/Bicycle.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/Bicycle.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..ff7fc1b --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 0000000..f324872 --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index 28d55a5..288c033 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,15 +10,11 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co Фреймворк строится по принципу **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/Classes/` — основные классы: Application, Router, Container, Middleware, Request, Response и др. +- `System/Http/` — обработчики HTTP-статусов (404, 503 и т.д.) - `System/Database/` — QueryBuilder / ORM +- `System/View/` — шаблонизатор - `System/Console/` — CLI-команды -- `System/Exceptions/` — обработчики ошибок - `config/` — конфигурационные файлы (.php массивы) - `index.php` — точка входа - `bin/bicycle` — CLI-точка входа @@ -32,7 +28,7 @@ composer install ### Запуск встроенного сервера ```bash -php -S localhost:8000 -t public +php -S localhost:8000 ``` ### Запуск тестов @@ -44,8 +40,8 @@ php -S localhost:8000 -t public ### Линтер / статический анализ ```bash -./vendor/bin/phpcs --standard=PSR12 src/ -./vendor/bin/phpstan analyse src --level=5 +./vendor/bin/phpcs --standard=PSR12 System/ +./vendor/bin/phpstan analyse System/ --level=5 ``` ### CLI фреймворка @@ -58,4 +54,4 @@ php bin/bicycle - PHP 8.1+, строгая типизация (`declare(strict_types=1)`) - Стандарт кода — PSR-12 - Пространство имён корня: `Bicycle\` -- Автозагрузка через Composer PSR-4: `"Bicycle\\": "src/"` \ No newline at end of file +- Автозагрузка через Composer PSR-4: `"Bicycle\\": "System/Classes/"` \ No newline at end of file diff --git a/System/Container/.gitkeep b/System/Classes/.gitkeep similarity index 100% rename from System/Container/.gitkeep rename to System/Classes/.gitkeep diff --git a/System/Core/.gitkeep b/System/Core/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/System/Exceptions/.gitkeep b/System/Exceptions/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/System/Middleware/.gitkeep b/System/Middleware/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/System/Router/.gitkeep b/System/Router/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/bin/bicycle b/bin/bicycle index 9a7b1bf..9a30aaa 100755 --- a/bin/bicycle +++ b/bin/bicycle @@ -7,5 +7,5 @@ define('BASE_PATH', dirname(__DIR__)); require_once BASE_PATH . '/vendor/autoload.php'; -$app = new \Bicycle\Core\Application(BASE_PATH); +$app = new \Bicycle\Application(BASE_PATH); $app->runConsole($argv); diff --git a/composer.json b/composer.json index 323ef69..698a169 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,11 @@ }, "autoload": { "psr-4": { - "Bicycle\\": "System/" + "Bicycle\\": "System/Classes/", + "Bicycle\\Http\\": "System/Http/", + "Bicycle\\Database\\": "System/Database/", + "Bicycle\\View\\": "System/View/", + "Bicycle\\Console\\": "System/Console/" } }, "autoload-dev": { diff --git a/index.php b/index.php index 02f0ebe..88a7c86 100644 --- a/index.php +++ b/index.php @@ -6,5 +6,5 @@ define('BASE_PATH', __DIR__); require_once BASE_PATH . '/vendor/autoload.php'; -$app = new \Bicycle\Core\Application(BASE_PATH); +$app = new \Bicycle\Application(BASE_PATH); $app->run(); diff --git a/ЗАМЕТКИ.md b/ЗАМЕТКИ.md new file mode 100644 index 0000000..f5c8044 --- /dev/null +++ b/ЗАМЕТКИ.md @@ -0,0 +1,44 @@ +# Заметки по Claude Code + +## Скилы (Skills) +Вызываются командой `/название` прямо в чате с Claude Code. + +| Команда | Что делает | +|---|---| +| `/init` | Создаёт CLAUDE.md — инструкцию для Claude | +| `/review` | Ревью pull request | +| `/security-review` | Проверка кода на уязвимости | +| `/simplify` | Упрощает и улучшает написанный код | +| `/loop` | Запускает задачу повторяющимся циклом | + +--- + +## Агенты (Agents) +Специализированные помощники — Claude может запускать их параллельно. + +- **Explore** — быстро исследует файлы и код проекта +- **Plan** — составляет архитектурный план перед разработкой +- **general-purpose** — универсальный агент для сложных задач + +--- + +## Плагины (MCP — Model Context Protocol) +Расширяют возможности Claude — подключают внешние сервисы. + +Уже подключены: +- **Gmail** — читать и писать почту +- **Google Calendar** — работа с календарём +- **Google Drive** — доступ к файлам на диске +- **IDE** — интеграция с редактором кода (PhpStorm и др.) + +Можно подключить: GitHub, Slack, Jira, базы данных и многое другое. + +--- + +## Важные файлы Claude Code + +| Файл / Папка | Где | Зачем | +|---|---|---| +| `CLAUDE.md` | корень проекта | инструкция для Claude по проекту | +| `~/.claude/` | домашняя папка | глобальная память и настройки | +| `.claude/settings.json` | корень проекта | разрешения команд для проекта | \ No newline at end of file