@omnitest/ai
v0.4.0
Published
AI-промты и скилы для написания тестов в стиле omnitest
Downloads
480
Readme
@omnitest/ai
AI-промты и скилы для написания тестов в стиле репозитория omnitest
(apps/,
docs/).
Пакет содержит:
PROMPT.md— главный промт с архитектурными правилами (R1–R13c).README.md— индекс материалов для AI-ассистента.skills/*.skill.md— отдельные скилы по типам тестов: UI E2E, Visual, REST API, gRPC, Accessibility (axe), Component (Playwright CT), Lighthouse, Table component, Unit-тесты пакетов (Jest).
Установка
pnpm add -D @omnitest/aiИспользование
Первичная установка
pnpm exec omni-ai initСкопирует темплейты в docs/ai/ корня проекта (значение по умолчанию).
Существующие файлы не перезаписываются.
Чтобы выбрать другую целевую директорию (например, .ai):
pnpm exec omni-ai init --target=.aiИсточник правды для темплейтов — каталог templates/ внутри самого пакета
@omnitest/ai. Никаких промежуточных docs/ai/ в монорепе больше нет:
при init/sync файлы копируются напрямую из templates/ пакета.
Чтобы перезаписать всё:
pnpm exec omni-ai init --forceОбновление после новой версии пакета
pnpm exec omni-ai syncПоведение sync:
- Если файла в проекте нет — создаст.
- Если содержимое идентично эталону — пропустит.
- Если файл был изменён вручную — положит рядом
<file>.newдля ручного слияния.
Почему нет postinstall-хука
Автоматическое копирование при pnpm install ненадёжно в монорепах:
postinstall запускается несколько раз (для самого пакета, для каждого
package-потребителя, для workspace-симлинков) и может писать файлы не
в тот корень. Поэтому копирование происходит только по явной команде
omni-ai init / omni-ai sync — предсказуемо и контролируемо.
Что внутри
После omni-ai init в корне проекта появится (имя корневой директории
совпадает со значением --target, по умолчанию docs/ai):
<target>/
├── README.md
├── PROMPT.md
└── skills/
├── UI_E2E.skill.md
├── VISUAL.skill.md
├── REST_API.skill.md
├── GRPC.skill.md
├── ACCESSIBILITY.skill.md
├── COMPONENT_TESTING.skill.md
├── LIGHTHOUSE.skill.md
├── TABLE_COMPONENT.skill.md
└── UNIT_PACKAGE.skill.mdИспользуй эти файлы как контекст для своего AI-агента (Cursor, Claude Code,
Codeium и т.п.). Сначала AI читает PROMPT.md, затем подгружает нужный
skills/*.skill.md под тип задачи.
Программный API
Если хочется встроить копирование в свой скрипт:
import { TemplateInstaller } from '@omnitest/ai'
const installer = new TemplateInstaller({
cwd: process.cwd(),
targetSubDir: '.ai', // опционально, по умолчанию 'docs/ai'
})
const summary = await installer.init({ force: false })
console.log(summary)