Bicycle/.claude/memory/idea_cli_entrypoint.md
Egor Isaev af0c247403 dev
2026-08-06 17:02:53 +03:00

17 lines
1.9 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.

---
name: idea-cli-entrypoint
description: Идея на будущее — добавить CLI-точку входа (cli.php) для миграций/крона/скриптов
metadata:
type: project
---
Отложенная идея для Bicycle: добавить **CLI-точку входа** — отдельный скрипт `cli.php` в корне (рядом с `index.php`), запускаемый из терминала (`php cli.php <команда>`).
Назначение: миграции БД, крон-задачи (рассылки/отчёты), обслуживающие скрипты (сидинг, очистка логов) — то, что нельзя/опасно вешать на веб-URL.
Структура: `cli.php` повторяет «голову» `index.php` (константы, autoload, `Core::init()`), но вместо `Request::factory()->execute()` разбирает `$argv` и запускает команду. Команды — классы в `App/Command/` (аналог контроллеров для консоли), простой роутинг по имени. `symfony/console` — оверкилл для «велосипеда» (см. `feedback_educational_project.md`).
**Why:** пользователю идея понравилась, но решили отложить — пока нет потребителя (нет слоя БД → нет миграций, нет крон-задач). Делать сейчас = пустая инфраструктура без клиента (как был удалённый `ApiController`).
**How to apply:** реализовать, когда появится первый реальный потребитель — вероятнее всего слой БД (первый клиент — миграции, см. `roadmap.md`) или конкретная фоновая задача. Тогда `cli.php` пишется за полчаса под неё.