๋‹ฟ
๋‹ฟ
โš”๏ธ ๋ฒ ํ…Œ๋ž‘ ํŒŒํŠธ๋„ˆ
โ˜• ์ปคํ”ผ์ฑ— ์˜คํ”ˆ

๐Ÿ”’ ๊ฐœ์ธ/ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ ๊ตฌ๋ถ„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค ์ฃผ๋ชฉ! -- .env๊ฐ€ ๋ญ”๋ฐ? ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์™„์ „ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ (1ํƒ„)

๐Ÿค” ๋งค๋ฒˆ ์—ด์‡ ๋ฅผ ๋ฐ”๊ฟ” ๋ผ์›Œ์•ผ ํ•˜๋‚˜์š”?

ํ•œ ์ปดํ“จํ„ฐ๋กœ ํšŒ์‚ฌ ์ผ๊ณผ ๊ฐœ์ธ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ, ๋‘˜ ๋‹ค ํ•˜์‹œ์ฃ ?

์ €๋„ ๊ทธ๋ž˜์š”. ํšŒ์‚ฌ์—์„œ๋Š” Linear๋กœ ์—…๋ฌด ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ , ํ‡ด๊ทผ ํ›„์—๋Š” ๊ฐœ์ธ Linear ์›Œํฌ์ŠคํŽ˜์ด์Šค์—์„œ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•ด์š”. Airtable๋„, Slack๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๊ณ ์š”.

๊ทธ๋Ÿฐ๋ฐ ์–ด๋А ๋‚ , ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ํด๋”์—์„œ ์ž‘์—…ํ•˜๋‹ค๊ฐ€ ํšŒ์‚ฌ Linear์— ์ด์Šˆ๊ฐ€ ์ƒ์„ฑ๋œ ๊ฑฐ์˜ˆ์š”. ๐Ÿ˜ฑ

"์•„์ฐจ, ํ‚ค ์•ˆ ๋ฐ”๊ฟจ๋‹ค..."

๋งค๋ฒˆ ์ˆ˜๋™์œผ๋กœ ๋ฐ”๊พธ๋ฉด ์–ธ์  ๊ฐ€ ์ด๋Ÿฐ ์‹ค์ˆ˜๊ฐ€ ์ƒ๊ธฐ๋”๋ผ๊ณ ์š”. ๊ทธ๋ž˜์„œ ์ฐพ์€ ํ•ด๊ฒฐ์ฑ…์„ ๊ณต์œ ํ• ๊ฒŒ์š”.


๐ŸŽฏ ์ด๋Ÿฐ ๋ถ„์ด ์ฝ์œผ๋ฉด ์ข‹์•„์š”

  • "ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์–ด๋””์— ์ €์žฅํ•˜๊ณ  ๊ฐ€์ ธ์˜ค๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”"

  • "ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ๋ญ”์ง€ ๋“ค์–ด๋Š” ๋ดค๋Š”๋ฐ ์ •ํ™•ํžˆ ๋ชจ๋ฅด๊ฒ ์–ด์š”"

  • "ํšŒ์‚ฌ๋ž‘ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ ์ปดํ“จํ„ฐ์—์„œ ๊ด€๋ฆฌํ•ด์š”"

  • "Claude Code ์“ฐ๋Š”๋ฐ API ํ‚ค ์„ค์ •์ด ํ—ท๊ฐˆ๋ ค์š”"

  • "๋งค๋ฒˆ ํ‚ค ๋ฐ”๊พธ๋‹ค๊ฐ€ ์‹ค์ˆ˜ํ•œ ์  ์žˆ์–ด์š”"


๐Ÿ  ๊ฐ™์€ ์•ฑ์ธ๋ฐ ์™œ ๋‹ค๋ฅธ ์—ด์‡ ๊ฐ€ ํ•„์š”ํ• ๊นŒ?

์ƒํ™ฉ์„ ์ •๋ฆฌํ•˜๋ฉด ์ด๋ž˜์š”:

