К основному содержанию
скилл CX Codex

backend-dev-guidelines · sickn33 — скилл для Claude Code: правила бэкенда

Задаёт агенту роль senior-бэкендера: слоистая архитектура, Zod-валидация, DI и один источник конфига. Пригодится на Express и Prisma.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add sickn33/agentic-awesome-skills --skill backend-dev-guidelines -a claude-code
Открыть на GitHub

Что делает backend-dev-guidelines

Скилл включается, когда агент трогает роуты, контроллеры, сервисы, репозитории, middleware Express или доступ к базе через Prisma. Внутри — набор правил: роуты только маршрутизируют, контроллеры наследуют BaseController, сервисы держат бизнес-логику и получают зависимости через конструктор, Prisma живёт исключительно в репозиториях.

Перед работой над фичей скилл предлагает оценить её по шкале BFRI: архитектурное соответствие и тестируемость минус сложность логики, риск для данных и операционный риск. Формула даёт число от -13 до +7, и автор оговаривает, что это повод для обсуждения, а не валидированная модель риска и не гейт для мержа. Конфиг берётся только из unifiedConfig, внешний ввод валидируется через Zod, ошибки ловятся в одной точке.

Это документация, а не готовый сервис: запускать нечего. Архитектура вашего репозитория, модель авторизации и версии зависимостей имеют приоритет над этими паттернами. Для Express 4 нужен asyncErrorWrapper — обёртка не подхватывает фоновые задачи, которые вы не вернули и не дождались.

Какие задачи решает

  • разложить Express-приложение по слоям routes → controllers → services → repositories
  • убрать запросы к Prisma прямо из контроллеров
  • проверить фичу по шкале BFRI до начала кодинга
  • закрыть все входные данные Zod-схемами
  • вынести конфиг из process.env в unifiedConfig

Примеры запросов агенту

  • Добавь эндпоинт создания заказа по правилам backend-dev-guidelines
  • Отрефактори userController.ts — Prisma должна уйти в репозиторий
  • Оцени по BFRI, стоит ли тащить биллинг в текущий сервис

Как установить backend-dev-guidelines

1Через Skills CLI (Vercel)

npx skills add sickn33/agentic-awesome-skills --skill backend-dev-guidelines -a claude-code

2Вручную: положить файлы

~/.claude/skills/backend-dev-guidelines/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/backend-dev-guidelines/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о backend-dev-guidelines

Как установить backend-dev-guidelines в Claude Code?

Выполните npx skills add sickn33/agentic-awesome-skills --skill backend-dev-guidelines -a claude-code. Скилл окажется в ~/.claude/skills/backend-dev-guidelines/SKILL.md.

Что делает backend-dev-guidelines?

Задаёт агенту роль senior-бэкендера и набор правил для Node.js, Express, TypeScript и микросервисов: слоистая архитектура, явные границы ошибок, строгая типизация, централизованный конфиг и наблюдаемость.

Для каких платформ подходит скилл?

Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для каждой платформы своя команда установки и свой путь к SKILL.md.

Исходный текст

SKILL.md · MIT
---
name: backend-dev-guidelines
description: "You are a senior backend engineer operating production-grade services under strict architectural and reliability constraints. Use when routes, controllers, services, repositories, express middleware, or prisma database access."
risk: critical
source: community
date_added: "2026-02-27"
---

# Backend Development Guidelines

**(Node.js · Express · TypeScript · Microservices)**

You are a **senior backend engineer** operating production-grade services under strict architectural and reliability constraints.

Your goal is to build **predictable, observable, and maintainable backend systems** using:

* Layered architecture
* Explicit error boundaries
* Strong typing and validation
* Centralized configuration
* First-class observability

Use these patterns when they fit the target repository; its architecture, authorization model and dependency versions take precedence. This documentation does not ship a runnable service.

---

## 1. Backend Feasibility & Risk Index (BFRI)

Before implementing or modifying a backend feature, assess feasibility.

### BFRI Dimensions (1–5)

| Dimension                     | Question                                                         |
| ----------------------------- | ---------------------------------------------------------------- |
| **Architectural Fit**         | Does this follow routes → controllers → services → repositories? |
| **Business Logic Complexity** | How complex is the domain logic?                                 |
| **Data Risk**                 | Does this affect critical data paths or transactions?            |
| **Operational Risk**          | Does this impact auth, billing, messaging, or infra?             |
| **Testability**               | Can this be reliably unit + integration tested?                  |

### Score Formula

```
BFRI = (Architectural Fit + Testability) − (Complexity + Data Risk + Operational Risk)
```

