Skip to content

About

Fullops-Squad-plugin

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

title FullOps Squad
status draft
updated 2026-10-09
owner maintainer
summary Orca์—์„œ AI worker์˜ ๋ฐฐ์ •, ๋ฌธ์„œ, ๊ฒ€์ฆ, ๋ฆฌ๋ทฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ•˜๋„ค์Šค ํ”Œ๋Ÿฌ๊ทธ์ธ

FullOps Squad

Orca IDE์—์„œ Claude CodeยทCodexยทgrokยทagy๋ฅผ ์—ญํ• ๋ณ„ worker๋กœ ์šด์˜ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค. ์ž‘์—… ์ง€์‹œ์„œ์™€ ๊ฒฐ๊ณผ๋ฅผ Git ๋ ˆํฌ์— ๊ธฐ๋กํ•˜๊ณ , ๊ตฌํ˜„ ๊ฒฐ๊ณผ๋ฅผ lint์™€ ๋…๋ฆฝ ๋ฆฌ๋ทฐ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

Orca IDE๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ Orca ์•ฑ์„ ์„ค์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜๋Š” CLI ์‚ฌ์šฉ์ž ๋ฒ”์œ„์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋ ˆํฌ์˜ .fullops-squad/๋ฅผ ๋งŒ๋“œ๋Š” setup์€ ๋ณ„๋„๋กœ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

์™ธ๋ถ€ ์˜์กด์„ฑ์€ ๋ฒ„์ „ยทcommit์„ ๊ณ ์ •ํ•˜์ง€ ์•Š๊ณ  ์ตœ์‹ ํŒ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. npm ๋„๊ตฌ๋Š” @latest, ์Šคํ‚ฌ์€ ๊ณต์‹ ์ €์žฅ์†Œ์˜ ์ตœ์‹  ์›๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์˜์กด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ๊ฐฑ์‹ ํ•œ ๋’ค ์„ค์น˜ยท์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ช…์‹œ์  ์„ค์น˜ยท์—…๋ฐ์ดํŠธ ์š”์ฒญ๋งˆ๋‹ค ์ตœ์‹ ํŒ์„ ํ™•์ธํ•˜๊ณ , --check๋Š” ๋„คํŠธ์›Œํฌ ์—…๋ฐ์ดํŠธ ์—†์ด ์‹ค์ œ ์„ค์น˜ ์ƒํƒœ๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ์Šคํ‚ฌ์€ ๊ต์ฒด ์ „์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—… ํ๋ฆ„

์šด์˜ ๋ชจ๋“œ๋Š” coor์™€ dev์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ํ๋ฆ„์€ coor ๊ธฐ์ค€์ด๋ฉฐ, dev์—์„œ๋Š” ์ฃผ ๋‹ด๋‹น์ž๊ฐ€ ์‚ฌ์šฉ์ž์™€ ์ง์ ‘ ๊ธฐ์ˆ  ๊ณ„ํšยท๊ตฌํ˜„ยท๊ฒ€์ฆ์„ ์ง„ํ–‰ํ•˜๊ณ  ํ•„์š”ํ•œ ์ „๋ฌธ๊ฐ€๋ฅผ ๋ฐฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ๊ตฌํ˜„๋„ lint์™€ ๋‹ค๋ฅธ ์„ธ์…˜์˜ ๊ณ ์ • SHA ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์—ญํ•  IDยท๋ชจ๋ธยทeffort์™€ ์šด์˜ ์ฑ…์ž„์€ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ํ…Œ์ŠคํŠธ ๋น„์ค‘๊ณผ ํ•˜์œ„ ์—์ด์ „ํŠธ ํ™œ์šฉ ์ •๋„๋ฅผ ๋ณ„๋„๋กœ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์‹ ๊ทœ setup ๊ธฐ๋ณธ๊ฐ’์€ ๋‘ ์„ค์ • ๋ชจ๋‘ lite์ž…๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๋ ˆ๋ฒจ ๊ฒ€์ฆ ๋ฒ”์œ„
minimal ๊ธฐ๋™ยท๋ณ€๊ฒฝ ๊ฒฝ๋กœ ์Šค๋ชจํฌ
lite ๋ณ€๊ฒฝ ํ•ต์‹ฌยทํ•„์š”ํ•œ ์‹คํŒจ ๊ฒฝ๊ณ„
standard ์˜ํ–ฅ ๋ฒ”์œ„ ํšŒ๊ท€
full ์ „์ฒด ํšŒ๊ท€ยทํ•„์š”ํ•œ ํ†ตํ•ฉยท์ˆ˜๋ฝ
exhaustive full + ํ•„์š”ํ•œ E2Eยท์„ฑ๋Šฅยท์žฅ์‹œ๊ฐ„ยทํ™˜๊ฒฝ ๊ฒ€์ˆ˜

์„ ํƒํ˜• ํ•˜์œ„ ์—์ด์ „ํŠธ๋Š” off(์ง์ ‘ ์ž‘์—…), lite(์ฝ๊ธฐ ์ „์šฉ ์กฐ์‚ฌยท๋ฆฌ๋ทฐ, ๋™์‹œ 1๊ฐœ), standard(ํŒŒ์ผ ์†Œ์œ ๊ถŒ์„ ๋‚˜๋ˆˆ ๋ณ‘๋ ฌ ๊ตฌํ˜„ ํฌํ•จ, 2๊ฐœ), full(๋…๋ฆฝ ์ž‘์—…์„ ๋„“๊ฒŒ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ, 4๊ฐœ)๋กœ ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ ๊ฐœ์ˆ˜๋Š” ๋ถ€๋ชจ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์šด์˜ ์˜ˆ์‚ฐ์ž…๋‹ˆ๋‹ค. ์งง์€ ์ง๋ ฌ ์ž‘์—…์€ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜๊ณ , ํ•˜์œ„ ๊ฒฐ๊ณผ๋Š” ๋ถ€๋ชจ๊ฐ€ ์ทจํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์œ„ ์ž‘์—… ๊ธฐ์ค€์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๊ธฐ์กด ์„ค์ • ๋ˆ„๋ฝ์€ ํ…Œ์ŠคํŠธ standard / ํ•˜์œ„ ์—์ด์ „ํŠธ off๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ•„์ˆ˜ ๊ฒ€์‚ฌยท๋ณด์•ˆยท๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐฉ์ง€ยท๋…๋ฆฝ ๋ฆฌ๋ทฐยท์ตœ์ข… ์ˆ˜๋ฝ ์กฐ๊ฑด์€ ๋ชจ๋“  ๋ ˆ๋ฒจ์—์„œ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. setup.py --repo <๋ ˆํฌ> --test-level lite --subagent-level lite๋กœ ์„ ํƒํ•˜๋ฉฐ setup ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

  1. coordinator๊ฐ€ ์š”์ฒญ๊ณผ ๊ณผ์ œ ํ‚ค๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์šด์˜ ์ž‘์—…์€ ์ง์ ‘ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  2. ์ฝ”๋“œยท์‚ฐ์ถœ๋ฌผ ์ž‘์—…์€ Jev๊ฐ€ simple ๋˜๋Š” design์œผ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ด๋‹น ์—ญํ• , ๋ชจ๋ธยทeffort, ๊ฐฑ์‹ ํ•  ์‚ฐ์ถœ๋ฌผ๋„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
  3. simple์€ coordinator๊ฐ€ ์ง€์‹œ์„œ๋ฅผ ์”๋‹ˆ๋‹ค. design์€ ์„ค๊ณ„ ์—ญํ• ์ด ๋ฌธ์„œ์™€ ์—ญํ• ๋ณ„ ์ง€์‹œ์„œ๋ฅผ ์”๋‹ˆ๋‹ค.
  4. worker๋Š” ์ž๊ธฐ ์›ŒํฌํŠธ๋ฆฌ์—์„œ ๊ตฌํ˜„ยท๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ์€ coordinator์—๊ฒŒ ๋ณด๋‚ด๊ณ  ์™„๋ฃŒ๋Š” worker_done์œผ๋กœ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ณ‘ํ•ฉ ์ฑ…์ž„์ž๋Š” ๊ณ ์ • SHA์˜ lintยทํ…Œ์ŠคํŠธยทdelegate ๋ฆฌ๋ทฐ๋ฅผ ํ™•์ธํ•œ ๋’ค ํ—ˆ๊ฐ€๋œ ๋ณ‘ํ•ฉ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์—ญํ• ์€ ๋ ˆํฌ๋งˆ๋‹ค ์ •ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ID๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

