Build or update the BlueBubbles external channel plugin for Moltbot (extension package, REST...
npx skills add vuralserhat86/antigravity-agentic-skills --skill "backend_api"
Install specific skill from multi-skill repository
# Description
REST uygulama, validation, security headers, auth patterns. ⚠️ Kod yazarken kullan. API tasarımı/GraphQL için → api-design.
# SKILL.md
name: backend_api
router_kit: FullStackKit
description: REST uygulama, validation, security headers, auth patterns. ⚠️ Kod yazarken kullan. API tasarımı/GraphQL için → api-design.
metadata:
skillport:
category: development
tags: [accessibility, api integration, backend, backend api, browser apis, client-side, components, css3, debugging, deployment, frameworks, frontend, fullstack, html5, javascript, libraries, node.js, npm, performance optimization, responsive design, seo, state management, testing, typescript, ui/ux, web development] - backend-database
🌐 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
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? |
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.