Skip to content

Latest commit

ย 

History

309 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

ํ•œ๊ตญ์–ด | English

Naia ADK

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ์ผํ•  ์ž‘์—… ๊ณต๊ฐ„์„, ๋ฏธ๋ฆฌ ์ •๋ˆํ•ด ๋‘” ์Šค์บํด๋“œ.

Claude Code๋‚˜ Codex ๊ฐ™์€ AI ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ์“ฐ๋‹ค ๋ณด๋ฉด, ๋„๊ตฌ๋งˆ๋‹ค ๊ทœ์น™ ํŒŒ์ผ ์œ„์น˜๋„ ๋‹ค๋ฅด๊ณ  "์ด ๋ฌธ์„œ๋Š” ๊ณต๊ฐœํ•ด๋„ ๋˜๋Š”์ง€", "์Šคํ‚ฌ์€ ์–ด๋””์— ๋‘๋Š”์ง€"๊ฐ€ ์ œ๊ฐ๊ฐ์ž…๋‹ˆ๋‹ค. Naia ADK๋Š” ๊ทธ ๋ผˆ๋Œ€๋ฅผ ๋ฏธ๋ฆฌ ๊น”์•„ ๋‘” ์›Œํฌ์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์ƒˆ ๋…ธํŠธ๋ถ์— ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ธํŒ…ํ•˜๋“ฏ, AI ์—์ด์ „ํŠธ์—๊ฒŒ๋„ ์ •๋ˆ๋œ ์ฑ…์ƒ์„ ๋จผ์ € ๋‚ด์ฃผ๋Š” ์…ˆ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ƒํƒœ๋ฅผ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ํ•จ๊ป˜ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

License

5๋ถ„ ๋งŒ์— ๋„์›Œ๋ณด๊ธฐ

Node 22 ์ด์ƒ, pnpm 9 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

pnpm install    # ์›Œํฌ์ŠคํŽ˜์ด์Šค ์˜์กด์„ฑ ์„ค์น˜
pnpm dev        # API ์„œ๋ฒ„(:3141) + ๋Œ€์‹œ๋ณด๋“œ(:3142) ๋™์‹œ ์‹คํ–‰

๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:3142๋ฅผ ์—ด๋ฉด ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ๋œน๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์„ธ ๊ฐ€์ง€๋ฅผ ๋ฐ”๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์›Œํฌ์ŠคํŽ˜์ด์Šค โ€” ํ”„๋กœ์ ํŠธ์™€ ์„œ๋ธŒ๋ชจ๋“ˆ, ํŒŒ์ผ ํŠธ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ ํ•ญ๋ชฉ์˜ ๊ณต๊ฐœ ๋“ฑ๊ธ‰.
  • ์Šคํ‚ฌ ์นดํƒˆ๋กœ๊ทธ โ€” ์ด ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ๋“ฑ๋ก๋œ ์Šคํ‚ฌ ๋ชฉ๋ก๊ณผ ๋‚ด์šฉ.
  • ์„ค์ • / ๋ชจ๋‹ˆํ„ฐ๋ง โ€” ์„œ๋ฒ„ ์„ค์ •, ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ, ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ.

