# Writer IDE: Архитектурная спецификация ## 🎯 Видение проекта Создание локально-ориентированного веб-приложения (IDE для писателей), которое объединяет мощь rich-text редактирования, структурированное управление сюжетом (Story Bible) и бесшовную интеграцию AI-ассистента для генерации, редактуры и анализа текста. Приложение должно давать пользователю полный контроль над данными (локальное хранение) и гибкость в выборе AI-моделей (OpenRouter для качества, Ollama для приватности). ## 🛠️ Технологический стек ### Frontend - **Фреймворк**: Next.js 14+ (App Router, TypeScript) - **Стилизация**: Tailwind CSS (строгое использование utility-классов, никаких inline-styles) - **Редактор**: Tiptap (Headless wrapper вокруг ProseMirror) - **Управление состоянием**: Zustand (легковесный, без бойлерплейта Redux) - **Иконки**: Lucide React - **HTTP-клиент**: Axios (с типизацией ответов) ### Backend - **Фреймворк**: FastAPI (Python 3.10+) - **Валидация**: Pydantic V2 - **Асинхронность**: Строгое использование `async`/`await` - **Хранение**: Локальная файловая система (JSON/Markdown файлы в директории проекта пользователя) ### AI Интеграция (Внутренняя логика приложения) - **Роутинг**: Абстрактный сервис, поддерживающий как OpenRouter API, так и локальный Ollama (`http://localhost:11434`). - **Пресеты**: Жесткое разделение параметров генерации (`temperature`, `top_p`) в зависимости от действия (Creative Draft, Editor, Brainstorm). ## 📁 Структура проекта ```text writer-ide/ ├── PROJECT.md # Этот файл ├── TASKS.md # Пошаговый план разработки ├── AGENTS.md # Стратегия выбора AI-моделей ├── .cursorrules # Правила для AI-ассистента в IDE │ ├── frontend/ # Next.js приложение │ ├── src/ │ │ ├── app/ # Next.js App Router (pages, layout) │ │ ├── components/ # UI компоненты │ │ │ ├── editor/ # Tiptap редактор, Toolbar, AI-меню │ │ │ ├── sidebar/ # FileExplorer, StoryExplorer │ │ │ └── ui/ # Переиспользуемые кнопки, инпуты │ │ ├── lib/ # Утилиты, конфигурация axios, типы │ │ └── stores/ # Zustand stores (appStore, editorStore) │ └── package.json │ └── backend/ # FastAPI сервер ├── main.py # Точка входа, настройка CORS ├── routers/ # API эндпоинты (projects, documents, ai) ├── services/ # Бизнес-логика (file_ops, llm_router) └── models/ # Pydantic схемы запросов/ответов