Cursor Rules를 활용한 더 나은 .NET Worker Services 구축

발행: (2026년 5월 25일 PM 06:02 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

Building Better .NET Worker Services with Cursor Rules 커버 이미지

Overview

🚀 최근에 .NET Core 백그라운드 워커 프로젝트를 만들기 위한 나만의 Cursor 규칙 집합을 구축하기 시작했습니다.

Goal: AI가 단순히 “작동하는 코드”를 생성하는 것이 아니라 처음부터 프로덕션‑레디 아키텍처를 만들도록 가르치는 것입니다.

이제 모든 새로운 Worker Service는 자동으로 다음을 포함합니다:

  • ✅ Clean Architecture
  • ✅ BackgroundService 패턴
  • ✅ Serilog 로깅
  • ✅ Docker 지원
  • ✅ HealthChecks
  • ✅ IOptions 패턴
  • ✅ Graceful shutdown
  • ✅ Polly를 이용한 재시도 정책

One rule that made a huge difference

Do not consider the project complete unless Dockerfile and .dockerignore are created.

이 작은 관례가 출력물을 다음과 같이 바꿔줍니다:

  • ❌ “AI‑generated demo project”

to

  • ✅ Deployable backend infrastructure.

AI 코딩의 진정한 힘은 프롬프트 엔지니어링에만 있는 것이 아니라 — AI에게 엔지니어링 관례를 가르치는 데 있습니다. Cursor Rules와 ChatGPT Skills는 소프트웨어 개발 워크플로우를 표준화하는 데 점점 더 강력해지고 있습니다.

Rule Definition

---
description: "Use this rule when creating or modifying .NET 8 Background Worker / Worker Service projects."
globs:
  - "**/*.cs"
  - "**/*.csproj"
alwaysApply: false
---

.NET 8 Background Worker Standards

Architecture

  • Clean Architecture
  • SOLID 원칙
  • Dependency Injection
  • Options Pattern
  • Async/Await 모범 사례

Project structure

src/
  Worker/
  Application/
  Domain/
  Infrastructure/
tests/
  Worker.Tests/

Worker Rules

  • BackgroundService 사용
  • 비즈니스 로직은 Worker.cs 밖에 두기
  • 외부 서비스는 인터페이스로 추상화
  • 모든 곳에서 CancellationToken 지원
  • 구조화된 로깅 추가
  • Graceful shutdown을 올바르게 처리
  • 외부 호출에 Polly를 이용한 재시도 정책 추가
  • IConfiguration + IOptions 사용

Logging

  • Serilog
  • 콘솔 로깅
  • 필요 시 Enrichers

Add logs for

  • 시작 시점
  • 종료 시점
  • 오류
  • 재시도 시도
  • 성공적인 작업

Docker

생성되는 모든 프로젝트는 반드시 다음을 포함해야 합니다:

  • Dockerfile
  • .dockerignore
  • 다단계 Docker 빌드
  • .NET 8 공식 이미지
  • 프로덕션‑레디 컨테이너 설정

Example requirements

  • 빌드용 SDK 이미지 사용
  • 최종 단계에서는 런타임 이미지 사용
  • 이미지 크기 최소화
  • 필요한 파일만 복사

Do not consider the project complete unless Dockerfile and .dockerignore are created.

Configuration

  • appsettings.json
  • appsettings.Development.json
  • 환경 변수 지원

README

다음 내용을 포함하는 README 생성:

  • 프로젝트 개요
  • 실행 방법
  • Docker 빌드/실행 명령
  • 환경 변수
  • 아키텍처 개요

Code Quality

Prefer

  • 프로덕션‑레디 예제
  • 최소하지만 확장 가능한 구조
  • 가독성 좋은 네이밍
  • 작고 집중된 클래스

Avoid

  • 과도한 엔지니어링
  • 인프라스트럭처에 비즈니스 로직 포함
  • 정적 헬퍼 남용
  • 블로킹 호출
0 조회
Back to Blog

관련 글

더 보기 »

dotnet Framework 수명 주기 도구

Introduction Learn how to create a dotnet Global Tool that lists all .NET Core frameworks with release and end‑of‑life information. 💡 For my other article on...

클린 아키텍처 in .NET 설명 (The Dependency Rule)

EF Core를 업그레이드하면서 300개의 파일을 수정해야 했던 적이 있거나, 단일 비즈니스 규칙을 단위 테스트하려고 했는데 먼저 실행 중인 데이터베이스가 필요하다는 것을 깨달았다면 — 당신은...

EF Core 명명된 쿼리 필터

Introduction EF Core 10 introduces named query filters, an enhancement over the traditional global query filters. Instead of a single combined filter per entit...