RepoChat ๐ โ ์ด๋ค ์ ์ฅ์๋ ์์ฝ๊ฒ ํ์ํ๊ณ ๋ํํ๊ธฐ
Source: Dev.to
๊ฐ์
RepoChat์ GitHub Copilot CLI๋ฅผ ์ ์ญ ์ฝ๋๋ฒ ์ด์ค ์ธํ ๋ฆฌ์ ์ค ์ด์์คํดํธ๋ก ์ ํ์ํค๋ ์ปค๋งจ๋โ๋ผ์ธ ๋๊ตฌ์ ๋๋ค. ๋ก์ปฌ ํ๊ฒฝ๊ณผ ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ์ฌ ์ํคํ ์ฒ๋ฅผ ํ์ํ๊ณ , ์ง๋ฌธ์ ํ๊ณ , ํ๋ก์ ํธ ์ ๋ฐ์ ๊ฑธ์ณ ์ฝ๋ ๋ณ๊ฒฝ์ ์์ฒญํ ์ ์๊ฒ ํด์ค๋๋ค.
๋ ํฌ์งํ ๋ฆฌ:
์ฃผ์ ํ์ด๋ผ์ดํธ (Copilot CLI ๊ธฐ๋ฐ)
- ๋ก์ปฌ ์์คํ ๊ณผ ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ ์ฌ์ด์ ๊ณ ์ฑ๋ฅ ๋ธ๋ฆฌ์ง
- ํ๋ก์ ํธ ์ ๋ฐ์ ๊ฑธ์น ์คํ ๊ฐ๋ฅํ ์ธ์ฌ์ดํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด GitHub Copilot CLI ํ์ฉ
- ์ค์๊ฐ ์ฝ๋ ์ค๋ช , ๋ฆฌํฉํ ๋ง ์ ์ ๋ฑ ์ง์
์ค์น
1. pip์ ํตํ ์ค์น (Copilot CLI๊ฐ ์ด๋ฏธ ์ค์น๋ ๊ฒฝ์ฐ)
pip install git+https://github.com/mahupreti/repochat.git
์ค์น๊ฐ ์๋ฃ๋๋ฉด repocโhat ๋ช
๋ น์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
2. Docker๋ฅผ ํตํ ์ค์น (Copilot CLI ๋ถํ์)
๋ค์ ๋ด์ฉ์ ํฌํจํ Dockerfile์ ์์ฑํฉ๋๋ค:
FROM python:3.11-slim
# System dependencies
RUN apt-get update && apt-get install -y \
git \
wget \
curl \
&& rm -rf /var/lib/apt/lists/*
# Install GitHub CLI
RUN mkdir -p /etc/apt/keyrings \
&& wget -qO /etc/apt/keyrings/githubcli-archive-keyring.gpg https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
> /etc/apt/sources.list.d/github-cli.list \
&& apt-get update \
&& apt-get install -y gh
# Install Copilot CLI extension
RUN gh extension install github/gh-copilot
# Install RepoChat
RUN pip install git+https://github.com/mahupreti/repochat.git
WORKDIR /workspace
CMD ["/bin/bash"]
์ปจํ ์ด๋๋ฅผ ๋น๋ํ๊ณ ์คํํฉ๋๋ค:
docker build -t repochat .
docker run -it --rm repochat
์ปจํ ์ด๋ ๋ด๋ถ์์ ์ค์ ์ ์๋ฃํฉ๋๋ค:
# 1. GitHub ์ธ์ฆ
gh auth login
# 2. Copilot ์ด๊ธฐํ (CLI๋ฅผ ๋ค์ด๋ก๋ํ๊ณ , ๋ค์ด๋ก๋๊ฐ ๋๋ ๋ค 'Esc' ํค๋ฅผ ๋๋ฆ)
gh copilot
# 3. (์ ํ) ๋ ํฌ์งํ ๋ฆฌ์์ ์ง์ ํจํค์ง ์ค์น
pip install git+https://github.com/mahupreti/repochat.git
์ด์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์ธ๋ฑ์ฑํ๊ณ ์ฑํ ์ ์์ํ ์ค๋น๊ฐ ๋์์ต๋๋ค.
์ฌ์ฉ๋ฒ
- ๋ ํฌ์งํ ๋ฆฌ ์ธ๋ฑ์ฑ โ ์๊ฒฉ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๋ก๋ํ๊ธฐ ์ํด ์ ์ ํ RepoChat ๋ช ๋ น์ ์คํํฉ๋๋ค.
- ์ง๋ฌธํ๊ธฐ โ ์ฝ๋๋ฒ ์ด์ค์ ๋ํ ์ค๋ช , ์ค๊ณ ๊ฒฐ์ , ํน์ ๊ตฌํ ์์น ๋ฑ์ ์ง์ํฉ๋๋ค.
- ์์ ์์ฒญ โ RepoChat์๊ฒ ์ฝ๋ ๋ณ๊ฒฝ, ๋ฆฌํฉํ ๋ง, ๊ฐ์ ์ฌํญ์ ์ ์ํ๋๋ก ์์ฒญํ๋ฉด, Copilot์ด ์์ฑํ ์ ์์ ๋ฐ์ ์๋์ผ๋ก ์ ์ฉํ ์ ์์ต๋๋ค.
์ฃผ์ ํฌ์ธํธ
- ๋ง์ฐฐ ์๋ ํ์: ๋ณ๋์ RAG ๋ฐฑ์๋๋ฅผ ๊ตฌ์ถํ์ง ์๊ณ ๋จ์ผ CLI ๋๊ตฌ๋ฅผ ๋ค๋ชฉ์ AI ์ด์์คํดํธ๋ก ์ ํํฉ๋๋ค.
- ์ ๋ขฐ์ฑ: ๊ณต์์ ์ผ๋ก ์ง์๋๋ GitHub Copilot CLI๋ฅผ ์ธํ ๋ฆฌ์ ์ค ๋ ์ด์ด๋ก ์ฌ์ฉํฉ๋๋ค.
- ๋ชจ๋ํ AI: ๊ธฐ์กด AIโํ์ฑํ ๋๊ตฌ๋ฅผ ์ฌํ์ฉํด ๋ ๋์ ๊ฐ๋ฐ ์ํฌํ๋ก์ ์ ์ฉํ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
ํ ์ ์ถ: Mahesh Upreti (Solo)