ํ๋ก์ ํธ ์๊ฐํยทAI ์ฌ์ฉ๋ยท๋ฐฉ๋ฌธ ํต๊ณ๋ฅผ ๋ด ์ปดํจํฐ์์ ํ์ธํ์ธ์.
Manage-A๋ ์ฌ๋ฌ ๊ฐ๋ฐ ํ๋ก์ ํธ์ ์ฝ๋ ๊ตฌ์กฐ์ ํ๋ฆ๋, ์ด์ ์ํ, AI ๋๊ตฌ ์ฌ์ฉ๋, ๋ฐฉ๋ฌธยท๊ฒ์ ํต๊ณ๋ฅผ ํ๊ณณ์์ ํ์ธํ๋ ๋ก์ปฌ ๋์๋ณด๋์ ๋๋ค. ClaudeยทCodexยทCursor ์ฌ์ฉ๋๊ณผ Google Analytics 4(GA4)ยทSearch Console ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ฐ์ ์ถ์ฒ์ ์ฐ๊ฒฐ ์ํ๋ก ํ์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก 127.0.0.1์์๋ง ์คํ๋๋ฉฐ, ํ์ํ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ์ ๋ก๋ํ๊ฑฐ๋ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค. ๊ฐ์์ ํ๋ก์ ํธ ํด๋์ ๊ณ์ ์ผ๋ก ์ฐ๊ฒฐํด์ ์ฌ์ฉํฉ๋๋ค.
ํ์ํ ํ๋ก๊ทธ๋จ์ Node.js 24์ ๋๋ค(์ต์ 22.9). ๋ณ๋ ์์กด์ฑ ์ค์น์ ๋น๋๊ฐ ํ์ํ์ง ์์ต๋๋ค.
Git์ด ์ค์น๋์ด ์๋ค๋ฉด ํฐ๋ฏธ๋์์ ์คํํ์ธ์.
git clone https://github.com/JakeLim17/Manage-A.git
cd Manage-AGit ์์ด ์ฌ์ฉํ๋ ค๋ฉด ์ด ์ ์ฅ์์ Code โ Download ZIP์ ์ ํํ๊ณ ์์ถ์ ํผ ํด๋์์ ํฐ๋ฏธ๋์ ์ฝ๋๋ค.
macOS / Linux:
cp .env.example .envWindows PowerShell:
Copy-Item .env.example .env๋ณต์ฌํ .env ํ์ผ์ ๋ณธ์ธ์ ํ๋ก์ ํธ๋ค์ด ๋ค์ด ์๋ ํด๋์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ ์ต๋๋ค. ๊ฒฝ๋ก์ ๊ณต๋ฐฑ์ด ์์ผ๋ฉด ๋ฐ์ดํ๋ก ๊ฐ์ธ์ธ์.
# macOS / Linux ์์
PROJECT_ROOT="/Users/your-name/Projects"
# Windows์์๋ ์ ์ค ๋์ ๋ณธ์ธ์ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค.
# PROJECT_ROOT="C:/Users/your-name/Projects"
HOST=127.0.0.1
PORT=4310PROJECT_ROOT๋ฅผ ์ค์ ํ์ง ์์ผ๋ฉด Manage-A ํด๋์ ์์ ํด๋๋ฅผ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด Projects/Manage-A, Projects/my-app, Projects/my-site ๊ตฌ์กฐ๋ก ๋๋ฉด ๋๋ํ ๋์ธ ํ๋ก์ ํธ๊ฐ ๋ชฉ๋ก์ ํ์๋ฉ๋๋ค.
npm start๋ธ๋ผ์ฐ์ ์์ **http://127.0.0.1:4310**์ ์ฝ๋๋ค. macOS์์๋ Start Dashboard.command๋ฅผ ๋๋ธํด๋ฆญํด ์คํํ ์๋ ์์ต๋๋ค. ์ด ์คํ ํ์ผ์ด ์ฐจ๋จ๋๋ฉด ํฐ๋ฏธ๋์ npm start๋ฅผ ์ฌ์ฉํ์ธ์.
ํฐ๋ฏธ๋์ ์ผ ๋ ๋์ ๋์๋ณด๋๊ฐ ๋์ํฉ๋๋ค. ์ข
๋ฃํ๋ ค๋ฉด ํด๋น ํฐ๋ฏธ๋์์ Ctrl+C๋ฅผ ๋๋ฆ
๋๋ค. ๋ค์์ ์ฌ์ฉํ ๋๋ ๊ฐ์ ํด๋์์ npm start๋ฅผ ๋ค์ ์คํํฉ๋๋ค.
- ์ค์ โ ์ฌ์ฉ์๋ช : ์ฒซ ํ๋ฉด์ ์ธ์ฌ์ ์ํฌ์คํ์ด์ค ์ด๋ฆ์ ๋ฐ๊ฟ๋๋ค.
- ํ๋ก์ ํธ: ํ์๋ ๋ชฉ๋ก์ ํ์ธํ๊ณ ์ค๋ช ยท์ด์ ์ํยท์ฃผ์ ๊ธฐ๋ฅ์ ์ ๋ ฅํฉ๋๋ค.
- AI ์ฌ์ฉ๋: ๋ณธ์ธ์ CLI ๋ก๊ทธ์ธ, CSV ๋๋ Admin API ํค๋ก ์ฐ๊ฒฐํฉ๋๋ค. ๊ตฌ๋ ํ๋์ API ๋น์ฉ์ ๋ณ๋๋ก ํ์๋ฉ๋๋ค.
- ๋ฐฉ๋ฌธยท๊ฒ์: ๋ณธ์ธ์ Google ์ธ์ฆ์ ์ฐ๊ฒฐํ๊ณ ํด๋น ํ๋ก์ ํธ์ GA4 ์์ฑ ๋๋ Search Console ์ฌ์ดํธ๋ฅผ ์ ํํฉ๋๋ค. โํต๊ณ ๊ฐ์ ธ์ค๊ธฐโ๋ก ์ค์ ์์ ์ ํ์ธํฉ๋๋ค.
- ์ฌ์ฉ์ค๋ช ์: ํ๋ฉด๋ณ ํด์๊ณผ ์ฐ๊ฒฐ ๋ฐฉ๋ฒ์ ํ์ธํฉ๋๋ค.
๊ณ์ ์ฐ๋ ์์ด๋ ํ๋ก์ ํธ ๊ตฌ์กฐยทํ๋ฆยท๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ก๊ทธ์ธ์ด๋ ๊ฐ์ธ ํต๊ณ๋ ์์ค์ ํฌํจ๋์ง ์์ต๋๋ค. 127.0.0.1์ ์ ์ํ๋ ์ปดํจํฐ ์์ ์ ์ฃผ์์ด๋ฏ๋ก, ๊ฐ ์ฌ์ฉ์๊ฐ ์์ ์ ์ปดํจํฐ์์ ์คํํด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ ๋์๋ณด๋๋ Node.js๋ก ์คํ๋ฉ๋๋ค. Windows / Linux ์คํ ์๋ด๋ ์ ๊ณตํ์ง๋ง, ํ์ฌ ์คํ๊ฒฝ ๊ฒ์ฆ์ macOS์์ ์ํํ์ต๋๋ค. Claude ๊ตฌ๋ ํ๋ ์๋ ์กฐํ๋ macOS์ Python 3๊ฐ ํ์ํฉ๋๋ค. Codex ์๋ ์กฐํ๋ ๋ก๊ทธ์ธ๋ Codex CLI๊ฐ ํ์ํ๋ฉฐ, Cursor๋ CSV ๊ฐ์ ธ์ค๊ธฐ์ ์ง์ ๊ธฐ๋ก์ ์ง์ํฉ๋๋ค. CLI๊ฐ ์๊ฑฐ๋ ๋ก๊ทธ์ธ๋์ง ์์๋ ๋์๋ณด๋๋ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ํด๋น ์ฐ๋์ ๋ฏธ์ฐ๊ฒฐ๋ก ํ์๋ฉ๋๋ค.
node/npm๋ช ๋ น์ ์ฐพ์ ์ ์์ด์: Node.js๋ฅผ ์ค์นํ๊ณ ํฐ๋ฏธ๋์ ์๋ก ์ฐ ๋คnode --version์ ํ์ธํ์ธ์.- ํ๋ก์ ํธ๊ฐ ๋ณด์ด์ง ์์์:
.env์PROJECT_ROOT๊ฐ ํ๋ก์ ํธ ํด๋๋ค์ ํฌํจํ๋ ์ค์ ๊ฒฝ๋ก์ธ์ง ํ์ธํ ๋ค ์๋ฒ๋ฅผ ์ข ๋ฃํ๊ณ ๋ค์ ์คํํ์ธ์. - 4310 ํฌํธ๋ฅผ ์ด๋ฏธ ์ฌ์ฉ ์ค์ด์์: ๊ธฐ์กด Manage-A ํฐ๋ฏธ๋์ ํ์ธํ๊ฑฐ๋
.env์PORT๋ฅผ ๋ค๋ฅธ ๋ฒํธ๋ก ๋ฐ๊พธ๊ณ ๊ทธ ๋ฒํธ์ ์ฃผ์๋ก ์ ์ํ์ธ์. macOS ๋๋ธํด๋ฆญ ์คํ ํ์ผ์ ๊ธฐ๋ณธ ํฌํธ 4310์ฉ์ด๋ฏ๋ก ์ฌ์ฉ์ ์ง์ ํฌํธ์์๋npm start๋ฅผ ์ฌ์ฉํฉ๋๋ค. - Google ์ฐ๊ฒฐ์ ๋๋๋ฐ ํต๊ณ๊ฐ ์ ์์: OAuth ํ๋ก์ ํธ์ ์ธ API ํ์ฑํ, ๊ณ์ ์ ์์ฑ ์ฝ๊ธฐ ๊ถํ, ํ๋ก์ ํธ๋ณ ์์ฑ ์ ํ์ ํ์ธํ์ธ์. ๋ก๊ทธ์ธ ์๋ฃ์ ์ค์ ์์ ์ ๋ณ๋๋ก ํ์๋ฉ๋๋ค.
- ํด๋ ์ด๋ฆ์ด๋ ์๋ฒ ์ค์ ์ ๋ฐ๊ฟจ์ด์:
.env๋ณ๊ฒฝ ํ์๋ ์๋ฒ๋ฅผ ๋ค์ ์คํํ์ธ์..local/์ ๋ณด๊ดํ๋ฉด ๊ธฐ์กด ๊ด๋ฆฌ ์ค์ ๊ณผ ๋ง์ง๋ง ์กฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
์น ํ๋ฉด๊ณผ ๋ก์ปฌ ์๋ฒ๊ฐ ํจ๊ป ํฌํจ๋์ด ์์ผ๋ฉฐ, ํ๋ก์ ํธ ํ์๊ณผ ๊ณ์ ์กฐํ๋ ์คํํ๋ ์ปดํจํฐ์์ ์ด๋ฃจ์ด์ง๋๋ค. ๊ธฐ๋ณธ ์ ์ ๋ฒ์๋ 127.0.0.1์ ๋๋ค. ์๊ฒฉ ์ ๊ทผ์ ์๋์ ๋ณ๋ ์ค์ ์ ์ฌ์ฉํฉ๋๋ค.
.env, .local/, output/, .output/๋ Git์์ ์ ์ธ๋ฉ๋๋ค. ๊ฐ์ธ ์ค์ , ์ธ์ฆ ์ ๋ณด, ์ค์ ํต๊ณ์ ํ๋ก์ ํธ ์ ๋ณด๊ฐ ๋ด๊ธด ํ๋ฉด ์บก์ฒ๋ฅผ ๊ณต๊ฐ ์ ์ฅ์์ ํฌํจํ์ง ๋ง์ธ์. OAuth ํด๋ผ์ด์ธํธ JSON๊ณผ ์๋น์ค ๊ณ์ ํค๋ ์ ์ฅ์ ๋ฐ์ ๋ณด๊ดํฉ๋๋ค. ๋ฐ์ดํฐ ์ญ์ ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์๋ฒ๋ฅผ ๋จผ์ ์ข
๋ฃํ๊ณ ๋ณธ์ธ์ .local/์ ๋ณ๋ ๋ฐฑ์
ํ ๋ค ์ฒ๋ฆฌํฉ๋๋ค.
ํ์ฌ ์์ค์๋ LICENSE๊ฐ ์ง์ ๋์ด ์์ง ์์ต๋๋ค. ์ฌ์ฉยท์์ ยท์ฌ๋ฐฐํฌ ํ์ฉ ๋ฒ์๋ ๋ผ์ด์ ์ค๋ฅผ ๊ฒฐ์ ํ ๋ค ๋ช
์ํ ์์ ์
๋๋ค.
- ์ง์ ํ ํ๋ก์ ํธ ํด๋์ ํ๋ก์ ํธ ์๋ ๋ฐ๊ฒฌ: package.json ๊ธฐ์ ์คํ, README ์ค๋ช , Git ๋ธ๋์นยท์ต๊ทผ ์ปค๋ฐยท๋ณ๊ฒฝ ํ์ผ ์, ๋ก์ปฌ ์ฃผ์์ TCP ํฌํธ ์๋ต ์ฌ๋ถ. macOS์์๋ ์์ ํ๋ก์ธ์ค์ ์์ ํด๋๋ ํ์ธํด ๋ค๋ฅธ ํ๋ก์ ํธ์ ํฌํธ๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ํฌํธ ์๋ต์ ํด๋น ์ฑ์ ์ ์ ๋์์ ๋ณด์ฅํ์ง ์์ต๋๋ค.
- ์ ํ๋ ์์ค ํ์ผ ํ์์ผ๋ก API ๊ฒฝ๋ก, ํ์ด์ง, DB/AI ํจํค์ง, ์ฌ์ดํธ๋งตยทrobotsยท๋ฉํ ํ์ผ ๋ฐ๊ฒฌ. ๋น๋ฐ ํ์ผ๊ณผ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ ํ์ํ์ง ์์ต๋๋ค. ๊น์ด 8๋จ๊ณยท3,000๊ฐ ํญ๋ชฉ๊น์ง ํ์ํ๋ฏ๋ก ํฐ ํ๋ก์ ํธ์ ๊ฒฐ๊ณผ๋ ์ผ๋ถ์ผ ์ ์์ต๋๋ค.
- ํ๋ก์ ํธ ์ด๋ฆยท์ค๋ช ยท์ด์ ์ํยท์ฃผ์ ๊ธฐ๋ฅยทํต๊ณ ์์ฑ ํธ์ง๊ณผ ๋ก์ปฌ ์ ์ฅ.
- ์์ง์ด๋ ํ๋ฆ๋, ๋จ๊ณ ์ ํ, ์ผ์์ ์ง, ์๋ ์กฐ์ , ๋จ๊ณยท์ฐ๊ฒฐ์ ์ ๋ ฅํ๋ ์๊ฐ ํธ์ง. ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ํ์ผยท์์กด์ฑ์ ์ฐธ๊ณ ํ ์ค๋ช ์ฉ ๊ตฌ์กฐ์ด๋ฉฐ ์ค์ ์์ฒญ์ด๋ ์ ํํ ์ํคํ ์ฒ๋ฅผ ์๋ ์ถ์ ํ์ง ์์ต๋๋ค.
- ClaudeยทCodexยทCursor ์ฌ์ฉ๋์ ํ์ธํด ๊ธฐ๋ก: ์ถ์ฒ, ์
๋ ฅ ์๊ฐ, ํ๋ ๊ตฌ๊ฐ, ์ด๊ธฐํ ์์ . Codex๋ ๋ก๊ทธ์ธ๋ CLI์ ๊ณต์
account/rateLimits/read๋ฅผ 5๋ถ๋ง๋ค ์กฐํํ๊ณ , ์ฌ๋ฌ ํ๋๊ฐ ์์ผ๋ฉด ๊ฐ๊ฐ ํ์ํฉ๋๋ค. CLI ์ด๊ธฐํ์ ๊ณ์ ์ฝ๊ธฐ๋ง ์คํํ๋ฉฐ ๋ชจ๋ธ ๋ํ๋ ์์ํ์ง ์์ต๋๋ค. Claude๋ macOS์์ ๋ก๊ทธ์ธ๋ Claude Code์/usage๋ฅผ ์กฐํํฉ๋๋ค. Cursor๋ CSV ๊ฐ์ ธ์ค๊ธฐ์ ์ง์ ๊ธฐ๋ก์ ์ง์ํฉ๋๋ค. - GA4 ๋ฐฉ๋ฌธ์ยท์กฐํยท์ธ์ ยท์ ์ ๊ฒฝ๋กยท์ธ๊ธฐ ํ์ด์ง ๋ฐ Search Console ๊ฒ์์ดยทํด๋ฆญยท๋ ธ์ถยทCTRยทํ๊ท ์์ ์ค๋ฐ์ดํฐ ์กฐํ.
- ํต๊ณ ๋ฏธ์ฐ๊ฒฐ ์ํ ๋ฐ ๋ช ์์ ์ผ๋ก ์ ํํ๋ ์์ ๋ฐ์ดํฐ ๋ชจ๋.
- ๋ก์ปฌ SEO ํ์ผ ์ ๊ฒ: ์ฌ์ดํธ๋งต๊ณผ robots ํ์ผ ์กด์ฌ, ์ ์ index.html ์ ๋ชฉยท์ค๋ช ํ๊ทธ, ๋์ ๋ ์ด์์ ํ์ผ. ์ค์ ๋ฐฐํฌยท์์ธยท์ฑ๋ฅ ์ ์ ์ฌ๋ถ๋ฅผ ํ๋จํ์ง ์์ต๋๋ค.
- Git ํ๋๊ณผ ๊ด๋ฆฌ ๊ธฐ๋ก, ๊ด๋ฆฌ ์ ๋ณด JSON ๋ด๋ณด๋ด๊ธฐ, 60์ด๋ง๋ค ํ๋ก์ ํธ ํํฉ ๊ฐฑ์ , ๋ชจ๋ฐ์ผ ๋์, ํค๋ณด๋ ์กฐ์, ์์ง์ ์ค์ด๊ธฐ ์ค์ ๋ฐ์.
์ด์ ์ํ๋ ์ง์ ์ง์ ํ ์ ๋ณด์ ๋๋ค. ํด๋๊ฐ ์กด์ฌํ๊ฑฐ๋ Git์ด ์ฐ๊ฒฐ๋์ด ์๋ค๋ ์ด์ ๋ก ์ด์ ์คยท์ ์์ด๋ผ๊ณ ํ์ํ์ง ์์ต๋๋ค. ํค์ .env๋ ํ๋ก์ ํธ ์์ง ๋์์ด ์๋๋๋ค.
.env.example์ .env๋ก ๋ณต์ฌํ์ฌ ํ์ํ ๊ฐ๋ง ์ค์ ํ์ธ์. .env์ .local/์ Git์์ ์ ์ธ๋ฉ๋๋ค.
| ์ค์ | ๊ธฐ๋ณธ๊ฐ / ์๋ฏธ |
|---|---|
| PORT | 4310 |
| HOST | 127.0.0.1 |
| PROJECT_ROOT | Manage-A์ ์์ ํด๋ |
| GOOGLE_APPLICATION_CREDENTIALS | ์ธ๋ถ์ ๋ณด๊ดํ ์๋น์ค ๊ณ์ JSON ํ์ผ ์ ๋ ๊ฒฝ๋ก |
| DASHBOARD_PASSWORD | ์๊ฒฉ ๋ชจ๋์์ 16์ ์ด์ ํ์ |
| PUBLIC_ORIGIN | ์๊ฒฉ ๋ชจ๋์ ์ ํํ ์ ์ origin (์: https://control.example.com) |
| COOKIE_SECURE | HTTPS ํ๋ก์ ์ฌ์ฉ ์ true ํ์ |
.local/settings.json์ ์ฌ์ฉ์๋ช
ยท์ง์ ์
๋ ฅํ ์ ๋ณดยท๋ง์ง๋ง ํต๊ณ ์กฐํ๊ฐ ์ ์ฅ๋ฉ๋๋ค. .local/deployments.json์ ๋ฐฐํฌ ์ค๋
์ท์
๋๋ค. ๋ฐฑ์
์ ์ด ํ์ผ์ ๊ฐ์ธ ๋ณด๊ด์์ ๋ณต์ฌํ์ธ์. JSON ๋ด๋ณด๋ด๊ธฐ์๋ ๋น๋ฐ ํค๊ฐ ํฌํจ๋์ง ์์ง๋ง ํ๋ก์ ํธ ์ ๋ณด๊ฐ ํฌํจ๋๋ฏ๋ก ๊ณต์ ํ์ง ๋ง์ธ์.
๊ฐ์์ ํ๋ก์ ํธ๋ณ ์ฐ๊ฒฐ ๊ณ์ ์์๋ GitHubยทVercelยทDB ๊ณ์ ์ ํจ๊ป ๋ณผ ์ ์์ต๋๋ค. ๊ณ์ ๋ณ๋ก ๋ณด๊ธฐ๋ก ๊ฐ์ ๊ณ์ ์ ํ๋ก์ ํธ๋ฅผ ๋ชจ์ ๋ด ๋๋ค. ํ๋ก์ ํธ ๋ชฉ๋ก๊ณผ ํ๋ฆ๋์ ํ๋ก์ ํธ ์นด๋์๋ ๊ณ์ ์ด๋ฆ์ด ํ์๋ฉ๋๋ค.
์ฌ๋ฌ ๋ฌด๋ฃ ๊ณ์ ์ ๋๋์ด ์ฐ๋ ๊ฒฝ์ฐ ์๋น์ค ๊ณ์ โ ๊ณ์ ์ถ๊ฐ์์ ๊ฐ์ธโ , ๊ฐ์ธโก, ํ์ฌ์ฒ๋ผ ๋ณ์นญ์ ๋ถ์ฌ ๊ฐ๊ฐ ๋ฑ๋กํ์ธ์. ํ๋ก์ ํธ๋ฅผ ๊ณ ๋ฅธ ๋ค ์ฌ์ฉ ๊ณ์ ์ ํ์์ ์๋น์ค๋ณ๋ก ๊ณ ๋ฅด๊ณ ์ด ํ๋ก์ ํธ ๊ณ์ ํ์ธ์ ๋๋ฆ
๋๋ค. ์๋ ์ฐพ๊ธฐ๋ ๋ฑ๋ก๋ ์ฐ๊ฒฐ๋ค์ ์กฐํํด ์ ํํ ํ๋ก์ ํธ ID๊ฐ ์ผ์นํ๋ ๊ณ์ ์ ์ฐพ์ต๋๋ค. ์ง์ ๊ณ์ ์ ์ง์ ํ๋ฉด ๋ค๋ฅธ ๋ก๊ทธ์ธ์ผ๋ก ๋์ด๊ฐ์ง ์์ต๋๋ค. ๋ฑ๋ก ๊ณ์ ๊ด๋ฆฌ์์ ๋ณ์นญ๊ณผ ํ ํฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ณ์นญ์ ์ค์ ์์ ์กฐ์ง๊ณผ ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก ์์ธํ ์์ยท์กฐํ ๊ณ์ ์ ํ์ธ ๋ด์ญ์ ์ฐธ๊ณ ํ์ธ์.
์๋น์ค ๊ณ์ ํ๋ฉด์์ ํ๋ก์ ํธ๋ฅผ ์ ํํ๊ณ ์ฐ๊ฒฐ ID๋ฅผ ๊ฒํ ํ ๋ค ๊ณ์ ํ์ธ์ ๋๋ฅด์ธ์. Git origin, Vercel ํ๋ก์ ํธ ์ค์ , Supabase ์ฐ๊ฒฐ ํ์ผ, Wrangler ๊ณ์ ID์์ ๋์์ ๋ฐ๊ฒฌํฉ๋๋ค. ์ฐ๊ฒฐ ID ํธ์ง์ผ๋ก ์ง์ ์ง์ ํ๊ฑฐ๋ ์๋ ๋ฐ๊ฒฌ์ผ๋ก ๋๋๋ฆด ์ ์์ต๋๋ค.
GitHub์ Supabase๋ ๋ก๊ทธ์ธ๋ ๊ณต์ CLI๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Vercel์ macOS์ ๊ณต์ CLI ๋ก๊ทธ์ธ ํ์ผ์ ์๋ ๊ฐ์งํด ํ ํฐ์ ๋ณต์ฌํ์ง ์๊ณ ๊ณต์ ์ฝ๊ธฐ API๋ฅผ ์กฐํํฉ๋๋ค. CLI ๋ก๊ทธ์ธ์ด ์๊ฑฐ๋ ๋ค๋ฅธ ๊ณ์ ์ด๋ผ๋ฉด ํ ํฐ ์ฐ๊ฒฐ๋ก ์ถ๊ฐํ๊ณ , Cloudflare๋ ์ฝ๊ธฐ ํ ํฐ์ ๋ฑ๋กํ์ธ์. Supabase์ ํ๋ก์ ํธ ์ฐพ๊ธฐ๋ ์ ๊ทผ ๊ฐ๋ฅํ ์ค์ ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๋ฉฐ ์ง์ ์ ํํด์ผ ํฉ๋๋ค. ์ด๋ฆ์ผ๋ก ์๋ ๋งค์นญํ์ง ์์ต๋๋ค.
์์ ๊ณ์ ยท์กฐ์ง๊ณผ ์กฐํ์ ์ฌ์ฉํ ๋ก๊ทธ์ธ ๊ณ์ ์ ๊ตฌ๋ถํฉ๋๋ค. Supabase๋ ์์ ์กฐ์ง์ ํ์ํ๋ฉฐ ๊ฐ์ธ ์ด๋ฉ์ผ์ ์ถ์ ํ์ง ์์ต๋๋ค. Cloudflare๋ ๊ณ์ ์ ๊ทผ๋ง ํ์ธํ๋ฉฐ ํน์ WorkerยทPages ๋ฐฐํฌ๋ฅผ ํ์ธํ์ง ์์ต๋๋ค. ์คํจยทID ๋ถ์ผ์น๋ ์ฐ๊ฒฐ ์๋ฃ๋ก ํ์ํ์ง ์๊ณ , ์ฑ๊ณต ๊ฒฐ๊ณผ๋ 15๋ถ ๋ค์๋ ์ฌํ์ธ์ด ํ์ํ๋ค๊ณ ํ์ํฉ๋๋ค.
AI ์ฌ์ฉ๋๊ณผ ์๋น์ค ๊ณ์ ํ๋ฉด์ AI์๊ฒ ์ฐ๋ ์์ฒญ์ ์์ ์ ๋ง๋ ์์ฒญ๋ฌธ์ ๋ง๋ค์ด ๋ณต์ฌํฉ๋๋ค. ์ฌ์ฉํ๋ AI ๋๊ตฌ์ ๋ถ์ฌ๋ฃ์ด ์ฐ๊ฒฐ ์์ ์ ์์ฒญํ ์ ์์ต๋๋ค. ๋ณต์ฌ๋ง์ผ๋ก ์ ์กํ๊ฑฐ๋ ์คํํ์ง ์์ต๋๋ค. ํ ํฐ์ ์ฑํ ์ด๋ Git์ ๋ถ์ฌ๋ฃ์ง ๋ง์ธ์.
ํ ํฐ ์
๋ ฅ์ ๋ก์ปฌ ๋ชจ๋์์๋ง ๊ฐ๋ฅํ๋ฉฐ .local/service-credentials.json์ ์ ์ฅ๋ฉ๋๋ค. ์ด ํ์ผ์ Git์์ ์ ์ธ๋ฉ๋๋ค. .env.example์ ์๋น์ค ํ ํฐ ํ๊ฒฝ ๋ณ์๋ ์ง์ํฉ๋๋ค. ๊ธฐ์กด ๋จ์ผ ํ ํฐ๊ณผ ํ๊ฒฝ ๋ณ์๋ ๋ณ๋ ์ฐ๊ฒฐ๋ก ์ ํํ ์ ์์ผ๋ฉฐ, ์๋ ์ฐพ๊ธฐ๋ ๋ฑ๋ก๋ ์ฐ๊ฒฐ๋ค์ ์ฐจ๋ก๋ก ์กฐํํฉ๋๋ค. ID์ ๊ณ์ ๋ฉ๋ชจ๋ฅผ ์ ๋ ๊ฒ๋ง์ผ๋ก ์ค์ ์ฐ๊ฒฐ ํ์ธ์ด ๋์ง๋ ์์ต๋๋ค.
- OAuth ํด๋ผ์ด์ธํธ์ Google Cloud ํ๋ก์ ํธ์์ Analytics Data API, Analytics Admin API, Search Console API๋ฅผ ํ์ฑํํฉ๋๋ค.
- ๋ฐฉ๋ฌธยท๊ฒ์ โ Google๋ก ์ฐ๊ฒฐ์์ OAuth ํด๋ผ์ด์ธํธ JSON ํ์ผ์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ณ Google ํต๊ณ ์ฝ๊ธฐ ๊ถํ์ ์น์ธํฉ๋๋ค. ์์ธํ ๋ก์ปฌ ์ฝ๋ฐฑยทํ ํฐ ๋ณด๊ด ๋ฐฉ์์ ์๋ โGoogle ๋ก๊ทธ์ธ์ผ๋ก ๋ฐฉ๋ฌธยท๊ฒ์ ํต๊ณ ์ฐ๊ฒฐโ์ ์ฐธ๊ณ ํ์ธ์.
- ํ๋ก์ ํธ์ ๊ธฐ๊ฐ์ ๊ณ ๋ฅธ ๋ค ํต๊ณ ์์ฑ ์ฐพ๊ธฐ์์ ์ค์ GA4 ์์ฑ๊ณผ Search Console ์ฌ์ดํธ๋ฅผ ์ ํํฉ๋๋ค. ํด๋น Google ๊ณ์ ์ ์์ฑ ์ฝ๊ธฐ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
- ๋ฐฉ๋ฌธยท๊ฒ์์์ ํต๊ณ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ๋๋ฆ ๋๋ค. ์ธ์ฆ ์๋ฃ, ์์ฑ ๋ฑ๋ก, ์ค์ ์์ ์ ๊ฐ๊ฐ ํ์ํฉ๋๋ค.
๊ธฐ์กด ์๋น์ค ๊ณ์ ๋ ์ฐ๊ฒฐ ์ฐฝ์ โ์๋น์ค ๊ณ์ ํ์ผ๋ก ์ฐ๊ฒฐโ์์ JSON ํ์ผ ์ ๋ ๊ฒฝ๋ก๋ก ๋ฑ๋กํ ์ ์์ต๋๋ค. ํค๋ ์ ์ฅ์ ๋ฐ์ ๋ณด๊ดํ๊ณ ํด๋น ์ด๋ฉ์ผ์ ์์ฑ ์ฝ๊ธฐ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. ํค ๋ด์ฉ์ ๋ธ๋ผ์ฐ์ ๋ ์์์ ์
๋ ฅํ์ง ์์ต๋๋ค. .env์ GOOGLE_APPLICATION_CREDENTIALS ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด ๊ทธ ๊ฐ์ด ์ฐ์ ํฉ๋๋ค. ์์ฑ์ ์ง์ ์
๋ ฅํ ๋ ๋๋ฉ์ธ ์์ฑ์ sc-domain:example.com, URL ์ ๋์ด ์์ฑ์ ๋ฑ๋ก๋ ์ ํํ URL(๋ / ํฌํจ)์
๋๋ค.
GA4๋ ์ด์ ๊น์ง 7/28/90์ผ์ ์กฐํํ๊ณ Search Console์ ์ง์ฐ์ ๊ณ ๋ คํด 3์ผ ์ ๊น์ง ๋์ผํ ์ผ์๋ฅผ ์กฐํํฉ๋๋ค. GA4 ํ์ฑ ์ฌ์ฉ์ ํฉ๊ณ๋ ๋ ์ง๋ณ ํฉ์ฐ์ด ์๋๋ผ ๊ธฐ๊ฐ ์ ์ฒด ์กฐํ ๊ฐ์ ๋๋ค. ๊ฒ์์ด์ ์ ์ ๊ฒฝ๋ก๋ API๊ฐ ๋ฐํํ ์์ ํญ๋ชฉ์ด๋ฉฐ ๊ฒ์์ด ํฉ๊ณ์ ์ ์ฒด ํฉ๊ณ๋ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์กฐํ ์คํจ๋ ํ๋ฉด์ ํ์ํ๊ณ ์์น๋ฅผ ์์ฑํ์ง ์์ต๋๋ค.
์ค์ GA4 ๋ฐ Search Console ๊ณ์ ์ผ๋ก ์กฐํ์ ์์ ์ ํ์ธํ์ต๋๋ค. ๊ฐ ์ค์น ํ๊ฒฝ์์๋ ๋ณธ์ธ ๊ณ์ ์ ๊ถํ๊ณผ ์์ฑ ์ฐ๊ฒฐ์ ๋ณ๋๋ก ํ์ธํด์ผ ํฉ๋๋ค.
๊ณต์ ๋ฌธ์: GA4 Data API, Search Console ๊ถํ, ๊ฒ์ ์ค์ ์กฐํ.
๋ก์ปฌ ์๋ฒ๋ฅผ ๊ณ์ ์ฌ์ฉํ๊ณ ๋ค๋ฅธ ์ปดํจํฐ์์ SSH ํฐ๋๋ก ๋ณด๋ ๋ฐฉ์์ด ์ฐ์ ์ ๋๋ค. ์๊ฒฉ ํธ์คํธ์ SSH ์ ๊ทผ์ด ์ด๋ฏธ ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
ssh -L 4310:127.0.0.1:4310 ์ฌ์ฉ์@๋์๋ณด๋์ปดํจํฐ๋ค๋ฅธ ์ปดํจํฐ์์ http://127.0.0.1:4310์ ์ ์ํฉ๋๋ค. ๋์๋ณด๋๊ฐ ์คํ๋๋ ์ปดํจํฐ๋ ์ผ์ ธ ์์ด์ผ ํฉ๋๋ค. ๋ฌด๋ฃ๋ก ๋ก์ปฌ ์คํํ ์ ์์ผ๋ฉฐ, ๋ณ๋ ํธ์คํ
์ด ํ์ํ์ง ์์ต๋๋ค.
์น ์๋ฒ์ ์ค์นํ๋ ค๋ฉด ์ ๋ขฐํ๋ ์๋ฒ์์ ์คํํ๊ณ HTTPS ๋ฆฌ๋ฒ์ค ํ๋ก์ ๋ค์ ๋ฐฐ์นํ์ธ์. ํ๋ก์ ํธ ์๋ณธ์ ์ธ๋ถ ์๋ฒ๋ก ์ฎ๊ธธ์ง ์ฌ๋ถ๋ ๋ณ๋ ๊ฒฐ์ ์ด ํ์ํฉ๋๋ค. ์ ์ ๋ฌด๋ฃ ํธ์คํ ์๋ ๋ก์ปฌ ํ์ผ ์์ง ์๋ฒ๋ฅผ ๊ทธ๋๋ก ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๋ฌด๋ฃ ์ธ๋ถ ํธ์คํ ์ ์ ๊ณต ์ฌ๋ถ์ ํ๋๋ ์ด ํ๋ก์ ํธ์์ ํ์ธํ๊ฑฐ๋ ๋ณด์ฅํ์ง ์์ต๋๋ค.
HOST=0.0.0.0
DASHBOARD_PASSWORD=๋ณธ์ธ์ด-๋ง๋ -์ถฉ๋ถํ-๊ธด-๋น๋ฐ๋ฒํธ
PUBLIC_ORIGIN=https://control.example.com
COOKIE_SECURE=trueํ๋ก์๋ Host์ Origin์ ๋ณด์กดํด์ผ ํฉ๋๋ค. ์ด ์ค์ ์ด ๋น ์ง๋ฉด ์๊ฒฉ ์คํ์ ๊ฑฐ๋ถํฉ๋๋ค. HttpOnlyยทSameSite ์ธ์ ์ฟ ํค(8์๊ฐ), ๋ก๊ทธ์ธ ์๋ ์ ํ, Host ๊ฒ์ฆ, ๋์ผ Origin ๋ณ๊ฒฝ ์์ฒญ ๊ฒ์ฆ, CSP๋ฅผ ์ ์ฉํฉ๋๋ค. ์๊ฒฉ ๋ฐฐํฌยทHTTPS ์ธ์ฆ์ ๋ฐ๊ธยทํฌํธ ๊ฐ๋ฐฉ์ ์๋์ผ๋ก ํ์ง ์์ต๋๋ค. ์ธํฐ๋ท ๊ณต๊ฐ ์ด์ ์ ๋คํธ์ํฌ ์ ๊ทผ ํต์ ์ ๋น๋ฐ๋ฒํธ ๋ณด๊ด๋ ์ด์์๊ฐ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
npm run check
npm testํตํฉ ํ ์คํธ๋ ์์ ํ๋ก์ ํธ์ ์์ ๋ฐ์ดํฐ ํด๋, 4319ยท4320 ํฌํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ค์ ํ๋ก์ ํธ๋ ๊ด๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ง ์์ต๋๋ค.
- ์ ํ ์ด๋ฆยท๋ธ๋ผ์ฐ์ ์ ๋ชฉยทํ๋น์ฝยท๋ก๊ณ ๋ฅผ Manage-A๋ก ํต์ผํ์ต๋๋ค. ์ค์ ์ ์ฌ์ฉ์๋ช ์ ์ฒซ ํ๋ฉด ์ธ์ฌ์ ์ํฌ์คํ์ด์ค ์ด๋ฆ์ ๋ฐ์ํฉ๋๋ค.
- ์ฒซ ํ๋ฉด ์ค๋ช : ํ๋ก์ ํธ ๊ตฌ์กฐ, ์ด์ ์ํ, AI ์ฌ์ฉ๋์ ๊ด๋ฆฌํ๋ ๋์๋ณด๋์ ๋๋ค.
- ๊ฐ๋ฐ ์ธ์ด๋ณ ํ์ผ ์์ ๋น์จ, ๋ฐ๊ฒฌํ ํ์ด์ง/API ์, Git ๋ณ๊ฒฝ ํ์ผ๊ณผ ๋ก์ปฌ ํฌํธ, Vercel ๋ฐฐํฌ ์ฐ๊ฒฐ์ ํ์ธํฉ๋๋ค. ๋ก์ปฌ ํฌํธ๋ README์ package.json dev/start ๋ช ๋ น์์ ๋ฐ๊ฒฌํฉ๋๋ค.
- ์ฝ๋ ์ฐ๊ฒฐ ๊ตฌ์กฐ์ ์ง์ ์ ์ํ ํ๋ฆ์ ๋ถ๋ฆฌํ์ต๋๋ค. ๊ธฐ๋ฅ๋ณ API๋ฅผ ์ ํํ๋ฉด ๋ฉ์๋ยทํ์ผยท๋ด๋ถ importยทDB/AI SDK์ ๊ฐ์ import๋ฅผ ๋ณด์ฌ์ค๋๋ค. import ์ถ์ ์ ์ต๋ 3๋จ๊ณยท25๊ฐ ํ์ผยท40๊ฐ ์ฐ๊ฒฐ, ํ๋ก์ ํธ ์ ์ฒด import ์บ์๋ 160๊ฐ ํ์ผ๋ก ์ ํํฉ๋๋ค. ์ ํ์ ๊ฑธ๋ฆฌ๋ฉด ํ์ํฉ๋๋ค.
- ์ค์ ์ ํ์ธํ import, ์ ์ ์ ์์กด์ฑ/์ค์ ๊ธฐ๋ฐ ์ถ์ ์ ๋๋ค. import๋ ์คํ ์์๋ ์ค์ ํธ์ถ์ ๋ณด์ฅํ์ง ์์ต๋๋ค. ์ค์ ์์ฒญ ์ด๋ฒคํธ ์์ง์ ๋ฏธ์ฐ๊ฒฐ์ ๋๋ค. ์ ๊ท์์ผ๋ก ๊ตฌ์ฑ๋ ๋์ ๋ผ์ฐํธ๋ ๋ฐํ์ import๋ ๋๋ฝ๋ ์ ์์ต๋๋ค.
- ํ๋ฆ ํธ์ง์ JSON ์ ๋ ฅ ๋์ ๋จ๊ณ ์ด๋ฆยท์ค๋ช ๊ณผ ์์/๋์ฐฉ์ ์ ๋ ฅํฉ๋๋ค. ์ญ์ ๋ ์ ์ฅ ์ ์ด์์๋ง ๋ฐ์๋ฉ๋๋ค.
- Codex ๊ณต์ CLI ํ๋๋ ์๋ฒ ์์๊ณผ 5๋ถ๋ง๋ค ๊ฐฑ์ ํ๋ฉฐ, ์ค์ ์ฌ์ฉ๋ ๊ฐฑ์ ๋ฒํผ์ ์ต์ 1๋ถ ๊ฐ๊ฒฉ์ผ๋ก ์ฝ์ต๋๋ค. ์คํจํ๋ฉด ๋ง์ง๋ง ์ฑ๊ณต๊ฐ๊ณผ ์ค๋ฅ๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
CODEX_BIN์ผ๋ก ์คํ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ํ ์คํธ/์คํ๋ผ์ธ ํ๊ฒฝ์์๋DISABLE_BACKGROUND_SYNC=1๋ก ์๋ ์กฐํ๋ฅผ ๋๋๋ค. - Claude Code ์ต๊ทผ 7์ผ ๋ก๊ทธ๋ ๋ฉ์์ง ID๋ก ์ค๋ณต ์ ๊ฑฐํ์ฌ ์ ๋ ฅยท์ถ๋ ฅยท์บ์ ํ ํฐ๋ง ์ง๊ณํฉ๋๋ค. ๋ํ ๋ด์ฉ์ ํ๋ฉด์ ๋ณด๋ด์ง ์์ต๋๋ค. 16 MiB ์ด๊ณผ ํ์ผ, ์ ์ฒด 64 MiB๋ฅผ ๋๋ ํ์ผ์ ์ ์ธํ๋ฉฐ ์ ์ธ ์๋ฅผ ํ์ํฉ๋๋ค. ์ด ์์น๋ ๊ณ์ ์ ์ฒด ์ฌ์ฉ๋ยท์ฒญ๊ตฌ์กยท์์ฌ ํ๋๊ฐ ์๋๋๋ค.
- ์ฑ๊ณตํ GA4/Search Console ์กฐํ๋ ๊ธฐ๊ฐ๋ณ๋ก ๋ณด๊ดํฉ๋๋ค. ์ฌ๋ฐฉ๋ฌธ ์ ๋ง์ง๋ง ์กฐํ ์๊ฐ๊ณผ ํจ๊ป ๋ถ๋ฌ์ค๊ณ ์์ฑ์ด ๋ฐ๋๋ฉด ์ด์ ์บ์๋ฅผ ์ง์๋๋ค. ๊ณ์ ๊ถํ์ด ์๋ ์ํ์์ ์์ ์์น๋ฅผ ์์ฑํ์ง ์์ต๋๋ค.
- Vercel์
.vercel/project.json์ ์๋ ๋ฐ๊ฒฌํฉ๋๋ค. ์ฐ๊ฒฐ ๋๊ตฌ์์ ์ฝ์ ๊ณต์ ์ค๋ ์ท๊ณผ 403/404 ์ํ๋ฅผ ํ์ํฉ๋๋ค..env์VERCEL_TOKEN์ ์ค์ ํ๋ฉด ๋ฐฐํฌ ์ํ ์กฐํ ๋ฒํผ์ผ๋ก ํ์ฌ API ๋ฐ์ดํฐ๋ฅผ ์ฝ์ต๋๋ค. ํ ํฐ์ UI์์ ์ ๋ ฅ๋ฐ๊ฑฐ๋ ๋ฐํํ์ง ์์ต๋๋ค. ๋ฐฐํฌ๋ ์ค์ ๋ณ๊ฒฝ์ ์คํํ์ง ์์ต๋๋ค.
Manage-A ํ๊ธฐ์ ๋์ผ ๋์๋ณด๋๋ ์ด๋ฒ ์น ๊ฒ์์์ ๋๋ ทํ๊ฒ ํ์ธํ์ง ๋ชปํ์ต๋๋ค. ๋ค๋ง ์ ์ฌํ Managea ์ด๋ฆ์ CRM ์๋น์ค์ ์
๋ฌด ๊ด๋ฆฌ ์ํํธ์จ์ด๊ฐ ์กด์ฌํฉ๋๋ค. ์ด๋ ์ผ๋ฐ ์น ๊ฒ์ ๊ฒฐ๊ณผ์ด๋ฉฐ ์ด๋ฆ์ ๋
์ ์ฑ์ด๋ ์ํ ๋ฑ๋ก ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ํ์ธํ ๊ฒฐ๊ณผ๊ฐ ์๋๋๋ค. ํ์ฌ ๋ก์ปฌ ์ ํ ์ด๋ฆ์ ์ฌ์ฉ์ ์์ฒญ๋๋ก Manage-A๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Codex ๊ณต์ ์ธํฐํ์ด์ค: OpenAI App Server ๋ฌธ์.
- ์ํ ์ ๊ฒ: ๋ฐ๊ฒฌํ ๋ก์ปฌ ํฌํธ์
GET /๋ฅผ ๋ณด๋ด HTTP ์ํยท์๋ต ์๊ฐยท์กฐํ ์๊ฐ์ ์ ์ฅํฉ๋๋ค. ๋ค๋ฅธ ํ๋ก์ ํธ๊ฐ ์ฌ์ฉํ๋ ํฌํธ๋ ์ ์ธํ๋ฉฐ ์ธ๋ถ ์ฃผ์์ ๋ฆฌ๋๋ ์ ๋์์๋ ์ ์ํ์ง ์์ต๋๋ค. ์๋ต ๋ณธ๋ฌธยทํค๋ยท์ฟ ํค๋ ์ ์ฅํ์ง ์์ต๋๋ค. ์ธ์ฆ ์๋ต๊ณผ ๋ฆฌ๋๋ ์ ์ ๊ฒํ ๋์์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค. 15๋ถ์ด ์ง๋ HTTP ๊ฒฐ๊ณผ๋ ์ฌ์ ๊ฒ ๋์์ผ๋ก ํ์ํฉ๋๋ค. ๋ฃจํธ ํ์ด์ง ์๋ต์ ์ ์ฒด ๊ธฐ๋ฅ์ด๋ DB์ ์ ์ ๋์์ ๋ณด์ฅํ์ง ์์ต๋๋ค. - ๋น๋ยทํ ์คํธ ๊ธฐ๋ก: ์ง์ ํ์ธํ ํต๊ณผ/์คํจ ๊ฒฐ๊ณผ, ๊ฒ์ฆ ์๊ฐ, ๋ฉ๋ชจ๋ฅผ ๋ก์ปฌ์ ๊ธฐ๋กํฉ๋๋ค. ๋ช ๋ น์ ์๋ ์คํํ์ง ์์ต๋๋ค. ๊ธฐ๋ก ์ Git ์ํ์ ์์ค ํ์ผ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์๋ณํด ์ดํ ์ฝ๋๊ฐ ๋ฐ๋๊ฑฐ๋ ํ๋ฃจ๊ฐ ์ง๋๋ฉด ์ฌํ์ธ์ ํ์ํฉ๋๋ค. ํ์ผ ํฌ๊ธฐยท์์ ์๊ฐ ๊ธฐ๋ฐ ๋น๊ต์ด๋ฏ๋ก ๋ด์ฉ ํด์ ๊ฒ์ฆ์ด๋ CI ๊ฒฐ๊ณผ ์ธ์ฆ์ ๋์ ํ์ง ์์ต๋๋ค.
- ๋ณ๊ฒฝ ์ํฅ ์ง๋: ๊ธฐ์ค ํ์ผ์ ์ฐธ์กฐํ๋ ํ์ผ์ ์ญ์ผ๋ก ์ถ์ ํด ์ง์ ยท๊ฐ์ ์ฐธ์กฐ, ์ฐ๊ฒฐ๋ ํ๋ฉด๊ณผ API, ์ต๋จ ์ฐธ์กฐ ๊ฒฝ๋ก๋ฅผ ๋ณด์ฌ์ค๋๋ค. Git ๋ณ๊ฒฝ ํ์ผ ํํฐ, ์์ค ๊ฒ์, ํด๋น API์ ๊ธฐ์กด ๊ตฌ์กฐ ํ๋ฉด์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค. Git ๋ณ๊ฒฝ ํ์ผ์ ๊ณต๋ฐฑยทํ๊ธยท์ด๋ฆ ๋ณ๊ฒฝ์ ๋ณด์กดํ๊ณ ์ต๋ 100๊ฐ ํ์ํฉ๋๋ค.
- ๋ถ์ ๋ฒ์: JSยทTSยทVueยทSvelte์ ์ ์ import/require์์ ์๋ ๊ฒฝ๋ก ๋ฐ
@/๋ณ์นญ์ ํด์ํฉ๋๋ค. ์ต๋ 800๊ฐ ํ์ผยท24MiBยท6,000๊ฐ ์ฐ๊ฒฐ์ ๋ถ์ํ๊ณ ๋ฒ์์ ์ํ ๋๋ฌ ์ฌ๋ถ๋ฅผ ํ์ํฉ๋๋ค. ๋์ import, ๋ค๋ฅธ ๋ณ์นญ, ๋คํธ์ํฌ ํธ์ถ, PythonยทSwift์ ์ฐ๊ฒฐ์ ์ง์ํ์ง ์์ต๋๋ค. ๊ตฌ๋ฌธ ๊ธฐ๋ฐ ๋ฐ๊ฒฌ์ด๋ฏ๋ก ์ฃผ์์ด๋ ์กฐ๊ฑด๋ถ ์ฝ๋์ ๋ํ ์ถ๊ฐ ๊ฒํ ๊ฐ ํ์ํฉ๋๋ค. ์ฝ๋ ์ฐธ์กฐ๋ ์ค์ ์คํ ํ๋ฆ์ด๋ ํ์ ๋ ์ค๋ฅ ์ํฅ์ ์๋ฏธํ์ง ์์ต๋๋ค. - ํต๊ณ ์ฐ๊ฒฐ ํ์ธ: ์ธ์ฆ ๊ฒฝ๋ก ๋ฑ๋ก, ํ๋ก์ ํธ ์์ฑ ๋ฑ๋ก, ์ค์ GA4ยทSearch Console ๋ฐ์ดํฐ ์์ ์ ๊ตฌ๋ถํฉ๋๋ค. ์ต๊ทผ ์กฐํ ์๋์ ๋ง์ง๋ง ์ฑ๊ณต ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๋ฉฐ ์์ ๋ฐ์ดํฐ๋ ์ฐ๊ฒฐ ์ฑ๊ณต์ผ๋ก ๋ฐ์ํ์ง ์์ต๋๋ค. Google ๊ณ์ ๊ถํ์ด ์์ผ๋ฉด ์ค์ ํต๊ณ ์ฐ๊ฒฐ์ ์๋ฃ๋์ง ์์ต๋๋ค.
- ํ์ธํ ์ผ๊ณผ ์์ ๊ธฐ๋ก: ์ต๊ทผ ์ ๊ฒ ์ค๋ฅ, ๋ฐฐํฌ ์ฐ๊ฒฐ ๋ฌธ์ , ์ฌ์ฉ๋ ๋ถ์กฑ, ๋ณ๊ฒฝ ์ํฅ ๊ฒํ ๋ฅผ ๊ฐ์์์ ํด๋น ํ๋ก์ ํธ๋ก ์ฐ๊ฒฐํฉ๋๋ค. ์ด์ ๊ธฐ๋ก์๋ Gitยท๊ด๋ฆฌ ๊ธฐ๋ก ์ธ์ ์ต๊ทผ HTTP ์ ๊ฒ๊ณผ ๋ฐฐํฌ ์กฐํ๋ ํ์ํฉ๋๋ค. ๋์คํฌ ์ฌ์ ๊ณต๊ฐ์ด 512MiB ๋ฏธ๋ง์ด๋ฉด ์ ์ฅ ์คํจ ๊ฐ๋ฅ์ฑ์ ์๋ ค์ค๋๋ค.
์ถ๊ฐ ํ ์คํธ๋ import ์ํยท์ญ๋ฐฉํฅ ๊ฒฝ๋กยท๋ฌด๊ดํ ํ์ผ ์ ์ธ, ๋ก์ปฌ HTTP ๋ฆฌ๋๋ ์ ์ฐจ๋จยท์๊ฐ ์ ํยท์๋ต ๋ณธ๋ฌธ ๋ฏธ๋ณด๊ด, ์ค๋๋ ๊ฒฐ๊ณผ ์ ์ธ, ๊ฒ์ฆ ๊ธฐ๋ก๊ณผ ์ดํ ์ฝ๋ ๋ณ๊ฒฝ, API ์ธ์ฆยท์ ์ฅ, Git ํ์ผ๋ช ์ฒ๋ฆฌ๋ฅผ ํ์ธํฉ๋๋ค.
- Claude ํ๋ ์์ง:
npm run connect:claude๋~/.claude/settings.json์ ๊ณต์statusLine๋ช ๋ น์ ๋ก์ปฌ ์์ง๊ธฐ๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ๊ธฐ์กด ์ค์ ์ ๊ฐ์ ํด๋์ 0600 ๊ถํ์ผ๋ก ๋ฐฑ์ ํ๋ฉฐ ๊ธฐ์กด ์ํ์ค ๋ช ๋ น์ ์ด์ด์ ์คํํฉ๋๋ค. Claude CLI ๋ก๊ทธ์ธ ํ ์ง์ํ๋ ๊ตฌ๋ ๊ณ์ ์ ๋ค์ ์๋ต์์ ์ ๊ณต๋๋rate_limits.five_hour,seven_day,spend_limit๋ง ์ ์ฅํฉ๋๋ค. ์ปจํ ์คํธ ์ฌ์ฉ๋ฅ ์ ๊ตฌ๋ ์์ฌ๋์ผ๋ก ์ฌ์ฉํ์ง ์์ต๋๋ค. ์์ง๊ธฐ๋ ๋ณ๋ ๋ชจ๋ธ ์์ฒญยทOAuth ํ ํฐ ์ฝ๊ธฐยท์ธ๋ถ ์ ์ก์ ํ์ง ์์ต๋๋ค. ๋ํยท์ธ์ IDยท์ ๋ฌธ ๊ฒฝ๋ก๋ ์ ์ฅํ์ง ์์ต๋๋ค. ๋ก๊ทธ์ธ/์ค์น/์์ง๊ธฐ ์ค์ /์ฒซ ์์ ๋๊ธฐ/์ด์ ๋ฐ์ดํฐ ์ํ๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ๋ก๊ทธ์ธ์claude auth login์ผ๋ก ์ฌ์ฉ์๊ฐ ์๋ฃํด์ผ ํฉ๋๋ค. Claude ๊ณต์ ์ํ์ค ๋ฌธ์ - ์์ง๊ธฐ ๊ฒฝ๋ก: ๊ธฐ๋ณธ ์ ์ฅ ์์น๋ Manage-A์
.local์ ๋๋ค. ์๋ฒDATA_DIR๋ฅผ ๋ณ๊ฒฝํ๋ค๋ฉด Claude ํ๋ก์ธ์ค์์๋MANAGE_A_DATA_DIR๋ฅผ ๊ฐ์ ๊ฒฝ๋ก๋ก ์ง์ ํด์ผ ํฉ๋๋ค. ๋ณต์ํ๋ ค๋ฉด Claude ์ค์ ์statusLine์ ๋ฐฑ์ ํ์ผ์ ๊ฐ์ผ๋ก ๋๋๋ฆฌ์ธ์. ๋ค๋ฅธ ์ค์ ์ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค. - Cursor ๊ฐ์ธ ๊ณ์ : ๊ณต์ ์ฌ์ฉ๋ ํ๋ฉด ๋งํฌ, ์์ฌ ํ๋ ์ง์ ๊ธฐ๋ก, ์ด๋ฒคํธ CSV ์ง๊ณ๋ฅผ ์ง์ํฉ๋๋ค. Date/Timestamp, Model, Cost/Total Cost ๋ฐ Tokens ๊ณ์ด ์ด์ ์ฝ์ผ๋ฉฐ ์ต๋ 768KiBยท10,000ํ์ ์ง์ํฉ๋๋ค. ๋ชจ๋ธ๋ณ ์ด๋ฒคํธยทํ ํฐยทCSV ๊ธฐ์ฌ ๋น์ฉ๋ง ์ ์ฅํ๋ฉฐ ์๋ณธ CSVยท์ด๋ฉ์ผยท๋ํ ID๋ ์ ์ฅํ์ง ์์ต๋๋ค. ์ซ์๊ฐ ์๋ ๋น์ฉ์ ๋ฏธ์ ๊ณต์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๋ ์ง๊ฐ ์๋ชป๋ ํ์ ์ ์ธํฉ๋๋ค. ๊ฐ์ ธ์จ ํ์ผ ์ ์ฒด ๋ฒ์์ ๊ธฐ๋ก์ด๋ฉฐ ๊ฐ์ธ ๊ตฌ๋ ์ ์ค์๊ฐ ์์ฌ ํ๋๋ ํ์ ์ฒญ๊ตฌ์ก์ ์ฐ์ถํ์ง ์์ต๋๋ค. ๋ค์ ๊ฐ์ ธ์ค๋ฉด ์ด์ ์ง๊ณ๋ฅผ ๋์ฒดํฉ๋๋ค.
- ๊ตฌ๋ ๊ด๋ฆฌ: ์ ๊ณต์๋ณ ํ๋, ์ฌ์ฉ/์ ๋ฃ ์ผ์ ์ค๋จ/๋ฌด๋ฃ/๋ฏธํ์ธ, ๊ณผ๊ฑฐ ํ๋ ์ด๋ ฅ, ๋ฉ๋ชจ๋ฅผ ์ง์ ๊ธฐ๋กํฉ๋๋ค. ์ค์ ๊ฒฐ์ ๋ ํด์ง๋ฅผ ์คํํ์ง ์์ต๋๋ค. ์ค๋จ ์ค์ธ ๊ณ์ ์ ์ด์ ํ๋๋ฅผ ํ์ฌ 0%/100%๋ก ํ์ํ์ง ์๊ณ ์ฌ์ฉ๋ ๋ถ์กฑ ์๋ฆผ์์๋ ์ ์ธํฉ๋๋ค. ํ๋ ์ด๋ ฅ๊ณผ ์ค๋จ ์ํ๋ ์ฌ์ฉ์๊ฐ ๋ณธ์ธ์ ๊ณ์ ์ ๋ณด๋ฅผ ์ง์ ๊ธฐ๋กํฉ๋๋ค.
- ์๋ ์ํ ์ ๊ฒ: 5๋ถ๋ง๋ค ์์ ํ๋ก์ ํธ๊ฐ ํ์ธ๋ ์ด๋ฆฐ ํฌํธ์
GET /๋ฅผ ๋ณด๋ ๋๋ค. ์๋ ์ ๊ฒ์ ๋ฐ๊ฒฌํ ๋ก์ปฌ ํฌํธ์์ ๋ค๋ฅธ ํ๋ก์ ํธ ์์ ํฌํธ๋ฅผ ์ ์ธํฉ๋๋ค. ์๋ต ๋๊ธฐ ์ํ์ 5์ด์ ๋๋ค. 401/403, 3xx, ๋ฃจํธ 404, ์๊ฐ ์ด๊ณผ๋ ๊ฒํ /์ง์ฐ์ผ๋ก ๊ตฌ๋ถํ๊ณ 5xx์ ์ฐ๊ฒฐ ์คํจ๋ ์ ๊ฒ ์ค๋ฅ๋ก ํ์ํฉ๋๋ค. ๋ฆฌ๋๋ ์ ์ ๋ฐ๋ผ๊ฐ์ง ์์ผ๋ฉฐ ์๋ต ๋ณธ๋ฌธ์ ์ ์ฅํ์ง ์์ต๋๋ค. ์๋ ์ ๊ฒ ์ค๋ฅ์ ๋ง์ง๋ง ์ฑ๊ณต ์๊ฐ๋ ํ์ํฉ๋๋ค. ์ด ์ ๊ฒ์ ๋ฃจํธ ์๋ต๋ง ํ์ธํ๋ฉฐ DB๋ ์ ์ฒด ๊ธฐ๋ฅ ๊ฒ์ฆ์ ๋์ ํ์ง ์์ต๋๋ค. - ๊ด๋ฆฌ ์ํ์ ์คํ ์ํ: ๊ฐ์ ์ง๋์ ํ๋ก์ ํธ ๋ชฉ๋ก์ ์ค์ HTTP ์ ๊ฒ/ํฌํธ ์๋ต์ ๊ธฐ๋ณธ ๋ฐฐ์ง๋ก ํ์ํ๊ณ , ์ง์ ์
๋ ฅํ ๊ฐ๋ฐ/์ด์/๋ณด๋ฅ ์ํ๋
๊ด๋ฆฌ:๋ก ๊ตฌ๋ถํฉ๋๋ค. ๋ค์ดํฐ๋ธ ์ฑ์ด๋ ๋ก์ปฌ ์ฃผ์๊ฐ ์๋ ํ๋ก์ ํธ๋ HTTP ๋์ ์์/์ฃผ์ ๋ฏธ๋ฑ๋ก์ผ๋ก ํ์ํฉ๋๋ค. - ๊ธด ๊ธ์: SVG ๊ธ์์ ์ค์ ํญ์ ์ธก์ ํด ๋ง์ค์ํ๊ณ ๋ ธ๋ ๋ด๋ถ clipPath๋ก ํ์ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค. ์ ์ฒด ๊ฒฝ๋ก๋ ํดํยท์์ธ ๋ชฉ๋ก์์ ํ์ธํฉ๋๋ค. ์ผ๋ฐ ์นด๋์ ๊ธด ํ๋ก์ ํธ๋ช ยทํจํค์ง๋ช ์ ์ค๋ฐ๊ฟํฉ๋๋ค.
์ฌ์ฉ๋ ํ๋ฉด์์ ์ค์ CLI ๋ก๊ทธ์ธ ์ด๋ฉ์ผ๊ณผ ๊ตฌ๋ ์ข ๋ฅ๋ฅผ ํ์ธํฉ๋๋ค. ์น ๋ก๊ทธ์ธ๋ง์ผ๋ก ์ํ์ค์ด ํธ์ถ๋์ง๋ ์์ต๋๋ค. ์์ง๊ธฐ ์ค์น ํ Claude Code๋ฅผ ์ฌ์์ํ๊ณ ์ ์๋ต์ด ๋ฐ์ํด์ผ ํ๋ฉฐ, Team ์ข์์์ ํ๋ ํ๋๊ฐ ์ ๊ณต๋์ง ์์ผ๋ฉด ์์ฌ๋์ ์ถ์ ํ์ง ์์ต๋๋ค.
Claude API ์ฌ์ฉ๋์ ๋ณ๋ ์กฐ์ง ๋ณด๊ณ ์์
๋๋ค. ๋ก์ปฌ .env์ ANTHROPIC_ADMIN_KEY์ ์กฐ์ง์ฉ Admin ์๊ฒฉ ์ฆ๋ช
์ ์ค์ ํ๊ณ ์๋ฒ๋ฅผ ์ฌ์์ํฉ๋๋ค. ํค๋ ๋ธ๋ผ์ฐ์ ๋ ์๋ต์ ์ ๋ฌํ์ง ์์ต๋๋ค. ์ต๊ทผ ์๋ฃ๋ UTC 7์ผ์ ์กฐ์ง ์ ์ฒด ํ ํฐ๊ณผ ๋น์ฉ์ ์กฐํํ๋ฉฐ ๊ฐ์ธ ์ด๋ฉ์ผ๋ณ ์ฌ์ฉ๋์ด๋ ๊ตฌ๋
์์ฌ๋์ด ์๋๋๋ค. ๋ฏธ์ฐ๊ฒฐยท๊ถํ ์ค๋ฅยท๋ถ์์ ๋ณด๊ณ ์๋ 0์ผ๋ก ํ์ํ์ง ์์ต๋๋ค.
์ฌ์ฉ์ค๋ช ์ ๋ฉ๋ด์ ๊ฐ ํ๋ฉด์ '์ด ํ๋ฉด ์ฌ์ฉ๋ฒ' ๋ฒํผ์์ ํ๋ฉด๋ณ ์๋ด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ด์ ์ฌ์ดํธ, ๋ก์ปฌ HTTP ์๋ต, Vercel ์กฐํ, ๋น๋ยทํ ์คํธ ๊ธฐ๋ก์ ์๋ก ๋ ๋ฆฝ์ ์ธ ์ํ์ ๋๋ค.
Claude์ OpenAI ๋ชจ๋ AI ์ฌ์ฉ๋ ํ๋ฉด์ API ์๋ ์ฐ๋ ๋ฒํผ์ผ๋ก Admin ํค๋ฅผ ๊ฒ์ฆยท์ ์ฅํ ์ ์์ต๋๋ค. ์๋ฒ ์ฌ์์ ์์ด ์ฐ๊ฒฐ๋๋ฉฐ 5๋ถ๋ง๋ค ์กฐํํฉ๋๋ค. ์ธ์ฆ์ ๋ก์ปฌ ๋ชจ๋์ ๋ฃจํ๋ฐฑ ์ ์์์๋ง ํ์ฉํฉ๋๋ค. ํค๋ .local/api-credentials.json์ 0600 ๊ถํ์ผ๋ก ์ ์ฅ๋๋ฉฐ ๋์๋ณด๋ ์๋ตยท๊ด๋ฆฌ ์ ๋ณด ๋ด๋ณด๋ด๊ธฐ์ ํฌํจํ์ง ์์ต๋๋ค. ์ฐ๊ฒฐ๋ ํค๋ ํ๊ฒฝ ๋ณ์๋ณด๋ค ์ฐ์ ํฉ๋๋ค. OpenAI๋ ๋ชจ๋ธ ์๋ต ํ ํฐ๊ณผ ์ ์ฒด ์กฐ์ง API ๋น์ฉ์ ๊ตฌ๋ถํ์ฌ ํ์ํฉ๋๋ค. Codex ๊ตฌ๋
์์ฌ ํ๋๋ ๊ธฐ์กด CLI ์ฐ๊ฒฐ์ ๊ณ์ ์ฌ์ฉํฉ๋๋ค.
Team/Enterprise ๊ณ์ ์ ProยทMax ์ ์ฉ ์ํ์ค rate_limits๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๊ณต์ Claude Code์ /usage ํ๋ฉด์์ ๊ตฌ๋
ํ๋๋ฅผ ์กฐํํฉ๋๋ค. ์ด๊ธฐ CLI ๋ก๊ทธ์ธ๊ณผ ๊ฒฉ๋ฆฌ๋ ๋น ์กฐํ ํด๋(/private/tmp/manage-a-claude-quota-check)์ ์ ๋ขฐ ํ์ธ์ด ํ ๋ฒ ํ์ํฉ๋๋ค. ํ๋ก์ ํธ ํด๋๋ ์ ๋ขฐ ๋์์ผ๋ก ์ถ๊ฐํ์ง ์์ต๋๋ค. ์ค์น ํ๊ฒฝ๋ง๋ค ๋ณธ์ธ์ CLI ๋ก๊ทธ์ธ๊ณผ ์ต์ด ์ค์ ์ ์๋ฃํด์ผ ํฉ๋๋ค.
์๋ฒ ์คํ ์ค 5๋ถ๋ง๋ค ๋๊ตฌยทMCPยทํ
ยทChrome ์ฐ๋์ ๋ ๋ํํ CLI์์ /usage๋ง ์คํํฉ๋๋ค. ๋ชจ๋ธ ํ๋กฌํํธ๋ ์ ์กํ์ง ์์ต๋๋ค. ์์ ํฐ๋ฏธ๋ ์ถ๋ ฅ์ ์ ์ฅํ์ง ์๊ณ ์ธ์ํ ๊ตฌ๋
์ฌ์ฉ๋ฅ ๊ณผ ์ด๊ธฐํ ์๋ด๋ง ๋ฐ์ํฉ๋๋ค. CLI ํ๋ฉด ํ์์ ์์กดํ๋ฏ๋ก ํ์ฑ ์คํจ๋ ์กฐํ ์คํจ๋ก ํ์ํฉ๋๋ค. ํ์ฌ macOS /usr/bin/script์ Python 3์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ค๋ฅธ OS๋ ๋ณ๋ ํฐ๋ฏธ๋ ์ค๊ณ๊ธฐ ์ง์์ด ํ์ํฉ๋๋ค. ์ฌ์ฉ๋ ํ๋ฉด์ ์ ๊ณต๋ ๊ธฐ๊ฐ๋ง ํ์ํ๋ฉฐ ์ฃผ๊ฐ ํ๋๊ฐ ์์ผ๋ฉด ์์ฑํ์ง ์์ต๋๋ค.
์๋น์ค ๊ณ์ ์ธ์ ์ฌ์ฉ์ OAuth ๋ก๊ทธ์ธ์ ์ง์ํฉ๋๋ค. ๋ฐฉ๋ฌธยท๊ฒ์ โ Google๋ก ์ฐ๊ฒฐ์์ Google Cloud์ OAuth ํด๋ผ์ด์ธํธ JSON ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. Desktop ํด๋ผ์ด์ธํธ๋ ์์ ๋ฃจํ๋ฐฑ ํฌํธ๋ฅผ ์ฐ๋ฉฐ, Web ํด๋ผ์ด์ธํธ๋ ํ์ผ์ ์ด๋ฏธ ๋ฑ๋ก๋ ๋ก์ปฌ HTTP ์ฝ๋ฐฑ๋ง ์ฌ์ฉํฉ๋๋ค. ๋ค๋ฅธ ์ฑ์ด ํฌํธ๋ฅผ ์ฐ๊ณ ์์ผ๋ฉด ์ค๋จํ๋ฉฐ ๊ทธ ์ฑ์ ์ข ๋ฃํ์ง ์์ต๋๋ค.
Google ์น์ธ ํ๋ฉด์๋ OAuth ํด๋ผ์ด์ธํธ์ ๊ธฐ์กด ์ฑ ์ด๋ฆ์ด ํ์๋ฉ๋๋ค. ์ฑ๊ณผ ๊ฐ๋ฐ์๋ฅผ ํ์ธํ๊ณ AnalyticsยทSearch Console ์ฝ๊ธฐ ๊ถํ๋ง ์น์ธํฉ๋๋ค. ๋ฏธ๊ฒ์ฆ ์ฑ ๊ฒฝ๊ณ ๋ ์ฌ์ฉ์์๊ฒ ํ๋จ๊ณผ ์งํ์ ๋งก๊น๋๋ค. ์น์ธ ํ ํต๊ณ ์์ฑ ์ฐพ๊ธฐ๋ก ๊ณ์ ์ GA4 ์์ฑ๊ณผ ๊ฒ์ฆ๋ ๊ฒ์ ์ฌ์ดํธ๋ฅผ ์ ํํฉ๋๋ค. Google Analytics Data API, Admin API ๋ฐ Search Console API๊ฐ ํด๋น OAuth ํด๋ผ์ด์ธํธ ํ๋ก์ ํธ์์ ํ์ฑํ๋์ด์ผ ํฉ๋๋ค.
์ธ์ฆ ์ ๋ณด๋ .local/google-oauth.json์ 0600 ๊ถํ์ผ๋ก ๋ณด๊ดํ๋ฉฐ ๋ธ๋ผ์ฐ์ ๋ก ๋ฐํํ์ง ์์ต๋๋ค. PKCE์ ๋จ์ผ ์ฌ์ฉ state๋ก ๋ก์ปฌ ์ฝ๋ฐฑ์ ๊ฒ์ฆํ๊ณ , OAuth ํ ํฐ ๊ฐฑ์ ์ ์๋ฒ์์ ์ํํฉ๋๋ค. Google ๋ก๊ทธ์ธยท์์ฑ ๋ฑ๋ก๊ณผ ์ค์ ํต๊ณ ์์ ์ ๊ฐ๊ฐ ๊ตฌ๋ถํฉ๋๋ค. ๋ค๋ฅธ ๊ณ์ ์ผ๋ก ์ฐ๊ฒฐํ ๊ฒฝ์ฐ ๊ธฐ์กด ํ๋ก์ ํธ์ ์์ฑ ์ ๊ทผ ๊ถํ์ ๋ค์ ํ์ธํด์ผ ํฉ๋๋ค.
ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ ๋์คํฌ์ ๋๋ ๋ณด๊ดํ๋ค๋ฉด ๊ธฐ๋ณธ PROJECT_ROOT ์ธ์ PROJECT_ROOTS='["/another/disk/projects"]'๋ก ์ถ๊ฐ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ์ด๋ฆ์ด ๊ฒน์น๋ฉด ๊ธฐ๋ณธ ๊ฒฝ๋ก๊ฐ ์ฐ์ ํฉ๋๋ค.