๐Ÿ  ๋‚ด ์ปดํ“จํ„ฐ (์ง‘)
โ”œโ”€โ”€ ๐Ÿ“ ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ ํด๋” โ†’ ํšŒ์‚ฌ Linear ๊ณ„์ •, ํšŒ์‚ฌ Slack, ํšŒ์‚ฌ Airtable
โ””โ”€โ”€ ๐Ÿ“ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ํด๋” โ†’ ๊ฐœ์ธ Linear ๊ณ„์ •, ๊ฐœ์ธ Slack, ๊ฐœ์ธ Airtable

์•ฑ์€ ๊ฐ™์€๋ฐ ๊ณ„์ •์ด ๋‹ฌ๋ผ์š”. ๊ณ„์ •์ด ๋‹ค๋ฅด๋ฉด ์—ด์‡ (API ํ‚ค)๋„ ๋‹ฌ๋ผ์š”.

ํšŒ์‚ฌ ์‚ฌ๋ฌผํ•จ ์—ด์‡ ๋ž‘ ์ง‘ ์—ด์‡ ๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ์ฒ˜๋Ÿผ์š”. ๊ฐ™์€ "์—ด์‡ "๋ผ๋Š” ๋ฌผ๊ฑด์ด์ง€๋งŒ, ์—ด๋ฆฌ๋Š” ๋ฌธ์ด ๋‹ค๋ฅด์ž–์•„์š”.

๋ฌธ์ œ๋Š” ํด๋”๋ฅผ ์˜ฎ๊ฒจ๋‹ค๋‹ ๋•Œ๋งˆ๋‹ค ์—ด์‡ ๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”. ๊ท€์ฐฎ๊ธฐ๋„ ํ•˜๊ณ , ๊นœ๋นกํ•˜๋ฉด ์‚ฌ๊ณ ๊ฐ€ ๋‚˜์š”.


๐Ÿคซ ํ™˜๊ฒฝ๋ณ€์ˆ˜? ์ปดํ“จํ„ฐ ์˜†์— ๋ถ™์—ฌ๋‘” ํฌ์ŠคํŠธ์ž‡์ด์—์š”

์—ฌ๊ธฐ์„œ "ํ™˜๊ฒฝ๋ณ€์ˆ˜"๋ผ๋Š” ๊ฐœ๋…์ด ๋“ฑ์žฅํ•ด์š”. ์–ด๋ ต๊ฒŒ ๋“ค๋ฆฌ์ง€๋งŒ, ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด:

์ปดํ“จํ„ฐ ์˜†์— ๋ถ™์—ฌ๋‘” ํฌ์ŠคํŠธ์ž‡ ๋ฉ”๋ชจ

์นดํŽ˜ ์™€์ดํŒŒ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํฌ์ŠคํŠธ์ž‡์— ์ ์–ด์„œ ๋ชจ๋‹ˆํ„ฐ์— ๋ถ™์—ฌ๋‘๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ์ปดํ“จํ„ฐ์—๊ฒŒ "์ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ ์จ!" ๋ผ๊ณ  ๋ฉ”๋ชจ๋ฅผ ๋‚จ๊ฒจ๋‘๋Š” ๊ฑฐ์˜ˆ์š”.

์™œ "๊ท“์†๋ง"์ด๋ผ๊ณ ๋„ ํ•˜๋ƒ๋ฉด์š”, ํ™”๋ฉด์— ์•ˆ ๋ณด์ด๊ฑฐ๋“ ์š”. ์—ฌ๋Ÿฌ๋ถ„ ๋ˆˆ์—๋Š” ์•ˆ ๋ณด์ด์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์€ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์š”. ๋ชฐ๋ž˜ ์ „๋‹ฌ๋˜๋Š” ๊ฑฐ์ฃ .

์ผ๋ฐ˜ ์‚ฌ๋žŒ:  "์ € ์นดํŽ˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ญ์•ผ?"
ํ™˜๊ฒฝ๋ณ€์ˆ˜:   ์ปดํ“จํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ์ฝ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฉ”๋ชจ์žฅ

โญ ์„ธ ๋ช…์˜ ์—ญํ• ์ž๊ฐ€ ์ž๋™์œผ๋กœ ์ผํ•ด์ค๋‹ˆ๋‹ค

