Kaiten Time Logger for VS Code

🚀 Логирование времени в Kaiten прямо из VS Code после коммита
Расширение для VS Code, которое автоматически (или вручную) открывает модальное окно для логирования времени в Kaiten после выполнения git коммита.
📋 Особенности
- ✅ Автоматическое определение карточки из названия ветки (поддерживает форматы:
feat/DEV-12345, DEV-12345, bugfix/DEV-12345_description и др.)
- ✅ Просмотр уже залогированного времени по карточке
- ✅ Выбор роли из списка доступных ролей (с запоминанием последней выбранной)
- ✅ Информация о текущем пользователе (имя, email, роль, часовой пояс)
- ✅ Статистика времени за сегодня (общее время и разбивка по карточкам)
- ✅ Автоматическое открытие после коммита (опционально)
- ✅ Сохранение настроек (токен, базовый URL, последняя роль)
- ✅ Поддержка времени в минутах и часах
🚀 Установка
Из VSIX файла
- Скачайте файл
kaiten-time-logger-0.0.1.vsix
- В VS Code нажмите
Cmd/Ctrl+Shift+P
- Выберите
Extensions: Install from VSIX...
- Укажите путь к скачанному файлу
Из исходников
git clone https://github.com/yourusername/kaiten-time-logger.git
cd kaiten-time-logger
bun add -d @vscode/vsce
bun run build
code --install-extension *.vsix
🎯 Использование
Первоначальная настройка
При первом запуске расширение запросит:
- Базовый URL вашего Kaiten пространства
- API токен (как получить см. ниже)
Команды
| Команда |
Описание |
Kaiten: Логировать время |
Открыть модальное окно для логирования времени |
Kaiten: Показать информацию о пользователе |
Показать информацию о текущем пользователе Kaiten |
Kaiten: Показать время за сегодня |
Показать статистику времени за сегодня |
Kaiten: Обновить список ролей |
Принудительно обновить список ролей |
Kaiten: Вкл/Выкл авто-открытие после коммита |
Переключить автоматическое открытие окна после коммита |
Kaiten: Вкл/Выкл авто-определение карточки из ветки |
Переключить авто-определение ID карточки из названия ветки |
Kaiten: Сбросить настройки |
Сбросить все настройки расширения |
Модальное окно
После вызова команды открывается окно с полями:
- ID карточки - автоматически определяется из названия ветки (если включено)
- Затраченное время - можно выбрать минуты или часы
- Дата выполнения - по умолчанию сегодня
- Роль - выпадающий список из ваших ролей в Kaiten
- Комментарий - описание выполненной работы (опционально)
Отображение уже залогированного времени
Если ID карточки определен (автоматически или вручную), расширение покажет:
- Общее время по карточке
- Разбивку по дням с комментариями
⚙️ Настройки
Расширение добавляет следующие настройки в VS Code:
{
"kaitenTimeLogger.baseUrl": "https://your-space.kaiten.ru",
"kaitenTimeLogger.apiToken": "your-api-token",
"kaitenTimeLogger.lastSelectedRole": -1,
"kaitenTimeLogger.autoOpenAfterCommit": false,
"kaitenTimeLogger.autoDetectCardFromBranch": true
}
🔑 Как получить API токен Kaiten
- Зайдите в ваш Kaiten
- Перейдите в Настройки (Settings)
- Найдите раздел API Токены (API Tokens)
- Создайте новый токен с правами:
- Чтение информации о пользователе
- Создание временных логов
- Чтение ролей
- Скопируйте полученный токен
🌿 Поддерживаемые форматы веток
Расширение умеет определять ID карточки из следующих форматов:
feat/DEV-12345
DEV-12345
bugfix/DEV-12345_description
feature/TASK-123
release/DEV-123
hotfix/DEV-123
- Любые другие форматы с числами (опционально)
🛠 Разработка
# Клонирование репозитория
git clone https://github.com/yourusername/kaiten-time-logger.git
cd kaiten-time-logger
# Установка зависимостей
bun install
# Запуск в режиме отладки
F5
# Сборка расширения
bun run build
# Установка собранного расширения
code --install-extension *.vsix
📁 Структура проекта
kaiten-time-logger/
├── src/
│ ├── apiClient.js # API запросы к Kaiten
│ ├── branchParser.js # Парсинг названий веток
│ ├── modalView.js # Модальное окно
│ ├── settingsManager.js # Управление настройками
│ └── timeTracker.js # Трекинг времени
├── extension.js # Главный файл расширения
├── package.json # Конфигурация расширения
├── LICENSE.md # Лицензия
└── README.md # Документация
📝 Лицензия
Распространяется под лицензией MIT. См. файл LICENSE для подробностей.
🙏 Благодарности
📧 Контакты
⭐ Поставьте звезду проекту, если он вам помог!