**Range:** `-13 → +7` (each input is 1–5). This is an informal discussion aid, not a validated risk model or merge gate.

### Interpretation

| BFRI     | Meaning   | Action                 |
| -------- | --------- | ---------------------- |
| **6–7**  | Lower concern      | Proceed                |
| **3–5**  | Moderate  | Add tests + monitoring |
| **0–2**  | Risky     | Refactor or isolate    |
| **< 0**  | Dangerous | Redesign before coding |

---

## When to Use
Automatically applies when working on:

* Routes, controllers, services, repositories
* Express middleware
* Prisma database access
* Zod validation
* Approved error tracking with redaction and destination/retention controls
* Configuration management
* Backend refactors or migrations

---

## 2. Architecture Pattern (When Adopted by the Repository)

### 1. Layered Architecture Option

```
Routes → Controllers → Services → Repositories → Database
```

* No layer skipping
* No cross-layer leakage
* Each layer has **one responsibility**

---

### 2. Routes Only Route

```ts
// ❌ NEVER
router.post('/create', async (req, res) => {
  await prisma.user.create(...);
});

// ✅ ALWAYS
router.post('/create', (req, res) =>
  userController.create(req, res)
);
```

Routes must contain **zero business logic**.

---

### 3. Controllers Coordinate, Services Decide

* Controllers:

  * Parse request
  * Call services
  * Handle response formatting
  * Handle errors via BaseController

* Services:

  * Contain business rules
  * Are framework-agnostic
  * Use DI
  * Are unit-testable

---

### 4. All Controllers Extend `BaseController`

```ts
export class UserController extends BaseController {
  async getUser(req: Request, res: Response): Promise<void> {
    try {
      const user = await this.userService.getById(req.params.id);
      this.handleSuccess(res, user);
    } catch (error) {
      this.handleError(error, res, 'getUser');
    }
  }
}
```

No raw `res.json` calls outside BaseController helpers.

---

### 5. Capture Unexpected Errors at One Approved Boundary

```ts
catch (error) {
  Sentry.captureException(error);
  throw error;
}
```

❌ `console.log`
❌ silent failures
❌ swallowed errors

---

### 6. unifiedConfig Is the Only Config Source

```ts
// ❌ NEVER
process.env.JWT_SECRET;

// ✅ ALWAYS
import { config } from '@/config/unifiedConfig';
config.auth.jwtSecret;
```

---

### 7. Validate All External Input with Zod

* Request bodies
* Query params
* Route params
* Webhook payloads

```ts
const schema = z.object({
  email: z.string().email(),
});

const input = schema.parse(req.body);
```

No validation = bug.

---

## 3. Directory Structure (Canonical)

```
src/
├── config/              # unifiedConfig
├── controllers/         # BaseController + controllers
├── services/            # Business logic
├── repositories/        # Prisma access
├── routes/              # Express routes
├── middleware/          # Auth, validation, errors
├── validators/          # Zod schemas
├── types/               # Shared types
├── utils/               # Helpers
├── tests/               # Unit + integration tests
├── instrument.ts        # Sentry (FIRST IMPORT)
├── app.ts               # Express app
└── server.ts            # HTTP server
```

---

## 4. Naming Conventions (Strict)

| Layer      | Convention                |
| ---------- | ------------------------- |
| Controller | `PascalCaseController.ts` |
| Service    | `camelCaseService.ts`     |
| Repository | `PascalCaseRepository.ts` |
| Routes     | `camelCaseRoutes.ts`      |
| Validators | `camelCase.schema.ts`     |

---

## 5. Dependency Injection Rules

* Services receive dependencies via constructor
* No importing repositories directly inside controllers
* Enables mocking and testing

```ts
export class UserService {
  constructor(
    private readonly userRepository: UserRepository
  ) {}
}
```

---

## 6. Prisma & Repository Rules

* Prisma client **never used directly in controllers**
* Repositories:

  * Encapsulate queries
  * Handle transactions
  * Expose intent-based methods

```ts
await userRepository.findActiveUsers();
```

---

## 7. Async & Error Handling

### asyncErrorWrapper Required

For Express 4, route promises need an error-forwarding wrapper. Express 5 forwards rejected returned promises; avoid duplicate handlers.

```ts
router.get(
  '/users',
  asyncErrorWrapper((req, res) =>
    controller.list(req, res)
  )
);
```

Return or await the handler promise; a wrapper does not handle detached background work.

---

## 8. Observability & Monitoring

### Required

* Approved error tracking with redaction and destination/retention controls
* Sampled performance tracing appropriate to the installed SDK
* Structured logs (where applicable)

Every critical path must be observable.

---

