- Исправлен маппинг статусов Logseq → PPDB (теперь отправляет TODO/DOING/DONE вместо new/in_progress/completed) - Удалён нерабочий код setupConfig (использовал несуществующий API) - Исправлена сборка: теперь создаётся index.html + assets/ вместо одного index.js - Исправлено чтение свойств блоков (проверка source-id/sourceId/source_id) - Добавлен скрипт deploy.sh для деплоя в ~/.logseq/plugins/
48 lines
2.5 KiB
Markdown
48 lines
2.5 KiB
Markdown
# CLAUDE.md
|
||
|
||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
||
## Описание проекта
|
||
|
||
TODO Everywhere — Logseq плагин для синхронизации задач из внешних источников (PPDB, Gitea) в Logseq.
|
||
|
||
## Команды сборки
|
||
|
||
```bash
|
||
npm install # Установка зависимостей
|
||
npm run build # Сборка для продакшена (dist/index.js)
|
||
npm run dev # Режим разработки с автопересборкой
|
||
```
|
||
|
||
## Архитектура
|
||
|
||
Плагин состоит из одного файла `src/index.ts`, который:
|
||
|
||
1. **Настройка config.edn** (`setupConfig`) — при первой установке автоматически добавляет Datalog-запросы для PPDB и Gitea в конфиг Logseq
|
||
2. **Синхронизация PPDB** (`syncPPDBTasks`) — получает задачи через `/api/logseq/tasks` и создаёт страницу `PPDB - TODO`
|
||
3. **Синхронизация Gitea** (`syncGiteaTasks`) — получает issues через Gitea API и создаёт страницы `Gitea - {name} - TODO`
|
||
4. **Запись в страницу** (`writeToPage`) — конвертирует данные в формат Logseq блоков с TODO/DOING/DONE статусами
|
||
|
||
### Ключевые интерфейсы
|
||
|
||
- `PPDBTask` — структура задачи из PPDB API (включает `logseq_priority` и `logseq_status`)
|
||
- `GiteaIssue` — структура issue из Gitea API
|
||
- `GiteaSource` — настройки подключения к Gitea репозиторию
|
||
|
||
### Конвертация данных
|
||
|
||
- Приоритеты: critical/high → [#A], normal → [#B], low → [#C]
|
||
- Статусы: new → TODO, in_progress → DOING, completed/rejected → DONE
|
||
- Gitea labels определяют приоритет и тип (bug/feature)
|
||
|
||
## Настройки плагина
|
||
|
||
Настройки хранятся через `logseq.settings` и включают:
|
||
- `ppdbUrl`, `ppdbApiKey` — подключение к PPDB
|
||
- `giteaSources` — JSON массив Gitea репозиториев
|
||
- `configVersion` — версия конфига для отслеживания миграций
|
||
|
||
## Связанный API
|
||
|
||
PPDB endpoint `/api/logseq/tasks` (в проекте ppdb-site) требует `LOGSEQ_API_KEY` в переменных окружения.
|