์—ญํ•  ์ฑ…์ž„
coordinator (coor) ๋ฐฐ์ •, ์งˆ๋ฌธ ์ „๋‹ฌ, ์™„๋ฃŒ ๋ณด๊ณ  ์ฒ˜๋ฆฌ, ์šด์˜๊ณผ ๋ณ‘ํ•ฉ
์„ค๊ณ„ ์—ญํ•  (architecture) ์š”๊ตฌ์‚ฌํ•ญยท๊ณต์œ  ๊ณ„์•ฝ๊ณผ ์ง€์‹œ์„œ ์ž‘์„ฑ. ํ˜„์žฌ hook์€ ์ œํ’ˆ ์ฝ”๋“œ ์ˆ˜์ •์„ ์ฐจ๋‹จํ•จ
๊ตฌํ˜„ ์—ญํ•  (dev) ์ง€์‹œ์„œ ๋ฒ”์œ„์˜ ๊ธฐ์ˆ  ๊ณ„ํš, ๊ตฌํ˜„, ํ…Œ์ŠคํŠธ์™€ ๋ฌธ์„œ ๊ฐฑ์‹ 
์•„ํŠธยท์šด์˜ ์—ญํ•  (art, ops) ์ง€์ •ํ•œ ํŒŒ์ผ๊ณผ ๊ฒฐ๊ณผ๋ฌผ ๊ด€๋ฆฌ
๊ฒ€์ฆ ์—ญํ•  (tester, ์„ ํƒ) ํ…Œ์ŠคํŠธ์™€ ์ฆ๊ฑฐ ์ž‘์„ฑ. ์ œํ’ˆ ์ฝ”๋“œ๋Š” ์ˆ˜์ •ํ•˜์ง€ ์•Š์Œ

์—ญํ• ยท๋ธŒ๋žœ์น˜๋Š” fullops.json, ์ฑ…์ž„ยทCLIยท๋ชจ๋ธ ํ›„๋ณด๋Š” orca-agents.md์— ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ํ›„๋ณด๋Š” ์•ฝํ•œ ๊ฒƒ๋ถ€ํ„ฐ ๊ฐ•ํ•œ ์ˆœ์„œ๋กœ ์ ์Šต๋‹ˆ๋‹ค. Jev๋Š” ๋“ฑ๋ก๋œ ํ›„๋ณด์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ค๊ณ„ยทcoordinatorยทtester ์—ญํ• ์€ ๋ผ์šฐํŒ… ๊ธฐ์ค€์˜ ํ•ด๋‹น ์ค„๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ coordinator๋Š” ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ ์ฒดํฌ์•„์›ƒ์ž…๋‹ˆ๋‹ค. ์—ญํ•  ์›ŒํฌํŠธ๋ฆฌ์—์„œ coordinator๋ฅผ ์šด์˜ํ•˜๋ฉด - coordinator ์—ญํ• : <์—ญํ•  ID>๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

์ œํ’ˆ ๊ธฐํš๊ณผ ๊ธฐ์ˆ  ๊ณ„ํš ๋ถ„๋ฆฌ

์ œํ’ˆ ๊ธฐํš์ž๊ฐ€ ๋ชฉํ‘œยท์ œํ’ˆ ๊ทœ์น™์„ ์ •ํ•˜๊ณ , DEV๊ฐ€ ๊ธฐ์ˆ  ๊ณ„ํšยท๊ตฌํ˜„ยทํ…Œ์ŠคํŠธ๋ฅผ ํ•จ๊ป˜ ๋งก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. orca-agents.md์˜ ## ๋ผ์šฐํŒ… ๊ธฐ์ค€์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์—ญํ•  ID๋Š” fullops.json์˜ ๋“ฑ๋ก ์—ญํ• ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

- ์„ค๊ณ„ ์—ญํ• : `designer`
- ์ œํ’ˆ ๊ธฐํš ์—ญํ• : `designer`
- ๊ธฐ์ˆ  ๊ณ„ํš ์—ญํ• : `dev`

