Files
content-pipeline/README.md
T

77 lines
3.7 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.
# content-pipeline
Оркестратор контентного конвейера + CMS-слой для управления публикациями.
**Не CMS как таковая, а развитие editor-pro + GEO через более глубкую интеграцию.**
## Что это
Гибрид двух слоёв в едином UI:
```
┌─────────────────────────────────────────┐
│ UI-панель (один экран) │
├─────────────────────────────────────────┤
│ 1. Pipeline-оркестратор │ ← управление конвейером
│ (editor-pro → GEO → публикация) │ запуск, статус, ретрай
│ │
│ 2. CMS-слой │ ← удобная правка
│ (список статей / редактор / │ BlockNote + превью
│ превью / публикации) │
├─────────────────────────────────────────┤
│ FastAPI-оркестратор на 9876 │
│ (уже есть для SEO-проектов) │
└─────────────────────────────────────────┘
```
## Архитектура
### Единая модель данных (`src/types.ts`)
Один объект «статья» используют оба слоя:
- `slug`, `title`, `body` — базовые поля
- `utm` — UTM-теги для персонализации hero
- `geo` — GEO-мета (сущности, ключевые запросы)
- `status` — draft / in-review / published / archived
- `editorProTaskId` — связь с editor-pro
Валидация и slugify — единые для обоих слоёв (никакого дублирования).
### Pipeline-оркестратор (`src/pipeline.ts`)
Шаги: `generate` (editor-pro) → `optimize` (GEO) → `publish`.
- Запуск конвейера для списка статей
- Статусы шагов (pending/running/success/failed)
- Ретрай до 3 раз при ошибке (экспоненциальный backoff)
- Делегирует тяжёлую работу шагам (не выполняет сам)
### Хранилище (`src/store.ts`)
Единый источник данных для обоих слоёв:
- CRUD статей
- Фильтрация по статусу (для CMS)
- Поиск по заголовку/тексту
- В MVP — in-memory Map; в прода — SQLite/Postgres (тот же интерфейс)
## Почему не форк CMS
Готовые CMS (AstroAdmin, astro-cms, EmDash) — CRUD для контента, не pipeline-оркестратор.
Они не знают про editor-pro, GEO, UTM-теги. Им пришлось бы писать слой адаптации —
свой слой проще и точнее.
## Roadmap
- [ ] FastAPI-оркестратор (9876) — запуск pipeline
- [ ] SQLite-репозиторий вместо in-memory
- [ ] Блок-редактор (BlockNote/TipTap) для CMS-слоя
- [ ] Превью через iframe dev-сервера
- [ ] Привязка к deploy-пайплайну (rsync на хостинг)
- [ ] Статусы pipeline в UI (отслеживание задач)
## License
Приватный. Концепт: развитие editor-pro + GEO.