Геймифицированный трекер привычек, созданный для победы над исполнительной дисфункцией. Strike V превращает рутину в игру, где любая большая цель — это скала, которую нужно разбить.
Вместо бесконечных списков дел — простая и мощная механика:
- Метафора: ваша цель — это монолитная скала с определенным запасом HP.
- Правило 5 ударов: у вас есть ровно 5 слотов для задач. Это заставляет фокусироваться только на самом важном.
- Прогресс: каждый выполненный пункт — это удар киркой 🔨. Удар уменьшает здоровье скалы.
- Импульс: мгновенная визуальная и звуковая обратная связь за каждое действие.
- Main & Side Quests: ведите одну глобальную цель и сколько угодно побочных квестов.
- Умные типы задач:
- Привычка: многократное выполнение в течение срока.
- Джокер: разовая задача для «разбавления» рутины.
- Замещение: временная задача на один день для гибкости.
- Режимы игры:
- 🎯 Фокус-режим: показывает только одну задачу за раз, помогая не распыляться.
- 🔥 Хардмод: блокирует доступ к сайд-квестам, пока вы не выполнили норму по основной цели.
- Предустановки (Presets): 4 готовых набора задач:
- Путь Программиста (90 дней) — кодинг, гиты, алгоритмы
- Английский: Базовый (30 дней) — слова, чтение, прослушивание
- Осознанность (30 дней) — медитация, йога, цифровая гигиена
- Похудение и Здоровье (60 дней) — фитнес, питание, восстановление
- Локальное хранилище: все данные сохраняются в браузере с поддержкой экспорта и импорта для бэкапа.
- Экспорт/импорт: сохраняйте игру как JSON файл или используйте сжатый ключ (Base64) для быстрого обмена состоянием.
- Атмосфера: динамический фон (туман), звуковые эффекты и реактивные комментарии от самой «Скалы».
Frontend:
- Vue 3 (Composition API) с типизацией TypeScript
- Vite (с rolldown-vite для Rust-бандлинга) — молниеносная сборка
- Tailwind CSS 4 для стилизации
- Floating Vue для системы подсказок
Утилиты:
- pako — сжатие состояния игры (DEFLATE)
- Плавные анимации через CSS transitions
Тестирование:
- Vitest с покрытием кода
- @vue/test-utils для компонент-тестов
Note
Проект использует rolldown-vite — экспериментальный Rust-бандлер для ускорения сборки.
- День начинается в: Настраивается час, с которого считается новый день (0-23)
- Фокус-режим: Показывает одну случайную задачу, помогает избежать перегруза
- Хардмод: Блокирует побочные квесты до выполнения нормы основного квеста
- Звуки: Включайте/отключайте звуковые эффекты
- Подсказки: Всплывающие описания функций интерфейса
JSON Экспорт:
- Сохраняет полное состояние игры в читаемом формате
- Используйте для резервных копий или обмена между устройствами
- Скачивается как
rock-breaker-YYYY-MM-DD.json
Сжатый ключ:
- Компактное представление состояния (Base64 + DEFLATE)
- Идеален для быстрого обмена через текст
- Копируйте и вставляйте в настройках приложения
- Установите зависимости:
pnpm install
- Запустите сервер разработки:
pnpm dev
- Сборка проекта:
pnpm build
Полезные команды:
pnpm lint # Проверка кода (ESLint) pnpm lint:fix # Автоисправление стиля pnpm test # Запуск unit-тестов pnpm test:watch # Интерактивный режим тестов pnpm test:coverage # Отчет о покрытии кодаСтруктура проекта:
src/ ├── features/ # Модули функционала │ ├── game/ # Основная игровая логика │ ├── settings/ # Настройки и предустановки │ ├── tasks/ # Управление задачами │ └── help/ # Справка и информация ├── shared/ # Переиспользуемые утилиты и компоненты │ ├── utils/ # Функции (обработка дат, сжатие) │ ├── constants/ # Игровые константы │ └── types/ # TypeScript интерфейсы Strike V — превратите «надо» в «удар»!
