Files
Learn_System/SETUP.md
T
Maxim Dolgolyov 8c961cd082 docs: SETUP.md — перенос проекта на другую машину
Чеклист: предустановки, npm install, .env, что переносить вне git
(БД/uploads/.env), миграции/seed, запуск, восстановление памяти,
ast-index/vex. Данные (с ключами) переносятся отдельным пакетом, не в git.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 08:41:07 +03:00

3.6 KiB

Перенос проекта на другую машину

Репозиторий содержит код, конфиг Claude и снимок памяти, но НЕ содержит данные и секреты (база, uploads, .env, node_modules) — их переносят отдельно, вне git (см. шаг 4 и переносной пакет).

0. Предустановки

  • Node.js ≥ 22 (используется встроенный node:sqlite; разрабатывалось на Node 24).
  • Git.
  • (опционально) Системный Chrome — для генерации учебников через puppeteer-core.
  • (опционально) MySQL / OpenSSL — если используются внешние скрипты.
  • (опционально) Инструменты поиска по коду: ast-index и vex.

1. Код

git clone <repo-url>
cd BQ-System

2. Зависимости

cd backend
npm install

(если в корне есть свой package.jsonnpm install и там)

3. Секреты — .env

cp backend/.env.example backend/.env   # затем заполнить JWT_SECRET и т.п.

Готовый .env есть в переносном пакете — можно взять его. Ключи ассистента (Kilo / Gemini) лежат в БД (app_settings), не в .env — приедут вместе с базой.

4. Данные (из переносного пакета, вне git)

Скопировать из пакета в проект:

  • learnspace.dbbackend/data/learnspace.db
  • uploads/backend/uploads/
  • .envbackend/.env

Без базы сервер поднимется на пустой БД (контент, пользователи и ключи ИИ отсутствуют).

5. База с нуля (только если нет готовой learnspace.db)

cd backend
npm run migrate          # применить миграции (создаёт схему)
npm run seed             # базовые данные
# контент — частично через скрипты:
npm run import:content
npm run import:exam-tasks
npm run index:textbooks  # RAG-индекс для ассистента

Полностью контент и пользователей seed-скрипты не восстановят — для «как тут» переноси готовую learnspace.db.

6. Запуск

cd backend
npm start                # http://localhost:3000

7. Память Claude

Скопировать .claude/memory/*.md в пользовательскую папку памяти Claude. Инструкция и команды — в .claude/memory/README.md.

8. Поиск по коду (опционально)

Установить ast-index и vex, затем построить индексы:

ast-index rebuild
vex index --semantic

Что НЕ переносится репозиторием (резюме)

Объект Где взять
backend/data/learnspace.db переносной пакет (контент + пользователи + ключи ИИ)
backend/uploads/ переносной пакет (загруженные файлы)
backend/.env переносной пакет или из .env.example
node_modules npm install
ast-index / vex индексы пересобрать на машине
Память Claude (юзер-папка) .claude/memory/ → см. README