๋Œ€์‹œ๋ณด๋“œ๋Š” /api/* ์š”์ฒญ์„ 3141 ํฌํŠธ์˜ API ์„œ๋ฒ„๋กœ ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค. ์„œ๋ฒ„๋งŒ, ๋˜๋Š” ๋Œ€์‹œ๋ณด๋“œ๋งŒ ๋„์šฐ๊ณ  ์‹ถ๋‹ค๋ฉด ๊ฐ๊ฐ pnpm dev:server(โ†’ 3141), pnpm dev:dashboard(โ†’ 3142)๋ฅผ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋Ÿฐ์ฒ˜ ์Šคํฌ๋ฆฝํŠธ ./start.sh(Linux/macOS)์™€ start.bat(Windows)๋„ ๊ฒฐ๊ตญ pnpm dev๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ CLI๋Š” --port, --host, --root ์˜ต์…˜์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค๋ฅธ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ ค๋ฉด pnpm serve -- --root /path/to/workspace์ฒ˜๋Ÿผ ์”๋‹ˆ๋‹ค.

๋ฌด์—‡์ด ๋“ค์–ด์žˆ๋‚˜

์›Œํฌ์ŠคํŽ˜์ด์Šค ์Šค์บํด๋“œ

AI ์—์ด์ „ํŠธ๊ฐ€ ๊ณง๋ฐ”๋กœ ์ผํ•  ์ˆ˜ ์žˆ๋„๋ก, ์ž๋ฆฌ๊ฐ€ ์ •ํ•ด์ง„ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฌถ์Œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. AI๊ฐ€ ์ฝ์„ ์ปจํ…์ŠคํŠธ๋Š” .agents/(์˜์–ด, JSON/YAML)์— ๋‘๊ณ , ์‚ฌ๋žŒ์ด ์ฝ์„ ๋ฏธ๋Ÿฌ๋Š” .users/(ํ•œ๊ตญ์–ด, Markdown)์— ๋‘ก๋‹ˆ๋‹ค. ์ด ๋ฏธ๋Ÿฌ๋Š” ์ „์ฒด๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์ œํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์‚ฌ๋žŒ์ด ์ฝ์–ด์•ผ ํ•  ํ•ต์‹ฌ ๋ฌธ์„œ ์œ„์ฃผ๋กœ ๋‘๋Š” ๋ถ€๋ถ„ ๋ฏธ๋Ÿฌ์ž…๋‹ˆ๋‹ค(์˜ˆ์ปจ๋Œ€ ์Šคํ‚ฌ์€ .agents/skills/ ์ชฝ์ด ์›๋ณธ์ด๊ณ  .users/skills/์—๋Š” ์ผ๋ถ€๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค). ์Šคํ‚ฌ, ๋ฐ์ดํ„ฐ, ํ”„๋กœ์ ํŠธ๋Š” ๋ชจ๋‘ ์ •ํ•ด์ง„ ์œ„์น˜๊ฐ€ ์žˆ์–ด์„œ, ์–ด๋–ค ๋„๊ตฌ๋กœ ์—ด์–ด๋„ ๊ฐ™์€ ๋ชจ์–‘์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

๋Œ€์‹œ๋ณด๋“œ์™€ API

์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๋ˆˆ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” Next.js ๋Œ€์‹œ๋ณด๋“œ์™€, ๊ทธ ๋’ค๋ฅผ ๋ฐ›์น˜๋Š” Fastify API ์„œ๋ฒ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. API๋Š” ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(/api/workspace), ์Šคํ‚ฌ ์นดํƒˆ๋กœ๊ทธ(/api/skills), ํŒŒ์ผ ์ฝ๊ธฐยท์“ฐ๊ธฐ(/api/files), ๊ทธ๋ฆฌ๊ณ  ํŒŒ์ผ ๋ณ€๊ฒฝ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์•Œ๋ฆฌ๋Š” WebSocket(/api/ws)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด API ๋•๋ถ„์— ๋Œ€์‹œ๋ณด๋“œ๋ฟ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๋„ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ‚ฌ ์‹œ์Šคํ…œ

๋ฐ˜๋ณต ์ž‘์—…์„ ์Šคํ‚ฌ๋กœ ๋ฌถ์–ด ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์Šคํ‚ฌ์€ SKILL.md ํ•œ ํŒŒ์ผ๋กœ ์ •์˜๋˜๊ณ , API ์„œ๋ฒ„๊ฐ€ skills/ ์•„๋ž˜๋ฅผ ํ›‘์–ด ์นดํƒˆ๋กœ๊ทธ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋•Œ ์Šคํ‚ฌ ํ•˜๋‚˜๋ผ๋„ ๊ทœ๊ฒฉ์„ ์–ด๊ธฐ๋ฉด ์นดํƒˆ๋กœ๊ทธ ์ „์ฒด๊ฐ€ ์—๋Ÿฌ๋ฅผ ๋‚ด๋„๋ก ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค(fail-closed). ๊นจ์ง„ ์Šคํ‚ฌ์„ ์กฐ์šฉํžˆ ๋นผ๊ณ  ๋‚˜๋จธ์ง€๋งŒ ๋‚ด๋ณด๋‚ด๋Š” ๋Œ€์‹ , ์šด์˜์ž๊ฐ€ ๊ทธ ์ž๋ฆฌ์—์„œ ๊ณ ์น˜๋„๋ก ๋งŒ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ๋ชฉ๋ก์„ ๋ชจ๋ฅด๊ณ  ์„œ๋น„์Šคํ•˜๋Š” ์‚ฌ๊ณ ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ ์„ ํƒ์ž…๋‹ˆ๋‹ค.

์ง€๊ธˆ ๋“ค์–ด ์žˆ๋Š” ์Šคํ‚ฌ

์Šคํ‚ฌ์€ ๋„ค ๊ฐˆ๋ž˜๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์Šคํ‚ฌ์ด ์žˆ๋Š”์ง€ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ์ฝ์ง€ ์•Š์•„๋„ ๋˜๋„๋ก .agents/context/skills-index.yaml์— ๋ฌด์—‡์„ ์–ธ์ œ ์“ฐ๋Š”์ง€ ํ•œ ์ค„์”ฉ ์ •๋ฆฌํ•ด ๋‘์—ˆ๊ณ , ์•„๋ž˜๋Š” ๊ทธ ๋ชฉ์ฐจ์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ์™€ ๋Œ€์™ธ ์‚ฐ์ถœ๋ฌผ โ€” ์‚ฌ๋žŒ์ด ์ฝ์„ ๊ฒƒ์„ ๋งŒ๋“œ๋Š” ์ผ์ž…๋‹ˆ๋‹ค. doc-coauthoring(์ŠคํŽ™ยท์„ค๊ณ„ ๋ฌธ์„œ), proposal-writing(์ œ์•ˆ์„œ), read-doc, translate-doc, press-release, weekly-report, document-generation(๋ธŒ๋žœ๋“œ PDF์™€ ์ „์ž์„œ๋ช…), copyright-reg(์ €์ž‘๊ถŒ ๋“ฑ๋ก ์„œ๋ฅ˜), patent-draft์™€ patent-pipeline(ํŠนํ—ˆ ๋ช…์„ธ), youtube-upload(์˜์ƒ๊ณผ ์ž๋ง‰ ๊ฒŒ์‹œ).

์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๊ตด๋ฆฌ๋Š” ์ผ โ€” ์ €์žฅ์†Œ ์ž์ฒด๋ฅผ ๋‹ค๋ฃจ๋Š” ์†์ž…๋‹ˆ๋‹ค. project-create, project-migration, merge-worktree, migrate-ctx, session-resume, sync-upstream(์—…์ŠคํŠธ๋ฆผ ๋™๊ธฐํ™”), manage-skills, secret-vault(์•”ํ˜ธํ™” ์‹œํฌ๋ฆฟ ๋ณผํŠธ).

๊ฒ€์ฆ ๊ฒŒ์ดํŠธ โ€” ํ†ต๊ณผํ–ˆ๋‹ค๋Š” ๋ง ๋Œ€์‹  ์ฆ๊ฑฐ๋ฅผ ์š”๊ตฌํ•˜๋Š” ์ž๋ฆฌ์ž…๋‹ˆ๋‹ค. verify-implementation, verify-contract-conformance, verify-request-contract, verify-product-preservation, verify-benchmark-contract, verify-review-gate, verify-build(๋นŒ๋“œ๊ฐ€ ์‹ค์ œ๋กœ ๋˜๋Š”๊ฐ€), verify-conflict-markers(์ถฉ๋Œ ๋งˆ์ปค๊ฐ€ ๋‚จ์•˜๋Š”๊ฐ€), verify-i18n๊ณผ verify-hardcoded-strings(๋ฌธ์ž์—ด์ด ์ œ์ž๋ฆฌ์— ์žˆ๋Š”๊ฐ€), webapp-testing, ๊ทธ๋ฆฌ๊ณ  ์ ๋Œ€์  ๊ฒ€ํ† ๋ฅผ ๋ถ™์ด๋Š” review-pass.

์šด์˜๊ณผ ์‹คํ—˜ โ€” ๋ฐ”๊นฅ๊ณผ ๋‹ฟ๊ฑฐ๋‚˜ ๋ชจ๋ธ์„ ๋‹ค๋ฃจ๋Š” ์ผ์ž…๋‹ˆ๋‹ค. manage-discord-sessions(๋””์Šค์ฝ”๋“œ ๊ฒŒ์ดํŠธ์›จ์ด ์šด์˜), channel-management, service-management(๊ฐ€๋™๊ณผ ๋น„์šฉ, ์žฅ์•  ๋Œ€์‘), web-monitoring, email, sms, upstream-pr-review(์˜คํ”ˆ์†Œ์Šค์— ๋‚ด๋ณด๋‚ด๊ธฐ ์ „ ์ ๊ฒ€), payroll, finetune-persona(์บ๋ฆญํ„ฐ LoRA ํ•™์Šต).

์Šคํ‚ฌ์„ ์ƒˆ๋กœ ๋งŒ๋“ค ๋•Œ๋Š” SKILL_TEMPLATE.md์—์„œ ์‹œ์ž‘ํ•˜๊ณ , ๋งŒ๋“  ๋’ค์—๋Š” ์ƒ‰์ธ์—๋„ ํ•œ ์ค„์„ ๋‚จ๊น๋‹ˆ๋‹ค. ์ƒ‰์ธ์ด ์‹ค์ œ์™€ ์–ด๊ธ‹๋‚˜๋ฉด ๋‹ค์Œ ์„ธ์…˜์ด ์žˆ๋Š” ์ค„๋„ ๋ชจ๋ฅด๋Š” ์Šคํ‚ฌ์„ ๋‹ค์‹œ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทœ์น™ ๋ฌถ์Œ๊ณผ ์ตœ์†Œ ๊ฑฐ๋ฒ„๋„Œ์Šค

ํ˜ผ์ž ์“ฐ๋Š” ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ผ๋„, AI์™€ ์ž๋™ํ™”๊ฐ€ ์†์„ ๋Œ€๋Š” ์ˆœ๊ฐ„ ์ตœ์†Œํ•œ์˜ ๊ทœ์น™์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Naia ADK๋Š” read, write, execute, publish๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ๊ด€์‹ฌ์‚ฌ๋กœ ๋‚˜๋ˆ  ๋‘๊ณ , ๋ฌธ์„œ๋งˆ๋‹ค ๊ณต๊ฐœ ๋“ฑ๊ธ‰์„ ๋ถ™์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ๋ณ€๊ฒฝ์ด๋‚˜ ์‹œํฌ๋ฆฟ ์ทจ๊ธ‰, ๋Œ€์™ธ ๊ณต๊ฐœ์ฒ˜๋Ÿผ ๋˜๋Œ๋ฆฌ๊ธฐ ์–ด๋ ค์šด ์ž‘์—…์€ ์ผ๋ฐ˜ ๋กœ์ปฌ ํŽธ์ง‘๊ณผ ๋ถ„๋ฆฌํ•ด ์Šน์ธ ๊ฒŒ์ดํŠธ๋ฅผ ๊ฑฐ์น˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœ ๋“ฑ๊ธ‰์€ ๋„ค ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. public์€ ๊ณต๊ฐœ ์›น์‚ฌ์ดํŠธ๋‚˜ ์˜คํ”ˆ์†Œ์Šค ๋ ˆํฌ์— ๊ทธ๋Œ€๋กœ ๋‚˜๊ฐ€๋„ ๋˜๋Š” ๊ฒƒ, controlled์€ ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์น˜๋ฉด ์™ธ๋ถ€์— ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ, internal์€ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์•ˆ์—์„œ๋งŒ ์“ฐ๋Š” ๊ฒƒ, confidential์€ ๊ณ„์•ฝ์„œยทํฌ๋ฆฌ๋ด์…œยท๊ฐœ์ธ์ •๋ณด์ฒ˜๋Ÿผ ๋ฏผ๊ฐํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํฌ๋ฆฌ๋ด์…œ์€ ๋ณดํ†ต git ๋ฐ–์— ๋‘์ง€๋งŒ, ๋“ฑ๊ธ‰์œผ๋กœ๋Š” ์—ฌ์ „ํžˆ confidential์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ ์„ธ์…˜ ๊ณ„์•ฝ ๊ฐ•์ œ๋Š” ๊บผ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. .claude/no-harness ๋งˆ์ปค๊ฐ€ ์ €์žฅ์†Œ์— ๋“ค์–ด ์žˆ์–ด ์„ธ์…˜ ๊ณ„์•ฝ ๊ฒŒ์ดํŠธ๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ๋ง‰์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผœ๋ฉด ๊ณ„์•ฝ ์—†๋Š” ์„ธ์…˜์ด npm test๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ๋ณ€๊ฒฝ์„ฑ ์…ธ ๋ช…๋ น์—์„œ ๋ง‰ํ˜€ ์ƒˆ๋กœ ํด๋ก ํ•œ ์‚ฌ๋žŒ์ด ํ…Œ์ŠคํŠธ์กฐ์ฐจ ๋Œ๋ฆด ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ ํŽธ์ง‘ ๊ฒฝ๋กœ๋Š” ๊ฐ™์€ ์ด์œ ๋กœ ์ด๋ฏธ ์—ด์–ด๋’€์ง€๋งŒ ์…ธ ๊ฒฝ๋กœ๋Š” ์•„์ง ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค. force push, ํŒŒ๊ดด์  git ๋ช…๋ น, ๋ฐฐํฌ, ์™ธ๋ถ€ ๋ฐœ์†ก ๊ฐ€๋“œ๋Š” ์ด์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ–‰ ์ƒํ™ฉ์€ #34, ์ž์„ธํ•œ ๋‚ด์šฉ์€ .claude/no-harness์— ์ ์–ด ๋’€์Šต๋‹ˆ๋‹ค. AGENTS.md์˜ ์„ธ์…˜ ๊ฒฝ๊ณ„ ์ ˆ์€ ์˜๋„ํ•œ ์„ค๊ณ„๋ฅผ ์„œ์ˆ ํ•œ ๊ฒƒ์ด๋ฉฐ ํ˜„์žฌ ๋Ÿฐํƒ€์ž„ ๋™์ž‘๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์‹œํฌ๋ฆฟ์€ ์–ด๋””์— ๋‘๋‚˜

API ํ‚ค๋‚˜ ์ธ์ฆ์„œ๋ฅผ git์— ๊ทธ๋ƒฅ ์˜ฌ๋ฆด ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ๊ฐ์ž ๋…ธํŠธ๋ถ์—๋งŒ ๋‘๋ฉด ๊ธฐ๊ณ„๋ฅผ ๋ฐ”๊ฟ€ ๋•Œ๋งˆ๋‹ค ์‚ฌ๋ผ์ง€๊ณ , ๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ๊ฐ–๊ณ  ์žˆ๋Š”์ง€๋„ ์•Œ ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Naia ADK๋Š” ๊ทธ ์‚ฌ์ด๋ฅผ ์ด๋ ‡๊ฒŒ ์ง€๋‚ฉ๋‹ˆ๋‹ค. ์‹œํฌ๋ฆฟ์„ ๋‹ด์€ ํด๋” ํ•˜๋‚˜๋ฅผ ํ†ต์งธ๋กœ ๋ฌถ์–ด ์•”ํ˜ธํ™”ํ•œ ํŒŒ์ผ ํ•˜๋‚˜๋งŒ git์— ์˜ฌ๋ฆฌ๊ณ , ํ‘ผ ๋‚ด์šฉ์€ git์ด ์•„์˜ˆ ๋ณด์ง€ ์•Š๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ๋Š” key/ ํด๋”๋ฅผ tar๋กœ ๋ฌถ๊ณ  age๋กœ ์•”ํ˜ธํ™”ํ•ด key.age ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. key/๋Š” .gitignore์— ์žˆ์–ด ์‹ค์ˆ˜๋กœ๋„ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ปค๋ฐ‹๋˜๋Š” ๊ฒƒ์€ ์–ธ์ œ๋‚˜ key.age ํ•˜๋‚˜๋ฟ์ž…๋‹ˆ๋‹ค.

๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์‚ฌ๋žŒ์ด ์ง์ ‘ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. AI๊ฐ€ ๋Œ€์‹  ๋ฐ›์ง€๋„, ๋Œ€์‹  ๋„ฃ์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Š” ์ผ๊ณผ ์ž ๊ทธ๋Š” ์ผ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž๊ธฐ ํ„ฐ๋ฏธ๋„์—์„œ ํ•˜๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ•„์š” ์—†๋Š” ์ ๊ฒ€๊ณผ ๋ฐฑ์—…์€ AI๊ฐ€ ๋Œ€์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ๊ณ„๊ฐ€ ์Šคํ‚ฌ ์•ˆ์— ๋ช…๋ น ๋‹จ์œ„๋กœ ๋‚˜๋‰˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

bash .agents/skills/secret-vault/scripts/vault.sh init     # ์ƒˆ repo์— ๋ณผํŠธ ๋งŒ๋“ค๊ธฐ
bash .agents/skills/secret-vault/scripts/vault.sh unlock   # ์—ด๊ธฐ (๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„์š”)
bash .agents/skills/secret-vault/scripts/vault.sh lock     # ๋‹ค์‹œ ์ž ๊ทธ๊ธฐ (๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„์š”)
bash .agents/skills/secret-vault/scripts/vault.sh status   # ๋ฐฑ์—…์ด ์ตœ์‹ ์ธ์ง€ ์ ๊ฒ€
bash .agents/skills/secret-vault/scripts/vault.sh sync     # key.age๋งŒ ์ปค๋ฐ‹ํ•˜๊ณ  push

status๊ฐ€ ์žˆ๋Š” ์ด์œ ๋Š” ์‹ค์ˆ˜์˜ ๋ชจ์–‘์ด ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ค์‹œ ์ž ๊ทธ๋Š” ๊ฒƒ์„ ์žŠ๊ฑฐ๋‚˜, ์ž ๊ฐ”๋Š”๋ฐ push๋ฅผ ์žŠ๊ฑฐ๋‚˜, ์ž„์‹œ ํŒŒ์ผ์ด ๋‚จ๋Š” ์ผ์ด ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. status๋Š” ๊ทธ ์…‹์„ ํ•œ ๋ฒˆ์— ๋ด…๋‹ˆ๋‹ค. "ํ‚ค๊ฐ€ ๋‹ค ๋ฐฑ์—…๋ผ ์žˆ๋‚˜?"๋ผ๋Š” ์งˆ๋ฌธ์—๋Š” ๊ธฐ์–ต์ด ์•„๋‹ˆ๋ผ ์ด ๋ช…๋ น์œผ๋กœ ๋‹ตํ•ฉ๋‹ˆ๋‹ค.

lock์€ ์ƒˆ ์•”ํ˜ธ๋ฌธ์„ ๋งŒ๋“  ๋’ค ๋‹ค์‹œ ํ’€์–ด ๋ณด๊ณ  ์„ฑ๊ณตํ–ˆ์„ ๋•Œ๋งŒ ๊ธฐ์กด ํŒŒ์ผ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ค‘๊ฐ„์— ์‹คํŒจํ•ด์„œ ๋ณผํŠธ๊ฐ€ ๊นจ์ง„ ์ฑ„ ๋‚จ๋Š” ์ผ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค.

์ด ํŒจํ„ด์€ data-private ๊ฐ™์€ ๊ฐœ์ธ ์ €์žฅ์†Œ๋ฅผ ํ‘œ์ค€ ์†Œ๋น„์ž๋กœ ์‚ผ์ง€๋งŒ, key.age ํ•˜๋‚˜์™€ gitignore๋œ key/๋ฅผ ๋‘๋Š” ์–ด๋–ค ์ €์žฅ์†Œ์—๋„ ๊ทธ๋Œ€๋กœ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์œผ๋ฉด VAULT์™€ PLAIN_DIR ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

LLM ์–ด๋Œ‘ํ„ฐ (naia-anyllm)

LLM์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์œ„ํ•ด naia-anyllm ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋‚ด์žฅํ•ฉ๋‹ˆ๋‹ค. any-llm ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ฑฐ์น˜๊ฑฐ๋‚˜, OpenAIยทAnthropicยทGoogle ๊ฐ™์€ ํ”„๋กœ๋ฐ”์ด๋”์— ์ง์ ‘ ๋ถ™์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ Naia ๊ณ„์ •์ด๋ฉฐ, naia.nextain.io์—์„œ ๋ฐœ๊ธ‰ํ•œ ํ‚ค๋ฅผ NAIA_KEY ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋„ฃ์œผ๋ฉด ๊ณ„์ • ํฌ๋ ˆ๋”ง์œผ๋กœ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค๊ฐ€ ์—†์œผ๋ฉด ์œ ๋ฃŒ ํ˜ธ์ถœ ์ „์— ์˜ค๋ฅ˜๋ฅผ ๋ƒ…๋‹ˆ๋‹ค. ํ”„๋กœ๋ฐ”์ด๋”๋‚˜ ๋ชจ๋ธ์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์œผ๋ฉด .agents/context/llm-config.yaml.example์„ ๋ณต์‚ฌํ•ด ์“ฐ๊ณ , API ํ‚ค๋Š” ์„ค์ • ํŒŒ์ผ์ด ์•„๋‹ˆ๋ผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋‚˜ ์šด์˜์ฒด์ œ ํ‚ค ์ €์žฅ์†Œ์— ๋‘ก๋‹ˆ๋‹ค. naia-settings/llm.json์—๋Š” ํ‚ค ๊ฐ’ ๋Œ€์‹  apiKeyRef: "NAIA_KEY"๋งŒ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ ํฌํฌ์—์„œ ์žฅ๊ธฐ ๋ฐฑ์—…์ด ํ•„์š”ํ•˜๋ฉด data-private/key/์˜ age ์•”ํ˜ธํ™” ๋ณผํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(.env.example ์ฐธ๊ณ ).

์ง€์› ๋ชจ๋ธ๊ณผ ํ˜„์žฌ ๊ฐ€๊ฒฉ ์กฐํšŒ, ๊ธด PDF ๋ฒˆ์—ญ์€ translate-doc ์Šคํ‚ฌ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธยท๊ฐ€๊ฒฉ ์กฐํšŒ๋Š” ํ‚ค ์—†์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋ฒˆ์—ญ์€ ์˜ˆ์ƒ ๋น„์šฉ์„ ๋จผ์ € ์ œ์‹œํ•œ ๋’ค ์ค‘๋‹จ ์ง€์ ๋ถ€ํ„ฐ ์žฌ๊ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™œ ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์—ˆ๋‚˜

ํฌ๋งท์ด ๊ณง ๊ณ„์•ฝ

Naia ADK์˜ ํ•ต์‹ฌ์€ ํŠน์ • ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ๋ผ ํฌ๋งท์ž…๋‹ˆ๋‹ค. ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ ˆ์ด์•„์›ƒ(.agents/, .users/, skills/, data-*/)๊ณผ ํŒŒ์ผ ์Šคํ‚ค๋งˆ(agents-rules.json, SKILL.md)๊ฐ€ ์ •ํ•ด์ง„ ์•ฝ์†์ด๊ณ , ์ด ์•ฝ์†์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ผ๋ฉด ๋ฌด์—‡์ด๋“  ๊ฐ™์€ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ์†Œ๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Claude Code, opencode, Codex, naia-agent๊ฐ€ ์„œ๋กœ์˜ ์ฝ”๋“œ๋ฅผ ๋‚ด์žฅํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ™์€ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๊ฐ์ž ์ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋„๊ตฌ๋ฅผ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ๋„๊ตฌ๋ฅผ ์„ž์–ด ์จ๋„, ์›Œํฌ์ŠคํŽ˜์ด์Šค๋Š” ๊ทธ๋Œ€๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ทœ์น™ ๊ฐ•์ œ(enforcement) ์ž์ฒด๋„ ๋„๊ตฌ์— ๋งค์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ค‘๋ฆฝ ์ฝ”์–ด(.agents/hooks/core/)์™€ ์ •์ฑ…(.agents/hooks/policies/)์ด Claude Code ํ›…๊ณผ pi ์ต์Šคํ…์…˜ ์–‘์ชฝ์„ ๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ๊ตฌ๋™ํ•ฉ๋‹ˆ๋‹ค.