์ด์ œ ํ•ต์‹ฌ์ด์—์š”. ์„ธ ๊ฐ€์ง€๋งŒ ๊ธฐ์–ตํ•˜๋ฉด ๋ผ์š”:

์—ญํ• 

์ด๋ฆ„

ํ•˜๋Š” ์ผ

๐Ÿ” ๊ธˆ๊ณ 

.env ํŒŒ์ผ

์‹ค์ œ ๋น„๋ฐ€๋ฒˆํ˜ธ(API ํ‚ค)๊ฐ€ ๋ณด๊ด€๋œ ๊ณณ

๐Ÿ—๏ธ ์—ด์‡ 

.envrc ํŒŒ์ผ

"๊ธˆ๊ณ  ์—ด์–ด!" ๋ช…๋ น (๋”ฑ ํ•œ ์ค„)

๐Ÿ‘ฎ ๋ฌธ์ง€๊ธฐ

direnv ๋„๊ตฌ

ํด๋” ๋“ค์–ด์˜ค๋ฉด ์ž๋™์œผ๋กœ ์—ด์‡  ์‚ฌ์šฉ

์‹ค์ œ๋กœ ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ์–ด์š”:

๐Ÿ“ work (ํšŒ์‚ฌ ํด๋”)
โ”œโ”€โ”€ .env      โ† ๐Ÿ” "LINEAR_KEY=ํšŒ์‚ฌ๋น„๋ฐ€๋ฒˆํ˜ธ12345"
โ””โ”€โ”€ .envrc    โ† ๐Ÿ—๏ธ "dotenv" (๊ธˆ๊ณ  ์—ด์–ด!)

๐Ÿ“ personal (๊ฐœ์ธ ํด๋”)
โ”œโ”€โ”€ .env      โ† ๐Ÿ” "LINEAR_KEY=๊ฐœ์ธ๋น„๋ฐ€๋ฒˆํ˜ธ67890"  
โ””โ”€โ”€ .envrc    โ† ๐Ÿ—๏ธ "dotenv" (๊ธˆ๊ณ  ์—ด์–ด!)

์‹ ๊ธฐํ•˜์ฃ ? .envrc ๋‚ด์šฉ์€ ๋˜‘๊ฐ™์€๋ฐ, ํด๋”๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ธˆ๊ณ ๊ฐ€ ์—ด๋ ค์š”!

์™œ๋ƒํ•˜๋ฉด ๊ฐ ํด๋”์— ์žˆ๋Š” .env ํŒŒ์ผ(๊ธˆ๊ณ )์ด ๋‹ค๋ฅด๋‹ˆ๊นŒ์š”.


๐Ÿšช ํด๋”์— ๋“ค์–ด๊ฐ€๊ธฐ๋งŒ ํ•˜๋ฉด ๋

์ž‘๋™ ํ๋ฆ„์€ ๋งˆํŠธ ์ž๋™๋ฌธ์ด๋ž‘ ๋น„์Šทํ•ด์š”:

ํ„ฐ๋ฏธ๋„์—์„œ ํด๋” ์ด๋™
        โ†“
cd ~/work/ํšŒ์‚ฌํ”„๋กœ์ ํŠธ
        โ†“
๐Ÿ‘ฎ ๋ฌธ์ง€๊ธฐ(direnv): "์–ด? ๋ˆ„๊ฐ€ ๋“ค์–ด์™”๋„ค"
        โ†“
๐Ÿ—๏ธ ์—ด์‡ (.envrc): "๊ธˆ๊ณ  ์—ด์–ด!"
        โ†“
๐Ÿ” ๊ธˆ๊ณ (.env): ํšŒ์‚ฌ API ํ‚ค ํ™œ์„ฑํ™”!
        โ†“
โœ… ์ด์ œ ํšŒ์‚ฌ ๊ณ„์ •์œผ๋กœ ์ž‘๋™

๋งˆํŠธ ์ž๋™๋ฌธ์ฒ˜๋Ÿผ์š”. ๋“ค์–ด๊ฐ€๋ฉด ์—ด๋ฆฌ๊ณ , ๋‚˜๊ฐ€๋ฉด ๋‹ซํ˜€์š”.