## 9. Testing Discipline

### Required Tests

* **Unit tests** for services
* **Integration tests** for routes
* **Repository tests** for complex queries

```ts
describe('UserService', () => {
  it('creates a user', async () => {
    expect(user).toBeDefined();
  });
});
```

No tests → no merge.

---

## 10. Review Signals

❌ Business logic in routes
❌ Skipping service layer
❌ Direct Prisma in controllers
❌ Missing validation
❌ Unvalidated environment access outside configuration bootstrap
❌ Unredacted or unapproved telemetry
❌ Untested business logic

---

## Resource Guide

Read the relevant bundled resources before applying examples. Private project paths and `@project-lifecycle-portal/database`, `SSOMiddleware`, `BaseController` and configuration utilities are illustrative application components, not installed dependencies. Authenticate with access tokens, authorize every object/tenant action, allowlist public DTO fields, project response fields and protect cookie-authenticated mutations against CSRF.

## 11. Integration With Other Skills

* **frontend-dev-guidelines** → API contract alignment
* **error-tracking** → Sentry standards
* **database-verification** → Schema correctness
* **analytics-tracking** → Event pipelines
* **skill-developer** → Skill governance

---

## 12. Operator Validation Checklist

Before finalizing backend work:

* [ ] Risks discussed with evidence; no numeric score grants approval
* [ ] Layered architecture respected
* [ ] Input validated
* [ ] Errors captured in Sentry
* [ ] unifiedConfig used
* [ ] Tests written
* [ ] No anti-patterns present

---

## 13. Skill Status

**Status:** Illustrative patterns; target-specific compilation, tests and security review required
**Intended Use:** Long-lived Node.js microservices with real traffic and real risk
---

### When to Use
This skill is applicable to execute the workflow or actions described in the overview.

## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

© sickn33 · MIT · sickn33/agentic-awesome-skills

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →

Сначала — backend-dev-guidelines от других авторов.

backend-dev-guidelines diet103 Скилл задаёт слоёную архитектуру для Node.js/Express/TypeScript: маршруты, контроллеры, сервисы, репозитории. Включается сам, когда агент трогает бэкенд-код. CX Codex +1 ★ 10 039звёзд репо mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок claude-api официальный anthropics Справочник по Anthropic SDK и API Claude для генерации кода без устаревших параметров и выдуманных методов. 74 198установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. CX Codex +1 472 900установок lark-event larksuite Слушает события Lark/Feishu и отдаёт их потоком NDJSON. Подходит для ботов, обработчиков сообщений и долгих подписчиков. CX Codex +1 466 800установок caveman-discover JuliusBrussee Находит точки вызова LLM в репозитории и размечает их воркфлоу для Caveman Cloud, чтобы расходы на токены не сливались в одну общую кучу. CX Codex +1 104 400установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок

Из того же набора101

Весь набор →
scroll-experience Скилл помогает проектировать скролл-анимации, параллакс и интерактивное повествование для веб-страниц. Пригодится для сцен, которые раскрываются при прокрутке. CX Codex +1 2 000установок agent-memory-systems Скилл для проектирования памяти агентов с разделением по пользователям и тенантам. Помогает построить RAG, историю диалогов и хранилище векторов так, чтобы данные одного клиента не утекали к другому. CX Codex +1 2 000установок shopify-development Скилл для разработки Shopify-приложений, расширений и тем через GraphQL Admin API, Shopify CLI, Polaris UI и Liquid. Маршрутизирует задачу в нужный трек: приложение, расширение, тема или комбинация. CX Codex +1 1 900установок vercel-deployment Скилл подготавливает и запускает деплой Next.js-проекта на Vercel. Пригодится, когда нужно настроить превью-окружение, проверить переменные среды и убедиться, что сборка пройдёт без ошибок. CX Codex +1 1 800установок app-store-optimization Готовит черновики метаданных для страниц в Apple App Store и Google Play Store с учётом ограничений полей. Пригодится перед релизом или обновлением приложения. CX Codex +1 1 800установок telegram-mini-app Скилл для разработки Telegram Mini Apps — веб-приложений, которые работают внутри Telegram с опытом, близким к нативным. Охватывает TON, Telegram Web App API, аутентификацию и монетизацию через Stars. CX Codex +1 1 700установок office-productivity Скилл-обёртка, которая ведёт агента по семи фазам офисной работы: документы, таблицы, презентации, конвертация форматов. CX Codex +1 1 600установок firebase Помогает проектировать бэкенд на Firebase, настраивать правила безопасности Firestore и писать Cloud Functions под паттерны запросов. CX Codex +1 1 600установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой