GEMINI.md ๋?
GEMINI.md ํ์ผ์ Gemini ๋ชจ๋ธ์ ์ ๊ณต๋๋ โ์ง์์ ์ปจํ
์คํธโ ๋๋ โ๋ฉ๋ชจ๋ฆฌโ๋ฅผ ์ค์ ํ๋ ํต์ฌ์ ์ธ ์ญํ ์ ํจ. ์ด ํ์ผ์ ํตํด ํ๋ก์ ํธ๋ณ ์ง์นจ, ์ฝ๋ฉ ์คํ์ผ ๊ฐ์ด๋, ๊ด๋ จ ๋ฐฐ๊ฒฝ ์ ๋ณด ๋ฑ์ AI์ ๋ฏธ๋ฆฌ ์๋ ค์ฃผ์ด, ์ฌ์ฉ์์ ์๊ตฌ์ ๋ ์ ํํ๊ณ ๋ง์ถคํ๋ ๋ต๋ณ์ ์์ฑํ๋๋ก ๋ง๋ค ์ ์์.
CLI ํ๋ฉด ํ๋จ์๋ ํ์ฌ ๋ก๋๋ ์ปจํ ์คํธ ํ์ผ์ ๊ฐ์๊ฐ ํ์๋์ด ํ์ฑํ๋ ์ปจํ ์คํธ๋ฅผ ์ฝ๊ฒ ํ์ธํ ์ ์์.
์์
์๋๋ GEMINI.md ํ์ผ์ ์์์. ํ๋ก์ ํธ ๊ฐ์, ์ผ๋ฐ ์ง์นจ, ์ฝ๋ฉ ์คํ์ผ, ํน์ ์ปดํฌ๋ํธ ๊ท์น ๋ฑ์ ์ ์ํ ์ ์์.
# ํ๋ก์ ํธ: My Awesome TypeScript Library
## ์ผ๋ฐ ์ง์นจ:
- ์๋ก์ด TypeScript ์ฝ๋ ์์ฑ ์ ๊ธฐ์กด ์ฝ๋ฉ ์คํ์ผ์ ๋ฐ๋ผ์ฃผ์ธ์.
- ๋ชจ๋ ์ ํจ์์ ํด๋์ค์๋ JSDoc ์ฃผ์์ ํฌํจํด์ผ ํฉ๋๋ค.
- ์ ์ ํ ๊ฒฝ์ฐ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ ํธํฉ๋๋ค.
- ๋ชจ๋ ์ฝ๋๋ TypeScript 5.0 ๋ฐ Node.js 18+์ ํธํ๋์ด์ผ ํฉ๋๋ค.
## ์ฝ๋ฉ ์คํ์ผ:
- ๋ค์ฌ์ฐ๊ธฐ๋ 2์นธ ๊ณต๋ฐฑ์ ์ฌ์ฉํฉ๋๋ค.
- ์ธํฐํ์ด์ค ์ด๋ฆ ์์๋ `I`๋ฅผ ๋ถ์
๋๋ค. (์: `IUserService`)
- ๋น๊ณต๊ฐ ํด๋์ค ๋ฉค๋ฒ ์์๋ ์ธ๋์ค์ฝ์ด(`_`)๋ฅผ ๋ถ์
๋๋ค.
- ํญ์ ์๊ฒฉํ ๋๋ฑ์ฑ(`===` ๋ฐ `!==`)์ ์ฌ์ฉํฉ๋๋ค.
## ํน์ ์ปดํฌ๋ํธ: `src/api/client.ts`
- ์ด ํ์ผ์ ๋ชจ๋ ์ธ๋ถ API ์์ฒญ์ ์ฒ๋ฆฌํฉ๋๋ค.
- ์๋ก์ด API ํธ์ถ ํจ์ ์ถ๊ฐ ์ ๊ฐ๋ ฅํ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ก๊น
์ ํฌํจํด์ผ ํฉ๋๋ค.
- ๋ชจ๋ GET ์์ฒญ์๋ ๊ธฐ์กด `fetchWithRetry` ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.GEMINI.md ํ์ผ ์์น ๋ฐ ๊ณ์ธต ๊ตฌ์กฐ
GEMINI.md ํ์ผ์ ์ฌ๋ฌ ์์น์ ์กด์ฌํ ์ ์์ผ๋ฉฐ, Gemini CLI๋ ์ด๋ค์ ๋ชจ๋ ์ฐพ์ ํ๋์ ์ง์นจ ์ธํธ๋ก ๊ฒฐํฉํจ. ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ฒ์ ์์๋ ๋ค์๊ณผ ๊ฐ์. ํ์ ๋๋ ํ ๋ฆฌ(๋ ๊ตฌ์ฒด์ ์ธ) ํ์ผ์ ๋ด์ฉ์ด ์์ ๋๋ ํ ๋ฆฌ(๋ ์ผ๋ฐ์ ์ธ) ํ์ผ์ ๋ด์ฉ์ ๋ฎ์ด์ฐ๊ฑฐ๋ ๋ณด์ํจ.
- ์ ์ญ ์ปจํ
์คํธ ํ์ผ: ํ ๋๋ ํ ๋ฆฌ์
~/.gemini/GEMINI.md์ ์์นํ๋ฉฐ ๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉ๋๋ ๊ท์น์ ๋ด์. - ํ๋ก์ ํธ ๋ฐ ์์ ์ปจํ ์คํธ ํ์ผ: ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์์นํ๋ฉฐ ํ๋ก์ ํธ ์ ๋ฐ์ ๊ท์น์ ๋ด์.
- ๋ก์ปฌ ์ปจํ ์คํธ ํ์ผ: ํ์ ๋๋ ํ ๋ฆฌ์ ์์นํ๋ฉฐ ํน์ ๋ชจ๋์ด๋ ์ปดํฌ๋ํธ์ ๋ํ ๋งค์ฐ ๊ตฌ์ฒด์ ์ธ ์ง์นจ์ ๋ด์.
์ปจํ ์คํธ ์๋ก๊ณ ์นจ
GEMINI.md ํ์ผ์ ์ธ๋ถ ํธ์ง๊ธฐ์์ ์์ ํ ๊ฒฝ์ฐ, CLI ๋ด์์ ์๋ ๋ช
๋ น์ด๋ฅผ ํตํด ๋ค์ ๋ถ๋ฌ์์ผ ํจ.
/memory refresh์ ๋ด์ฉ์ ์๋ ๊ธ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฆฌํ ๋ด์ฉ์.