๊ฐœ์ธ ํด๋”๋กœ ์ด๋™ํ•˜๋ฉด? ์ž๋™์œผ๋กœ ํšŒ์‚ฌ ํ‚ค๋Š” ๋‹ซํžˆ๊ณ , ๊ฐœ์ธ ํ‚ค๊ฐ€ ์—ด๋ ค์š”. ๋‚ด๊ฐ€ ๋ญ˜ ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์š”.


โœจ ํ•œ ๋ฒˆ ์„ค์ •ํ•˜๋ฉด ์˜์›ํžˆ

์ด ๊ตฌ์กฐ์˜ ์žฅ์ ์„ ์ •๋ฆฌํ•˜๋ฉด:

์žฅ์ 

์„ค๋ช…

โœ… ์‹ค์ˆ˜ ๋ฐฉ์ง€

ํšŒ์‚ฌ ํ‚ค๋กœ ๊ฐœ์ธ ์ž‘์—…? ์ด์ œ ๋ถˆ๊ฐ€๋Šฅ

โœ… ์™„์ „ ์ž๋™

ํด๋” ์ด๋™ = ์ž๋™ ์ „ํ™˜, ๋‚ด๊ฐ€ ํ•  ์ผ ์—†์Œ

โœ… ๋ณด์•ˆ

.env ํŒŒ์ผ์€ git์— ์•ˆ ์˜ฌ๋ผ๊ฐ (๋น„๋ฐ€๋ฒˆํ˜ธ ์œ ์ถœ ๋ฐฉ์ง€)

โœ… ํ™•์žฅ์„ฑ

ํ”„๋กœ์ ํŠธ๊ฐ€ ๋Š˜์–ด๋‚˜๋„ ๊ฐ™์€ ํŒจํ„ด์œผ๋กœ ์ถ”๊ฐ€



๐Ÿ”ง ์‹ค์ „: ์ œ ํด๋” ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ๋“œ๋ฆด๊ฒŒ์š”

์ž, ์ด์ œ ์‹ค์ œ๋กœ ์ œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ–ˆ๋Š”์ง€ ๋ณด์—ฌ๋“œ๋ฆด๊ฒŒ์š”.

์ œ DEV ํด๋” ๊ตฌ์กฐ

๐Ÿ“ Documents/DEV/
โ”œโ”€โ”€ ๐Ÿ“ _work/daht-work/      โ† ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ (์—ฌ๊ธฐ์„œ Claude Code ์‹œ์ž‘)
โ”œโ”€โ”€ ๐Ÿ“ personal/daht-mad/    โ† ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ (์—ฌ๊ธฐ์„œ Claude Code ์‹œ์ž‘)
โ”œโ”€โ”€ ๐Ÿ“ skills/               โ† ๊ณต์šฉ ์Šคํ‚ฌ๋“ค
โ””โ”€โ”€ ๐Ÿ“ learning/             โ† ํ•™์Šต์šฉ

ํšŒ์‚ฌ ์ผํ•  ๋• _work/daht-work ํด๋”์—์„œ, ๊ฐœ์ธ ํ”„๋กœ์ ํŠธํ•  ๋• personal/daht-mad ํด๋”์—์„œ Claude Code๋ฅผ ์‹œ์ž‘ํ•ด์š”.


์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์–ด๋””์— ์„ค์ •ํ•˜๋‚˜์š”?

์„œ๋น„์Šค

์„ค์ • ์œ„์น˜

์ด์œ 

Airtable

.env ํŒŒ์ผ

์Šคํ‚ฌ์ด ์‹คํ–‰ํ•  ๋•Œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฝ์Œ

Slack

.env ํŒŒ์ผ

์Šคํ‚ฌ์ด ์‹คํ–‰ํ•  ๋•Œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฝ์Œ

Linear

.mcp.json ํŒŒ์ผ

MCP ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘ํ•  ๋•Œ ํ† ํฐ ํ•„์š”

Notion

