# Architecture

## Goal
이 저장소는 에이전트가 이해하고 수정하기 쉬운 구조를 유지하는 것을 목표로 한다.

## Principles
- 구조는 단순하게 유지한다.
- 경계는 명확하게 둔다.
- 숨은 규칙보다 문서화된 규칙을 우선한다.
- 에이전트가 읽을 수 없는 지식은 없는 지식으로 간주한다.

## Recommended Layers
프로젝트 특성에 맞게 조정하되, 아래처럼 역할을 분리한다.

- Types / Schema
- Config
- Repository / Data Access
- Service / Domain Logic
- Runtime / API / App Layer
- UI (해당 시)

## Constraints
- 비즈니스 로직은 경계가 분명한 계층 안에 둔다.
- 데이터 입출력은 경계에서 검증한다.
- 공통 규칙은 문서와 도구로 강제한다.
- 복잡한 예외 규칙은 최소화한다.

## Agent-friendly Design
- 파일은 너무 커지지 않게 유지한다.
- 이름은 역할이 드러나게 짓는다.
- 암묵적 규칙보다 명시적 규칙을 택한다.
- 관련 문서는 코드 가까이에 둔다.
