# D-009: 프로젝트 디렉토리 구조 (2026-03-12)

> Ante 설계 결정 기록.
> 인덱스: [README.md](README.md)

**결정**:

```
ante/
├── AGENTS.md
├── pyproject.toml
├── docs/                   # 설계 문서
├── src/
│   └── ante/               # Python 백엔드
│       ├── main.py          # asyncio entrypoint
│       ├── cli/             # CLI 인터페이스 (ante 커맨드)
│       ├── config/          # 설정 로딩/관리
│       ├── eventbus/        # EventBus 코어
│       ├── bot/             # BotManager + Bot 인터페이스
│       ├── strategy/        # Strategy Registry + 인터페이스 + Validator
│       ├── rule/            # Rule Engine (global + per-strategy)
│       ├── treasury/        # Treasury (자금 관리)
│       ├── broker/          # Broker Adapter 인터페이스 + KIS 구현체
│       ├── gateway/         # API Gateway (rate limiter)
│       ├── data/            # Data Pipeline (collector, normalizer, store)
│       ├── backtest/        # Backtest Engine (subprocess 진입점)
│       ├── report/          # Strategy Report Store
│       ├── notification/    # Notification Adapter + Telegram 구현체
│       └── ipc/             # Runtime IPC command server
├── strategies/              # 전략 파일 (AI Agent 생성, 소스와 분리)
├── tests/
│   ├── unit/
│   └── integration/
├── data/                    # Parquet 시세 데이터 (gitignore)
└── db/                      # SQLite DB 파일 (gitignore)
```

**설계 포인트**:
- `src/ante/` 하위 모듈당 하나의 디렉토리 → 모듈 경계 명확
- 각 모듈 내부에 인터페이스(base)와 구현체 분리 (예: `broker/base.py`, `broker/kis.py`)
- `strategies/`는 소스 코드와 분리 — AI Agent가 생성하는 전략 파일 전용
- `data/`, `db/`는 런타임 데이터로 gitignore 대상
- `cli/`는 Agent용 CLI 인터페이스 (`ante` 커맨드)
