Как я перестроил весь блог с помощью Claude Code
До 2023–2024 годов я ещё считал, что традиционный технический блог имеет реальную ценность. Можно систематизировать заметки, опыт собеседований, встреченные проблемы, ловушки, в которые попал. Персональная база знаний, которая действительно что-то значит.
Но с середины 2025 года модели начали итерироваться быстрее и становились значительно мощнее. Даже Cursor — который мне действительно нравился в начале 2025 года как AI-редактор кода — к второй половине года заметно уступал Claude Code. Тогда я понял, что пора снести весь блог и перестроить его с нуля (надеясь сохранить всё ценное, что в нём было).
Цифры
Начну с данных, потому что такой объём работы вручную был бы просто разрушительным. Могу с полной уверенностью сказать, что моя прокрастинация убила бы этот проект десять раз. Но с AI-инструментами всё было сделано за 10 дней (во время Лунного Нового года, между прочим) — качество достойное, честно говоря, маленькое чудо.
| Метрика | Значение |
|---|---|
| Продолжительность | 10 дней (8–18 февраля 2026) |
| Всего коммитов | 104 |
| Изменённых файлов | 1 078 |
| Вставленных строк | 263 000+ |
| Удалённых строк | 21 000+ |
| Локалей | 4 → 10 |
| Документов переведено на англ. | 89 |
| Сгенерировано файлов перевода | 801 (89 документов × 9 локалей) |
| Постов блога с полной i18n | 5 |
| Используемые инструменты | Claude Code |
Что я фактически сделал
Фаза 1: Основа (8–9 февраля) — 8 коммитов
Перепроектировал главную страницу и страницу «Обо мне» с нуля. Настроил CLAUDE.md как конституцию проекта — формат коммитов, правила i18n, конвенции по структуре файлов. Расширил локали с 4 до 6. Всё делалось интерактивно с Claude Code.
Эта фаза была в основном про архитектурные решения: как должна выглядеть главная страница? Как структурировать страницу «Обо мне»? Каким конвенциям должен следовать весь проект? Все эти вопросы прорабатывались в диалоге с Claude — особенно план выполнения. Я занимался только ревью и корректировками.
Фаза 2: Масштабирование (11–12 февраля) — 14 коммитов
Добавил ещё 4 локали (pt-BR, de, fr, vi), доведя общее количество до 10. Сгенерировал файлы перевода темы. Перепроектировал навбар и сайдбар для лучшей организации контента. Переключил defaultLocale на en с маршрутизацией i18n на Vercel. Обновил зависимости. Расширение локалей было почти полностью механической работой — именно то, в чём AI хорош. Было потрачено много токенов, но сделать это вручную за такой короткий срок было бы практически невозможно.
Фаза 3: Контент (13–14 февраля) — 14 коммитов
Очистил старые посты блога. Написал годовое размышление. Перевёл все посты блога на 10 локалей. Создал страницу-витрину проектов. Завершил i18n главной страницы. Исправил баги UI-компонентов (выравнивание кнопок ShowcaseCard, обрезка выпадающего меню).
Что я обнаружил на этом этапе: AI не очень хорошо замечает сломанную вёрстку с первого раза. Потребовалось несколько итераций, где я точно указывал, что не так с UI, прежде чем всё было исправлено. Для визуальных вещей по-прежнему нужен человеческий взгляд.
Фаза 4: Сайдбар + Блог (15 февраля) — 7 коммитов
Реорганизовал всю структуру сайдбара документации. Перевёл метки категорий сайдбара для всех 10 локалей. Вычистил 206 мёртвых ключей перевода, оставшихся от предыдущей реструктуризации. Написал и перевёл пост о переговорах после сокращения на все локали.
Фаза 5: i18n документации (16–17 февраля) — 14 коммитов
Большая партия: перевёл 89 документов на 9 неанглийских локалей, создав 801 файл перевода. Охватил разделы Knowledge (JavaScript, TypeScript, CSS, Vue, React, Browser, Security, Engineering), Experience и Coding.
Эта фаза и следующая обе были масштабными потребителями токенов — просто загрузка высокомеханической работы по переводу на AI (большинство этих языков я всё равно не читаю).
Фаза 6: Исправление качества (17–18 февраля) — 24 коммита
Эта фаза существует потому, что результат Фазы 5 был недостаточно чистым. Двадцать четыре коммита, все исправляющие AI-генерированные переводы:
- Немецкий: Умлауты отображались как ASCII (
ueвместоü,aeвместоä) - Французский: Акценты убраны (
eвместоé,aвместоà) - Вьетнамский: Диакритические знаки полностью отсутств овали (вьетнамский без диакритики практически нечитаем)
- Испанский/Португальский: Знаки ударения пропущены повсюду
- Упрощённый китайский: Примешаны традиционные иероглифы (AI иногда не различает две системы письма)
- Остатки CJK: Китайские комментарии в блоках кода остались непереведёнными для es, pt-BR, ja, ko, vi
Каждое исправление порождало новые исправления. Исправление португальских акцентов привело к сверхкоррекции и поломке полей id и slug во frontmatter. Исправление вьетнамской диакритики пропустило один файл. Исправление испанских акцентов дало ложные срабатывания, потребовавшие ещё одного коммита.
Честно говоря, если вы не владеете конкретным языком, человек не может осмысленно вмешаться. Вы полностью зависите от перекрёстной валидации разными моделями.
Что AI делает плохо:
// Примеры:
- Правильная расстановка диакритики с первого раза (акценты, умлауты, тональные знаки)
- Надёжное различение традиционного и упрощённого китайского
- Принятие решения, оставлять ли комментарии в коде на оригинальном языке или переводить
- Сохранение полей frontmatter при трансформации контента
Что пошло не так
Катастрофа с акцентами и диакритикой. AI заменял не-ASCII символы ASCII-аппроксимациями в пяти языках. Это породил о 24 коммита исправлений — почти четверть от общего числа. Хуже всего было с вьетнамским: без диакритики весь язык практически неузнаваем.
Смешение традиционного и упрощённого китайского. В переводах zh-cn появлялись традиционные иероглифы в комментариях к коду и inline-ссылках. AI просто не мог надёжно различить две системы письма.
Повреждение frontmatter. При переводе документов AI иногда изменял поля id и slug во frontmatter, ломая маршрутизацию Docusaurus. Один коммит существует исключительно для исправления португальских значений id и slug, искажённых при коррекции акцентов.
Цепные реакции сверхкоррекции. Исправление одной проблемы часто создавало другую. Исправление португальских акцентов сверхкорректировало некоторые технические термины. Исправление вьетнамской диакритики пропустило файл. Каждый «исправительный» коммит имел ненулевую вероятность создания новой проблемы.
