кодовые ворота

Code change rules

Правила для изменений кода, маршрутов, компонентов, библиотек данных, middleware, redirects, headers и build-поведения.

Код можно менять быстро, но нельзя менять вслепую. У каждой правки есть проверка, маршрут и запасной выход.

technical owner

Routes

Добавлять route в structure, route-audit prefixes if dynamic, sitemap logic when public.

Не создавать сиротские страницы без ссылки и реестра.

technical owner

Headers

Internal routes get no-store, no-referrer, X-Robots-Tag noindex/nofollow.

Не индексировать operator, analytics, handbook, experiments or support pages.

developer

Libraries

Use typed localized structures and fallback en for unknown locale.

Не индексировать {ru,en} объект напрямую неизвестным locale без fallback.

Before change

Изменение начинается не с кода, а с причины и границ.

  • Назвать owner и impacted routes.
  • Понять, публичная это страница или внутренний noindex-раздел.
  • Определить rollback path до merge.

During change

Вносить изменения маленькими партиями, чтобы ошибка не расползалась по дому тихим дымом.

  • Не смешивать payment, content, UX и security в одном бесформенном коммите.
  • Проверять маршруты, внутренние ссылки, SEO и noindex рядом с изменением.
  • Не добавлять tracking без privacy-safe note.

After change

Изменение заканчивается не тогда, когда код сохранён, а когда его можно проверить и откатить.

  • Run typecheck, lint, tests, route-audit, links, structure and security checks.
  • Записать результат в relevant pass report или decision log.
  • Назвать, что осталось непроверенным и где это проверить в Vercel.

checklist

  • No unused imports.
  • No dynamic href that route-audit cannot understand unless prefix is allowed.
  • No environment keys committed.
  • No node_modules, .next, env files in archive.

handoff

  • Technical owner writes changed files and checks run.
  • Owner receives known build caveats and Vercel verification steps.

красные флаги

  • Build fails before compile success.
  • Route-audit failure ignored.
  • Security check skipped after touching headers, env or auth.

связанные двери