.mcp.json ํŒŒ์ผ

MCP ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘ํ•  ๋•Œ ํ† ํฐ ํ•„์š”

๐Ÿ’ก ์™œ ๋‘ ๊ณณ์œผ๋กœ ๋‚˜๋‰˜๋‚˜์š”?

  • ์Šคํ‚ฌ: ๋ช…๋ น ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ฝ์–ด์š” โ†’ .env์— ์ €์žฅ

  • MCP: Claude Code ์‹œ์ž‘ํ•  ๋•Œ ํ•œ ๋ฒˆ๋งŒ ๋กœ๋“œ๋ผ์š” โ†’ .mcp.json์— ์ €์žฅ


๐Ÿ“ ์ œ .env ํŒŒ์ผ (์‹ค์ œ ์˜ˆ์‹œ)

ํšŒ์‚ฌ ํด๋” (_work/daht-work/.env):

# ํšŒ์‚ฌ์šฉ Linear API Token
LINEAR_API_TOKEN=lin_api_plKKT...ํšŒ์‚ฌํ† ํฐ...

# ํšŒ์‚ฌ์šฉ Airtable
AIRTABLE_API_KEY=pattMZ8...ํšŒ์‚ฌํ‚ค...

๊ฐœ์ธ ํด๋” (personal/daht-mad/.env):

# ๊ฐœ์ธ์šฉ Linear API Token
LINEAR_API_TOKEN=lin_api_eiHUN...๊ฐœ์ธํ† ํฐ...

# ๊ฐœ์ธ์šฉ Airtable
AIRTABLE_API_KEY=patU8ij...๊ฐœ์ธํ‚ค...

# ๊ฐœ์ธ์šฉ Slack (๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์šฉ)
SLACK_BOT_TOKEN=xoxb-...๊ฐœ์ธ์Šฌ๋ž™...

ํด๋” ์ด๋™ํ•˜๋ฉด direnv๊ฐ€ ์•Œ์•„์„œ ๋ฐ”๊ฟ”์ค˜์š”!


๐Ÿ“ ์ œ .mcp.json ํŒŒ์ผ (์‹ค์ œ ์˜ˆ์‹œ)

ํšŒ์‚ฌ ํด๋” (_work/daht-work/.mcp.json):

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@tacticlaunch/mcp-linear"],
      "env": {
        "LINEAR_API_TOKEN": "lin_api_plKKT...ํšŒ์‚ฌํ† ํฐ..."
      }
    }
  }
}

๊ฐœ์ธ ํด๋” (personal/daht-mad/.mcp.json):

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@tacticlaunch/mcp-linear"],
      "env": {
        "LINEAR_API_TOKEN": "lin_api_eiHUN...๊ฐœ์ธํ† ํฐ..."
      }
    }
  }
}

โš ๏ธ ์ค‘์š”: .mcp.json์€ Claude Code ์‹œ์ž‘ํ•  ๋•Œ ์ฝ์–ด์š”. ๊ทธ๋ž˜์„œ ํšŒ์‚ฌ ํด๋”์—์„œ ์‹œ์ž‘ํ•˜๋ฉด ํšŒ์‚ฌ MCP, ๊ฐœ์ธ ํด๋”์—์„œ ์‹œ์ž‘ํ•˜๋ฉด ๊ฐœ์ธ MCP๊ฐ€ ๋กœ๋“œ๋ผ์š”.


๐Ÿ“ ์ „์—ญ ์„ค์ • (ํ‚ค ํ•„์š” ์—†๋Š” ๊ฒƒ๋งŒ)

ํ‚ค๊ฐ€ ํ•„์š” ์—†๋Š” MCP๋Š” ์ „์—ญ(~/.mcp.json)์— ํ•œ ๋ฒˆ๋งŒ ์„ค์ •ํ•ด์š”:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    },
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

์ด๋Ÿฐ ๊ฑด ํšŒ์‚ฌ๋“  ๊ฐœ์ธ์ด๋“  ๋˜‘๊ฐ™์ด ์“ฐ๋‹ˆ๊นŒ, ์ „์—ญ์— ํ•œ ๋ฒˆ๋งŒ!


