Files
portal/docs/Tooling_v8_3.md
T
Дмитрий 30f0335f5f phase1(test): Pest 4 swap + reopen(CTO-12) — Pest 3 → Pest 4
Произошло так: при `composer require pestphp/pest pestphp/pest-plugin-laravel
--dev --with-all-dependencies` я не зафиксировал `^3` — composer подтянул
свежайшую Pest v4.7.0 + pest-plugin-laravel v4.1.0. Smoke-test
(`./vendor/bin/pest`) на default-тестах Laravel 11 прошёл 2/2 за 281 ms —
backward-compat с Pest 3 syntax подтверждён. Заказчик 08.05 (поздний вечер)
принял Pest 4 после live-проверки на стеке.

Бонус Pest 4: browser testing (без Dusk), stress testing, mutation
testing v2. Откат дёшев — `composer require pestphp/pest:^3`.

Что сделано:
- composer remove phpunit/phpunit (был direct dev-dep) — phpunit остался
  как транзитивная зависимость Pest
- composer require pestphp/pest:^4.7 pestphp/pest-plugin-laravel:^4.1 --dev
- Pest.php создан через `vendor/bin/pest --init` (`tests/Pest.php`)
- `vendor/bin/pest` smoke-test: 2 passed (Unit/Feature ExampleTest), 281 ms
- `vendor/bin/pest --init` упал на интерактивном промпте «Wanna show Pest
  some love?» в non-interactive PowerShell — Pest.php к этому моменту уже
  создан, нефатально

Reopen(CTO-12): по правилу «явная фиксация переоткрытий» обновлены
3 источника:
- docs/Открытые_вопросы_v8_3.md v1.15→v1.16: блок «Что изменилось в v1.16»,
  таблица §0 (CTO-12 переоткрыт+закрыт), запись §3 (Pest 4 + обоснование),
  финальный список §X (Pest 4)
- docs/Tooling_v8_3.md v1.2→v1.3: блок «Что нового в v1.3», §3.1 п.4
  (Pest 4 в boost:install), §3.4 строка 18 (Pest 4 + бонусы), §6 п.2
  (конфликт Pest↔PHPUnit), §10.1 п.9 (процедура установки + warning про
  --init на Windows non-interactive)
- CLAUDE.md v1.4→v1.5: §0 источники (Tooling v1.3, Реестр v1.16),
  §3.2 строка 18 (Pest 4), §7 п.5 (Pest 4 в boost:install), футер с
  историей версий

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 09:56:20 +03:00

32 KiB
Raw Blame History

Приложение Н — Tooling, скиллы и плагины Claude (v8.3)

Дата: 08.05.2026 (поздний вечер) Версия: 1.3 (Pest 3 → Pest 4 после live-проверки на стеке; CTO-12 переоткрыт+закрыт) Адресат: Claude + разработчики проекта Лидерра Назначение: единый источник истины по 28 инструментам разработки, скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент.

Связано:

  • Pravila_raboty_Claude_v1_1.md v1.2+ — §4.8 «Шифры приложений» (Н занят)
  • CLAUDE.md (корень репозитория) — оперативная карта инструментов с приоритетом правил
  • README_АРХИВ_v8_4.md v8.4+ — состав архива

Что нового в v1.3 (08.05.2026 поздний вечер): Pest 3 → Pest 4 в §3.3 п.18 (тестирование), §6 п.2 (конфликт), §10.1 п.9 (boost:install). Решение: при composer require pestphp/pest --dev --with-all-dependencies без ^3 composer подтянул Pest v4.7.0; smoke-test 2/2 на default-тестах Laravel 11 прошёл за 281 ms — backward-compat подтверждён. Бонус Pest 4: browser testing (без Dusk), stress testing, mutation testing v2. Откат дёшев — composer require pestphp/pest:^3. Подробности в Открытые_вопросы_v8_3.md §3 и блоке «Что изменилось в v1.16» там же.

