Files
TE/CLAUDE.md
Евгений Храмов d59ad3c677 Исправлена сборка плагина и удалён нерабочий код
- Исправлен маппинг статусов 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/
2026-01-16 00:27:24 +03:00

48 lines
2.5 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.
# 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` в переменных окружения.