ํŒ€์œผ๋กœ ์ปค์ง€๊ธฐ ์ „์˜ ๊ฐœ์ธ์šฉ ๋ฒ ์ด์Šค

Naia ADK๋Š” ์–ด๋””๊นŒ์ง€๋‚˜ 1์ธ, ๊ฐœ์ธ์šฉ์ž…๋‹ˆ๋‹ค. ํšŒ์‚ฌ ์กฐ์ง๋„๋‚˜ ํ…Œ๋„ŒํŠธ ๊ทœ์น™, ์œ„์ž„ ์Šน์ธ ์ฒด์ธ ๊ฐ™์€ ๊ฒƒ์€ ์ƒ์œ„ ๋ ˆ์ด์–ด์˜ ๋ชซ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ์›Œํฌ์ŠคํŽ˜์ด์Šค๊ฐ€ ํŒ€์ด๋‚˜ ํšŒ์‚ฌ ๊ทœ๋ชจ๋กœ ์ปค์ง€๊ธฐ ์ „์—, ์ปจํ…์ŠคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃฐ์ง€์— ๋Œ€ํ•œ ๊ทœ์œจ์„ ๋ฏธ๋ฆฌ ํ•œ๊ณณ์— ์ ์–ด ๋‘˜ ์ž๋ฆฌ๋ฅผ ์ค๋‹ˆ๋‹ค.