์ œํ’ˆ ๊ธฐํš ์—ญํ• ๊ณผ ๊ธฐ์ˆ  ๊ณ„ํš ์—ญํ• ์€ ์„œ๋กœ ๋‹ฌ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. coordinator์™€๋„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์ˆ  ๋‚œ๋„๊ฐ€ ๋†’์€ ์ž‘์—…๋„ ํ™•์ •๋œ ์ œํ’ˆ ์š”๊ตฌ ์•ˆ์— ์žˆ์œผ๋ฉด implementation์œผ๋กœ ๋‹ด๋‹น worker์— ๋ฐฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ œํ’ˆ ๊ทœ์น™ ๊ฒฐ์ •ยท๋ฒ”์œ„ ํ™•๋Œ€ยท๋ถˆ๋ช…ํ™•ํ•œ ๊ณต์œ  ์ œํ’ˆ ๊ธฐ์ค€์€ product๋กœ ๊ธฐํš์ž์—๊ฒŒ ๋ฐฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ถœ ์‹คํŒจยท๋‚ฎ์€ ํ™•์‹ ์€ unresolved๋กœ ๋ณด๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ด๋‹น ์ฑ…์ž„์„ ํ™•์ธํ•œ ๋’ค --override-role๊ณผ --reason์œผ๋กœ ๊ทผ๊ฑฐ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ธฐ๋ก์˜ ์žฌ์„ ์ •์€ --force๋กœ ์›๋ณธ์„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ์œ„ ๋‘ marker๊ฐ€ ์—†์œผ๋ฉด ๊ธฐ์กด simple/design ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์—ญํ• ์„ ๋ฐ”๊ฟ€ ๋•Œ ๊ธฐ์กด fullops/* ๋ธŒ๋žœ์น˜๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ญํ• ๋ณ„ ๋ธŒ๋žœ์น˜๋Š” ๊ณ ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋…๋ฆฝ ๋ฆฌ๋ทฐ๋Š” ๋ณ„๋„ ์„ธ์…˜๊ณผ ๊ณ ์ • SHA์˜ ๊นจ๋—ํ•œ detached snapshot์—์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฆฌ๋ทฐ ๊ธฐ๋ก์€ ๊ตฌํ˜„์žยท๊ฒ€ํ† ์ž ์„ธ์…˜ ID์™€ snapshot ๊ฒฝ๋กœ๋ฅผ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฆฌ๋ทฐ ์›๋ณธ์€ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ART ์ง์ ‘ ๊ฒ€์ˆ˜, ๋…๋ฆฝ ๋™์ž‘ QA์™€ ๋ฏธํ•ด๊ฒฐ critical/high ์ฐจ๋‹จ๋„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๊ธฐ์™€ ๊ฒ€์ฆ

์ฐฉ์ˆ˜๋ฅผ ํ™•์ธํ•œ ๋’ค coordinator๋Š” orca_wait.py๋กœ ์™„๋ฃŒยท์งˆ๋ฌธยท์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. heartbeatยทstatus๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํก์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. ์ •์ƒ ์ž‘์—…์˜ ์ง„ํ–‰ ํ™•์ธ์€ ๊ธฐ๋ณธ 60๋ถ„ ๊ฐ„๊ฒฉ์ž…๋‹ˆ๋‹ค. worker_done๊ณผ ์˜ค๋ฅ˜ยท์งˆ๋ฌธ์€ ์ฃผ๊ธฐ์™€ ๊ด€๊ณ„์—†์ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒ ๋ณด๊ณ ์˜ ๊ณผ์ œ ํ‚คยทSHAยท๊ฒ€์ฆ ์š”์•ฝยท๋‚จ์€ ์ผ์„ ์šฐ์„  ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ ๊ฐ€ ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ์ถฉ๋Œยท์‹คํŒจ๊ฐ€ ์žˆ์œผ๋ฉด ์ถ”๊ฐ€ ๊ทผ๊ฑฐ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋ฝ๊ณผ ๋ณ‘ํ•ฉ์—์„œ๋Š” ๊ฒ€์ฆ ๊ฒŒ์ดํŠธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋„๊ตฌ ํ™•์ธํ•˜๋Š” ๊ฒƒ
fullops-test ์ฝ”๋“œยท์›นยทUnity ๊ฒ€์ฆ. ์›น ๊ธฐ๋ณธ Orca/ํ˜„์žฌ ํƒญ, ์„ ํƒ Playwright, ๋ชจ๋ธ ์—†๋Š” ํšŒ๊ท€์™€ ๋…๋ฆฝ checks. ์‹คํ–‰๊ธฐ ๊ณ„์•ฝ
fullops-motion ์„ ํƒํ˜• ๋ชจ์…˜๊ทธ๋ž˜ํ”ฝ ์ œ์ž‘. HyperFrames/Remotion ๊ณต์‹ ์Šคํ‚ฌ, ๋กœ์ปฌ ๋ Œ๋”ยทํด๋ฆฝ ํ•ฉ์„ฑยท๊ฒ€์ˆ˜ยท์žฌ๋ Œ๋” ์ธ๊ณ„
fullops-frontend UI/UX ์ž‘์—…๋ณ„ ์ฃผ ์Šคํ‚ฌยทํ˜ธ์ŠคํŠธ/๊ณ ์ • ๋ชจ๋ธ ์„ ํƒ, ๊ธฐ์กด ๋””์ž์ธ ์ •๋ณธยท๋น„ํ‰ยท๋ธŒ๋ผ์šฐ์ € QA ์—ฐ๊ฒฐ
fullops-review OCR CLI๊ฐ€ ์ค€๋น„ํ•œ ํŒŒ์ผยท๊ทœ์น™์„ ํ˜ธ์ŠคํŠธ AI๊ฐ€ ๋ฆฌ๋ทฐ. ๋ณ„๋„ OCR LLM API ํ‚ค๋Š” ๋ถˆํ•„์š”
lint.py ํ”„๋กœ์ ํŠธ ๊ฒ€์‚ฌยทํ…Œ์ŠคํŠธ ๋ช…๋ น, ์ฝ”๋“œยท๋””์ž์ธ ๊ฒฝ๊ณ , ๋ณ€๊ฒฝ ๊ทœ๋ชจยท์˜์กด์„ฑ ์„ ์–ธ, ์–ต์ œยท๋น„๋ฐ€๊ฐ’ยท๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
flow-gate route ๊ธฐ๋ก, worker-start --run, ์—ญํ• ๋ณ„ ํ–‰๋™๊ณผ ์™„๋ฃŒ ๋ณด๊ณ . ํ„ฐ๋ฏธ๋„ ์ฃผ์ž…์œผ๋กœ ๋ฐฐ์ •ํ•˜๋Š” ํ–‰๋™ ์ฐจ๋‹จ
done-gate ์ด ์„ธ์…˜์˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ํ˜„์žฌ HEAD์˜ lint ํ†ต๊ณผ ๊ธฐ๋ก์ด ์—†์œผ๋ฉด ์ข…๋ฃŒ๋ฅผ ํ•œ ๋ฒˆ ์ฐจ๋‹จ

๋ฏธํ•ด๊ฒฐ critical/high์™€ lint ERROR๋Š” ์ˆ˜๋ฝ์„ ๋ง‰์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ํ˜„ํ™ฉํŒ ํŒŒ์ผ์€ done-gate์˜ ์ฝ”๋“œ ๊ฒ€์‚ฌ์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. hook์€ ์…ธ ์šฐํšŒ๊นŒ์ง€ ์ฐจ๋‹จํ•˜์ง€ ์•Š์œผ๋ฉฐ hook ์ž์ฒด์˜ ์˜ค๋ฅ˜๋Š” ์ž‘์—…์„ ๋ง‰์ง€ ์•Š์Šต๋‹ˆ๋‹ค. done/flow hook์˜ ์‹ค์ œ ํ˜ธ์ถœยท์˜ค๋ฅ˜๋Š” ์ž‘์—… ํŠธ๋ฆฌ๋ณ„ Git ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋‚จ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์˜ค๋ฅ˜ ์ข…๋ฅ˜๋Š” ์„ธ์…˜๋‹น ํ•œ ๋ฒˆ ์•Œ๋ฆฌ๋ฉฐ, ๊ธฐ๋ก์ด ์—†์œผ๋ฉด ์‹คํ–‰ ํ™•์ธ ๋ถˆ๊ฐ€์ž…๋‹ˆ๋‹ค. ์กฐํšŒ๋ฒ•์€ lint ์•ˆ๋‚ด์˜ hook ์‹คํ–‰ ํ™•์ธ ์ ˆ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ์ค€๋น„์˜ --lint <๊ฒฐ๊ณผ JSON>์€ ๊ฐ™์€ SHAยท์„ค์ •์˜ ๊ธฐ์กด ์‹คํ–‰ ์ฆ๊ฑฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๊ด€๋ จ ํ™˜๊ฒฝยท์˜์กด์„ฑ์ด ๊ฐ™๋‹ค๋Š” ๊ทผ๊ฑฐ๋ฅผ ํ™•์ธํ•˜๊ณ , ์—ญํ• ์ด ๋ฐ”๋€Œ์—ˆ๋‹ค๋Š” ์ด์œ ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž๋™ ๊ฒ€์‚ฌ๋Š” ๊ตฌํ˜„์˜ ์ •ํ™•์„ฑ์„ ๋ณด์ฆํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ธฐ์ค€์ด ๊ณตํ†ต ๊ทœ์น™๋ณด๋‹ค ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค.

setup์€ ๋ ˆํฌ์˜ ์Šคํƒยท๊ธฐ์กด ์„ค์ •ยทํŒจํ‚ค์ง€ ์Šคํฌ๋ฆฝํŠธ์— ๋งž์ถฐ lint๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ์„ค์ •์€ ๊ธฐ์กด package.json์˜ ๋Œ€ํ‘œ ๊ฒ€์‚ฌ ๋ช…๋ น์„ ์ž๋™ ์—ฐ๊ฒฐํ•˜๋ฉฐ ๊ธฐ์กด ์‚ฌ์šฉ์ž ์„ค์ •์€ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. Tailwind v4 UI๋Š” shadcn ๋””์ž์ธ lint๋ฅผ ์„œ๋น„์Šค์˜ ๊ฐœ๋ฐœ ์˜์กด์„ฑ์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ธ ๊ธฐ์ค€์€ lint ์•ˆ๋‚ด์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ์™€ ๊ฒ€์ƒ‰

FullOps๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ๊ธฐํšยท์„ค๊ณ„ยท์‹คํ–‰ ๊ณ„ํšยทํ•ธ๋“œ์˜ค๋ฒ„ยท์ปจํ…์ŠคํŠธยทQAยท๋ฆฌ๋ทฐ ๋ฌธ์„œ์— front matter๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ๋ฌธ์„œ๋Š” title, status, updated, owner, summary๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณผ์ œ ๋ฌธ์„œ๋Š” tasks๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. D01โ€“D13 ์›์ฒœ ๋ฌธ์„œ์—๋Š” id๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•˜๋ฉด upstreamยทdownstream์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ๋Š” ํ•œ๊ตญ์–ด๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ASD-STE100์˜ ์งง์€ ๋ฌธ์žฅ, ๋ช…ํ™•ํ•œ ์ฃผ์ฒด, ์ผ๊ด€๋œ ์šฉ์–ด, ์‹คํ–‰ ์ˆœ์„œ์™€ ํ™•์ธ ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ ์›์น™์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜์–ด ํ†ต์ œ ์–ธ์–ด ํ‘œ์ค€์˜ ๊ณต์‹ ์ค€์ˆ˜๋ฅผ ๋œปํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒ์„ธ ๊ธฐ์ค€์€ ๋ฌธ์„œ ์ž‘์„ฑ ๊ทœ์น™์— ์žˆ์Šต๋‹ˆ๋‹ค.

front matter๋Š” ์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋„๊ตฌ๋กœ ์”๋‹ˆ๋‹ค. --path๋Š” .fullops-squad/ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.

# ์ผ๋ฐ˜ ๋ฌธ์„œ: ๊ธฐ์กด ๋ณธ๋ฌธ์„ ๋ณด์กดํ•œ๋‹ค.
python3 <ํ”Œ๋Ÿฌ๊ทธ์ธ>/scripts/deliverables.py --repo . --stamp --path docs/exec-plans/phases/TASK-1.md --owner dev --summary "๋กœ๊ทธ์ธ ์‹คํŒจ ์ฒ˜๋ฆฌ์™€ ๊ฒ€์ฆ ๊ฒฐ๊ณผ" --task TASK-1
# D01โ€“D13 ์›์ฒœ: ์ธ๋ฑ์Šค ์ƒํƒœ๋„ ๋งž์ถ˜๋‹ค.
python3 <ํ”Œ๋Ÿฌ๊ทธ์ธ>/scripts/deliverables.py --repo . --stamp --id D03 --owner architecture --summary "์ธ์ฆ ๋ชจ๋“ˆ์˜ ์ฑ…์ž„๊ณผ ์—ฐ๊ฒฐ" --task TASK-1

work.py new๋Š” ํ•ธ๋“œ์˜ค๋ฒ„์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ณธ๋ฌธ ์ฒซ ์ค„์€ # <๊ณผ์ œ ํ‚ค> โ€” <๋ชฉํ‘œ>์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฌธ์„œ๋Š” ๋‹ค์Œ ์ˆ˜์ • ๋•Œ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋นˆ ์ธ๋ฐ•์Šคยท์™ธ๋ถ€ ์›๋ณธ ๊ทœ์น™ยท๋„๊ตฌ ๋กœ๊ทธ๋Š” ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ๋œ ์›์ฒœ ๋ฌธ์„œ๋Š” lint DOC-002, ์ผ๋ฐ˜ FullOps ๋ฌธ์„œ๋Š” DOC-003์œผ๋กœ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ lint์˜ ์ œ์™ธ ์„ค์ •๊ณผ ๋ณ„๋„๋กœ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ํŒŒ์ผ ์ฐพ๊ธฐ

jev_find.py๋Š” ์ปค๋ฐ‹๋œ HEAD์˜ ํŒŒ์ผ ์ง€๋„์—์„œ ํ›„๋ณด๋ฅผ ๊ณ ๋ฆ…๋‹ˆ๋‹ค. ๋ฌธ์„œ๋Š” front matter์˜ titleยทsummary๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ๊ธฐ์กด Markdown์€ ๋ณธ๋ฌธ ์ œ๋ชฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ฐ€ ๊ฒฝ๋กœยท์‹ฌ๋ณผ๋ฆญ ๋งํฌยท๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ํ›„๋ณด์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.

# ์ฝ”๋“œ ๊ฒ€์ƒ‰: ํ•˜๋„ค์Šค ํŒŒ์ผ์€ ์ œ์™ธํ•œ๋‹ค.
python3 <ํ”Œ๋Ÿฌ๊ทธ์ธ>/scripts/jev_find.py find --repo . --role dev --key TASK-1
# ๋ฌธ์„œ ๊ฒ€์ƒ‰: .fullops-squad ๋ฌธ์„œ๋„ ํฌํ•จํ•œ๋‹ค.
python3 <ํ”Œ๋Ÿฌ๊ทธ์ธ>/scripts/jev_find.py find --repo . --role dev --key TASK-1 --scope documents

๊ฒฐ๊ณผ๋Š” ๊ฐ๊ฐ <๊ณผ์ œ ํ‚ค>-find.json๊ณผ <๊ณผ์ œ ํ‚ค>-documents-find.json์— ๋‚จ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ์ง€์‹œ์„œ์—๋Š” --handover .fullops-squad/handovers/<ํŒŒ์ผ>.md๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ํ›„๋ณด๋ฅผ ํ•ฉ์นœ ๋’ค jev_context.py๊ฐ€ ๊ด€๋ จ์„ฑยท๊ทผ๊ฑฐยท์ถฉ๋ŒยทAI ์ง€์‹œ๋ฌธ์„ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ์ถ”์ฒœ์ด๋ฏ€๋กœ ํ•„์ˆ˜ ๋ฌธ์„œ๋Š” ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์™€ ๋ฌธ์„œ ๊ฒ€์ƒ‰์„ ๋ถ„๋ฆฌํ•ด ๋ฌธ์„œ ํ›„๋ณด๊ฐ€ ์ฝ”๋“œ ํ›„๋ณด๋ฅผ ๋ฐ€์–ด๋‚ด๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜

ํ•„์š” ํ™˜๊ฒฝ: Python 3.10+, Git 2.41+, Node.js 20.18.1+/npm/npx, ์‚ฌ์šฉํ•  AI CLI, Orca IDE. ์ผ๋ฐ˜ ์„ค์น˜๋Š” GitHub ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ฒดํฌ์•„์›ƒยทagy ์„ค์น˜๋Š” ๊ฐœ๋ฐœ ๋ฌธ์„œ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

ํ†ตํ•ฉ ์„ค์น˜๊ธฐ

ํ†ตํ•ฉ ์„ค์น˜๊ธฐ๋Š” CodexยทClaude Codeยทgrok์˜ ์„ค์น˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. PATH์— ์žˆ๋Š” CLI๋ฅผ ์ž๋™์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๊ฐ CLI์˜ GitHub ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์˜์กด์„ฑ๋„ ์„ค์น˜ํ•˜๊ณ  ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. @latest๋Š” ์ตœ์‹  ์„ค์น˜๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

npx --yes fullops-squad@latest install
npx --yes fullops-squad@latest update
npx --yes fullops-squad@latest check

๊ธฐ๋ณธ ๋Œ€์ƒ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์„ธ CLI ์ „์ฒด์ž…๋‹ˆ๋‹ค. --hosts codex,grok์ฒ˜๋Ÿผ ์ผ๋ถ€ CLI๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --dry-run์œผ๋กœ ๋ณ€๊ฒฝ ์ „์— ์‹คํ–‰ ๊ณ„ํš์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

npx --yes fullops-squad@latest update --dry-run
npx --yes fullops-squad@latest install --hosts codex,grok

Codex๋Š” ํ˜„์žฌ CODEX_HOME, ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ํ™ˆ, ๊ธฐ์กด Windows Orca ํ™ˆ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ™ˆ์€ --codex-home PATH๋กœ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๋‚˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋๋‚˜๋ฉด ๊ฐ CLI์—์„œ ์ƒˆ ์—์ด์ „ํŠธ ์„ธ์…˜์„ ์—ฝ๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ ์ค‘ hook ๊ฒฝ๋กœ: hook์€ ๋ฒ„์ „๋ณ„ ์บ์‹œ ๋Œ€์‹  ~/.fullops-squad/runtime/fullops-squad/scripts/hook_runtime.py๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. deps.py --host <ํ˜„์žฌ CLI>๊ฐ€ ํŒจํ‚ค์ง€ ์ „์ฒด๋ฅผ ์บ์‹œ ๋ฐ–์— ๋ณด์กดํ•˜๊ณ  ์ค€๋น„๊ฐ€ ๋๋‚œ ์‚ฌ๋ณธ์œผ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘ hook์€ ๊ธฐ์กด ์‚ฌ๋ณธ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ž๋™ ์—…๋ฐ์ดํŠธ๋งŒ ํ•œ ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ค€๋น„ํ•œ ์‹คํ–‰ ์‚ฌ๋ณธ์„ ๊ณ„์† ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ƒˆ ํŒจํ‚ค์ง€์˜ deps ์„ค์น˜ยท๊ฒ€์‚ฌ๋ฅผ ์™„๋ฃŒํ•˜์„ธ์š”. ์ตœ์ดˆ ์ „ํ™˜ ์ „์— ์—ด๋ฆฐ ์„ธ์…˜์€ ์‚ญ์ œ๋œ ๋ฒ„์ „ ๊ฒฝ๋กœ๋ฅผ ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์„ ์ €์žฅํ•œ ๋’ค ๋ณ„๋„ ํ„ฐ๋ฏธ๋„์—์„œ ์ƒˆ ํŒจํ‚ค์ง€์˜ scripts/deps.py --runtime-only๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ƒˆ ์„ธ์…˜์„ ์—ฌ์„ธ์š”. ์ด ๋ช…๋ น์€ ์™ธ๋ถ€ ์˜์กด์„ฑ์„ ์žฌ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  hook ์‹คํ–‰ ์‚ฌ๋ณธ๋งŒ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž hook ์„ค์ •์— ์ง์ ‘ ๋„ฃ์€ ์˜ˆ์ „ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋Š” ์ž๋™ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋‚œ ์ด๋ฒคํŠธ์˜ ๊ฒ€์ฆ์€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๊ธฐ์กด ๊ณผ์ œ ๊ฒ€์ฆ ๊ทผ๊ฑฐ๋Š” ๋ณ„๋„๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

update --repo PATH๋Š” ์—…๋ฐ์ดํŠธ ์ „ ์„ค์น˜ ๋ฒ„์ „ ์ดํ›„์˜ ๋ ˆํฌ ์ ์šฉ ์•ˆ๋‚ด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ์—๊ฒŒ ํ•ด๋‹น ๋ ˆํฌ์˜ FullOps update๋ฅผ ์š”์ฒญํ•˜๋ฉด ์ ์šฉ ์ž‘์—…์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

npx --yes fullops-squad@latest update --repo "D:/workspace/my-service"

์„ค์น˜๊ธฐ๋Š” ์„œ๋น„์Šค ๋ ˆํฌ๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ ˆํฌ ์ ์šฉ์€ ์—์ด์ „ํŠธ๊ฐ€ ๋ฆด๋ฆฌ์Šค ๋‚ด์šฉ์„ ์ฝ๊ณ  ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๊ธฐ๋ฅผ ์ „์—ญ์— ์„ค์น˜ํ•˜๋ ค๋ฉด npm install --global fullops-squad@latest๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ fullops-squad install|update|check ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜๊ธฐ ์ž์ฒด ๊ฐฑ์‹ ์€ ๊ฐ™์€ npm ์„ค์น˜ ๋ช…๋ น์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ CLI๋ณ„ ๋ช…๋ น์œผ๋กœ ์ง์ ‘ ์„ค์น˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Claude Code

Claude Code ์„ธ์…˜์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ๋“ฑ๋ก๋œ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋Š” ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

/plugin marketplace add DietrichGebert/ponytail
/plugin marketplace add anthropics/claude-plugins-official
/plugin marketplace add tourbut/Fullops-Squad-plugin
/plugin install fullops-squad@fullops-squad

Codex

codex plugin marketplace add tourbut/Fullops-Squad-plugin
codex plugin add fullops-squad@fullops-squad

grok

grok plugin marketplace add tourbut/Fullops-Squad-plugin
grok plugin install fullops-squad@fullops-squad

์™ธ๋ถ€ ์˜์กด์„ฑ

์„ค์น˜ ๋’ค OCR CLIยทContext7 MCP์™€ ์™ธ๋ถ€ ์Šคํ‚ฌ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. dependencies.json์ด ์„ค์น˜ ๋ชฉ๋ก์˜ ์ •๋ณธ์ž…๋‹ˆ๋‹ค. FullOps์˜ Context7์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฌธ์„œ ์กฐํšŒ์šฉ MCP์ž…๋‹ˆ๋‹ค. OCR์€ delegate ์ค€๋น„์šฉ CLI์ž…๋‹ˆ๋‹ค.

python3 <์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ>/scripts/deps.py --host codex  # claude-code, grok, agy
python3 <์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ>/scripts/deps.py --check --host codex  # ์œ„์™€ ๊ฐ™์€ CLI

๊ณตํ†ต ์Šคํ‚ฌ์€ Claude CodeยทCodexยทGrok Build ์…‹ ๋ชจ๋‘์— ์„ค์น˜ํ•˜๊ณ , ํ˜ธ์ŠคํŠธ ์ „์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์„ ํƒํ•œ CLI์—๋งŒ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. UI/UX ๊ณตํ†ต ์Šคํ‚ฌ ๋„ค ๊ฐœ๋Š” ์„ค์น˜ ํ›„ fullops-frontend๊ฐ€ ์ž‘์—…๋ณ„๋กœ ์ฃผ ์Šคํ‚ฌ ํ•˜๋‚˜์™€ ํ•„์š”ํ•œ ๊ฒ€ํ† ๋งŒ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ˜• PlaywrightยทImpeccable ์—”์ง„ยทshadcn ๋„๊ตฌ๋Š” ๊ธฐ๋ณธ ์„ค์น˜์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ์—”๋“œ ๋„๊ตฌ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ์—๊ฒŒ ์„ค์น˜๋ฅผ ๋งก๊ธธ ๋•Œ๋Š” ๋‹ค์Œ ์ง€์‹œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

FullOps Squad๋ฅผ GitHub ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค tourbut/Fullops-Squad-plugin์—์„œ ์„ค์น˜ํ•ด์ค˜.
README์˜ ์„ค์น˜ ์ ˆ์—์„œ ํ˜„์žฌ CLI ๋ช…๋ น์„ ๋”ฐ๋ฅด๊ณ  ์„ค์น˜๋œ scripts/deps.py๋กœ ์˜์กด์„ฑ์„ ์„ค์น˜ยทํ™•์ธํ•ด์ค˜.
์„ค์น˜ ๋ฒ„์ „๊ณผ ์‹คํŒจํ•œ ๋ช…๋ น์„ ๋ณด๊ณ ํ•ด์ค˜. ์„œ๋น„์Šค ๋ ˆํฌ setup์€ ๋‚ด๊ฐ€ ๋ณ„๋„๋กœ ์š”์ฒญํ•  ๋•Œ ์‹คํ–‰ํ•ด์ค˜.

์„ค์น˜ ํ›„ ์ƒˆ ์—์ด์ „ํŠธ ์„ธ์…˜์„ ์—ฝ๋‹ˆ๋‹ค. ์„ค์น˜๋งŒ์œผ๋กœ ์„œ๋น„์Šค ๋ ˆํฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ

์—์ด์ „ํŠธ์—๊ฒŒ FullOps update ์ˆ˜ํ–‰ํ•ด์ค˜๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. update-fullops๊ฐ€ ํ˜„์žฌ ์„ค์น˜ ๋ฒ„์ „์„ ๋จผ์ € ๊ธฐ๋กํ•˜๊ณ , ์—…๋ฐ์ดํŠธ ๋’ค ๊ทธ ์ดํ›„์˜ ๋ฆด๋ฆฌ์Šค ๋‚ด์šฉ์„ ์ฝ์–ด ์ด ๋ ˆํฌ์— ํ•„์š”ํ•œ ๋ณ€๊ฒฝ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆํฌ ์ ์šฉ์ด ์„ค์น˜๋ณด๋‹ค ๋’ค์ฒ˜์กŒ์œผ๋ฉด ๋ฏธ์ ์šฉ ๋ฆด๋ฆฌ์Šค๋„ ํ•จ๊ป˜ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ CLI์— ํ•ด๋‹นํ•˜๋Š” ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

claude plugin marketplace update fullops-squad
claude plugin update fullops-squad@fullops-squad

codex plugin marketplace upgrade fullops-squad
codex plugin add fullops-squad@fullops-squad

grok plugin marketplace update
grok plugin update fullops-squad

CLI๋ณ„ ์ง์ ‘ ์—…๋ฐ์ดํŠธ ํ›„์—๋Š” ์„ค์น˜๋œ ์ƒˆ ํŒจํ‚ค์ง€์˜ scripts/deps.py --host <ํ˜„์žฌ CLI>๋กœ ์™ธ๋ถ€ ์˜์กด์„ฑ์„ ๊ฐฑ์‹ ํ•˜๊ณ , ์„ค์น˜ ๋ฒ„์ „๊ณผ deps.py --check --host <ํ˜„์žฌ CLI>๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋‹จ๋… --check๋Š” CLI ์กด์žฌ๋งŒ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์€ ์ด์ „ hook ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์„ ์ •๋ฆฌํ•œ ๋’ค ์ƒˆ ์„ธ์…˜์œผ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ PC์™€ Orca๊ฐ€ ๋ณ„๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” CLI ํ™ˆ๋„ ๊ฐฑ์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ ˆํฌ์— ์ ์šฉ

๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ ์ฒดํฌ์•„์›ƒ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์—ญํ• ยท๋ชจ๋ธยท์›๊ฒฉ์ด ์ •ํ•ด์กŒ์œผ๋ฉด ๊ทธ ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. setup์€ ๊ธฐ์กด ๋ฌธ์„œ๋ฅผ ๋ฎ์–ด์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ธฐ์กด ๋ฌธ์„œ ๋ณ€๊ฒฝ์€ ํ…œํ”Œ๋ฆฟ๊ณผ ๋น„๊ตํ•ด ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ ˆํฌ

์ด ๋ ˆํฌ์— FullOps Squad๋ฅผ setupํ•˜๊ณ  Orca ์›ŒํฌํŠธ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•ด์ค˜.
1. ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์™€ ์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ธฐ์กด ๋ณ€๊ฒฝ์„ ๋ณด์กดํ•ด.
2. ์—ญํ• ยท์ฑ…์ž„ยทํŒŒ์ผ ์†Œ์œ ๊ถŒ์„ ์ œ์•ˆํ•ด. ๋ฏธ์ • ์—ญํ• ๊ณผ ๋ชจ๋ธ ํ›„๋ณด๋งŒ ๋‚˜์—๊ฒŒ ํ™•์ธํ•ด.
3. setup-fullops์˜ dry-run์„ ํ™•์ธํ•œ ๋’ค ํ™•์ •ํ•œ ์—ญํ• ๋กœ ์‹คํ–‰ํ•ด.
4. project.md์— ๊ธฐ์ˆ  ๊ธฐ์ค€๊ณผ ๊ฒ€์ฆ ๋ช…๋ น์„ ์ ๊ณ  ๊ธฐ์กด lint ๋„๊ตฌ์™€ review ๊ทœ์น™์„ ์—ฐ๊ฒฐํ•ด.
5. orca-agents.md์— CLIยท๋ชจ๋ธ ํ›„๋ณดยท๋ผ์šฐํŒ… ๊ธฐ์ค€์„ ๋“ฑ๋กํ•˜๊ณ  board.json์— ์‹ค์ œ ๋‹จ๊ณ„๋ฅผ ์ ์–ด.
6. ๋ฌธ์„œ ์ž‘์„ฑ ๊ทœ์น™์„ ์ ์šฉํ•˜๊ณ  ์ค€๋น„ ํŒŒ์ผ์„ ์ปค๋ฐ‹ยทpushํ•ด.
7. fullops-orca bootstrap์œผ๋กœ ์—ญํ•  ์›ŒํฌํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์ค€๋น„ ์ปค๋ฐ‹๊ณผ .env ์—ฐ๊ฒฐ์„ ํ™•์ธํ•ด.
8. orchestration Run์„ ๋งŒ๋“ค๊ณ  PLANS.md์— run id๋ฅผ ๋‚จ๊ฒจ.
9. ์—ญํ• ยท์›ŒํฌํŠธ๋ฆฌยท๋ธŒ๋žœ์น˜ยทrun idยท๋ฏธ์ • ์‚ฌํ•ญ์„ ๋ณด๊ณ ํ•˜๊ณ  ์ฒซ ์š”์ฒญ์„ ๊ธฐ๋‹ค๋ ค.

๊ธฐ์กด ๋ ˆํฌยทํ”Œ๋Ÿฌ๊ทธ์ธ ์—…๋ฐ์ดํŠธ

์—…๋ฐ์ดํŠธ ์ „์šฉ ์„ธ์…˜์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ธ์…˜์€ coordinator๋กœ ์ด์–ด ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

FullOps update ์ˆ˜ํ–‰ํ•ด์ค˜.

์„ค์น˜ ํŒจํ‚ค์ง€์—๋Š” INSTALL.md์™€ releases/๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ํŒจํ‚ค์ง€์˜ scripts/update.py --repo <๋ ˆํฌ ๋ฃจํŠธ> --from <์—…๋ฐ์ดํŠธ ์ „ ์‹ค์ œ ์„ค์น˜ ๋ฒ„์ „>์€ ํ•ด๋‹น ๋ฆด๋ฆฌ์Šค ๋ณธ๋ฌธ๊ณผ ์ˆ˜ํ–‰ํ•  ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ์ด๋ฅผ ์ฝ๊ณ  ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ•ญ๋ชฉ์„ ์ง„ํ–‰ํ•˜๋ฉฐ, ๊ฒฐ๊ณผ์™€ ๋ณด๋ฅ˜ ์‚ฌํ•ญ์„ .fullops-squad/docs/exec-plans/phases/FULLOPS-UPDATE-<๋Œ€์ƒ ๋ฒ„์ „>.md์— ๋‚จ๊น๋‹ˆ๋‹ค. ์ถœ๋ ฅ ์Šคํฌ๋ฆฝํŠธ ์ž์ฒด๋Š” ๋ ˆํฌ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

fullops.json์˜ plugin_version์€ ๋ ˆํฌ ์ ์šฉ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ํ•„์ˆ˜ ์ ์šฉ๊ณผ ๊ด€๋ จ ๊ฒ€์ฆ์ด ๋๋‚œ ๋’ค ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๋งŒ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ setup์„ ์žฌ์‹คํ–‰ํ•œ ์ƒํƒœ๋Š” ์ ์šฉ ์™„๋ฃŒ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ธฐ๋กยท์ œํ’ˆ ์ •์ง€ยท์ง„ํ–‰ ์ค‘ ์›ŒํฌํŠธ๋ฆฌ๋Š” ๋ณด์กดํ•˜๊ณ , ๋™๊ธฐํ™”๋Š” ์•ˆ์ „ํ•œ ์‹œ์ ์— ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์š”์ฒญ

์š”์ฒญ: <๊ธฐ๋Šฅ ๋˜๋Š” ์ˆ˜์ • ๋‚ด์šฉ>
๊ณผ์ œ ํ‚ค: <์˜ˆ: PLAYER-JUMP-1>
fullops-orca route๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  dispatchํ•ด์ค˜.

์„ ํƒํ˜• GitHub ์ด์Šˆ ์ž‘์—…

FullOps ํ™œ์„ฑ ์ €์žฅ์†Œ์—์„œ ์ด์Šˆ ์ž๋™ ์ž‘์—… ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ํ˜„์žฌ coor์—์„œ ์ผœ์ค˜๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด fullops-issues๊ฐ€ ์ €์žฅ์†Œยทํ—ˆ์šฉ ์ž‘์„ฑ์žยท์ฃผ๊ธฐ(๊ธฐ๋ณธ 300์ดˆ, ์ตœ์†Œ 60์ดˆ)ยท์ž‘์—… ๋ฒ”์œ„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ OFF์ด๋ฉฐ ์„ค์น˜/setup์œผ๋กœ ์ผœ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ ํด๋Ÿฌ๋Š” ๋ชจ๋ธ ํ˜ธ์ถœ ์—†์ด ์ˆ˜์ง‘ํ•˜๊ณ , ๋™์ผ coor์˜ foreground wait๋กœ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒ ์ง€์ ์€ ํ…Œ์ŠคํŠธ/๋…๋ฆฝ ๋ฆฌ๋ทฐ๋ฅผ ํ†ต๊ณผํ•œ draft PR์ด๋ฉฐ main ๋ณ‘ํ•ฉ์€ ์‚ฌ์šฉ์ž ํŒ๋‹จ์ž…๋‹ˆ๋‹ค. ์งˆ๋ฌธ์€ ์›๋ž˜ ์ด์Šˆ์— ๋ณด๋‚ด๊ณ  ์› ์ž‘์„ฑ์ž์˜ ๋‹ต๋ณ€์„ ๊ฒ€ํ† ํ•ด ์ƒˆ attempt๋กœ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์šด์˜๊ณผ ์‹คํ™˜๊ฒฝ ์ˆ˜์šฉ ๊ฒ€์ฆ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ •

์›๋ณธ ์ฒดํฌ์•„์›ƒ์˜ .fullops-squad/.env.example์„ .fullops-squad/.env๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. .env์™€ API ํ‚ค๋Š” ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ ˆํฌ์—์„œ๋„ ignore์™€ ์ถ”์  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์„ค์ • ๊ธฐ๋ณธ๊ฐ’ ์˜๋ฏธ
OPENROUTER_API_KEY ๋นˆ ๊ฐ’ Jev ํ˜ธ์ถœ์šฉ OpenRouter ํ‚ค
FULLOPS_WORKER_CHECK_MINUTES 60 ์ •์ƒ ์ž‘์—… ํ™•์ธ ์ฃผ๊ธฐ, ๋ถ„
FULLOPS_WORKER_READY_TIMEOUT_SECONDS 90 worker ์‹œ์ž‘ ์ค€๋น„ ๋Œ€๊ธฐ, ์ดˆ
FULLOPS_WORKER_LOG_LIMIT 30 ํ•œ ๋ฒˆ ์กฐํšŒํ•  ์ตœ๊ทผ ๋ฉ”์‹œ์ง€ยท์ค„ ์ƒํ•œ

์šด์˜ ์„ค์ •์€ ๋ช…๋ นํ–‰(ํ™•์ธ ์ฃผ๊ธฐ๋งŒ) โ†’ ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ ๋ณ€์ˆ˜ โ†’ ๋ ˆํฌ .env โ†’ ๊ธฐ๋ณธ๊ฐ’ ์ˆœ์„œ์ž…๋‹ˆ๋‹ค. orca_wait.py --repo . --settings๋Š” ์šด์˜ ์„ค์ •๋งŒ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. API ํ‚ค๋ฅผ ๋ณด๋ ค๊ณ  .env ์ „๋ฌธ์„ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Jev

๊ธฐ๋ณธ ๋ชจ๋ธ์€ ~typesafe/jev-latest์ž…๋‹ˆ๋‹ค. OpenRouter์˜ System One API๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋Š” --env-file โ†’ OPENROUTER_API_KEY ํ™˜๊ฒฝ ๋ณ€์ˆ˜ โ†’ .fullops-squad/.env ์ˆœ์„œ๋กœ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋™์ผ ์š”์ฒญ์€ ~/.cache/fullops-squad/jev์— ์บ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ฐ€๊ฐ’์œผ๋กœ ๋ณด์ด๋Š” ์ž…๋ ฅ์€ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์šฉ๋„ ์‹คํŒจยทํ‚ค ์—†์Œ ์ฒ˜๋ฆฌ
์š”์ฒญยท์—ญํ• ยท๋ชจ๋ธยท์‚ฐ์ถœ๋ฌผ ๋ผ์šฐํŒ… ๊ธฐ์กด ๊ตฌ์กฐ๋Š” ์„ค๊ณ„ ์—ญํ• ๋กœ ํด๋ฐฑ. ์ œํ’ˆ/๊ธฐ์ˆ  ๋ถ„๋ฆฌ ๊ตฌ์กฐ๋Š” unresolved๋กœ ๋ณด๋ฅ˜. ๋ชจ๋ธ ํด๋ฐฑ์€ stderr ๊ฒฝ๊ณ  ํ™•์ธ
์ฝ”๋“œยท๋ฌธ์„œ ์œ„์น˜ ํƒ์ƒ‰ ๊ฒ€์ƒ‰์œผ๋กœ ํ›„๋ณด ๋ณด์™„
๋ฌธ์„œ ๊ด€๋ จ์„ฑ ๋ถ„๋ฅ˜ ํ›„๋ณด ์œ ์ง€
์›นยทUnity ์กฐ์ž‘ ํ…Œ์ŠคํŠธ ์‹คํŒจ ๊ทผ๊ฑฐ ํ™•์ธ. ์„ฑ๊ณต์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์Œ

jev_route.py --strict๋Š” ํด๋ฐฑ ์‹œ ๊ฒฐ๊ณผ๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์žฌ์„ ์ •์€ --force๋กœ ์ด์ „ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. simple ์—ญํ•  ์ˆ˜์ •์€ --override-role <์—ญํ• > --reason <๊ทผ๊ฑฐ>๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Solar Decide๋กœ์˜ ๊ธฐ๋ณธ ๋ชจ๋ธ ๊ต์ฒด๋Š” ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›ŒํฌํŠธ๋ฆฌ์™€ grok

env_link.py --all <์›๋ณธ ๋ ˆํฌ>์™€ SessionStart hook์ด ๋ฏธ์ถ”์  .fullops-squad/.env*๋ฅผ ์›ŒํฌํŠธ๋ฆฌ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ํŒŒ์ผ์€ ๋ฎ์–ด์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Windows์˜ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์—๋Š” ๊ฐœ๋ฐœ์ž ๋ชจ๋“œ ๋˜๋Š” ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. grok worker๋Š” ์›๋ณธ ๋ ˆํฌ์˜ ํด๋” ์‹ ๋ขฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. grok_trust.py --repo <๋ ˆํฌ> --check๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ—ˆ๊ฐ€ํ•˜๋ฉด /hooks-trust ๋˜๋Š” --add๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ก๊ณผ ํ˜„ํ™ฉํŒ

๊ฒฝ๋กœ (.fullops-squad/ ๊ธฐ์ค€) ๋‚ด์šฉ
FULLOPS.md, project.md, orca-agents.md ๊ทœ์•ฝ ์ง€๋„, ํ”„๋กœ์ ํŠธ ๊ธฐ์ค€, ์—ญํ• ยท๋ชจ๋ธ ๋ฐฐ์ •
PLANS.md, board/board.json ๊ณผ์ œ์™€ ํ”„๋กœ์ ํŠธ ๋‹จ๊ณ„
handovers/, contexts/ ์ง€์‹œ์„œยท์™„๋ฃŒ ๊ธฐ๋ก, ์—ญํ• ๋ณ„ ๊ฒฐ์ •๊ณผ ๊ตํ›ˆ
docs/agents/document-writing.md front matter์™€ ํ•œ๊ตญ์–ด ๋ฌธ์žฅ ๊ทœ์น™
docs/planning/, docs/design-docs/, docs/exec-plans/ ๊ธฐํšยท์„ค๊ณ„ยท์‹คํ–‰ ๊ณ„ํš
docs/evaluations/ Jev ๊ฒฐ๊ณผ, ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค, QAยท๋ฆฌ๋ทฐ ์ฆ๊ฑฐ
docs/deliverables/README.md D01โ€“D13 ์›์ฒœ ๋งคํ•‘๊ณผ ์ƒํƒœ
lint/, review/ ๊ฒ€์‚ฌ ๋ช…๋ นยท๊ทœ์น™๊ณผ ๋ฆฌ๋ทฐ ํ…œํ”Œ๋ฆฟ

board/index.html์— ๋‹จ๊ณ„ยท๊ณผ์ œยท์™„๋ฃŒ ์ด๋ ฅยท๋ฆฌ๋ทฐยทํ…Œ์ŠคํŠธยท์‚ฐ์ถœ๋ฌผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ ์ด์Šˆ์—๋Š” ์—ด๋ฆผยท๋‹ซํž˜์„ ํฌํ•จํ•ด ์ตœ๊ทผ ์—…๋ฐ์ดํŠธ ์ˆœ ์ตœ๋Œ€ 30๊ฑด์˜ ๋ฒˆํ˜ธยท์ œ๋ชฉยท์ƒํƒœ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ•ญ๋ชฉ์„ ๋ˆ„๋ฅด๋ฉด GitHub ์›๋ฌธ์„ ์ƒˆ ํƒญ์—์„œ ์—ฝ๋‹ˆ๋‹ค. fullops.json.git.remote(์—†์œผ๋ฉด origin)์˜ github.com ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณด๋“œ ์ƒ์„ฑ ์‹œ ์ธ์ฆ๋œ GitHub CLI(gh)๋กœ ์ตœ๋Œ€ 8์ดˆ ๋™์•ˆ ์กฐํšŒํ•˜๋ฉฐ, ์ด์Šˆ ์ž๋™ ์ž‘์—… ๋ชจ๋“œ๋ฅผ ์ผœ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์กฐํšŒ ์‹œ๊ฐ์„ ํ•จ๊ป˜ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€์˜ 60์ดˆ ์ƒˆ๋กœ๊ณ ์นจ์€ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฝ์œผ๋ฉฐ GitHub๋ฅผ ์ง์ ‘ ์กฐํšŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์ด์Šˆ๋Š” board.py --repo <๋ ˆํฌ> ์‹คํ–‰ ๋˜๋Š” coordinator ์ข…๋ฃŒ ๋•Œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. gh ์—†์Œยท๊ถŒํ•œ/๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ยท์˜คํ”„๋ผ์ธ ๋ชจ๋“œ๋Š” ๋นˆ ๋ชฉ๋ก๊ณผ ๊ตฌ๋ถ„ํ•ด ํ‘œ์‹œํ•˜๋ฉฐ ๊ธฐ์กด ๋ณด๋“œ์˜ ๋‹ค๋ฅธ ์˜์—ญ์€ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. FULLOPS_OFFLINE=1์—์„œ๋Š” ์กฐํšŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์Šˆ ๋ณธ๋ฌธยท์ธ์ฆ ์ •๋ณด๋Š” ๋ณด๋“œ ๋ฐ์ดํ„ฐ์— ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฐ์ถœ๋ฌผ ์นด๋“œ์™€ ๋‹จ๊ณ„ ์ƒ์„ธ์ฐฝ์—์„œ ์›์ฒœ ๋ฌธ์„œ๋ฅผ ์—ด๋žŒํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒŒ์ผ์€ ์ œ๋ชฉยท๊ฒฝ๋กœ๋ณ„๋กœ ์„ ํƒํ•˜๊ณ , ๋ฏธ์ž‘์„ฑยท๋ˆ„๋ฝ ํŒŒ์ผ์€ ์—ด๋žŒํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ ๋ณธ๋ฌธ์€ board-data.js์— ํฌํ•จ๋˜๋ฏ€๋กœ ๋กœ์ปฌ ํŒŒ์ผ๊ณผ HTTP์—์„œ ๋ชจ๋‘ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ๋ฅผ ์—ฐ ๋™์•ˆ์—๋Š” 60์ดˆ ์ƒˆ๋กœ๊ณ ์นจ์„ ๋ณด๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ์—ด๋žŒ์€ ๋ฌธ์„œยท๋‹จ๊ณ„ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Markdown์˜ ์ œ๋ชฉยท๋ชฉ๋กยทํ‘œยท์ฝ”๋“œยท๊ฐ•์กฐยท์™ธ๋ถ€ ๋งํฌ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์›์‹œ HTML์€ ํ…์ŠคํŠธ๋กœ ํ‘œ์‹œํ•˜๊ณ , ์ˆ˜์‹ยทMermaid๋Š” ์›๋ฌธ์„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ํด๋” ์›์ฒœ์—์„œ๋Š” Markdown ๋ฌธ์„œ๋ฅผ ๋ชจ์๋‹ˆ๋‹ค. coordinator๋Š” board.json์„ ๊ด€๋ฆฌํ•˜๊ณ  board.py๋Š” ๊ธฐ๋ก์—์„œ board-data.js๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. coordinator ์ข…๋ฃŒ ๋•Œ ์ž๋™ ๊ฐฑ์‹ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰์‹œ ๊ฐฑ์‹ ํ•˜๋ ค๋ฉด board.py --repo .๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. board-data.js๋Š” ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. HTML ์–‘์‹์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ 

About

Fullops-Squad-plugin

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages