Чеклист: предустановки, npm install, .env, что переносить вне git (БД/uploads/.env), миграции/seed, запуск, восстановление памяти, ast-index/vex. Данные (с ключами) переносятся отдельным пакетом, не в git. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.json — npm install и там)
3. Секреты — .env
cp backend/.env.example backend/.env # затем заполнить JWT_SECRET и т.п.
Готовый .env есть в переносном пакете — можно взять его.
Ключи ассистента (Kilo / Gemini) лежат в БД (app_settings), не в .env — приедут вместе с базой.
4. Данные (из переносного пакета, вне git)
Скопировать из пакета в проект:
learnspace.db→backend/data/learnspace.dbuploads/→backend/uploads/.env→backend/.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 |