# amdb: AI 컨텍스트 생성기


## ⚡ 컨텍스트 문제
AI 코딩 어시스턴트(Cursor, Windsurf, Claude)는 강력하지만, **볼수 았는 정보가 한정적입니다**. 이들은 여러분이 열어놓은 파일만 볼 수 있습니다. 여러분의 전체 코드베이스에 대한 깊이 있는 구조적 이해가 부족합니다.
**`amdb` (Agent Memory Database)가 이 문제를 해결합니다.** 로컬 프로젝트를 스캔하고, 코드의 벡터 인덱스를 구축하며, **단일하고 고도로 최적화된 마크다운 컨텍스트 파일**을 생성합니다. 이 파일을 AI에 제공하면, AI가 여러분의 프로젝트를 전에 없던 방식으로 이해하는 것을 보게 될 것입니다.
---
## 📦 설치 방법
### 옵션 1: 원라인 설치 프로그램 (권장)
Rust를 설치할 필요가 없습니다. 이 스크립트를 실행하면 최신 바이너리가 자동으로 설치됩니다.
**macOS** (Intel/Apple Silicon)와 **Linux** (WSL 포함)에서 작동합니다.
```bash
### 옵션 2: 수동 다운로드
직접 파일을 다운로드 받고 싶다면 릴리스 페이지로 이동하여 운영 체제에 맞는 버전을 다운로드하세요.
### 옵션 3: Cargo를 통한 설치
Rust 툴체인이 설치되어 있다면:
```bash
cargo install amdb
```
## 🚀 빠른 시작
### 1. 프로젝트 초기화
프로젝트 루트에서 실행하세요. `amdb`는 코드(Rust, Python, JS/TS)를 스캔하고, 심볼을 추출하며, 숨겨진 `.database/` 폴더에 벡터 데이터베이스를 구축합니다.
```bash
amdb init
```
대상 디렉토리를 지정할 수도 있습니다:
```bash
amdb init ./my-project
```
### 2. 컨텍스트 생성
전체 프로젝트 요약을 생성합니다. 이는 전체 코드베이스의 압축된 맵을 포함하는 `.amdb/context.md`를 생성합니다.
```bash
amdb generate
```
**🔥 프로 팁:** `.amdb/context.md`를 AI 채팅(Cursor/Claude)에 드래그 앤 드롭하여 프로젝트에 대한 "갓 모드" 이해를 제공하세요.
---
## 🧠 고급 사용법: 포커스 모드
대규모 프로젝트의 경우, 전체 컨텍스트가 너무 클 수 있습니다. **포커스 모드**를 사용하여 특정 기능이나 버그와 관련된 요약을 생성하세요. `amdb`는 벡터 검색을 사용하여 가장 관련성 높은 파일을 찾습니다.
```bash
# 예시: 인증 로직에 대한 컨텍스트 생성
amdb generate --focus "login authentication jwt"
```
이는 "login authentication jwt"와 관련된 심볼 및 파일만 포함하는 타겟팅된 요약(예: `.amdb/`)을 생성합니다.
---
## 🛠 지원되는 언어
`amdb`는 Tree-sitter 파서를 사용하여 다음의 구문과 구조를 완전히 이해합니다:
- **Rust** (`.rs`)
- **Python** (`.py`)
- **JavaScript** (`.js`, `.jsx`, `.mjs`)
- **TypeScript** (`.ts`, `.tsx`)
- **C** (`.c`, `.h`)
- **C++** (`.cpp`, `.hpp`, `.cc`, `.cxx`)
- **C#**(`.cs`)
- **Go** (`.go`)
- **Java** (`.java`)
- **Ruby** (`.rb`)
- **PHP** (.`php`)
- **HTML** (`.html`, `.htm`)
- **CSS** (`.css`)
- **JSON** (`.json`)
- **Bash** (`.sh`, `.bash`)
---
## 📝 Git 설정
`amdb`는 일반적으로 Git에서 무시해야 하는 로컬 파일을 생성합니다.
`.gitignore`에 다음을 추가하세요:
```text
.database/
.amdb/
```
<p align="center">
Generated by amdb • The Missing Memory for AI Agents
</p>
버그 리포트나 문의사항은 이메일로 보내주세요.
email:try.betaer@gmail.com