Files
sag24-website/CLAUDE.md

70 lines
2.6 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.
# CLAUDE.md — sag24-website
Инструкции для Claude при работе с этим проектом.
## Язык
Всегда отвечать на **русском**.
## Всё через репозиторий
Все изменения — только через git репозиторий, если явно не сказано иное. Никогда не копировать файлы напрямую на сервер (scp/rsync/etc).
## Деплой — ОБЯЗАТЕЛЬНО после каждого изменения
После любых изменений в коде — деплоить самостоятельно, без ожидания команды:
```bash
# 1. Локально: commit + push
git add <файлы> && git commit -m "..." && git push
# 2. На сервере: pull + build
ssh -i ~/.ssh/id_ed25519_hhivp striker@str-u-01.striker.su 'cat <<XEOF | sudo -S bash
Gh_lpx2018!
cd /opt/www/sag24.ru/repo && git pull && npm run deploy
XEOF'
```
- `.git` принадлежит root — `git pull` требует sudo
- `npm run deploy` = `next build` (→ `../public_html`) + `indexnow.mjs`
## Задачи Singularity
Проект: **САГ** `P-a41aa057-5401-4ae5-843c-439381fdd7f2`
При работе — создавать/обновлять/закрывать задачи в Singularity:
- Создавать задачу до или в процессе работы
- Закрывать (`complete: 1`) сразу после выполнения
- Добавлять заметку с деталями
## Стек
- Next.js 15, TypeScript, App Router, static export
- Tailwind CSS v3 — конфиг `tailwind.config.js` (НЕ `.ts`!)
- i18n через `[lang]` сегмент: `/ru/...`, `/en/...`
- Контент: `src/locales/ru.ts`, `src/locales/en.ts`
## Структура страниц
```
/ru/ → Главная
/ru/uslugi/ → Каталог + /[slug]/ (8 услуг)
/ru/about/ → О компании
/ru/clients/ → Клиенты
/ru/partners/ → Партнёры
/ru/faq/ → FAQ
/ru/kontakty/ → Контакты
```
## SEO
- BreadcrumbList JSON-LD на всех страницах — `src/lib/breadcrumbs.ts`
- generateMetadata на каждой странице с canonical + hreflang
- После деплоя IndexNow отправляется автоматически
## Известные ограничения
- Static export — API routes не работают; форма идёт на `/api/contact.php` (PHP)
- `trailingSlash: true` — все URL заканчиваются на `/`
- Turnstile SITE_KEY: `0x4AAAAAACrQS-dAb7E9RGPQ`