ํŒ€ ํ˜‘์—…๊ณผ ๊ณต์œ  ์ง€์‹์ด ํ•„์š”ํ•ด์ง€๋ฉด Naia Business ADK๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํ™•์žฅ์€ ๋ฒ ์ด์Šค๋ผ์ธ์„ ์ž์‚ฐยทํ”„๋กœ์„ธ์Šคยท๊ถŒํ•œ ๊ฑฐ๋ฒ„๋„Œ์Šค๋กœ ๋„“ํžˆ๊ณ , ํŒ€ ์†Œ์œ ๊ถŒ๊ณผ ์œ„์ž„ ์Šน์ธ์„ ๋”ํ•ฉ๋‹ˆ๋‹ค.

ํฌํฌ ์ฒด์ธ

Naia ADK๋Š” ํฌํฌํ•ด์„œ ์ž๊ธฐ ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ „์ œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ์€ naia-adk๋ฅผ ์ง์ ‘ ํฌํฌํ•˜๊ณ , ์กฐ์ง์€ naia-business-adk๋ฅผ ๊ฑฐ์ณ ํšŒ์‚ฌยท๋ฉค๋ฒ„ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

naia-adk                  โ† ๊ฐœ์ธ์šฉ ๋ฒ ์ด์Šค (๊ณต๊ฐœ, Apache 2.0)
  โ””โ”€โ”€ {org}-adk           โ† ์กฐ์ง ํฌํฌ: ํšŒ์‚ฌ ๋ฐ์ดํ„ฐ + ๋น„์ฆˆ๋‹ˆ์Šค ์„œ๋ธŒ๋ชจ๋“ˆ
        โ””โ”€โ”€ {user}-adk    โ† ๊ฐœ์ธ ํฌํฌ: ๊ฐœ์ธ ๋ฐ์ดํ„ฐ + ํ”„๋กœ์ ํŠธ ์„œ๋ธŒ๋ชจ๋“ˆ

