ai-agent-specialist — правило для Cursor: что делает и как установить
Правило задаёт стандарты для TypeScript, React и Node.js: архитектура, обработка ошибок, тесты, безопасность и Git. Подходит для проектов, где важны объяснения WHY.
.cursor/rules/ai-agent-specialist.mdcЧто делает ai-agent-specialist
Правило настраивает работу Cursor с TypeScript, React и Node.js. Оно требует строгой типизации без any, ограничивает функции двадцатью строками, задаёт соглашения для имён и советует использовать интерфейсы для объектов. Каждое требование сопровождается объяснением WHY.
В архитектуре заданы Clean Architecture, инверсия зависимостей и паттерн репозитория. Для состояния предлагаются React Query и Zustand, а Redux запрещён. Правило также описывает AppError, Result, Winston, валидацию через Zod, rate limiting, helmet и требования к тестам: 80% покрытия для unit-тестов и 100% для критических путей. Правило применяется к **/*, но alwaysApply имеет значение false.
В Git-части заданы лимит в 400 строк на PR и Conventional Commits с типами feat, fix, refactor, test, docs. Проекту с Redux придётся учитывать прямое требование отказаться от него.
Какие задачи решает
- задать строгие правила для TypeScript-кода
- разделить доменную логику и доступ к данным
- организовать обработку ожидаемых и исключительных ошибок
- проверить входные данные через схемы Zod
- сформировать требования к тестам и pull request
Примеры запросов агенту
- Проверь этот модуль на соответствие правилам TypeScript и вынеси функции длиннее двадцати строк.
- Спроектируй обработку данных через Clean Architecture и паттерн репозитория.
- Добавь валидацию API-входа с помощью Zod и не записывай токены в логи.
Как установить ai-agent-specialist
Вручную: положить файлы
.cursor/rules/ai-agent-specialist.mdcВо frontmatter: description, globs, alwaysApply
Вручную: положить файлы
.claude/rules/ai-agent-specialist.mdПоле paths во frontmatter ограничивает файлы: globs из источника → paths
AGENTS.md
Codex читает AGENTS.md: вставьте текст правила туда
Вручную: положить файлы
.github/instructions/ai-agent-specialist.instructions.mdПоле applyTo задаёт, к каким файлам применять: globs из источника → applyTo
Вручную: положить файлы
.devin/rules/ai-agent-specialist.mdВручную: положить файлы
.clinerules/ai-agent-specialist.mdПо шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules
Вопросы о ai-agent-specialist
Как установить ai-agent-specialist в Cursor?
Создайте файл .cursor/rules/ai-agent-specialist.mdc в проекте без пробела после обратной кавычки: .cursor/rules/ai-agent-specialist.mdc.
Что делает ai-agent-specialist?
Правило задаёт рекомендации для TypeScript, React и Node.js, включая архитектуру, тестирование, обработку ошибок, безопасность и Git. Для каждого требования приводится причина WHY.
Как правило работает с Redux и состоянием React?
Для состояния оно предлагает React Query для серверных данных и Zustand для клиентских. Redux прямо исключён из рекомендуемой архитектуры.
Исходный текст
ai-agent-specialist.mdc · CC0-1.0
--- description: "Cursor rules for TypeScript, React, Node.js, clean architecture, testing, and WHY-oriented engineering guidance." globs: **/* alwaysApply: false --- You are a senior full-stack developer specializing in TypeScript, React, and Node.js. Every rule includes a WHY explanation for the reasoning behind it. ## Coding Standards - Use strict TypeScript. Never use `any`. Use `unknown` for dynamic data. > WHY: Type safety prevents runtime errors and improves developer experience. - Max function length: 20 lines. Extract helpers for complex logic. > WHY: Improves testability, readability, and makes code review easier. - Naming: camelCase for variables/functions, PascalCase for classes/interfaces, UPPER_SNAKE for constants. > WHY: Consistent with TypeScript ecosystem standards. - Prefer interfaces over type aliases for objects. > WHY: Interfaces are extendable and produce better error messages. ## Architecture - Clean Architecture with dependency inversion. Domain layer is framework-agnostic. > WHY: Testable business logic that survives framework changes. - Repository pattern for data access. Never call ORM directly from business logic. > WHY: Decouples persistence from domain, enables testing with in-memory implementations. - React Query for server state, Zustand for client state. No Redux. > WHY: Lighter weight, better TypeScript support, less boilerplate. ## Error Handling - Custom AppError hierarchy with HTTP status codes. Throw for exceptional, return Result for expected failures. > WHY: Clear intent — callers know which errors to catch vs handle. - Structured logging with Winston. Never log sensitive data (passwords, tokens, PII). > WHY: Observability without security risk. Structured logs enable alerting. ## Testing - 80% unit coverage, 100% critical paths. Use factory functions for test data. > WHY: Factory functions are maintainable and composable. Fixtures become stale. - Mock only external dependencies (APIs, DB). Never mock internal logic. > WHY: Tests should reflect reality. Over-mocking hides real bugs. ## Security - Validate all input with Zod schemas at API boundaries. > WHY: Runtime validation catches what TypeScript can't — malformed external data. - Rate limit all public endpoints. Use helmet middleware. > WHY: Defense in depth against abuse and common web vulnerabilities. ## Git - Max 400 lines per PR. Conventional commits: feat/fix/refactor/test/docs. > WHY: Small PRs get reviewed faster and have fewer bugs.
© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules