Agent Skills: 🌐 Backend API

REST uygulama, validation, security headers, auth patterns. ⚠️ Kod yazarken kullan. API tasarımı/GraphQL için → api-design.

developmentID: vuralserhat86/antigravity-agentic-skills/backend_api

Install this agent skill to your local

pnpm dlx add-skill https://github.com/vuralserhat86/antigravity-agentic-skills/tree/HEAD/skills/backend_api

Skill Files

Browse the full folder contents for backend_api.

Download Skill

Loading file tree…

skills/backend_api/SKILL.md

Skill Metadata

Name
backend_api
Description
REST uygulama, validation, security headers, auth patterns. ⚠️ Kod yazarken kullan. API tasarımı/GraphQL için → api-design.

🌐 Backend API

REST API tasarımı ve güvenlik best practices.


📋 1. RESTful Endpoints

GET    /api/v1/users           # List
GET    /api/v1/users/:id       # Get one
POST   /api/v1/users           # Create
PATCH  /api/v1/users/:id       # Partial update
DELETE /api/v1/users/:id       # Delete

HTTP Status Codes

| Kod | Kullanım | |-----|----------| | 200 | GET, PATCH, PUT başarılı | | 201 | POST Created | | 204 | DELETE No Content | | 400 | Validation hatası | | 401 | Authentication gerekli | | 403 | Yetki yok | | 404 | Bulunamadı | | 429 | Rate limit |


✅ 2. Input Validation (Zod)

import { z } from 'zod';

const CreateUserSchema = z.object({
  email: z.string().email(),
  password: z.string().min(8),
  name: z.string().min(2).max(100),
});

type CreateUserDto = z.infer<typeof CreateUserSchema>;

🔐 3. Güvenlik

Security Headers

import helmet from 'helmet';
import rateLimit from 'express-rate-limit';

app.use(helmet());
app.use(rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100,
}));

JWT Authentication

function authMiddleware(req, res, next) {
  const token = req.headers.authorization?.replace('Bearer ', '');
  if (!token) return res.status(401).json({ error: 'Token required' });
  
  const decoded = jwt.verify(token, env.JWT_SECRET);
  req.user = decoded;
  next();
}

📦 4. Response Format

interface SuccessResponse<T> {
  success: true;
  data: T;
  meta?: { page, limit, total };
}

interface ErrorResponse {
  success: false;
  error: { code: string; message: string };
}

🔗 İlgili Skill'ler

  • backend-core - TypeScript, yapı
  • backend-database - Repository, caching

  • backend-database - Repository, caching

Backend API v1.2 - Verified

🔄 Workflow

Kaynak: Node.js Best Practices (Goldberg)

Aşama 1: Interface Design (Contract First)

  • [ ] Specs: OpenAPI (Swagger) veya Zod şeması ile input/output tanımla.
  • [ ] Roadmap: Endpoint listesini ve HTTP metodlarını belirle.

Aşama 2: Layered Implementation

  • [ ] Controller: Sadece HTTP request/response yönet, business logic yazma.
  • [ ] Service: Tüm iş mantığını buraya koy (Reusable).
  • [ ] DAL: Veritabanı erişimini soyutla.

Aşama 3: Security & Hardening

  • [ ] Middleware: Helmet, Rate Limiter ve CORS ayarlarını yap.
  • [ ] Validation: Gelen her veriyi (Body, Query, Params) Zod ile doğrula.
  • [ ] Error: Global Error Handler kur ve user-friendly mesaj dön.

Kontrol Noktaları

| Aşama | Doğrulama | |-------|-----------| | 1 | API dokümantasyonu koddan önce mi hazırlandı? | | 2 | Controller dosyasında hiç SQL/ORM kodu var mı? (Olmamalı) | | 3 | 500 hatası dönünce stack trace gizleniyor mu? |