Nextain์˜ ์‹ค์ œ ์ฒด์ธ์€ naia-adk โ†’ naia-business-adk โ†’ nextain-adk โ†’ alpha-adk์ฒ˜๋Ÿผ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

๊ตฌ์กฐ

์ €์žฅ์†Œ๋Š” ํฌ๊ฒŒ ๋Ÿฐํƒ€์ž„ ์ฝ”๋“œ(packages/), ๊ทœ์น™๊ณผ ์ปจํ…์ŠคํŠธ(.agents/, .users/), ์Šคํ‚ฌ(skills/, .agents/skills/), ๊ทธ๋ฆฌ๊ณ  ํฌํฌ๋งˆ๋‹ค ์ฑ„์›Œ ๋„ฃ๋Š” ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

๋””๋ ‰ํ„ฐ๋ฆฌ ์šฉ๋„
.agents/ AI์šฉ ์ปจํ…์ŠคํŠธ (์˜์–ด, JSON/YAML) โ€” ๊ทœ์น™์˜ ๋‹จ์ผ ์ง„์‹ค ๊ณต๊ธ‰์›
.users/ ์‚ฌ๋žŒ์ด ์ฝ๋Š” ๋ฏธ๋Ÿฌ (ํ•œ๊ตญ์–ด, Markdown)
.claude/ Claude Code ์„ค์ •, ํ›…, ์Šคํ‚ฌ ์‹ฌ๋งํฌ
skills/ ์šด์˜/๋Ÿฐํƒ€์ž„ ์Šคํ‚ฌ (๋Œ€์‹œ๋ณด๋“œ API๊ฐ€ ์ œ๊ณต)
scripts/ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์Šคํฌ๋ฆฝํŠธ
templates/ ๋ฌธ์„œ ํ…œํ”Œ๋ฆฟ
docs/ ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์„œ, ์„ค๊ณ„ ์ŠคํŽ™
packages/ ๋Ÿฐํƒ€์ž„ ํŒจํ‚ค์ง€ (pnpm ์›Œํฌ์ŠคํŽ˜์ด์Šค)

