Реестр правил

Правила лежат в репозитории как Markdown с frontmatter и собираются в наборы. Набор наследует правила родителей, правило с тем же идентификатором переопределяет родительское, extends уточняет его. Резолвер отдаёт эффективный набор под конкретный тип задачи: на вкладке меняется не оформление, а сам состав правил.

Тип задачи

Цепочка наследованияorg → jinx-ui
Правил в наборе8
Из них под «fix»4
Стоимость набора~526 ток.

Только для «fix»

4

У этих правил заполнен task_types: на других вкладках резолвер их не отдаёт.

Сначала реальный API, потом разметка

jinx-ui/verify-api-first@1.0.0

Перед тем как написать разметку с компонентом, возьми его реальный API: через get_component_api, если подключён MCP-сервер, иначе из документации llms.txt. Пропсы, которых там нет, в библиотеке не существуют; не выдумывай их и не подбирай по памяти о других библиотеках.

Из jinx-ui@1.0.0Приоритет 100~77 ток.Задачи: ui, fix

Только токены дизайн-системы

jinx-ui/use-tokens@1.2.0

Цвета, радиусы, тени и шрифты задавай только через CSS-токены var(--jx-*). Значения #hex, rgb(), hsl() и inline-стили с цветами запрещены: темы и режимы оформления переключаются токенами.

Из jinx-ui@1.0.0Приоритет 90~55 ток.Задачи: ui, refactor, fix**/*.tsx, **/*.css

Контраст текста не ниже 4.5:1

org/contrast-floor@1.0.0

Обычный текст и плейсхолдеры держат контраст не ниже 4.5:1 к своему фону, крупный и жирный — 3:1. Приглушённый серый на светлом фоне — самая частая причина нечитаемого интерфейса: если сомневаешься, двигай цвет в сторону основного текста. Статусные цвета проверяй в обеих темах: палитра, подобранная на тёмном фоне, на светлом обычно проваливается.

Из org@1.0.0Приоритет 85~97 ток.Задачи: ui, fix**/*.tsx, **/*.css

Сначала воспроизведение, потом правка

org/reproduce-before-fix@1.0.0

Прежде чем править баг, воспроизведи его: тест, который падает на текущем коде, или точная последовательность шагов в отчёте. Правка без воспроизведения лечит симптом. Тест на найденный баг остаётся в наборе навсегда.

Из org@1.0.0Приоритет 85~61 ток.Задачи: fix

Действуют всегда

4

Правила без привязки к типу задачи входят в набор на любой вкладке.

Без innerHTML

jinx-ui/no-inner-html@1.0.0

Не используй innerHTML и dangerouslySetInnerHTML. Текст и разметку передавай через children и пропсы типа ReactNode; пользовательский ввод считай недоверенным.

Из jinx-ui@1.0.0Приоритет 95~47 ток.**/*.tsx, **/*.ts

Внешние действия только по просьбе

org/ask-before-publish@1.1.0

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

Из org@1.0.0Приоритет 95~71 ток.

Без deprecated-компонентов

jinx-ui/no-deprecated@1.0.0

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

Из jinx-ui@1.0.0Приоритет 80~44 ток.

Долговременная память в Obsidian

org/memory-in-obsidian@1.0.0

Если пользователь ссылается на прошлую работу, решение или «что мы делали раньше», сначала найди это в хранилище Obsidian через MCP: фильтруй по проекту и дате во frontmatter и читай только нужные заметки. Заметки о сессиях не пиши сам: их экспортирует планировщик.

Из org@1.0.0Приоритет 40~74 ток.

Куда это компилируется

Один источник, четыре цели. CI падает, если файлы разошлись с реестром или если от удалённого правила остался файл.

npm run rules:resolve -- jinx-ui --task fix