Что было в v1.2 (08.05.2026 вечер): Sail отключён из allow-list Boost (§3.1 п.2/п.3). Причина: машина — OpenStack-VPS, nested virtualization выключена провайдером, Docker Desktop/WSL2/Hyper-V запустить невозможно (HypervisorPresent = True, но guest не получает VT-x). Переход на native-стек: PostgreSQL 16 (choco install postgresql16, Windows-сервис) + Memurai Developer (choco install memurai-developer.install, Redis 7-совместимый Windows-сервис, free до 1GB). pg_partman/pg_audit/pg_anonymizer на native Windows — ручная сборка/замена; на MVP — заменить ручным cron'ом для партиций и triggers (которые уже в schema v8.5). Подробности в memory/project_phase1_strategy.md.

Что было в v1.1 (08.05.2026): закрыт CTO-12 — выбран Pest 3 (не PHPUnit). Обновлены §3.1 п.4 (boost:install), §3.4 (тестирование), §6 п.2 (конфликт Pest↔PHPUnit), §10.1 п.9 (процедура перехода). Обоснование выбора — в Открытые_вопросы_v8_3.md §3 (Pest dataset'ы для 14 статусов / 34 RLS, architecture testing для закрепления правил Claude, родной для Boost).

Что было в v1.0: первая версия 06.05.2026. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10 пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell.


0. Сводка

Фаза Триггер Активных к концу фазы Δ к предыдущей
0 — сейчас (документация + 8 HTML-прототипов) сразу 9 +9
1 — старт Laravel composer create-project laravel/laravel 17 +9 новых, −1 заменённый (PostgreSQL MCP → Laravel Boost)
2 — старт frontend первый коммит в resources/js/ (Vue 3 + Vuetify 3) 23 +6
3 — pre-production ~спринт 12, перед публичным релизом 28 +5

Полный перечень — §2–§5. Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9.

Ключевой принцип фазирования: не активируем фазу N+1, пока не закрыт триггер фазы N. Без composer create-project Boost не работает; без Vuetify-приложения Histoire бесполезен.


1. Принципы выбора

  1. Один инструмент на задачу. Если две тулзы делают одно — оставляем одну, явно указываем какую (см. §6 «Конфликты и решения»).
  2. Dev-only для local tooling. Boost, IDE Helper, Pint, Histoire и т. п. ставятся как --dev и не идут в production.
  3. Pre-commit для быстрых проверок, CI для медленных. gitleaks / markdownlint / Pint — pre-commit. Larastan / Semgrep / Trivy / Pa11y — CI.
  4. Контекст Claude — это ресурс. Не ставим тулзы, дублирующие моё базовое поведение (Memory MCP, Sequential Thinking MCP).
  5. Phase-gating. Триггер каждой фазы — конкретное действие в репозитории. До триггера — не ставим.
  6. Дополнение, не замена правил Claude. Любой плагин уступает в приоритете Pravila_raboty_Claude_v1_1.md — см. §7.
  7. Бесплатное предпочтительнее платного при сопоставимом качестве. Dependabot вместо Snyk; Semgrep CE вместо CodeQL Enterprise.

2. Фаза 0 — текущая (9 инструментов)

Применяется немедленно. Покрывает работу с документацией (17 файлов в docs/ + db/) и HTML-прототипами (web/*.html, 2 из 8 готовы).

2.1. MCP-серверы (3)

# Инструмент Установка Когда использовать Не использовать когда
1 PostgreSQL MCP (@modelcontextprotocol/server-postgres) claude mcp add postgres ... Валидация db/schema.sql запросами к локальной БД (information_schema, \d <table>, FK-проверки) На production-БД; после установки Boost (заменяется)
2 Playwright MCP (@playwright/mcp) claude mcp add playwright ... Открыть web/*.html, скриншот, проверка интерактива (zxcvbn в 01-login, ApexCharts в 02-dashboard) Для unit-тестов Vue (это Vitest в фазе 2)
3 GitHub MCP claude mcp add github ... Issues по Биз-10..16, PR с авто-changelog, привязка коммитов к ID открытых вопросов С токеном, имеющим delete_repo или admin:org

2.2. Линтеры документации (4)

# Инструмент Установка Когда использовать Конфликт
4 markdownlint-cli2 npm i -D markdownlint-cli2 Стиль 17 .md файлов (заголовки, таблицы, списки, длина строк) Не использовать Prettier для .md — портит таблицы
5 cspell + словари ru/en + проектный npm i -D cspell @cspell/dict-ru_ru @cspell/dict-en_us Орфография ru/en + кастомный словарь («Лидерра», «УПД», «РКН», «ГЦК», «КЦ», «Yandex», «Vuetify»)
6 lychee cargo install lychee или GitHub Releases Проверка кросс-ссылок между 17 файлами архива (правило §4.7 правил Claude) Не использовать markdown-link-check (lychee быстрее, на Rust)
7 Stylelint + stylelint-config-standard npm i -D stylelint stylelint-config-standard Стиль CSS в <style> прототипов; в фазе 2 распространяется на Vue SFC

2.3. Безопасность (2)

# Инструмент Установка Когда использовать
8 gitleaks GitHub Releases (gitleaks_<v>_windows_x64.zip) Pre-commit hook: поиск телефонов, email, токенов, ИНН, КЭП в diff. Правило §5.2 правил Claude
9 Pa11y npm i -D pa11y pa11y-ci WCAG 2.1 AA проверка прототипов. Требование брендбука §3.4. Единственный источник истины по a11y во всём проекте

3. Фаза 1 — старт Laravel (+9 новых, −1 заменён, итого 17 активных)

Триггер: composer create-project laravel/laravel app в подпапке проекта.

3.1. Главное — замена PostgreSQL MCP на Laravel Boost

# Инструмент Установка Что заменяет
1 → 10 Laravel Boost composer require laravel/boost --dev + php artisan boost:install Заменяет PostgreSQL MCP (#1). Даёт 9 MCP-tools (Application Info, Database Query, Database Schema, Browser Logs, Last Error, Read Log Entries, Get Absolute URL, Search Docs, Database Connections) + guidelines + Documentation API на 17 000+ фрагментов

Обязательные настройки при boost:install:

  1. CLAUDE.md — НЕ перезаписывать. Сохранить уже существующий (см. §7). Слить вручную, если Boost создаст черновик: добавить boost-секции в конец, оставив §1–§7 нашего CLAUDE.md выше.
  2. Из 25+ встроенных guidelines оставить только: Laravel Framework, Pint, Pennant, MCP. (Sail убран 08.05.2026 — на текущей машине Docker невозможен из-за отсутствия nested virtualization, см. project_phase1_strategy memory. Native стек: native PostgreSQL 16 + Memurai Redis-compatible.)
  3. Отключить: Inertia, Livewire, Tailwind, Filament, Flux UI, Nova, Folio, Volt, Wayfinder, Sail — у нас их нет (Sail отключён 08.05.2026 после обнаружения OpenStack-VPS без nested-virt; native стек = единственный путь).
  4. Pest 4 — выбран (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер, см. Открытые_вопросы_v8_3.md §3). Отключить guideline PHPUnit, оставить только Pest. composer.json в app/ уже на pestphp/pest: ^4.7.
  5. Создать кастомный guideline для Vuetify 3: resources/boost/guidelines/vuetify.blade.php (см. §10.2).
  6. Запретить production DB connection.env.production не должен попадать в локальный Boost-конфиг.
  7. .mcp.jsonв репозиторий (не в gitignore), чтобы у команды одинаковая конфигурация (расхождение со стандартной рекомендацией Boost'а).

3.2. Анализаторы PHP (4)

# Инструмент Установка Роль
11 Laravel Pint composer require laravel/pint --dev Code style PSR-12. Pre-commit hook
12 Larastan (PHPStan для Laravel) composer require larastan/larastan --dev Статанализ типов, level 8/9. CI-only (медленно для pre-commit)
13 Roave/SecurityAdvisories composer require --dev roave/security-advisories:dev-latest Превентивная блокировка установки composer-пакетов с известными CVE
14 Laravel IDE Helper composer require barryvdh/laravel-ide-helper --dev Stubs для IDE (фасады, модели, мета-инфо)

3.3. БД-инструменты (3)

# Инструмент Установка Роль
15 squawk npm i -g squawk-cli или Cargo Линтер миграций PostgreSQL — предупреждает о блокирующих ALTER на партиционированных таблицах (deals, supplier_lead_costs)
16 pgFormatter Скачать с pgformatter.darold.net Форматирование SQL. Запускать через хук на правке db/schema.sql
17 pg_partman Расширение PostgreSQL: CREATE EXTENSION pg_partman Автоматическое создание помесячных партиций deals_YYYY_MM и supplier_lead_costs_YYYY_MM (вместо ручного списка из db/schema.sql)

3.4. Тестирование (1)

# Инструмент Установка Роль
18 Pest 4 composer require pestphp/pest --dev --with-all-dependencies + vendor/bin/pest --init Тесты PHP. Pest 3 → Pest 4 после live-проверки на стеке 08.05.2026 поздний вечер (CTO-12 переоткрыт+закрыт, см. Открытые_вопросы_v8_3.md §3). Использовать datasets для параметризации 14 статусов воронки и 34 RLS-политик; architecture testing — для закрепления правил Claude (например, запрет mocks на integration-тестах). Бонус Pest 4: browser testing (без Dusk), stress, mutation v2

4. Фаза 2 — старт frontend (+6 новых, итого 23 активных)

Триггер: первый коммит в resources/js/ или отдельную папку Vue-приложения.

4.1. Поведенческий слой — Superpowers (выборочно)

# Инструмент Установка Состав Когда использовать
19 Superpowers (3 skills из 13) /plugin install superpowers@claude-plugins-official, в конфиге оставить только нужные test-driven-development, systematic-debugging, subagent-driven-development TDD для биллинга и RLS-политик; разбор инцидентов из Прил. И; двухстадийный review больших патчей schema.sql

Отключённые skills и почему:

  • brainstorming — дублирует §4.5 правил Claude («3 варианта»)
  • writing-plans + executing-plans — дублирует §8.4 правил Claude (защита от компакции)
  • dispatching-parallel-agents — конфликт с §2.2 («один архитектурный вопрос за раз»)
  • using-git-worktrees — нестабильно на Windows (длинные пути, пробелы)
  • finishing-a-development-branch — дублирует обычный gh pr create
  • requesting-code-review + receiving-code-review — дублирует процесс в правилах
  • writing-skills — нам не нужно создавать новые skills
  • using-superpowers, verification-before-completion — справочные, не критичные

4.2. Frontend-инструменты (4)

# Инструмент Установка Роль Конфликт
20 Volar (Vue.volar) VSCode Marketplace Language server для .vue (типы, intellisense, навигация)
21 vue-tsc npm i -D vue-tsc typescript Type-check .vue файлов Только в CI, не в редакторе — иначе тормозит Volar
22 ESLint + Prettier + eslint-config-prettier + eslint-plugin-vue (связка, 1 инструмент в учёте) npm i -D eslint prettier eslint-config-prettier eslint-plugin-vue Линт + форматтер JS/Vue. eslint-config-prettier обязательно — отключает в ESLint всё, что делает Prettier. Для .md Prettier отключён через .prettierignore (markdownlint главный) Связка ставится только целиком. Без eslint-config-prettier — конфликт правил
23 Vitest + @vue/test-utils npm i -D vitest @vue/test-utils @vitest/ui Тесты компонентов. Синтаксис близок к Pest для унификации backend↔frontend Не использовать Jest — один тест-раннер на проект

4.3. Каталог компонентов (1)

# Инструмент Установка Роль Альтернатива
24 Histoire npm i -D histoire @histoire/plugin-vue Каталог Vue-компонентов на базе Vuetify. Передача дизайнеру (Диз-1) и frontend-команде Не Storybook — он тяжелее, медленнее, ориентирован на React

5. Фаза 3 — pre-production (+5 новых, итого 28 активных)

Триггер: ~спринт 12, перед публичным релизом MVP.

# Инструмент Установка Категория Роль
25 Semgrep + Semgrep MCP pip install semgrep + claude mcp add semgrep SAST Скан по антипаттернам Прил. М §6.6: пароль в <input type="text">, API-ключи в <input type="text">, hardcoded URL вроде prostats.info/bitrix24/webhook.php
26 Trivy GitHub Releases Container scan Скан Docker-образов перед push в Yandex Container Registry
27 GitHub Dependabot .github/dependabot.yml Dependency scan Авто-PR с фиксом CVE для composer.json и package.json
28 pg_audit (расширение PostgreSQL) CREATE EXTENSION pgaudit Compliance Аудит-логи в дополнение к auth_log, pd_processing_log, incidents_log (требование 152-ФЗ)
29 pg_anonymizer (расширение PostgreSQL) CREATE EXTENSION anon Compliance Маскирование ПДн в dev/staging-дампах. Правило §5.1 правил Claude (+7XXXXXXXXXX, ***@***)

Нумерация 25–29 — это глобальные индексы в порядке введения. Активных в финале — 28 (см. §0): из 29 номеров минус #1 (PostgreSQL MCP) — заменён Boost'ом.


6. Конфликты и решения

5 зон, где без явного правила я выберу не тот инструмент:

# Конфликт Решение
1 PostgreSQL MCP ↔ Laravel Boost (Database Query) в момент перехода фазы 0→1 В момент boost:install сразу убрать PG MCP из .mcp.json. Не оставлять оба активными
2 Pest ↔ PHPUnit Pest 4 (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер). На boost:install отключить guideline PHPUnit
3 vue-tsc ↔ Volar inline check Volar — для редактора (быстрый). vue-tsc — только в CI (полный pass)
4 ESLint stylistic ↔ Prettier eslint-config-prettier обязателен. Без него — конфликт правил
5 Pa11y ↔ Lighthouse a11y Lighthouse не входит в 28 (он инфраструктурный, см. §12). Если будет добавлен — отключить категорию accessibility через --only-categories=performance,best-practices

7. Source of truth — приоритет правил

При противоречии между правилами:

docs/Pravila_raboty_Claude_v1_1.md (продуктовые правила, утверждены заказчиком)
        ↓
CLAUDE.md (корень — оперативная карта, авто-загружается Claude Code)
        ↓
.claude/settings.json (хуки, permissions — исполняется средой)
        ↓
memory/*.md (динамическая память между сессиями Claude)
        ↓
Superpowers skills и другие плагины (поведенческие подсказки, ниже всех)

Правило применения: при любом конфликте — выбирается верхний источник. Нижестоящие игнорируются в части, которая противоречит верхним. Это правило явно зафиксировано в CLAUDE.md §1.


8. Source of truth — конфиги

Где какой конфиг лежит и кто его редактирует:

Конфиг Где Редактирует В git?
.markdownlint.json корень разработчик
cspell.json + cspell-words.txt корень разработчик (словарь обновляется по PR)
.lychee.toml корень разработчик
.gitleaks.toml корень security lead
.stylelintrc.json корень frontend lead (фаза 2)
pa11y.config.json корень frontend lead
.claude/settings.json (хуки, permissions) .claude/ Claude (по запросу через /update-config)
.mcp.json (MCP-серверы) корень разработчик (не Boost) — расхождение с дефолтом Boost'а
CLAUDE.md корень Claude (по запросу заказчика)
boost.json корень разработчик
pint.json корень (фаза 1) backend lead
phpstan.neon (Larastan) корень (фаза 1) backend lead
eslint.config.js корень (фаза 2) frontend lead
.prettierrc + .prettierignore корень (фаза 2) frontend lead
vitest.config.ts корень (фаза 2) frontend lead
histoire.config.ts корень (фаза 2) frontend lead
semgrep.yml .github/ (фаза 3) security lead
dependabot.yml .github/ (фаза 3) DevOps

9. Что НЕ ставим и почему (10 пунктов)

Инструмент Причина отказа
Frontend Design plugin (Anthropic) Anti-pattern «Inter» противоречит брендбуку §4.1; не знает Vuetify; нет a11y; рассчитан на лендинги, не на B2B-CRM
CodeQL Дублирует Semgrep; платный для private-репо; Semgrep CE покрывает наши потребности
Laravel Security Checker (enlightn/security-checker) Дублирует Dependabot + Roave
PHP-CS-Fixer Перекрывается Pint'ом (Pint = надстройка над CS-Fixer)
Psalm Перекрывается Larastan
Jest Перекрывается Vitest (один тест-раннер)
Storybook (для Vue) Histoire легче и нативнее для Vue 3 + Vite
Snyk (платный) Dependabot бесплатный и достаточный
markdown-link-check lychee быстрее (Rust vs Node) и надёжнее
Sequential Thinking MCP Дублирует моё базовое рассуждение, жрёт токены
Memory MCP Конфликтует с моей файловой памятью в memory/
Tailwind MCP / shadcn-vue У нас Vuetify (CTO-11), не Tailwind
Inertia / Livewire / Filament / Flux UI / Nova / Folio / Volt / Wayfinder guidelines Boost'а Не используются в стеке проекта

10. Процедура перехода между фазами

10.1. Фаза 0 → Фаза 1

Триггер: composer create-project laravel/laravel app (или эквивалент).

Шаги:

  1. Установить Laravel Boost: composer require laravel/boost --dev.
  2. Запустить php artisan boost:install — пройти интерактивный wizard.
  3. Удалить PostgreSQL MCP из .mcp.json (заменён Boost'ом).
  4. В boost.json — отключить нерелевантные guidelines (см. §3.1).
  5. Создать resources/boost/guidelines/vuetify.blade.php (см. §10.2).
  6. Слить (не перезаписать) CLAUDE.md если Boost создал черновик.
  7. Установить Pint, Larastan, Roave/SecurityAdvisories, IDE Helper.
  8. Установить squawk, pgFormatter, pg_partman.
  9. Установить Pest 4: composer require pestphp/pest pestphp/pest-plugin-laravel --dev --with-all-dependencies + vendor/bin/pest --init (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер). На Windows --init может упасть на интерактивном промпте «Wanna show Pest some love?» в non-interactive shell — игнорировать, Pest.php уже создан.
  10. Обновить .claude/settings.json — добавить хуки для Pint и Larastan.
  11. Прогнать full-pass всех инструментов.
  12. Обновить эту версию Прил. Н: v1.0 → v1.1, отметить переход.

10.2. Vuetify guideline для Boost (заготовка)

## Vuetify 3

Проект использует Vuetify 3 как UI-библиотеку (CTO-11). Tailwind CSS, shadcn-vue, Element UI, jQuery, Bootstrap — НЕ использовать.

### Палитра — из brandbook.md §3 и §8.2

- primary: `#0F6E56` (Teal 600)
- secondary: `#5DCAA5` (Teal 200)
- background: `#F1EFE8` (Slate 100)
- surface: `#FFFFFF`

Vuetify-тема — `liderraLight` и `liderraDark` — определена в `brandbook.md` §8.2.

### Шрифты

- основной: Inter (через Google Fonts с subset cyrillic)
- код: JetBrains Mono

### Компоненты

Использовать Vuetify-компоненты (`v-card`, `v-btn`, `v-data-table`, `v-form`, `v-text-field`) с дефолтным material-стилем, переопределённым через `:root` CSS-переменные из `brandbook.md` §8.1.

### A11y

Все компоненты должны проходить Pa11y по WCAG 2.1 AA (брендбук §3.4). Контраст текста на белом — минимум 4.5:1.

10.3. Фаза 1 → Фаза 2

Триггер: первый Vue-компонент.

Шаги:

  1. Установить Volar (VSCode), vue-tsc, ESLint + config-prettier + plugin-vue, Prettier, Vitest, Histoire.
  2. Установить Superpowers с конфигом enabled_skills = только 3 (test-driven-development, systematic-debugging, subagent-driven-development).
  3. Прогнать первый Histoire-story для тестового компонента.
  4. Запустить Pa11y на первой Vue-странице (выявить регрессии относительно HTML-прототипов).
  5. Обновить Прил. Н: v1.1 → v1.2.

10.4. Фаза 2 → Фаза 3

Триггер: ~спринт 12, объявление о подготовке к релизу.

Шаги:

  1. Установить Semgrep + Semgrep MCP, Trivy, Dependabot.
  2. Включить расширения PostgreSQL: pg_audit, pg_anonymizer.
  3. Прогнать первый полный SAST-пасс по проекту, зафиксировать baseline.
  4. Прогнать Trivy на текущем образе, зафиксировать baseline.
  5. Сделать первый dump БД через pg_anonymizer для staging.
  6. Обновить Прил. Н: v1.2 → v1.3.

11. Конфигурация под Windows + PowerShell

Особенности для текущего окружения (Windows 10, PowerShell 5.1):

11.1. Пути и кодировки

  • Все скрипты в package.json — кросс-платформенные (использовать cross-env, не export VAR=...).
  • Файлы .md — UTF-8 БЕЗ BOM. Если PowerShell Set-Content создал файл с BOM — исправить.
  • Длинные пути — включить git config --global core.longpaths true перед клонированием в глубокие папки.

11.2. Git worktrees

  • Skill using-git-worktrees Superpowers отключён намеренно (см. §4.1).
  • Если ручное использование worktree — избегать пробелов в путях (c:\projects\liderra-feature ОК, c:\My Documents\... — НЕ).

11.3. Pre-commit hooks

  • Husky или lefthook (предпочтительно lefthook — на Go, без Node-зависимости).
  • Скрипты в hooks — bash-совместимые, запускать через cmd /c или WSL.

11.4. Глобальные CLI-утилиты

  • gitleaks, lychee, squawk, Trivy, Semgrep — скачать готовые бинарники для Windows из GitHub Releases.
  • pgFormatter — Perl-скрипт, поставить ActivePerl или WSL.
  • Pa11y, markdownlint-cli2, cspell, Histoire — npm-пакеты, работают нативно.

11.5. Yandex Cloud CLI и Terraform

Не входят в 28 инструментов (см. §12). Ставятся отдельно для DevOps-роли. На Windows — yc и terraform через скачивание .zip или winget.


12. Что вне 28 инструментов (инфраструктура)

Эти 7 пунктов критичны для проекта, но используются DevOps, не Claude. Поэтому в 28 не входят, но фиксирую для полноты:

Инструмент Зачем
Yandex Cloud CLI (yc) Провижининг по Прил. К
Terraform + yandex-cloud/yandex provider + terraform-ls IaC
Docker + docker-compose Локальная разработка
GitHub Actions CI/CD pipeline
Sentry self-hosted Ю-7 (зафиксировано)
Grafana + Prometheus + Alertmanager Прил. И §1
Lighthouse CI Performance-регрессия в pipeline

Если позже решим вовлечь Claude в инфраструктурные задачи — добавится фаза 4 (или эти инструменты переедут в 28).


13. История версий

Версия Дата Что нового
v1.0 06.05.2026 Первая версия. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10+ пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell. Утверждено заказчиком 06.05.2026 («да, A, делай. Подтверждаю»). Архитектурных изменений в основном архиве: 0 (только добавлен новый шифр Н).

Прил. Н v1.0 от 06.05.2026 — старт документации по tooling. Связано: CLAUDE.md (корень), Pravila_raboty_Claude_v1_1.md v1.2+, README_АРХИВ_v8_4.md v8.4+.