๋Ÿฐํƒ€์ž„ ํŒจํ‚ค์ง€ (packages/, 10๊ฐœ)

์„ธ ๊ฐœ๋Š” ์‹ค์ œ๋กœ ๋„๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๊ณ , ๋‚˜๋จธ์ง€๋Š” ํฌ๋งท๊ณผ ๊ทœ๊ฒฉ์„ ์ •์˜ํ•˜๋Š” ์–‡์€ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค.

  • core โ€” ์›Œํฌ์ŠคํŽ˜์ด์Šค์™€ ์Šคํ‚ฌ์„ ํŒŒ์‹ฑํ•˜๋Š” ์—”์ง„.
  • server โ€” Fastify ๊ธฐ๋ฐ˜ REST/WebSocket API.
  • dashboard โ€” Next.js ๋Œ€์‹œ๋ณด๋“œ UI.
  • skill-spec โ€” ๋„๊ตฌ ๋น„์ข…์† ์Šคํ‚ฌ ํฌ๋งท ๊ณ„์•ฝ(SkillDescriptor, SkillLoader).
  • skills-builtin โ€” ์ผ๋ฐ˜ ์Šคํ‚ฌ ์นดํƒˆ๋กœ๊ทธ.
  • openclaw-compat โ€” OpenClaw ์Šคํ‚ฌ์„ naia ํฌ๋งท์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ.
  • persona โ€” ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์ปจ๋ฒค์…˜ ์ŠคํŽ™.
  • process โ€” ์›Œํฌํ”Œ๋กœ์šฐ ํŒจํ„ด ์ŠคํŽ™(๋ฆฌ๋ทฐ โ†’ ๊ฒฐ์ • โ†’ ์‹คํ–‰, ์ด์Šˆ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ๋“ฑ).
  • naia-anyllm โ€” any-llm ๊ฒŒ์ดํŠธ์›จ์ด / ์ง์ ‘ ํ”„๋กœ๋ฐ”์ด๋” LLM ์–ด๋Œ‘ํ„ฐ.
  • artifacts-spec โ€” ๊ถŒํ•œ(RBAC)๊ณผ ๊ฐœ๋ฐœ ์ˆ˜๋ช…์ฃผ๊ธฐ(SDLC) ์‚ฐ์ถœ๋ฌผ์˜ ํ‘œ์ค€ ์Šคํ‚ค๋งˆ. 15์ข… ์‚ฐ์ถœ๋ฌผ์„ JSON Schema๋กœ ์ •์˜ํ•˜๊ณ , ๊ฐ ์‚ฐ์ถœ๋ฌผ์ด git์œผ๋กœ ์ถ”์ ๋˜๋Š”์ง€ ์„ธ์…˜ ํ•œ์ •์ธ์ง€๊นŒ์ง€ ๊ทœ์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ (gitignore, ํฌํฌ๋งˆ๋‹ค ์ฑ„์›€)

