Files
portal/docs/registry/nodes.yaml
T
Дмитрий a299377fd7 fix(registry): triggers #22+#30 per code review (task 8b followup)
#22 ESLint: «лит js/vue» (опечатка из Tooling §4.2:410) → «lint js/vue».
#30 Frontend Design: «ui: компоненты» (двоеточие из Tooling §4.4:444 списка
«UI: компоненты, паттерны...») → «ui компоненты» (split-by-comma выдавал
keyword с разделителем темы; keyword был мертворождённый).

Tooling §4.2/§4.4 будут починены при следующем auto-rerender (Task 10).

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

589 lines
15 KiB
YAML

version: "0.1.0"
nodes:
- id: "#2"
name: "Playwright MCP"
slug: "playwright-mcp"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "html prototype", weight: 1.0}
- {keyword: "screenshot", weight: 1.0}
- {keyword: "interaction smoke", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #2"
- id: "#3"
name: "GitHub MCP"
slug: "github-mcp"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "issues", weight: 1.0}
- {keyword: "pr", weight: 1.0}
- {keyword: "commits", weight: 1.0}
- {keyword: "открытые вопросы", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #3"
- id: "#4"
name: "markdownlint-cli2"
slug: "markdownlint"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "lint .md", weight: 1.0}
- {keyword: "markdown style", weight: 1.0}
- {keyword: "заголовки/таблицы", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #4"
install: "npm run lint:md"
- id: "#5"
name: "cspell"
slug: "cspell"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "орфография ru/en", weight: 1.0}
- {keyword: "кастомный словарь", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #5"
install: "npm run spell"
- id: "#6"
name: "lychee"
slug: "lychee"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "проверка ссылок .md", weight: 1.0}
- {keyword: "кросс-ссылки архива", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #6"
install: "npm run links"
- id: "#7"
name: "Stylelint"
slug: "stylelint"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "css lint", weight: 1.0}
- {keyword: "vue sfc style", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #7"
install: "npm run lint:css"
- id: "#8"
name: "gitleaks"
slug: "gitleaks"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "секреты в diff", weight: 1.0}
- {keyword: "pre-commit hook", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #8"
- id: "#9"
name: "Pa11y"
slug: "pa11y"
category: "phase-0"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "a11y wcag 2.1 aa", weight: 1.0}
- {keyword: "прототипы", weight: 1.0}
- {keyword: "технический sot", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§2.4 #9"
install: "npm run a11y"
- id: "#10"
name: "Laravel Boost"
slug: "boost"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "sql", weight: 1.0}
- {keyword: "eloquent", weight: 1.0}
- {keyword: "docs laravel", weight: 1.0}
- {keyword: "roster auto-detect", weight: 1.0}
boundaries:
- {pair: "#1", relation: "replaces"}
chain_membership: []
attributes:
tooling_section: "§3.5 #10"
install: "composer require laravel/boost --dev"
- id: "#11"
name: "Laravel Pint"
slug: "pint"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "php code style", weight: 1.0}
- {keyword: "форматтер", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #11"
install: "composer pint"
- id: "#12"
name: "Larastan"
slug: "larastan"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "статанализ php", weight: 1.0}
- {keyword: "типы", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #12"
install: "composer stan"
- id: "#13"
name: "Roave/SecurityAdvisories"
slug: "roave-security"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "cve на install", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #13"
install: "composer install (автоматически)"
- id: "#14"
name: "Laravel IDE Helper"
slug: "ide-helper"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "ide-stubs php", weight: 1.0}
- {keyword: "@mixin", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #14"
install: "php artisan ide-helper:generate"
- id: "#15"
name: "squawk"
slug: "squawk"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "линт миграций postgresql", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #15"
- id: "#16"
name: "pgFormatter"
slug: "pg-formatter"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "форматирование sql", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§3.5 #16"
- id: "#17"
name: "pg_partman"
slug: "pg-partman"
category: "phase-1"
subcategory: null
status: "dormant"
dormancy_reason: "native Windows PG не поддерживает расширение; заменён ручным cron'ом partitions:create-months"
triggers:
- {keyword: "партиционирование pg", weight: 1.0}
boundaries:
- {relation: "replaced by Artisan partitions:create-months (CLAUDE.md §6)"}
chain_membership: []
attributes:
tooling_section: "§3.5 #17"
- id: "#19"
name: "Superpowers v5.1.0"
slug: "superpowers"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {classification: "feature", weight: 1.0}
- {classification: "planning", weight: 1.0}
- {classification: "bugfix", weight: 0.8}
- {classification: "refactor", weight: 0.8}
- {keyword: "tdd", weight: 1.0}
- {keyword: "brainstorm", weight: 1.0}
- {keyword: "debug", weight: 0.8}
boundaries:
- {adr: "ADR-011", role: "hard-floor source"}
- {pair: "#30", relation: "paired stack"}
chain_membership: ["L1", "L8"]
attributes:
tooling_section: "§3.3 #19"
install: "marketplace plugin, enabled in ~/.claude/settings.json"
- id: "#18"
name: "Pest 4"
slug: "pest"
category: "phase-1"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {classification: "bugfix", weight: 1.0}
- {keyword: "test", weight: 1.0}
- {keyword: "тест", weight: 1.0}
- {file_pattern: "tests/**/*.php", weight: 1.0}
boundaries: []
chain_membership: ["L8"]
attributes:
tooling_section: "§3.2 #18"
install: "composer require pestphp/pest --dev"
- id: "#1"
name: "PostgreSQL MCP"
slug: "postgres-mcp"
category: "phase-0"
subcategory: null
status: "historic"
dormancy_reason: "Заменён #10 Laravel Boost в фазе 1 (08.05.2026)"
triggers: []
boundaries:
- {pair: "#10", relation: "replaced by"}
chain_membership: []
attributes:
tooling_section: "§3.1 #1 (historic)"
- id: "#20"
name: "Volar"
slug: "volar"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "vue language server (vscode)", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.2 #20"
- id: "#21"
name: "vue-tsc"
slug: "vue-tsc"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "type-check vue (ci only)", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.2 #21"
install: "npm i -D vue-tsc typescript"
- id: "#22"
name: "ESLint + Prettier + plugin-vue + config-prettier"
slug: "eslint-prettier"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "lint js/vue", weight: 1.0}
- {keyword: "форматтер", weight: 1.0}
boundaries:
- {relation: "связка (R0.4)"}
chain_membership: []
attributes:
tooling_section: "§4.2 #22"
install: "npm i -D eslint prettier eslint-config-prettier eslint-plugin-vue"
- id: "#23"
name: "Vitest"
slug: "vitest"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "тесты vue", weight: 1.0}
- {keyword: "unit/component", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.2 #23"
install: "npm i -D vitest @vue/test-utils @vitest/ui"
- id: "#24"
name: "Histoire"
slug: "histoire"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "каталог компонентов", weight: 1.0}
- {keyword: "stories", weight: 1.0}
boundaries:
- {relation: "не storybook"}
chain_membership: []
attributes:
tooling_section: "§4.3 #24"
install: "npm i -D --legacy-peer-deps histoire @histoire/plugin-vue"
- id: "#25"
name: "Semgrep + Semgrep MCP"
slug: "semgrep"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "sast", weight: 1.0}
- {keyword: "security static analysis", weight: 1.0}
boundaries:
- {relation: "связка binary+mcp"}
chain_membership: []
attributes:
tooling_section: "§5.1 #25"
install: "npm run sast"
- id: "#26"
name: "Trivy"
slug: "trivy"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "docker image scan", weight: 1.0}
- {keyword: "container vulnerabilities", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #26"
- id: "#27"
name: "GitHub Dependabot"
slug: "dependabot"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "cve pr auto", weight: 1.0}
- {keyword: "dependency updates", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #27"
- id: "#28"
name: "pg_audit"
slug: "pg-audit"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "audit logs postgresql", weight: 1.0}
- {keyword: "mutation tracking", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #28"
- id: "#29"
name: "pg_anonymizer"
slug: "pg-anonymizer"
category: "phase-3"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "маскирование пдн в дампах", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§5.1 #29"
- id: "#30"
name: "Frontend Design plugin"
slug: "frontend-design"
category: "phase-2"
subcategory: null
status: "active"
dormancy_reason: null
triggers:
- {keyword: "ui компоненты", weight: 1.0}
- {keyword: "паттерны", weight: 1.0}
- {keyword: "состояния", weight: 1.0}
- {keyword: "a11y-принципы", weight: 1.0}
boundaries:
- {pair: "#19", relation: "paired stack"}
chain_membership: []
attributes:
tooling_section: "§4.4 #30"
install: "enabledPlugins.frontend-design@anthropics-claude-plugins в ~/.claude/settings.json"
- id: "#31"
name: "UI UX Pro Max"
slug: "ui-ux-pro-max"
category: "off-phase"
subcategory: "UI-pool"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "резерв ui", weight: 1.0}
- {keyword: "стили", weight: 1.0}
- {keyword: "палитры", weight: 1.0}
- {keyword: "графики", weight: 1.0}
- {keyword: "ux-гайдлайны", weight: 1.0}
boundaries:
- {relation: "PSR_v1 R14.3 pipeline"}
chain_membership: []
attributes:
tooling_section: "§4.5 #31"
- id: "#32"
name: "21st.dev Magic MCP"
slug: "21st-magic"
category: "off-phase"
subcategory: "UI-pool"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "генератор ui-шаблонов (llm-based)", weight: 1.0}
boundaries:
- {relation: "PSR_v1 R14.4 pipeline + Pa11y mandatory"}
chain_membership: []
attributes:
tooling_section: "§4.6 #32"
- id: "#33"
name: "claude-md-management"
slug: "claude-md-management"
category: "off-phase"
subcategory: "infrastructure"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "правки claude.md", weight: 1.0}
- {keyword: "обязательный канал", weight: 1.0}
boundaries:
- {relation: "CLAUDE.md §5 п.10 + PSR_v1 R10.1"}
chain_membership: []
attributes:
tooling_section: "§4.7 #33"
install: "enabledPlugins.claude-md-management@claude-plugins-official в ~/.claude/settings.json"
- id: "#34"
name: "Sentry MCP"
slug: "sentry-mcp"
category: "off-phase"
subcategory: "debug-runtime"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "отладка production runtime errors", weight: 1.0}
boundaries: []
chain_membership: []
attributes:
tooling_section: "§4.8 #34"
- id: "#35"
name: "Redis MCP"
slug: "redis-mcp"
category: "off-phase"
subcategory: "debug-runtime"
status: "active"
dormancy_reason: null
triggers:
- {keyword: "отладка redis/memurai очередей", weight: 1.0}
- {keyword: "кэша", weight: 1.0}
- {keyword: "pest-race", weight: 1.0}
boundaries:
- {relation: "read-only"}
chain_membership: []
attributes:
tooling_section: "§4.9 #35"
chains:
L1:
name: "Brainstorming chain"
sequence:
- "superpowers:brainstorming"
- "superpowers:writing-plans"
- "superpowers:executing-plans"
triggers:
- {classification: "feature"}
- {classification: "planning"}
L8:
name: "TDD chain"
sequence:
- "superpowers:test-driven-development"
- "#18"
triggers:
- {classification: "bugfix"}
- {keyword: "tdd"}