๐Ÿ—‚๏ธ ์ตœ์ข… ํด๋” ๊ตฌ์กฐ

๐Ÿ“ _work/daht-work/
โ”œโ”€โ”€ .env          โ† Airtable ํšŒ์‚ฌ ํ‚ค
โ”œโ”€โ”€ .envrc        โ† "dotenv" ํ•œ ์ค„
โ””โ”€โ”€ .mcp.json     โ† Linear ํšŒ์‚ฌ ์„ค์ •

๐Ÿ“ personal/daht-mad/
โ”œโ”€โ”€ .env          โ† Airtable, Slack ๊ฐœ์ธ ํ‚ค
โ”œโ”€โ”€ .envrc        โ† "dotenv" ํ•œ ์ค„
โ””โ”€โ”€ .mcp.json     โ† Linear ๊ฐœ์ธ ์„ค์ •

~/.mcp.json       โ† ํ‚ค ์—†๋Š” ๊ณต์šฉ MCP (playwright ๋“ฑ)

๐Ÿ’ก ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ญ๊ฐ€ ์ข‹์€๊ฐ€์š”? (ํšจ์œจ์„ฑ ์ด์•ผ๊ธฐ)

MCP๋Š” "ํ•ญ์ƒ ์ผœ์ ธ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ"์ด์—์š”

MCP๊ฐ€ ๋ญ”์ง€ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๋ฉด, Claude Code๊ฐ€ ์™ธ๋ถ€ ์„œ๋น„์Šค(Linear, Notion ๋“ฑ)์™€ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ†ต์—ญ์‚ฌ ๊ฐ™์€ ๊ฑฐ์˜ˆ์š”.

๋ฌธ์ œ๋Š”, ์ด ํ†ต์—ญ์‚ฌ๋“ค์ด Claude Code ์‹œ์ž‘ํ•  ๋•Œ ์ „๋ถ€ ์ถœ๊ทผํ•œ๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”.

โŒ ๋น„ํšจ์œจ์ ์ธ ๋ฐฉ์‹ (์ „์—ญ์— ๋ชจ๋“  MCP)

Claude Code ์‹œ์ž‘!
  โ†“
Linear ํ†ต์—ญ์‚ฌ ์ถœ๊ทผ (ํšŒ์‚ฌ์šฉ)
Linear ํ†ต์—ญ์‚ฌ ์ถœ๊ทผ (๊ฐœ์ธ์šฉ)  โ† ์•ˆ ์“ฐ๋Š”๋ฐ ์ถœ๊ทผํ•จ
Notion ํ†ต์—ญ์‚ฌ ์ถœ๊ทผ (ํšŒ์‚ฌ์šฉ)
Notion ํ†ต์—ญ์‚ฌ ์ถœ๊ทผ (๊ฐœ์ธ์šฉ)  โ† ์•ˆ ์“ฐ๋Š”๋ฐ ์ถœ๊ทผํ•จ
Slack ํ†ต์—ญ์‚ฌ ์ถœ๊ทผ
  โ†“
๐Ÿ˜ซ 5๋ช…์ด๋‚˜ ๋Œ€๊ธฐ ์ค‘... (๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„)
โœ… ํšจ์œจ์ ์ธ ๋ฐฉ์‹ (ํด๋”๋ณ„ MCP)

ํšŒ์‚ฌ ํด๋”์—์„œ Claude Code ์‹œ์ž‘!
  โ†“
Linear ํ†ต์—ญ์‚ฌ ์ถœ๊ทผ (ํšŒ์‚ฌ์šฉ๋งŒ!)
  โ†“
๐Ÿ˜Š ๋”ฑ ํ•„์š”ํ•œ 1๋ช…๋งŒ ๋Œ€๊ธฐ

์Šคํ‚ฌ์€ "ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ถ€๋ฅด๋Š” ์•Œ๋ฐ”"์˜ˆ์š”