์ด ๋„ค ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์ €์žฅ์†Œ์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํฌํฌํ•œ ์‚ฌ๋žŒ์ด ์ž๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค.

๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฒ”์œ„ ๋‚ด์šฉ
data-company/ ํšŒ์‚ฌ ํšŒ์‚ฌ ์ „์ฒด ๋ฌธ์„œ, ๊ณต์œ  ๋ฆฌ์†Œ์Šค
data-teams/ ํŒ€ ํŒ€๋ณ„ ๋ฌธ์„œ (์ „๋žต, ํšŒ๊ณ„ ๋“ฑ)
data-private/ ๊ฐœ์ธ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ, env ํŒŒ์ผ, ๋น„๊ณต๊ฐœ ๋ฌธ์„œ
projects/ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ๋ ˆํฌ (์„œ๋ธŒ๋ชจ๋“ˆ)

์Šคํ‚ฌ ํŠธ๋ฆฌ ๋‘ ๊ฐœ

์Šคํ‚ฌ์€ ๋‘ ๊ณณ์— ๋‚˜๋‰˜์–ด ์žˆ๊ณ , ์†Œ๋น„ํ•˜๋Š” ์ฃผ์ฒด๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  • .agents/skills/ โ€” AI ๋ณด์กฐ์™€ ์›Œํฌํ”Œ๋กœ์šฐ ์Šคํ‚ฌ. Claude Code๊ฐ€ .claude/skills/ ์‹ฌ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ(review-pass), ๊ฒ€์ฆ(verify-implementation), ์›ŒํฌํŠธ๋ฆฌ ๋จธ์ง€ (merge-worktree), ๋ฌธ์„œ ์ถ”์ถœ(read-doc), ํŠนํ—ˆยท์ €์ž‘๊ถŒยท๊ธ‰์—ฌ ๊ฐ™์€ ์—…๋ฌด ์Šคํ‚ฌ, ๊ทธ๋ฆฌ๊ณ  finetune-persona, secret-vault, youtube-upload ๋“ฑ์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • skills/ โ€” ์šด์˜/๋Ÿฐํƒ€์ž„ ์Šคํ‚ฌ. API ์„œ๋ฒ„๊ฐ€ skills/**/SKILL.md๋ฅผ ํ›‘์–ด ๋Œ€์‹œ๋ณด๋“œ์— ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฉ”์ผยทSMSยท์•Œ๋ฆผ ๋ฐœ์†ก, ์ฑ„๋„ ๊ด€๋ฆฌ, ์„œ๋น„์Šคยท์›น ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ฌธ์„œ ์ƒ์„ฑ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๊ณ , skills/business/์—๋Š” ์กฐ์ง์šฉ ์Šคํ‚ฌ(์˜ˆ: press-release)์ด ๋‹ด๊น๋‹ˆ๋‹ค.

