Перейти к основному содержимому

Как я перестроил весь блог с помощью Claude Code

· 6 минут чтения
Pitt Wu
Software / Product Engineer

До 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 локалей)
Постов блога с полной i18n5
Используемые инструменты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, искажённых при коррекции акцентов.

Цепные реакции сверхкоррекции. Исправление одной проблемы часто создавало другую. Исправление португальских акцентов сверхкорректировало некоторые технические термины. Исправление вьетнамской диакритики пропустило файл. Каждый «исправительный» коммит имел ненулевую вероятность создания новой проблемы.

Где люди по-прежнему важны

Архитектурные решения. Какие 10 локалей поддерживать. Как организовать сайдбар. Что поместить в выпадающее меню навбара, а что — на верхний уровень. Эти решения определили всю последующую работу.

Оценка качества. Сломан ли UI? Соответствует ли вёрстка дизайн-макету? Есть ли очевидные ошибки перевода — например, проверка правильности переключения дефолтной локали? Для этого нужны глаза.

Файл CLAUDE.md. Это по сути конституция репозитория, которая учит AI конвенциям вашего проекта: формат коммитов, структура файлов, правила i18n, вещи, которые никогда не должны происходить. Чем тщательнее этот файл, тем меньше ошибок делает AI и тем меньше нужно человеческого вмешательства. Он требует регулярных итераций и обновлений.

Выводы

Начните с хорошего CLAUDE.md. Каждая конвенция, которую вы туда добавите, сэкономит десятки циклов исправлений в будущем. Мой вырос из нескольких строк в полноценный документ, охватывающий формат коммитов, правила i18n, структуру проекта и явные запреты.

Группируйте однотипную работу, проверяйте партиями. Не переводите по одному файлу за раз. Загрузите AI 15 похожих файлов сразу, затем проверяйте результат партией. Это избавляет от необходимости утверждать каждую мелочь отдельно.

Параллелизируйте инструменты по возможности. Запускать Claude Code для интерактивной работы, одновременно передавая пакетные задачи Gemini, Codex и т.д. — это был самый значительный прирост эффективности. Не сериализуйте то, что можно распараллелить.

Документируйте всё. Каждое сообщение коммита, каждая граница фазы, каждое исправление — всё в истории. Если вы ведёте крупный AI-проект, ваша история коммитов — это ваша документация.