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