๋ฐ˜๋ฉด์— ์Šคํ‚ฌ(Airtable, Slack ๋“ฑ)์€ ๋‹ฌ๋ผ์š”. ๋ช…๋ นํ•  ๋•Œ๋งŒ ์ž ๊น ์ผํ•˜๊ณ  ํ‡ด๊ทผํ•ด์š”.

๋‚˜: "์—์–ดํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์™€์ค˜"
  โ†“
์Šคํ‚ฌ: (์ถœ๊ทผ) ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํ™•์ธ... ํšŒ์‚ฌ ํ‚ค๋„ค!
  โ†“
์Šคํ‚ฌ: ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์™”์–ด์š”!
  โ†“
์Šคํ‚ฌ: (ํ‡ด๊ทผ)

๊ทธ๋ž˜์„œ ์Šคํ‚ฌ์€ .env์— ์ €์žฅํ•ด๋„ ๊ดœ์ฐฎ์•„์š”. ํด๋” ์ด๋™ํ•˜๋ฉด direnv๊ฐ€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ๊ณ , ์Šคํ‚ฌ์€ ์‹คํ–‰ํ•  ๋•Œ ๊ทธ๊ฑธ ์ฝ์œผ๋‹ˆ๊นŒ์š”.

์ •๋ฆฌํ•˜๋ฉด

๊ตฌ๋ถ„

MCP

์Šคํ‚ฌ

์ž‘๋™ ๋ฐฉ์‹

ํ•ญ์ƒ ๋Œ€๊ธฐ (์ƒ์ฃผ)

ํ•„์š”ํ•  ๋•Œ๋งŒ ์‹คํ–‰

๋ฉ”๋ชจ๋ฆฌ

๊ณ„์† ์ฐจ์ง€

์‹คํ–‰ํ•  ๋•Œ๋งŒ

ํ‚ค ์ €์žฅ

.mcp.json

.env

์ „ํ™˜ ์‹œ์ 

Claude Code ์‹œ์ž‘ ์‹œ

๋ช…๋ น ์‹คํ–‰ ์‹œ

๊ทธ๋ž˜์„œ MCP๋Š” ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ํ”„๋กœ์ ํŠธ๋ณ„๋กœ, ์Šคํ‚ฌ์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ์ž๋™ ์ „ํ™˜ํ•˜๋Š” ๊ฒŒ ํšจ์œจ์ ์ด์—์š”!


โœ… ์„ค์ • ์ฒดํฌ๋ฆฌ์ŠคํŠธ

ํ•  ์ผ

์„ค๋ช…

.env โ†’ .gitignore ์ถ”๊ฐ€

๋น„๋ฐ€๋ฒˆํ˜ธ ์œ ์ถœ ๋ฐฉ์ง€

.mcp.json โ†’ .gitignore ์ถ”๊ฐ€

ํ† ํฐ ์œ ์ถœ ๋ฐฉ์ง€

.envrc์— dotenv ์ž‘์„ฑ

๊ธˆ๊ณ  ์—ด์‡  ๋งŒ๋“ค๊ธฐ

direnv allow ์‹คํ–‰

ํด๋”๋ณ„ 1ํšŒ, ๋ฌธ์ง€๊ธฐ ํ—ˆ์šฉ


๐Ÿ“Œ ๋‹ค์Œ ๊ธ€ ์˜ˆ๊ณ 

๋‹ค์Œ ๊ธ€์—์„œ๋Š” ์—…๋ฌด ํด๋”์™€ ๊ฐœ์ธ ํด๋”๋ฅผ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ ์„œ ์ž‘์—…ํ•˜๋Š”์ง€ ๋‹ค๋ค„๋ณผ๊ฒŒ์š”!

5
2๊ฐœ์˜ ๋‹ต๊ธ€
์ง€ํ”ผํ„ฐ์Šค ๋‰ด์Šค๋ ˆํ„ฐ

์ด๋ฒˆ ์ฃผ AI, ๋”ฑ ์“ธ ๊ฒƒ๋งŒ

๋งค์ฃผ ์›”์š”์ผ ์˜คํ›„,
์ฝ๊ณ  ๋ฐ”๋กœ ์จ๋จน์„ AI ์†Œ์‹๋งŒ