Install this agent skill to your local

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

Skill Files

Browse the full folder contents for backend_core.

Download Skill

Loading file tree…

skills/backend_core/SKILL.md

Skill Metadata

Name
backend_core
Description
Node.js/TypeScript temel prensipler, proje yapısı ve TypeScript strict mode kuralları.

🔧 Backend Core

Node.js/TypeScript temel prensipler ve proje yapısı.


📋 1. Kapsam

| Alan | Teknoloji | |------|-----------| | Runtime | Node.js 20+ (LTS) | | Dil | TypeScript (Strict) | | Framework | NestJS, Fastify, Express |


⚙️ 2. TypeScript Strict Mode

{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "noImplicitReturns": true
  }
}

any Yasak

// ❌ YANLIŞ
function process(data: any) { }

// ✅ DOĞRU
function process(data: DataPayload) { }

// Bilinmeyen için unknown kullan
function parse(input: unknown) { }

📁 3. Proje Yapısı (Feature-First)

src/
├── modules/
│   ├── auth/
│   │   ├── auth.controller.ts
│   │   ├── auth.service.ts
│   │   ├── auth.repository.ts
│   │   └── auth.dto.ts
│   └── users/
├── shared/
│   ├── middleware/
│   ├── guards/
│   └── utils/
├── infrastructure/
│   ├── database/
│   ├── cache/
│   └── logger/
├── config/
└── main.ts

🔐 4. Environment Variables

import { z } from 'zod';

const envSchema = z.object({
  NODE_ENV: z.enum(['development', 'production', 'test']),
  PORT: z.string().transform(Number),
  DATABASE_URL: z.string().url(),
  JWT_SECRET: z.string().min(32),
});

export const env = envSchema.parse(process.env);

🔗 İlgili Skill'ler

  • backend-api - REST/GraphQL tasarımı
  • backend-database - DB patterns, caching

  • backend-database - DB patterns, caching

Backend Core v1.2 - Verified

🔄 Workflow

Kaynak: Node.js Best Practices - Project Structure

Aşama 1: Foundation (Structure)

  • [ ] Components: Klasörleri teknik role göre değil (controllers, models), bileşene göre ayır (components/user, components/order).
  • [ ] Config: dotenv ve envalid (veya Zod) ile ortam değişkenlerini tip güvenli hale getir.
  • [ ] Entry: Uygulamayı app.ts (setup) ve server.ts (listen) olarak ayır.

Aşama 2: Core Utilities

  • [ ] Logger: console.log yerine winston veya pino kur.
  • [ ] Async Wrapper: Promise rejection'ları yakalamak için global handler veya wrapper kullan.
  • [ ] Linter: ESLint ve Prettier ayarlarını CI pipeline'a bağla.

Aşama 3: Hardening

  • [ ] Graceful Shutdown: SIGTERM/SIGINT sinyallerini dinle ve bağlantıları nazikçe kapat.
  • [ ] Health Check: /health endpoint'i ekle.

Kontrol Noktaları

| Aşama | Doğrulama | |-------|-----------| | 1 | Yeni bir özellik eklerken 5 farklı klasöre dokunmak gerekiyor mu? (Gerekmemeli -> Component based) | | 2 | .env dosyası commit edilmiş mi? (Edilmemeli) | | 3 | Uygulama çökünce process otomatik restart oluyor mu? (PM2/Docker) |