Blackbeard ํ์ฅ ๊ธฐ๋ฅ์ GitHub App๊ณผ Copilot ์์ด์ ํธ๋ก ๊ตฌ์ฑ๋ GitHub Copilot ํ์ฅ ๊ธฐ๋ฅ์ ๋๋ค. ์์ด์ ํธ๋ Copilot์ LLM(๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ) API์ ํน์ ์์คํ ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ ํด์ ๊ณผ ๊ฐ์ ์ฑํ ์์ฒญ์ ์๋ตํฉ๋๋ค. GitHub Copilot ํ์ฅ์ฉ ์์ด์ ํธ ์ ๋ณด์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด ๊ฐ์ด๋์์๋ ๊ฐ๋จํ ์์ด์ ํธ ๊ตฌํ์ ์ฌ์ฉํ์ง๋ง, ํ๋ก์ธ์ค๋ ๊ธฐ์ ์ธํธ์ ๋น์ทํฉ๋๋ค. ์์ด์ ํธ์ ๊ธฐ์ ์ธํธ ๊ฐ์ ์ฐจ์ด์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ About GitHub Copilot Extensions์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด ๋น ๋ฅธ ์์์ Blackbeard ํ์ฅ์ ์ต๋ํ ๋นจ๋ฆฌ ๋น๋ํ๊ณ ์ฑํ ํ ์ ์๋๋ก ์ค๊ณ๋์ด ์ธํ๋ผ๋ฅผ ๋ฐฐํฌํ์ง ์๊ณ ๋ ํ์ฅ์ ๊ฐ๋ฐํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค. ํ๋ก๋์ ์ ๊ฒฝ์ฐ ํผ๋ธ๋ฆญ์ผ๋ก ์ก์ธ์คํ ์ ์๋ ์๋ฒ์์ ์์ด์ ํธ ๋๋ ๊ธฐ์ ์ธํธ์ ์๋ํฌ์ธํธ์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ์คํธํด์ผ ํฉ๋๋ค. ์ GitHub Copilot ํ์ฅ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด Copilot ํ์ฅ ์ค์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
1. GitHub App์ ๋ง๋ค๊ณ ์ค์นํ๊ธฐ
GitHub ๊ณ์ ์ ๊ฐ๋ฐ์ ์ค์ ์์ GitHub App์ ๋ง๋ญ๋๋ค. GitHub App์๋ ๋ฐ๋์ ๋ค์์ด ์์ด์ผ ํฉ๋๋ค.
- ์ด๋ฆ
- ํํ์ด์ง URL
- ์ ํ ์ทจ์๋ ์นํํฌ
์ฑ์ ๋ง๋ ํ ์ฌ์ด๋๋ฐ์์ Install App์ ํด๋ฆญํ ๋ค์, ๊ณ์ ์ ์ฑ์ ์ค์นํฉ๋๋ค.
์์ธํ ์ง์นจ์ Copilot ํ์ฅ์ฉ GitHub ์ฑ ๋ง๋ค๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
2. Blackbeard ์์ด์ ํธ๋ฅผ ๋ก์ปฌ๋ก ๋ณต์ ๋ฐ ํธ์คํธ
Blackbeard ์์ด์ ํธ๋ฅผ ์น์ฑ์ผ๋ก ๋ฐฐํฌํ๋ ๋์ ํจ์ฌ ๋ ๋น ๋ฅธ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์ํด ์์ด์ ํธ๋ฅผ ๋ก์ปฌ๋ก ํธ์คํธํ ์ ์์ต๋๋ค.
- VS Code์ ๊ธฐ๋ณธ ์ ๊ณต๋ ํฐ๋ฏธ๋์ ์ฌ์ฉํ์ฌ
copilot-extensions/blackbeard-extension
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํฉ๋๋ค. - ๋์ผํ ํฐ๋ฏธ๋์์
npm install
์ ์คํํ์ฌ ํ์ํ ์ข ์์ฑ์ ์ค์นํ ๋ค์,npm start
๋ฅผ ์คํํ์ฌ ํฌํธ 3000์์ Blackbeard ์์ด์ ํธ๋ฅผ ์์ํฉ๋๋ค. - VS Code ํจ๋์ "Ports" ํญ์์ Forward a port ๋๋ Add port๋ฅผ ํด๋ฆญํ ๋ค์, ํฌํธ 3000์ ์ถ๊ฐํฉ๋๋ค.
- ํฌํธ๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋จ์ถ๋ก ํด๋ฆญํ๊ณ ํ์ ์ฌ๋ถ๋ฅผ "Public"์ผ๋ก ์ค์ ํ ๋ค์, ๋ก์ปฌ ์ฃผ์๋ฅผ ๋ณต์ฌํฉ๋๋ค.
3. Blackbeard ํ์ฅ ํตํฉ ๋ฐ ํ ์คํธ
GitHub App ๋ฐ Blackbeard ์์ด์ ํธ๋ฅผ ์ค์ ํ ํ ์์ด์ ํธ๋ฅผ ์ฑ๊ณผ ํตํฉํ๊ณ Blackbeard ํ์ฅ์ ํ ์คํธํ ์ ์์ต๋๋ค. GitHub App ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
- "General" ์ค์ ์ "Callback URL" ํ๋์ ์์ด์ ํธ์ ๋ก์ปฌ ์ฃผ์๋ฅผ ๋ถ์ฌ๋ฃ์ต๋๋ค.
- "Permissions & events" ์ค์ ์์ Copilot Chat์ ์ฝ๊ธฐ ์ ์ฉ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
- "Copilot" ์ค์ ์์ ์ฑ ์ ํ์ "Agent"๋ก ์ค์ ํ ๋ค์, ๋๋จธ์ง ํ๋๋ฅผ ์ฑ์๋๋ค.
GitHub App ์ค์ ์ ์
๋ฐ์ดํธํ ํ Copilot Chat ์ฐฝ์ @YOUR-EXTENSION-NAME
์ ์
๋ ฅํ์ฌ ํ์ฅ๊ณผ ์ฑํ
์ ์์ํ ๋ค์, ํ์์ฒ๋ผ ๋ฉ์์ง๋ฅผ ๋ณด๋
๋๋ค.
์์ธํ ์ง์นจ์ Copilot ํ์ฅ์ ๋ํ GitHub ์ฑ ๊ตฌ์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
2. codespace์์ Blackbeard ์์ด์ ํธ ๋ณต์ ๋ฐ ํธ์คํธ
Blackbeard ์์ด์ ํธ๋ฅผ ์น์ฑ์ผ๋ก ๋ฐฐํฌํ๋ ๋์ ํจ์ฌ ๋ ๋น ๋ฅธ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์ํด ์์ด์ ํธ๋ฅผ codespace์์ ํธ์คํธํ ์ ์์ต๋๋ค.
copilot-extensions/blackbeard-extension
๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค. Code ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ์ ํํ ๋ค์, Create codespace on main์ ํด๋ฆญํฉ๋๋ค.- ์ codespace๋ฅผ ์ฐพ์ผ๋ ค๋ฉด Code ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค. ์ codespace ์์ ์๋ ๋ฅผ ์ ํํ ๋ค์, Open in Browser๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ํตํฉ ํฐ๋ฏธ๋์์
npm start
๋ฅผ ์คํํ์ฌ ํฌํธ 3000์์ Blackbeard ์์ด์ ํธ๋ฅผ ์์ํฉ๋๋ค. - VS Code ํจ๋์ "Ports" ํญ์์ Forward a port๋ฅผ ํด๋ฆญํ ๋ค์, ํฌํธ 3000์ ์ถ๊ฐํฉ๋๋ค.
- ํฌํธ๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋จ์ถ๋ก ํด๋ฆญํ๊ณ ํ์ ์ฌ๋ถ๋ฅผ "Public"์ผ๋ก ์ค์ ํ ๋ค์, ๋ก์ปฌ ์ฃผ์๋ฅผ ๋ณต์ฌํฉ๋๋ค.
3. Blackbeard ํ์ฅ ํตํฉ ๋ฐ ํ ์คํธ
GitHub App ๋ฐ Blackbeard ์์ด์ ํธ๋ฅผ ์ค์ ํ ํ ์์ด์ ํธ๋ฅผ ์ฑ๊ณผ ํตํฉํ๊ณ Blackbeard ํ์ฅ์ ํ ์คํธํ ์ ์์ต๋๋ค. GitHub App ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
- "General" ์ค์ ์ "Callback URL" ํ๋์ ์์ด์ ํธ์ ์ ๋ฌ๋ ์ฃผ์๋ฅผ ๋ถ์ฌ๋ฃ์ต๋๋ค.
- "Permissions & events" ์ค์ ์์ Copilot Chat์ ์ฝ๊ธฐ ์ ์ฉ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
- "Copilot" ์ค์ ์์ ์ฑ ์ ํ์ "Agent"๋ก ์ค์ ํ ๋ค์, ๋๋จธ์ง ํ๋๋ฅผ ์ฑ์๋๋ค.
GitHub App ์ค์ ์ ์
๋ฐ์ดํธํ ํ ์ง์๋๋ ํด๋ผ์ด์ธํธ ๋๋ IDE์ Copilot Chat ์ฐฝ์ @YOUR-EXTENSION-NAME
์ ์
๋ ฅํ ๋ค์, ์ ์์ ์ผ๋ก ํ๋กฌํํธ๋ฅผ ์ ์กํ์ฌ ํ์ฅ๊ณผ ์ฑํ
์ ์์ํ ์ ์์ต๋๋ค. ์ง์๋๋ ํด๋ผ์ด์ธํธ ๋ฐ IDE ๋ชฉ๋ก์ About GitHub Copilot Extensions์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ฐธ๊ณ ํญ๋ชฉ
GitHub Codespaces์์ GitHub Copilot ํ์ฅ์์ ์ฑํ ์ ์ง์๋์ง ์์ต๋๋ค.
์์ธํ ์ง์นจ์ Copilot ํ์ฅ์ ๋ํ GitHub ์ฑ ๊ตฌ์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
2. Blackbeard ์์ด์ ํธ๋ฅผ ๋ก์ปฌ๋ก ๋ณต์ ๋ฐ ์์
Blackbeard ์์ด์ ํธ๋ฅผ ์น์ฑ์ผ๋ก ๋ฐฐํฌํ๋ ๋์ ํจ์ฌ ๋ ๋น ๋ฅธ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์ํด ์์ด์ ํธ๋ฅผ ๋ก์ปฌ๋ก ํธ์คํธํ ์ ์์ต๋๋ค.
- ๋ช
๋ น์ค ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉํ์ฌ
copilot-extensions/blackbeard-extension
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํฉ๋๋ค. npm install
์ ์คํํ์ฌ ํ์ํ ์ข ์์ฑ์ ์ค์นํ ๋ค์,npm start
๋ฅผ ์คํํ์ฌ ํฌํธ 3000์์ Blackbeard ์์ด์ ํธ๋ฅผ ์์ํฉ๋๋ค.
3. ๋ก์ปฌ ์๋ฒ ๋ ธ์ถ
Blackbeard ์์ด์ ํธ๋ฅผ Copilot ํ๋ซํผ ๋ฐ GitHub์ ์ก์ธ์คํ ์ ์๋๋ก ํ๋ ค๋ฉด HTTP ์์ฒญ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋๋ก ๋ก์ปฌ ์๋ฒ๋ฅผ ๋ ธ์ถํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ชจ๋ ํฌํธ ์ ๋ฌ ๋๋ ํฐ๋๋ง ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์ ๋จ๊ณ์์๋ ngrok๋ฅผ ์ฌ์ฉํฉ๋๋ค.
-
ngrok์ ๋ค์ด๋ก๋ ํ์ด์ง๋ก ์ด๋ํ ๋ค์ ์ด์ ์ฒด์ ์ ์ ํฉํ ngrok ๋ฒ์ ์ ์ค์นํฉ๋๋ค.
-
ngrok ์ค์ ๋ฐ ์ค์น ํ์ด์ง๋ก ์ด๋ํ ๋ค์, ngrok ๊ณ์ ์ ๋ก๊ทธ์ธํ๊ฑฐ๋ ๋ฑ๋กํฉ๋๋ค.
-
๋ก์ปฌ ์๋ฒ๋ฅผ ๋ ธ์ถํ๋ ค๋ฉด ๋ช ๋ น์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฐฝ์์ ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
Shell ngrok http http://localhost:3000
ngrok http http://localhost:3000
-
๋ช ๋ น์ค ์ ํ๋ฆฌ์ผ์ด์ ์์ "์ ๋ฌ" ์์ ngrok๊ฐ ์๋ฒ์ ํ ๋นํ URL์ ๋ณต์ฌํฉ๋๋ค.
4. Blackbeard ํ์ฅ ํตํฉ ๋ฐ ํ ์คํธ
GitHub App์ Blackbeard ์์ด์ ํธ์ ํตํฉํ๋ ค๋ฉด ์ฑ ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
- "General" ์ค์ ์ "Callback URL" ํ๋์ ๋ ธ์ถ๋ ์๋ฒ์ URL์ ๋ถ์ฌ๋ฃ์ต๋๋ค.
- "Permissions & events" ์ค์ ์์ Copilot Chat์ ์ฝ๊ธฐ ์ ์ฉ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
- "Copilot" ์ค์ ์์ ์ฑ ์ ํ์ "Agent"๋ก ์ค์ ํ ๋ค์, ๋๋จธ์ง ํ๋๋ฅผ ์ฑ์๋๋ค.
GitHub App ์ค์ ์ ์
๋ฐ์ดํธํ ํ Copilot Chat ์ฐฝ์ @YOUR-EXTENSION-NAME
์ ์
๋ ฅํ์ฌ ํ์ฅ๊ณผ ์ฑํ
์ ์์ํ ๋ค์, ํ์์ฒ๋ผ ๋ฉ์์ง๋ฅผ ๋ณด๋
๋๋ค.
์์ธํ ์ง์นจ์ Copilot ํ์ฅ์ ๋ํ GitHub ์ฑ ๊ตฌ์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
์ด์ ์๋ ์ค์ธ GitHub Copilot ํ์ฅ์ด ์์ผ๋ฏ๋ก Blackbeard ์์ด์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋น๋ํ์ฌ ์์ด์ ํธ ๊ฐ๋ฐ์ ์คํํด ๋ณผ ์ ์์ต๋๋ค.
๋ ๋ณต์กํ ์์ด์ ํธ ๊ตฌํ์ ๋ํด ์์๋ณด๋ ค๋ฉด copilot-extensions
์กฐ์ง์์ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ ๋ค์ ์์ ์์ด์ ํธ ๋ฐ SDK(์ํํธ์จ์ด ๊ฐ๋ฐ ํคํธ)๋ฅผ ๊ฒํ ํ ์๋ ์์ต๋๋ค.
- GitHub Models: Copilot Chat์ ํตํด GitHub Marketplace์ ๋์ด๋ ๋ค์ํ LLM์ ๋ํด ์ง๋ฌธํ๊ณ ์ํธ ์์ฉํ ์ ์๋ ๋ ๋ณต์กํ ์์ด์ ํธ์ ๋๋ค. GitHub Models ์์ด์ ํธ๋ ํจ์ ํธ์ถ์ ์ฌ์ฉํฉ๋๋ค.
- ํจ์ ํธ์ถ: ํจ์ ํธ์ถ ๋ฐ ํ์ธ ๋ํ ์์๋ฅผ ๋ณด์ฌ ์ฃผ๋ Go๋ก ์์ฑ๋ ์์ ์์ด์ ํธ์ ๋๋ค.
- RAG ํ์ฅ: ๊ฒ์ ๋ณด๊ฐ ์์ฑ์ ๊ฐ๋จํ ๊ตฌํ์ ๋ณด์ฌ ์ฃผ๋ Go๋ก ์์ฑ๋ ์์ ์์ด์ ํธ์ ๋๋ค.
- ๋ฏธ๋ฆฌ ๋ณด๊ธฐ SDK: ์์ฒญ ํ์ธ, ํ์ด๋ก๋ ๊ตฌ๋ฌธ ๋ถ์, ์๋ต ํ์์ ์๋์ผ๋ก ์ฒ๋ฆฌํ์ฌ Copilot ํ์ฅ์ ๊ฐ๋ฐ์ ๊ฐ์ํํ๋ SDK์ ๋๋ค. ์ด SDK๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ฅ ๋น๋๊ฐ ํต์ฌ ๊ธฐ๋ฅ์ ๋ง๋๋ ๋ฐ ๋ ์ง์คํ๊ณ ์์ฉ๊ตฌ ์ฝ๋์ ๋ ์ง์คํ ์ ์์ต๋๋ค.