# ๐๏ธ CodeGraphContext (CGC)
**์ฝ๋ ์ ์ฅ์๋ฅผ AI ์์ด์ ํธ๊ฐ ์ฟผ๋ฆฌํ ์ ์๋ ๊ทธ๋ํ๋ก ๋ณํํฉ๋๋ค.**
๐ **์ธ์ด:**
- ๐ฌ๐ง [English](README.md)
- ๐จ๐ณ [ไธญๆ](README.zh-CN.md)
- ๐ฐ๐ท [ํ๊ตญ์ด](README.kor.md)
- ๐บ๐ฆ [ะฃะบัะฐัะฝััะบะฐ](README.uk.md)
- ๐ท๐บ [ะ ัััะบะธะน](README.ru-RU.md)
- ๐ฏ๐ต [ๆฅๆฌ่ช](README.ja.md)
- ๐ช๐ธ Espaรฑol (์ค๋น ์ค)
๐ **CodeGraphContext๋ฅผ ์ฌ๋ฌ๋ถ์ ์ธ์ด๋ก ๋ฒ์ญํ๋ ๋ฐ ๋์์ ์ฃผ์ธ์! https://github.com/CodeGraphContext/CodeGraphContext/issues ์์ ์ด์์ PR์ ์์ฑํด ์ฃผ์ธ์!**
๋ฅ ์ฝ๋ ๊ทธ๋ํ์ AI ์ปจํ
์คํธ ์ฌ์ด์ ๊ฐ๊ทน์ ํด์ํฉ๋๋ค.
๋ก์ปฌ ์ฝ๋๋ฅผ ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ธ๋ฑ์ฑํ์ฌ AI ์ด์์คํดํธ์ ๊ฐ๋ฐ์์๊ฒ ์ปจํ
์คํธ๋ฅผ ์ ๊ณตํ๋ ๊ฐ๋ ฅํ **MCP ์๋ฒ** ๋ฐ **CLI ๋๊ตฌ ๋ชจ์**์
๋๋ค. ํฌ๊ด์ ์ธ ์ฝ๋ ๋ถ์์ ์ํ ๋
๋ฆฝ ์คํํ CLI๋ก ์ฌ์ฉํ๊ฑฐ๋, MCP๋ฅผ ํตํด ์ ํธํ๋ AI IDE์ ์ฐ๊ฒฐํ์ฌ AI ๊ธฐ๋ฐ ์ฝ๋ ์ดํด๋ฅผ ์ํํ ์ ์์ต๋๋ค.
---
## ๐ ๋น ๋ฅธ ํ์
* [๐ ๋น ๋ฅธ ์์](#๋น ๋ฅธ-์์)
* [๐ ์ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด](#์ง์-ํ๋ก๊ทธ๋๋ฐ-์ธ์ด)
* [๐ ๏ธ CLI ๋๊ตฌ ๋ชจ์](#cli-๋๊ตฌ-๋ชจ์-๋ชจ๋)
* [๐ค MCP ์๋ฒ](#-mcp-์๋ฒ-๋ชจ๋)
* [๐๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์
](#๋ฐ์ดํฐ๋ฒ ์ด์ค-์ต์
)
---
## โจ CGC ์ฒดํํ๊ธฐ
### ๐จ๐ปโ๐ป ์ค์น ๋ฐ CLI
> pip์ผ๋ก ๋ช ์ด ๋ง์ ์ค์นํ๊ณ ๊ฐ๋ ฅํ ์ฝ๋ ๊ทธ๋ํ ๋ถ์ CLI๋ฅผ ์ฌ์ฉํ์ธ์.

### ๐ ๏ธ ๋ช ์ด ๋ง์ ์ธ๋ฑ์ฑ
> CLI๊ฐ tree-sitter ๋
ธ๋๋ฅผ ์ง๋ฅ์ ์ผ๋ก ํ์ฑํ์ฌ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.

### ๐ค AI ์ด์์คํดํธ ์ง์
> ์์ฐ์ด๋ฅผ ์ฌ์ฉํ์ฌ MCP๋ฅผ ํตํด ๋ณต์กํ ํธ์ถ ์ฒด์ธ์ ์ฟผ๋ฆฌํ์ธ์.

---
## ํ๋ก์ ํธ ์ธ๋ถ ์ ๋ณด
- **๋ฒ์ :** 0.4.16
- **์ ์:** Shashank Shekhar Singh
- **๋ผ์ด์ ์ค:** MIT License (์์ธํ ๋ด์ฉ์ [LICENSE](LICENSE) ์ฐธ์กฐ)
- **์น์ฌ์ดํธ:** [CodeGraphContext](http://codegraphcontext.vercel.app/)
---
## ๐จโ๐ป ๋ฉ์ธํ
์ด๋
**CodeGraphContext**๋ ๋ค์์ ์ํด ์ ์ ๋ฐ ์ ๊ทน์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ๋ฉ๋๋ค:
**Shashank Shekhar Singh**
- ๐ง ์ด๋ฉ์ผ: [shashankshekharsingh1205@gmail.com](mailto:shashankshekharsingh1205@gmail.com)
- ๐ GitHub: [@Shashankss1205](https://github.com/Shashankss1205)
- ๐ LinkedIn: [Shashank Shekhar Singh](https://www.linkedin.com/in/shashank-shekhar-singh-a67282228/)
- ๐ ์น์ฌ์ดํธ: [codegraphcontext.vercel.app](http://codegraphcontext.vercel.app/)
*๊ธฐ์ฌ์ ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์ํฉ๋๋ค! ์ง๋ฌธ, ์ ์ ๋๋ ํ์
๊ธฐํ์ ๋ํด ์์ ๋กญ๊ฒ ์ฐ๋ฝํด ์ฃผ์ธ์.*
---
## Star ๊ธฐ๋ก
[Star History Chart โ](https://www.star-history.com/#CodeGraphContext/CodeGraphContext&Date)
---
## ๊ธฐ๋ฅ
- **์ฝ๋ ์ธ๋ฑ์ฑ:** ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ ๊ตฌ์ฑ ์์์ ์ง์ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
- **๊ด๊ณ ๋ถ์:** ํธ์ถ์, ํผํธ์ถ์, ํด๋์ค ๊ณ์ธต ๊ตฌ์กฐ, ํธ์ถ ์ฒด์ธ ๋ฑ์ ์ฟผ๋ฆฌํฉ๋๋ค.
- **์ฌ์ ์ธ๋ฑ์ฑ๋ ๋ฒ๋ค:** `.cgc` ๋ฒ๋ค๋ก ์ ๋ช
ํ ์ ์ฅ์๋ฅผ ์ฆ์ ๋ก๋ํฉ๋๋ค - ์ธ๋ฑ์ฑ์ด ํ์ ์์ต๋๋ค! ([์์ธํ ์์๋ณด๊ธฐ](docs/BUNDLES.md))
- **์ค์๊ฐ ํ์ผ ๊ฐ์:** ๋๋ ํ ๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ํ๊ณ ๊ทธ๋ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ์๋ ์
๋ฐ์ดํธํฉ๋๋ค (`cgc watch`).
- **๋ํํ ์ค์ :** ์ฌ์ด ์ค์ ์ ์ํ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ช
๋ น์ค ๋ง๋ฒ์ฌ.
- **๋์ผ ๋ชจ๋:** ๊ฐ๋ฐ์๋ฅผ ์ํ ๋
๋ฆฝ ์คํํ **CLI ๋๊ตฌ ๋ชจ์**๊ณผ AI ์์ด์ ํธ๋ฅผ ์ํ **MCP ์๋ฒ**๋ก ์๋ํฉ๋๋ค.
- **๋ค๊ตญ์ด ์ง์:** 14๊ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์๋ฒฝ ์ง์.
- **์ ์ฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์๋:** KรนzuDB (๊ธฐ๋ณธ, ๋ชจ๋ ํ๋ซํผ์์ ์ค์ ๋ถํ์), FalkorDB Lite (Unix ์ ์ฉ), FalkorDB Remote, ๋๋ Neo4j (Docker/๋ค์ดํฐ๋ธ๋ฅผ ํตํ ๋ชจ๋ ํ๋ซํผ).
---
## ์ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
CodeGraphContext๋ ๋ค์ ์ธ์ด์ ๋ํ ํฌ๊ด์ ์ธ ํ์ฑ ๋ฐ ๋ถ์์ ์ ๊ณตํฉ๋๋ค:
| | ์ธ์ด | | ์ธ์ด | | ์ธ์ด |
| :--- | :--- | :--- | :--- | :--- | :--- |
| ๐ | **Python** | ๐ | **JavaScript** | ๐ท | **TypeScript** |
| โ | **Java** | ๐๏ธ | **C / C++** | #๏ธโฃ | **C#** |
| ๐น | **Go** | ๐ฆ | **Rust** | ๐ | **Ruby** |
| ๐ | **PHP** | ๐ | **Swift** | ๐จ | **Kotlin** |
| ๐ฏ | **Dart** | ๐ช | **Perl** | | |
๊ฐ ์ธ์ด ํ์๋ ํจ์, ํด๋์ค, ๋ฉ์๋, ๋งค๊ฐ๋ณ์, ์์ ๊ด๊ณ, ํจ์ ํธ์ถ ๋ฐ ์ํฌํธ๋ฅผ ์ถ์ถํ์ฌ ํฌ๊ด์ ์ธ ์ฝ๋ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
---
## ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์
CodeGraphContext๋ ์ฌ์ฉ ํ๊ฒฝ์ ๋ง๋ ๋ค์ํ ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์๋๋ฅผ ์ง์ํฉ๋๋ค:
| ๊ธฐ๋ฅ | KรนzuDB (๊ธฐ๋ณธ) | FalkorDB Lite | Neo4j |
| :--- | :--- | :--- | :--- |
| **์ค์ ** | ์ค์ ๋ถํ์ / ์๋ฒ ๋๋ | ์ค์ ๋ถํ์ / ์ธํ๋ก์ธ์ค | Docker / ์ธ๋ถ |
| **ํ๋ซํผ** | **๋ชจ๋ ํ๋ซํผ (Windows, macOS, Linux)** | Unix ์ ์ฉ (Linux/macOS/WSL) | ๋ชจ๋ ํ๋ซํผ |
| **์ฌ์ฉ ์ฌ๋ก** | ๋ฐ์คํฌํฑ, IDE, ๋ก์ปฌ ๊ฐ๋ฐ | ํนํ๋ Unix ๊ฐ๋ฐ | ์ํฐํ๋ผ์ด์ฆ, ๋๊ท๋ชจ ๊ทธ๋ํ |
| **์๊ตฌ ์ฌํญ**| `pip install kuzu` | `pip install falkordblite` | Neo4j Server / Docker |
| **์๋** | โก ๋งค์ฐ ๋น ๋ฆ | โก ๋น ๋ฆ | ๐ ํ์ฅ ๊ฐ๋ฅ |
| **์์์ฑ**| ์ (๋์คํฌ) | ์ (๋์คํฌ) | ์ (๋์คํฌ) |
---
## ์ฌ์ฉ ์ฌ๋ก
CodeGraphContext๋ ์ด๋ฏธ ๋ค์๊ณผ ๊ฐ์ ์ฉ๋๋ก ๊ฐ๋ฐ์์ ํ๋ก์ ํธ์์ ํ์ฉ๋๊ณ ์์ต๋๋ค:
- **AI ์ด์์คํดํธ์์์ ์ ์ ์ฝ๋ ๋ถ์**
- **ํ๋ก์ ํธ์ ๊ทธ๋ํ ๊ธฐ๋ฐ ์๊ฐํ**
- **๋ฐ๋ ์ฝ๋ ๋ฐ ๋ณต์ก๋ ํ์ง**
_ํ๋ก์ ํธ์์ CodeGraphContext๋ฅผ ์ฌ์ฉํ๊ณ ๊ณ์๋ค๋ฉด, PR์ ์์ฑํ์ฌ ์ฌ๊ธฐ์ ์ถ๊ฐํด ์ฃผ์ธ์! ๐_
---
## ์์กด์ฑ
- `neo4j>=5.15.0`
- `watchdog>=3.0.0`
- `stdlibs>=2023.11.18`
- `typer[all]>=0.9.0`
- `rich>=13.7.0`
- `inquirerpy>=0.3.7`
- `python-dotenv>=1.0.0`
- `tree-sitter>=0.21.0`
- `tree-sitter-language-pack>=0.6.0`
- `pyyaml`
- `pytest`
- `nbformat`
- `nbconvert>=7.16.6`
- `pathspec>=0.12.1`
**์ฐธ๊ณ :** Python 3.10-3.14์ด ์ง์๋ฉ๋๋ค.
---
## ๋น ๋ฅธ ์์
### ํต์ฌ ๋๊ตฌ ๋ชจ์ ์ค์น
```
pip install codegraphcontext
```
### 'cgc' ๋ช
๋ น์ด๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ, ๋ค์ ํ ์ค ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ธ์:
```
curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash
```
---
## ์์ํ๊ธฐ
### ๐ CodeGraphContext ๋ชจ๋ ์ดํดํ๊ธฐ
CodeGraphContext๋ **๋ ๊ฐ์ง ๋ชจ๋**๋ก ์๋ํ๋ฉฐ, ๋ ์ค ํ๋ ๋๋ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค:
#### ๐ ๏ธ ๋ชจ๋ 1: CLI ๋๊ตฌ ๋ชจ์ (๋
๋ฆฝ ์คํํ)
CodeGraphContext๋ฅผ ์ฝ๋ ๋ถ์์ ์ํ **๊ฐ๋ ฅํ ๋ช
๋ น์ค ๋๊ตฌ ๋ชจ์**์ผ๋ก ์ฌ์ฉํ์ธ์:
- ํฐ๋ฏธ๋์์ ์ง์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ธ๋ฑ์ฑํ๊ณ ๋ถ์
- ์ฝ๋ ๊ด๊ณ ์ฟผ๋ฆฌ, ๋ฐ๋ ์ฝ๋ ์ฐพ๊ธฐ, ๋ณต์ก๋ ๋ถ์
- ์ฝ๋ ๊ทธ๋ํ ๋ฐ ์์กด์ฑ ์๊ฐํ
- CLI ๋ช
๋ น์ ํตํ ์ง์ ์ ์ด๋ฅผ ์ํ๋ ๊ฐ๋ฐ์์๊ฒ ์ ํฉ
#### ๐ค ๋ชจ๋ 2: MCP ์๋ฒ (AI ๊ธฐ๋ฐ)
CodeGraphContext๋ฅผ AI ์ด์์คํดํธ๋ฅผ ์ํ **MCP ์๋ฒ**๋ก ์ฌ์ฉํ์ธ์:
- AI IDE (VS Code, Cursor, Windsurf, Claude, Kiro ๋ฑ) ์ฐ๊ฒฐ
- AI ์์ด์ ํธ๊ฐ ์์ฐ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌ
- ์๋ ์ฝ๋ ์ดํด ๋ฐ ๊ด๊ณ ๋ถ์
- AI ์ง์ ๊ฐ๋ฐ ์ํฌํ๋ก์ ์ ํฉ
**๋ ๋ชจ๋ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค!** ํ ๋ฒ ์ค์นํ๋ฉด CLI ๋ช
๋ น์ ์ง์ ์ฌ์ฉํ๊ฑฐ๋ AI ์ด์์คํดํธ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
### ์ค์น (๋ชจ๋ ๋ชจ๋)
1. **์ค์น:** `pip install codegraphcontext`
โ๏ธ ๋ฌธ์ ํด๊ฒฐ: cgc ๋ช
๋ น์ด๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ
์ค์น ํ "cgc: command not found" ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด PATH ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ธ์:
**Linux/Mac:**
```bash
# ์์ ์คํฌ๋ฆฝํธ ๋ค์ด๋ก๋
curl -O https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh
# ์คํ ๊ถํ ๋ถ์ฌ
chmod +x post_install_fix.sh
# ์คํฌ๋ฆฝํธ ์คํ
./post_install_fix.sh
# ํฐ๋ฏธ๋์ ์ฌ์์ํ๊ฑฐ๋ ์
ธ ์ค์ ์ ๋ค์ ๋ก๋
source ~/.bashrc # zsh ์ฌ์ฉ์๋ ~/.zshrc
```
**Windows (PowerShell):**
```powershell
# ์์ ์คํฌ๋ฆฝํธ ๋ค์ด๋ก๋
curl -O https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh
# bash๋ก ์คํ (Git Bash ๋๋ WSL ํ์)
bash post_install_fix.sh
# PowerShell์ ์ฌ์์ํ๊ฑฐ๋ ํ๋กํ์ ๋ค์ ๋ก๋
. $PROFILE
```
2. **๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์ (์๋)**
- **KรนzuDB (๊ธฐ๋ณธ):** Windows, macOS, Linux์์ ์ค์ ์์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ๋ฉ๋๋ค. `pip install kuzu`๋ง ํ๋ฉด ์ค๋น ์๋ฃ!
- **FalkorDB Lite (๋์):** Python 3.12+์ Unix/macOS/WSL์์ ์ง์๋ฉ๋๋ค.
- **Neo4j (๋์):** Neo4j๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์๋ฒ ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ์ ํธํ๋ ๊ฒฝ์ฐ: `cgc neo4j setup` ์คํ
---
### CLI ๋๊ตฌ ๋ชจ์ ๋ชจ๋
**CLI ๋ช
๋ น์ผ๋ก ์ฆ์ ์ฌ์ฉ ์์:**
```bash
# ํ์ฌ ๋๋ ํ ๋ฆฌ ์ธ๋ฑ์ฑ
cgc index .
# ๋ชจ๋ ์ธ๋ฑ์ฑ๋ ์ ์ฅ์ ๋ชฉ๋ก ์กฐํ
cgc list
# ํจ์๋ฅผ ํธ์ถํ๋ ๊ณณ ๋ถ์
cgc analyze callers my_function
# ๋ณต์กํ ์ฝ๋ ์ฐพ๊ธฐ
cgc analyze complexity --threshold 10
# ๋ฐ๋ ์ฝ๋ ์ฐพ๊ธฐ
cgc analyze dead-code
# ์ค์๊ฐ ๋ณ๊ฒฝ ์ฌํญ ๊ฐ์ (์ ํ ์ฌํญ)
cgc watch .
# ๋ชจ๋ ๋ช
๋ น์ด ๋ณด๊ธฐ
cgc help
```
**์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ช
๋ น์ด์ ์ฌ์ฉ ์๋๋ฆฌ์ค๋ [CLI ๋ช
๋ น ๊ฐ์ด๋](CLI_Commands.md)๋ฅผ ์ฐธ์กฐํ์ธ์.**
### ๐จ ํ๋ฆฌ๋ฏธ์ ๋ํํ ์๊ฐํ
CodeGraphContext๋ ์ฝ๋์ ๋ฉ์ง ๋ํํ ์ง์ ๊ทธ๋ํ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ ์ ๋ค์ด์ด๊ทธ๋จ๊ณผ ๋ฌ๋ฆฌ ํ๋ฆฌ๋ฏธ์ ์น ๊ธฐ๋ฐ ํ์๊ธฐ์
๋๋ค:
- **ํ๋ฆฌ๋ฏธ์ ๋ฏธํ**: ๋คํฌ ๋ชจ๋, ๊ธ๋์ค๋ชจํผ์ฆ, ๋ชจ๋ ํ์ดํฌ๊ทธ๋ํผ (Outfit/JetBrains Mono).
- **๋ํํ ๊ฒ์ฌ**: ๋
ธ๋๋ฅผ ํด๋ฆญํ๋ฉด ์ฌ๋ณผ ์ ๋ณด, ํ์ผ ๊ฒฝ๋ก ๋ฐ ์ปจํ
์คํธ๊ฐ ํฌํจ๋ ์์ธ ์ฌ์ด๋ ํจ๋์ด ์ด๋ฆฝ๋๋ค.
- **๋น ๋ฅธ ๊ฒ์**: ๊ทธ๋ํ์์ ํน์ ์ฌ๋ณผ์ ์ฆ์ ์ฐพ์ ์ ์๋ ์ค์๊ฐ ๊ฒ์.
- **์ง๋ฅํ ๋ ์ด์์**: ๋ณต์กํ ๊ด๊ณ๋ฅผ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ํ ๊ธฐ๋ฐ ๋ฐ ๊ณ์ธต์ ๋ ์ด์์.
- **๋ฌด์์กด์ฑ ๋ณด๊ธฐ**: ๋ชจ๋ ์ต์ ๋ธ๋ผ์ฐ์ ์์ ์๋ํ๋ ๋
๋ฆฝ ์คํํ HTML ํ์ผ.
```bash
# ํจ์ ํธ์ถ ์๊ฐํ
cgc analyze calls my_function --viz
# ํด๋์ค ๊ณ์ธต ๊ตฌ์กฐ ํ์
cgc analyze tree MyClass --viz
# ๊ฒ์ ๊ฒฐ๊ณผ ์๊ฐํ
cgc find pattern "Auth" --viz
```
---
### ๐ค MCP ์๋ฒ ๋ชจ๋
**AI ์ด์์คํดํธ์์ CodeGraphContext๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ :**
1. **์ค์ :** MCP ์ค์ ๋ง๋ฒ์ฌ๋ฅผ ์คํํ์ฌ IDE/AI ์ด์์คํดํธ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค:
```bash
cgc mcp setup
```
๋ง๋ฒ์ฌ๊ฐ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ๊ตฌ์ฑํ ์ ์๋ ๋๊ตฌ:
* VS Code
* Cursor
* Windsurf
* Claude
* Gemini CLI
* ChatGPT Codex
* Cline
* RooCode
* Amazon Q Developer
* Kiro
์ฑ๊ณต์ ์ผ๋ก ๊ตฌ์ฑ๋๋ฉด `cgc mcp setup`์ด ํ์ํ ์ค์ ํ์ผ์ ์์ฑํ๊ณ ๋ฐฐ์นํฉ๋๋ค:
* ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์ฐธ์กฐ์ฉ `mcp.json` ํ์ผ์ ์์ฑํฉ๋๋ค.
* ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฒฉ ์ฆ๋ช
์ `~/.codegraphcontext/.env`์ ์์ ํ๊ฒ ์ ์ฅํฉ๋๋ค.
* ์ ํํ IDE/CLI์ ์ค์ ํ์ผ(์: `.claude.json` ๋๋ VS Code์ `settings.json`)์ ์
๋ฐ์ดํธํฉ๋๋ค.
2. **์์:** MCP ์๋ฒ๋ฅผ ์คํํฉ๋๋ค:
```bash
cgc mcp start
```
3. **์ฌ์ฉ:** ์ด์ AI ์ด์์คํดํธ๋ฅผ ํตํด ์์ฐ์ด๋ก ์ฝ๋๋ฒ ์ด์ค์ ์ํธ์์ฉํ์ธ์! ์๋ ์์๋ฅผ ์ฐธ์กฐํ์ธ์.
---
## ํ์ผ ๋ฌด์ํ๊ธฐ (`.cgcignore`)
ํ๋ก์ ํธ ๋ฃจํธ์ `.cgcignore` ํ์ผ์ ๋ง๋ค์ด CodeGraphContext๊ฐ ํน์ ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฌด์ํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ์ด ํ์ผ์ `.gitignore`์ ๋์ผํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
**`.cgcignore` ํ์ผ ์์:**
```
# ๋น๋ ์ฐ์ถ๋ฌผ ๋ฌด์
/build/
/dist/
# ์์กด์ฑ ๋ฌด์
/node_modules/
/vendor/
# ๋ก๊ทธ ๋ฌด์
*.log
```
---
## MCP ํด๋ผ์ด์ธํธ ์ค์
`cgc mcp setup` ๋ช
๋ น์ IDE/CLI๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํ๋ ค๊ณ ์๋ํฉ๋๋ค. ์๋ ์ค์ ์ ์ฌ์ฉํ์ง ์๊ฑฐ๋ ๋๊ตฌ๊ฐ ์ง์๋์ง ์๋ ๊ฒฝ์ฐ ์๋์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
ํด๋ผ์ด์ธํธ์ ์ค์ ํ์ผ(์: VS Code์ `settings.json` ๋๋ `.claude.json`)์ ๋ค์ ์๋ฒ ์ค์ ์ ์ถ๊ฐํ์ธ์:
```json
{
"mcpServers": {
"CodeGraphContext": {
"command": "cgc",
"args": [
"mcp",
"start"
],
"env": {
"NEO4J_URI": "YOUR_NEO4J_URI",
"NEO4J_USERNAME": "YOUR_NEO4J_USERNAME",
"NEO4J_PASSWORD": "YOUR_NEO4J_PASSWORD"
},
"disabled": false,
"alwaysAllow": []
}
}
}
```
---
## ์์ฐ์ด ์ํธ์์ฉ ์์
์๋ฒ๊ฐ ์คํ ์ค์ด๋ฉด AI ์ด์์คํดํธ๋ฅผ ํตํด ์ผ๋ฐ ํ๊ตญ์ด๋ก ์ํธ์์ฉํ ์ ์์ต๋๋ค. ๋ค์์ ์ฌ์ฉํ ์ ์๋ ์์์
๋๋ค:
### ์ธ๋ฑ์ฑ ๋ฐ ํ์ผ ๊ฐ์
- **์ ํ๋ก์ ํธ๋ฅผ ์ธ๋ฑ์ฑํ๋ ค๋ฉด:**
- "`/path/to/my-project` ๋๋ ํ ๋ฆฌ์ ์ฝ๋๋ฅผ ์ธ๋ฑ์ฑํด ์ฃผ์ธ์."
๋๋
- "`~/dev/my-other-project`์ ์๋ ํ๋ก์ ํธ๋ฅผ ์ฝ๋ ๊ทธ๋ํ์ ์ถ๊ฐํด ์ฃผ์ธ์."
- **์ค์๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ํด ๋๋ ํ ๋ฆฌ ๊ฐ์๋ฅผ ์์ํ๋ ค๋ฉด:**
- "`/path/to/my-active-project` ๋๋ ํ ๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ํด ์ฃผ์ธ์."
๋๋
- "`~/dev/main-app`์์ ์์
์ค์ธ ํ๋ก์ ํธ์ ์ฝ๋ ๊ทธ๋ํ๋ฅผ ์ต์ ์ํ๋ก ์ ์งํด ์ฃผ์ธ์."
๋๋ ํ ๋ฆฌ ๊ฐ์๋ฅผ ์์ฒญํ๋ฉด ์์คํ
์ด ๋ ๊ฐ์ง ์์
์ ๋์์ ์ํํฉ๋๋ค:
1. ํด๋น ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ์ฝ๋๋ฅผ ์ธ๋ฑ์ฑํ๊ธฐ ์ํ ์ ์ฒด ์ค์บ์ ์์ํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋ฉฐ, ์งํ ์ํฉ์ ์ถ์ ํ๊ธฐ ์ํ `job_id`๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค.
2. ๊ทธ๋ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ ์ํด ํ์ผ ๋ณ๊ฒฝ ์ฌํญ ๊ฐ์๋ฅผ ์์ํฉ๋๋ค.
์ฆ, ์์คํ
์ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ์ํ๋ผ๊ณ ์ง์ํ๊ธฐ๋ง ํ๋ฉด ์ด๊ธฐ ์ธ๋ฑ์ฑ๊ณผ ์ง์์ ์ธ ์
๋ฐ์ดํธ๋ฅผ ๋ชจ๋ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
### ์ฝ๋ ์ฟผ๋ฆฌ ๋ฐ ์ดํด
- **์ฝ๋๊ฐ ์ ์๋ ์์น ์ฐพ๊ธฐ:**
- "`process_payment` ํจ์๋ ์ด๋์ ์๋์?"
- "`User` ํด๋์ค๋ฅผ ์ฐพ์ ์ฃผ์ธ์."
- "'๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ'๊ณผ ๊ด๋ จ๋ ์ฝ๋๋ฅผ ๋ณด์ฌ ์ฃผ์ธ์."
- **๊ด๊ณ ๋ฐ ์ํฅ๋ ๋ถ์:**
- "`get_user_by_id` ํจ์๋ฅผ ํธ์ถํ๋ ๋ค๋ฅธ ํจ์๋ ๋ฌด์์ธ๊ฐ์?"
- "`calculate_tax` ํจ์๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ฝ๋์ ์ด๋ค ๋ถ๋ถ์ด ์ํฅ์ ๋ฐ๋์?"
- "`BaseController` ํด๋์ค์ ์์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ ์ฃผ์ธ์."
- "`Order` ํด๋์ค์๋ ์ด๋ค ๋ฉ์๋๊ฐ ์๋์?"
- **์์กด์ฑ ํ์:**
- "`requests` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ํฌํธํ๋ ํ์ผ์ ์ด๋ค ๊ฒ์ด ์๋์?"
- "`render` ๋ฉ์๋์ ๋ชจ๋ ๊ตฌํ์ ์ฐพ์ ์ฃผ์ธ์."
- **๊ณ ๊ธ ํธ์ถ ์ฒด์ธ ๋ฐ ์์กด์ฑ ์ถ์ (์๋ฐฑ ๊ฐ์ ํ์ผ์ ๊ฑธ์ณ):**
CodeGraphContext๋ ๊ด๋ฒ์ํ ์ฝ๋๋ฒ ์ด์ค์์ ๋ณต์กํ ์คํ ํ๋ฆ๊ณผ ์์กด์ฑ์ ์ถ์ ํ๋ ๋ฐ ๋ฐ์ด๋ฉ๋๋ค. ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ ํ์ฉํ์ฌ ํจ์๊ฐ ์ฌ๋ฌ ์ถ์ํ ๊ณ์ธต์ด๋ ์๋ง์ ํ์ผ์ ํตํด ํธ์ถ๋๋ ๊ฒฝ์ฐ์๋ ์ง์ ๋ฐ ๊ฐ์ ํธ์ถ์์ ํผํธ์ถ์๋ฅผ ์๋ณํ ์ ์์ต๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค:
- **์ํฅ๋ ๋ถ์:** ํต์ฌ ํจ์ ๋ณ๊ฒฝ์ ์ ์ฒด ํ๊ธ ํจ๊ณผ๋ฅผ ์ดํดํฉ๋๋ค.
- **๋๋ฒ๊น
:** ์ง์
์ ์์ ํน์ ๋ฒ๊ทธ๊น์ง์ ์คํ ๊ฒฝ๋ก๋ฅผ ์ถ์ ํฉ๋๋ค.
- **์ฝ๋ ์ดํด:** ๋๊ท๋ชจ ์์คํ
์ ์ฌ๋ฌ ๋ถ๋ถ์ด ์ด๋ป๊ฒ ์ํธ์์ฉํ๋์ง ํ์
ํฉ๋๋ค.
- "`main` ํจ์์์ `process_data`๊น์ง์ ์ ์ฒด ํธ์ถ ์ฒด์ธ์ ๋ณด์ฌ ์ฃผ์ธ์."
- "`validate_input`์ ์ง์ ๋๋ ๊ฐ์ ์ ์ผ๋ก ํธ์ถํ๋ ๋ชจ๋ ํจ์๋ฅผ ์ฐพ์ ์ฃผ์ธ์."
- "`initialize_system`์ด ์ต์ข
์ ์ผ๋ก ํธ์ถํ๋ ๋ชจ๋ ํจ์๋ ๋ฌด์์ธ๊ฐ์?"
- "`DatabaseManager` ๋ชจ๋์ ์์กด์ฑ์ ์ถ์ ํด ์ฃผ์ธ์."
- **์ฝ๋ ํ์ง ๋ฐ ์ ์ง๋ณด์:**
- "์ด ํ๋ก์ ํธ์ ์ฌ์ฉ๋์ง ์๋ ๋ฐ๋ ์ฝ๋๊ฐ ์๋์?"
- "`src/utils.py`์ `process_data` ํจ์์ ์ํ ๋ณต์ก๋๋ฅผ ๊ณ์ฐํด ์ฃผ์ธ์."
- "์ฝ๋๋ฒ ์ด์ค์์ ๊ฐ์ฅ ๋ณต์กํ ํจ์ 5๊ฐ๋ฅผ ์ฐพ์ ์ฃผ์ธ์."
- **์ ์ฅ์ ๊ด๋ฆฌ:**
- "ํ์ฌ ์ธ๋ฑ์ฑ๋ ๋ชจ๋ ์ ์ฅ์๋ฅผ ๋์ดํด ์ฃผ์ธ์."
- "`/path/to/old-project`์ ์๋ ์ธ๋ฑ์ฑ๋ ์ ์ฅ์๋ฅผ ์ญ์ ํด ์ฃผ์ธ์."
---
## ๊ธฐ์ฌํ๊ธฐ
๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ๐
์์ธํ ๊ฐ์ด๋๋ผ์ธ์ [CONTRIBUTING.md](CONTRIBUTING.md)๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋ก์ด ๊ธฐ๋ฅ, ํตํฉ ๋๋ ๊ฐ์ ์ ๋ํ ์์ด๋์ด๊ฐ ์์ผ์๋ฉด [์ด์](https://github.com/CodeGraphContext/CodeGraphContext/issues)๋ฅผ ์ด๊ฑฐ๋ Pull Request๋ฅผ ์ ์ถํด ์ฃผ์ธ์.
ํ ๋ก ์ ์ฐธ์ฌํ๊ณ CodeGraphContext์ ๋ฏธ๋๋ฅผ ํจ๊ป ๋ง๋ค์ด ๊ฐ์ธ์.