์ „์ฒด ๋ชฉ๋ก์€ ๋Œ€์‹œ๋ณด๋“œ์˜ ์Šคํ‚ฌ ์นดํƒˆ๋กœ๊ทธ์—์„œ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋กœ ์ •๋ฆฌ๋œ ํ‘œ๋Š” AGENTS.md์— ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ

๊ฐœ์ธ์šฉ

  1. naia-adk๋ฅผ ๋ณธ์ธ ๊ณ„์ •์œผ๋กœ ํฌํฌํ•ฉ๋‹ˆ๋‹ค(๊ฐ€๋Šฅํ•˜๋ฉด ๋น„๊ณต๊ฐœ๋กœ).
  2. ํด๋ก ํ•ฉ๋‹ˆ๋‹ค: git clone https://github.com/YOUR-USER/your-adk.git && cd your-adk
  3. upstream์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค: git remote add upstream https://github.com/nextain/naia-adk.git
  4. ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค: mkdir -p data-private projects
  5. ํ”„๋กœ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  .agents/๋ฅผ ์„ค์ •ํ•œ ๋’ค ์ž‘์—…์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  6. Naia ๊ณ„์ • ์ž์›์„ ์“ธ ๊ฒฝ์šฐ NAIA_KEY๋ฅผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  7. ์ฃผ๊ธฐ์ ์œผ๋กœ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค: git fetch upstream && git merge upstream/main

๊ธฐ์—…์šฉ

  1. naia-business-adk ์ ‘๊ทผ์„ ์œ„ํ•ด ๋ฌธ์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. naia-business-adk๋ฅผ ์กฐ์ง ๊ณ„์ •์œผ๋กœ ๋น„๊ณต๊ฐœ ํฌํฌํ•œ ๋’ค ํด๋ก ํ•ฉ๋‹ˆ๋‹ค.
  3. upstream์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค: git remote add upstream https://github.com/nextain/naia-business-adk.git
  4. ํšŒ์‚ฌ ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์ ํŠธ ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์ฑ„์›๋‹ˆ๋‹ค: mkdir -p data-company projects, git submodule add <repo> projects/<name>
  5. ๊ฐ ๋ฉค๋ฒ„๋Š” ์กฐ์ง ADK๋ฅผ ๋‹ค์‹œ ํฌํฌํ•ด ๊ฐœ์ธ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋กœ ์”๋‹ˆ๋‹ค.

Naia OS ์—ฐ๋™ (์„ ํƒ)

Naia OS ๋ฐ์Šคํฌํ†ฑ ์•ฑ์„ ์“ด๋‹ค๋ฉด ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ฒฝ๋กœ๋ฅผ ๋ณธ์ธ์˜ ADK ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ง€์ •ํ•˜์„ธ์š”. ์Šคํ‚ฌ๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ API๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๊ธฐ์—ฌ

์ด์Šˆ, PR, ํ† ๋ก ์€ ํŽธํ•œ ์–ธ์–ด๋กœ ์จ๋„ ๋ฉ๋‹ˆ๋‹ค. AI๊ฐ€ ์†Œํ†ต์„ ์ค‘๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ git ๊ธฐ๋ก(์ปค๋ฐ‹, ์ปจํ…์ŠคํŠธ, ๊ณต์œ  ์‚ฐ์ถœ๋ฌผ)์€ ์˜์–ด๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ ˆ์ฐจ์™€ ๊ทœ์น™์€ CONTRIBUTING.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋Š” ์ด์Šˆ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๋ฉฐ, ์ƒ์„ธ ํ๋ฆ„์€ AGENTS.md์™€ .agents/workflows/์— ์ •๋ฆฌ๋ผ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ๋“œ๋งต

์•„๋ž˜๋Š” ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์€ ๊ณ„ํš์œผ๋กœ, ํ˜„์žฌ ๋™์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹™๋‹ˆ๋‹ค.

  • ์ง€์‹ ์›์ž(Knowledge atoms) โ€” ์ง€๊ธˆ์˜ ์ปจํ…์ŠคํŠธ๋Š” ํŒŒ์ผ ๋‹จ์œ„๋ผ, ์ •๋ณด ํ•œ ์กฐ๊ฐ์„ ์ฐพ์œผ๋ ค ํ•ด๋„ ํŒŒ์ผ ์ „์ฒด๋ฅผ ๋กœ๋“œํ•ด ํ† ํฐ์„ ๋‚ญ๋น„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„ ๊ฐ€์žฅ ์ž‘์€ ์ง€์‹ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๊ณ  ํƒœ๊ทธ์™€ ๋งํฌ๋กœ ์—ฐ๊ฒฐํ•ด, ํ•„์š”ํ•œ ์กฐ๊ฐ๋งŒ ์ •ํ™•ํžˆ ๊บผ๋‚ด ์“ฐ๋Š” ๋ฐฉํ–ฅ์„ ๊ฒ€ํ†  ์ค‘์ž…๋‹ˆ๋‹ค. CLI๋‚˜ MCP๋กœ ์ ‘๊ทผํ•ด ๋„๊ตฌ์— ๋งค์ด์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.

๋ผ์ด์„ ์Šค

Apache License 2.0. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Copyright 2026 Nextain Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

๋งํฌ

About

Archived: consolidated into nextain/naia-template-project

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages