Skip to content

Echo CLI #25

Description

@katrinio

Идея

Не заменять веб-интерфейс, а создать небольшое консольное приложение — компаньон для Echo.

Web остаётся основным интерфейсом, а CLI становится быстрым способом взаимодействия с журналом из терминала.

Почему не переписывать Echo в TUI

Настоящий терминальный интерфейс (TUI) лишит Echo многих преимуществ:

  • не будет удобно работать с телефона;
  • исчезнет домашний экран (PWA);
  • сложнее просматривать длинные записи;
  • не останется ссылок на страницы;
  • усложнится деплой и удалённый доступ.

Веб уже решает все эти задачи.

Вместо этого

Создать отдельную утилиту:

echo new
echo today
echo tags
echo search gym
echo stats
echo backup

CLI может работать:

  • через HTTP API Echo;
  • или напрямую с базой данных (если запущен локально).

Возможные команды

echo new

Создать новую запись.

echo today

Показать сегодняшние записи.

echo search running

Поиск.

echo tag PROJECTS

Все записи с тегом.

echo stats

Статистика.

echo random

Случайная запись.

echo backup

Создать резервную копию.

Общая архитектура

       Echo Web
            │
     FastAPI Backend
            │
    ┌───────┴────────┐
    │                │
 Browser         Echo CLI

Оба клиента используют одну и ту же бизнес-логику.

Философия

Echo остаётся веб-приложением, но ощущается как терминальная утилита.

CLI не дублирует Web, а дополняет его:

  • Web — для просмотра, редактирования, телефона и истории.
  • CLI — для скорости, автоматизации, хоткеев и интеграции с терминалом.

Долгосрочная идея

Постепенно сформировать собственый “терминальный язык” Echo.

Например:

echo new
echo search gym
echo tags
echo tag HEALTH
echo stats
echo today
echo week
echo random
echo export

Тогда и веб-интерфейс, и CLI будут использовать одни и те же команды и принципы взаимодействия. Пользователь сможет переключаться между браузером и терминалом без необходимости изучать два разных интерфейса.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions