@chorus-aidlc/chorus 0.16.1 โ†’ 0.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +450 -438
  3. package/.next/standalone/.next/app-path-routes-manifest.json +48 -48
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +18 -18
  6. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
  16. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
  19. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
  22. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js +1 -1
  25. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/graph/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
  28. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +1 -1
  31. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
  34. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
  37. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
  40. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +1 -1
  43. package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
  46. package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  50. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/admin/companies/new.html +2 -2
  54. package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/admin/companies.html +2 -2
  57. package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/admin.html +2 -2
  60. package/.next/standalone/.next/server/app/admin.rsc +2 -2
  61. package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
  62. package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/api/agent-connections/route_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/api/daemon/connection-heartbeat/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/daemon/control/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/daemon/control/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/api/daemon/directory-request/report/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/daemon/execution-state/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/api/daemon/executions/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/api/daemon/pending-turns/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route.js +1 -1
  88. package/.next/standalone/.next/server/app/api/daemon/report-interrupt/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app/api/daemon/resume/route.js +1 -1
  90. package/.next/standalone/.next/server/app/api/daemon/resume/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/api/daemon/transcript/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route.js +1 -1
  93. package/.next/standalone/.next/server/app/api/daemon/turn-advance/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/app/api/daemon-directory-requests/[uuid]/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/api/daemon-directory-requests/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/instruction/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/repoint/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/api/daemon-sessions/[sessionUuid]/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/api/daemon-sessions/ad-hoc/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/daemon-sessions/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/api/entities/[type]/[uuid]/root-idea/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/preview/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/api/ideas/[uuid]/parent/route_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/api/ideas/[uuid]/wake-preview/route_client-reference-manifest.js +1 -1
  114. package/.next/standalone/.next/server/app/api/ideas/conversational/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/mcp/route.js +4 -4
  116. package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
  119. package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
  121. package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/api/project-visits/pin/route_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/api/project-visits/route_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/api/project-visits/visit/route_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
  132. package/.next/standalone/.next/server/app/api/projects/[uuid]/agent-cwds/route_client-reference-manifest.js +1 -1
  133. package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
  135. package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
  140. package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
  141. package/.next/standalone/.next/server/app/api/projects/[uuid]/resource-graph/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
  144. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
  146. package/.next/standalone/.next/server/app/api/projects/agent-cwd-options/route_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  148. package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
  149. package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
  150. package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
  151. package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
  152. package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
  153. package/.next/standalone/.next/server/app/api/references/[uuid]/route_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/api/references/route_client-reference-manifest.js +1 -1
  155. package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app/api/session/route_client-reference-manifest.js +1 -1
  157. package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
  159. package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
  160. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
  162. package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
  163. package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
  164. package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
  165. package/.next/standalone/.next/server/app/index.html +2 -2
  166. package/.next/standalone/.next/server/app/index.rsc +2 -2
  167. package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
  168. package/.next/standalone/.next/server/app/login/admin.html +2 -2
  169. package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
  170. package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
  171. package/.next/standalone/.next/server/app/login/callback.html +2 -2
  172. package/.next/standalone/.next/server/app/login/callback.rsc +2 -2
  173. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  174. package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -1
  175. package/.next/standalone/.next/server/app/login/pick-workspace.html +2 -2
  176. package/.next/standalone/.next/server/app/login/pick-workspace.rsc +2 -2
  177. package/.next/standalone/.next/server/app/login.html +2 -2
  178. package/.next/standalone/.next/server/app/login.rsc +2 -2
  179. package/.next/standalone/.next/server/app/onboarding/page.js +2 -2
  180. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  182. package/.next/standalone/.next/server/app/onboarding.html +2 -2
  183. package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
  184. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  185. package/.next/standalone/.next/server/app/projects.html +2 -2
  186. package/.next/standalone/.next/server/app/projects.rsc +4 -4
  187. package/.next/standalone/.next/server/app/settings.html +2 -2
  188. package/.next/standalone/.next/server/app/settings.rsc +4 -4
  189. package/.next/standalone/.next/server/app-paths-manifest.json +48 -48
  190. package/.next/standalone/.next/server/chunks/1114.js +1 -1
  191. package/.next/standalone/.next/server/chunks/1318.js +1 -1
  192. package/.next/standalone/.next/server/chunks/1559.js +2 -2
  193. package/.next/standalone/.next/server/chunks/2572.js +1 -1
  194. package/.next/standalone/.next/server/chunks/2618.js +1 -1
  195. package/.next/standalone/.next/server/chunks/2961.js +1 -1
  196. package/.next/standalone/.next/server/chunks/3594.js +1 -1
  197. package/.next/standalone/.next/server/chunks/4394.js +1 -1
  198. package/.next/standalone/.next/server/chunks/5245.js +1 -1
  199. package/.next/standalone/.next/server/chunks/5351.js +1 -1
  200. package/.next/standalone/.next/server/chunks/{2547.js โ†’ 5489.js} +5 -5
  201. package/.next/standalone/.next/server/chunks/6113.js +1 -1
  202. package/.next/standalone/.next/server/chunks/6506.js +3 -3
  203. package/.next/standalone/.next/server/chunks/6515.js +2 -2
  204. package/.next/standalone/.next/server/chunks/6667.js +1 -1
  205. package/.next/standalone/.next/server/chunks/6995.js +1 -1
  206. package/.next/standalone/.next/server/chunks/7364.js +1 -1
  207. package/.next/standalone/.next/server/chunks/7368.js +1 -1
  208. package/.next/standalone/.next/server/chunks/7530.js +1 -1
  209. package/.next/standalone/.next/server/chunks/8044.js +1 -0
  210. package/.next/standalone/.next/server/chunks/8454.js +1 -1
  211. package/.next/standalone/.next/server/chunks/920.js +1 -1
  212. package/.next/standalone/.next/server/chunks/9213.js +1 -1
  213. package/.next/standalone/.next/server/chunks/9378.js +1 -1
  214. package/.next/standalone/.next/server/chunks/951.js +1 -1
  215. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  216. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  217. package/.next/standalone/.next/server/pages/404.html +2 -2
  218. package/.next/standalone/.next/server/pages/500.html +1 -1
  219. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  220. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  221. package/.next/standalone/.next/static/chunks/11595.97e534422c57aee1.js +1 -0
  222. package/.next/standalone/.next/static/chunks/17099-936da9caf4c119b8.js +1 -0
  223. package/.next/standalone/.next/static/chunks/18609-6c859f756d530e94.js +1 -0
  224. package/.next/standalone/.next/static/chunks/19887-c0bb297a78a1c7cd.js +1 -0
  225. package/.next/standalone/.next/static/chunks/20204-90d655ea14281e10.js +1 -0
  226. package/.next/standalone/.next/static/chunks/{53402-a54163001f3d953a.js โ†’ 27370-c056dee2016c9124.js} +1 -1
  227. package/.next/standalone/.next/static/chunks/{29108-e171d8b8c680cbb5.js โ†’ 29108-5a11eea003f4cc11.js} +1 -1
  228. package/.next/standalone/.next/static/chunks/29305-f587e7e81bc0b200.js +10 -0
  229. package/.next/standalone/.next/static/chunks/{31308-bb4a97b3f39c22dd.js โ†’ 31308-fda6febfb2882a28.js} +1 -1
  230. package/.next/standalone/.next/static/chunks/33456.6dc44a6aca1a01fd.js +1 -0
  231. package/.next/standalone/.next/static/chunks/35432-5c245212c7595169.js +1 -0
  232. package/.next/standalone/.next/static/chunks/45024-eb7c062d13d9fe08.js +1 -0
  233. package/.next/standalone/.next/static/chunks/46294-6ae5bd0480b1820f.js +1 -0
  234. package/.next/standalone/.next/static/chunks/4860.7873ebc9ba435c8c.js +1 -0
  235. package/.next/standalone/.next/static/chunks/53073-a7ed20af6538a178.js +1 -0
  236. package/.next/standalone/.next/static/chunks/65096-f756aac39efad7a3.js +1 -0
  237. package/.next/standalone/.next/static/chunks/6603-e70ddeab6ad09c50.js +1 -0
  238. package/.next/standalone/.next/static/chunks/67580-8733964ab2c7fc0e.js +1 -0
  239. package/.next/standalone/.next/static/chunks/7777-8b1b6681256e1534.js +1 -0
  240. package/.next/standalone/.next/static/chunks/78917-1b59cbb806b3ecfc.js +1 -0
  241. package/.next/standalone/.next/static/chunks/82751-3e161e1d8dbda3ac.js +1 -0
  242. package/.next/standalone/.next/static/chunks/94643-01be319472d751b3.js +1 -0
  243. package/.next/standalone/.next/static/chunks/99373.d0e808c18408b8da.js +1 -0
  244. package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-3d3b3b9e16c03cda.js โ†’ layout-b742c51c0a764daf.js} +1 -1
  245. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-974781e4886529f8.js +1 -0
  246. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/{page-69d746c98079024d.js โ†’ page-f636e00c28f425ea.js} +1 -1
  247. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-c004f1a194af7fa5.js +1 -0
  248. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-425acbe9ade5fa83.js +1 -0
  249. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/graph/{page-8119df915138a9c3.js โ†’ page-fdd617457730a116.js} +1 -1
  250. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-6b3fb08d53826d02.js +1 -0
  251. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-0a6c2d0e1b68e0e4.js +1 -0
  252. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-58b48aa0a11603c3.js +1 -0
  253. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-286faced32c6133f.js +1 -0
  254. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-7a5ef281f6819ed4.js โ†’ page-9d79e285b6fd2f8d.js} +1 -1
  255. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-1507a761e67c2aa9.js +1 -0
  256. package/.next/standalone/.next/static/chunks/app/onboarding/page-5c82cf3abd856301.js +1 -0
  257. package/.next/standalone/.next/static/chunks/f5a9da1f-6abf712b3f684cf9.js +1 -0
  258. package/.next/standalone/.next/static/chunks/{webpack-dec1f54ebb9bf963.js โ†’ webpack-fa066d7ff9ab2b29.js} +1 -1
  259. package/.next/standalone/.next/static/css/5f52bd39b284ccdf.css +1 -0
  260. package/.next/standalone/package.json +3 -1
  261. package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
  262. package/.next/standalone/public/chorus-plugin/agents/code-reviewer.md +1 -1
  263. package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +1 -0
  264. package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +2 -0
  265. package/.next/standalone/public/chorus-plugin/skills/brainstorm/SKILL.md +1 -1
  266. package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +4 -3
  267. package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +1 -1
  268. package/.next/standalone/public/chorus-plugin/skills/docs/SKILL.md +1 -1
  269. package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +5 -4
  270. package/.next/standalone/public/chorus-plugin/skills/openspec-aware/SKILL.md +1 -1
  271. package/.next/standalone/public/chorus-plugin/skills/orchestrate/SKILL.md +128 -0
  272. package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +1 -1
  273. package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +1 -1
  274. package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +1 -1
  275. package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +1 -1
  276. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-code-reviewer.json +1 -1
  277. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-proposal-reviewer.json +1 -1
  278. package/.next/standalone/public/kiro-plugin/.kiro/agents/chorus-task-reviewer.json +1 -1
  279. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-brainstorm/SKILL.md +1 -1
  280. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-develop/SKILL.md +1 -1
  281. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-docs/SKILL.md +1 -1
  282. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-idea/SKILL.md +5 -4
  283. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-openspec-aware/SKILL.md +1 -1
  284. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-orchestrate/SKILL.md +128 -0
  285. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-proposal/SKILL.md +1 -1
  286. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-quick-dev/SKILL.md +1 -1
  287. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-review/SKILL.md +1 -1
  288. package/.next/standalone/public/kiro-plugin/.kiro/skills/chorus-yolo/SKILL.md +1 -1
  289. package/.next/standalone/public/kiro-plugin/.kiro/steering/chorus.md +4 -3
  290. package/.next/standalone/public/kiro-plugin/bin/chorus-api.sh +1 -1
  291. package/.next/standalone/public/skill/brainstorm-chorus/SKILL.md +1 -1
  292. package/.next/standalone/public/skill/chorus/SKILL.md +4 -3
  293. package/.next/standalone/public/skill/code-reviewer-chorus/SKILL.md +2 -2
  294. package/.next/standalone/public/skill/develop-chorus/SKILL.md +1 -1
  295. package/.next/standalone/public/skill/docs-chorus/SKILL.md +1 -1
  296. package/.next/standalone/public/skill/idea-chorus/SKILL.md +5 -4
  297. package/.next/standalone/public/skill/orchestrate-chorus/SKILL.md +128 -0
  298. package/.next/standalone/public/skill/proposal-chorus/SKILL.md +1 -1
  299. package/.next/standalone/public/skill/proposal-reviewer-chorus/SKILL.md +2 -1
  300. package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +1 -1
  301. package/.next/standalone/public/skill/review-chorus/SKILL.md +1 -1
  302. package/.next/standalone/public/skill/task-reviewer-chorus/SKILL.md +2 -1
  303. package/.next/standalone/public/skill/yolo-chorus/SKILL.md +1 -1
  304. package/README.ja.md +26 -346
  305. package/README.ko.md +28 -347
  306. package/README.md +33 -353
  307. package/README.zh.md +31 -328
  308. package/cli/control-handler.mjs +13 -3
  309. package/cli/daemon-rest-client.mjs +11 -3
  310. package/cli/daemon.mjs +52 -10
  311. package/cli/event-router.mjs +17 -5
  312. package/cli/prompts.mjs +129 -4
  313. package/cli/turn-reporter.mjs +5 -1
  314. package/cli/wake-queue.mjs +57 -35
  315. package/cli/waker.mjs +125 -36
  316. package/package.json +3 -1
  317. package/prisma/migrations/20260814101500_add_typed_assignment_provenance/migration.sql +2 -0
  318. package/prisma/schema.prisma +4 -2
  319. package/.next/standalone/.next/server/chunks/2463.js +0 -1
  320. package/.next/standalone/.next/static/chunks/11595.1bcd2b65089007ae.js +0 -1
  321. package/.next/standalone/.next/static/chunks/19887-4d76db57a7ce4437.js +0 -1
  322. package/.next/standalone/.next/static/chunks/22987-8fd965ab4ff87546.js +0 -1
  323. package/.next/standalone/.next/static/chunks/33456.c98d3e21528b61d8.js +0 -1
  324. package/.next/standalone/.next/static/chunks/38296-316ba18af72385fb.js +0 -1
  325. package/.next/standalone/.next/static/chunks/4340-a33120fb742af57e.js +0 -1
  326. package/.next/standalone/.next/static/chunks/4860.9122a86d33dc6b62.js +0 -1
  327. package/.next/standalone/.next/static/chunks/53073-5fd399cb25a11740.js +0 -1
  328. package/.next/standalone/.next/static/chunks/6603-07faab08560f7ecd.js +0 -1
  329. package/.next/standalone/.next/static/chunks/6698-1c55791b2d0820d5.js +0 -1
  330. package/.next/standalone/.next/static/chunks/75137-c9e8422c9d4e1f52.js +0 -1
  331. package/.next/standalone/.next/static/chunks/7777-5dad34f6bdc13482.js +0 -1
  332. package/.next/standalone/.next/static/chunks/78917-7354d3b6908da7d1.js +0 -1
  333. package/.next/standalone/.next/static/chunks/82751-de255af4418d53e4.js +0 -1
  334. package/.next/standalone/.next/static/chunks/83285-db8ae107944eb6df.js +0 -1
  335. package/.next/standalone/.next/static/chunks/86155-c9b7c2c08d3fa80e.js +0 -1
  336. package/.next/standalone/.next/static/chunks/89836-b5ab6a0b32c54f42.js +0 -1
  337. package/.next/standalone/.next/static/chunks/94426-39b6da238425f9b7.js +0 -10
  338. package/.next/standalone/.next/static/chunks/94643-90a9ec7b9a9abaf0.js +0 -1
  339. package/.next/standalone/.next/static/chunks/99373.585230dcb315a068.js +0 -1
  340. package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-7462c5eb92130796.js +0 -1
  341. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-2af705f6c3789131.js +0 -1
  342. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-82404154708e48a9.js +0 -1
  343. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-f619bd65e1eed8c9.js +0 -1
  344. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/page-6abc7d1785e2b999.js +0 -1
  345. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-0789c6589363154c.js +0 -1
  346. package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-a612f6fc5be0239d.js +0 -1
  347. package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-5fb9fd3db155d5ca.js +0 -1
  348. package/.next/standalone/.next/static/chunks/app/onboarding/page-e85315278aafc300.js +0 -1
  349. package/.next/standalone/.next/static/css/67fba0943f494f0e.css +0 -1
  350. /package/.next/standalone/.next/static/{H92ZuhpmDWcL3WOfYRc-- โ†’ K8qIdwvKoIWbwQ_f01mnM}/_buildManifest.js +0 -0
  351. /package/.next/standalone/.next/static/{H92ZuhpmDWcL3WOfYRc-- โ†’ K8qIdwvKoIWbwQ_f01mnM}/_ssgManifest.js +0 -0
package/README.ko.md CHANGED
@@ -2,7 +2,7 @@
2
2
  <img src="packages/landing/public/images/chorus-slug.png" alt="Chorus" width="240" />
3
3
  </p>
4
4
 
5
- <p align="center"><strong>AI-์ธ๊ฐ„ ํ˜‘์—…์„ ์œ„ํ•œ Agent Harness</strong></p>
5
+ <p align="center"><strong>๋‹น์‹ ์˜ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ์œ„์— ์–น๋Š” Harness. ์—์ด์ „ํŠธ๊ฐ€ ์ œ์•ˆํ•˜๊ณ , ์‚ฌ๋žŒ์ด ๊ฒ€์ฆํ•˜๊ณ , ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.</strong></p>
6
6
 
7
7
  <p align="center">
8
8
  <a href="https://discord.gg/SwcCMaMmR">
@@ -15,9 +15,9 @@
15
15
 
16
16
  <p align="center"><a href="README.md">English</a> ยท <a href="README.zh.md">ไธญๆ–‡</a> ยท <strong>ํ•œ๊ตญ์–ด</strong> ยท <a href="README.ja.md">ๆ—ฅๆœฌ่ชž</a></p>
17
17
 
18
- <p align="center"><a href="https://doc.chorus-ai.dev"><strong>๐Ÿ“– ๋ฌธ์„œ</strong></a></p>
18
+ <p align="center"><a href="https://doc.chorus-ai.dev/ko/"><strong>๐Ÿ“– ๋ฌธ์„œ</strong></a></p>
19
19
 
20
- Chorus๋Š” Agent Harness์ž…๋‹ˆ๋‹ค โ€” LLM ์—์ด์ „ํŠธ๋ฅผ ๊ฐ์‹ธ ์„ธ์…˜ ๋ผ์ดํ”„์‚ฌ์ดํด, ์ž‘์—… ์ƒํƒœ, ํ•˜์œ„ ์—์ด์ „ํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜, ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ, ์žฅ์•  ๋ณต๊ตฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ธํ”„๋ผ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ์„ธ๋ฐ€ํ•˜๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ AI ์—์ด์ „ํŠธ์™€ ์‚ฌ๋žŒ์ด ์š”๊ตฌ์‚ฌํ•ญ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ์ „์ฒด ์›Œํฌํ”Œ๋กœ๋ฅผ ํ†ตํ•ด ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
20
+ Chorus๋Š” ๋‹น์‹ ์˜ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ์œ„์— ์–น๋Š” Harness์ž…๋‹ˆ๋‹ค. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ๋ชจ๋ธ์„ harnessํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋ฉด, Chorus๋Š” ๊ทธ๋ณด๋‹ค ํ•œ ๋‹จ๊ณ„ ์œ„์˜ Harness๋กœ์„œ, ๊ทธ๋Ÿฐ ์—์ด์ „ํŠธ ํ•œ ํŒ€ ์ „์ฒด์™€ ๋‹น์‹ ์„ ํ•˜๋‚˜์˜ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋ฌถ์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๊ฐ€ ์ œ์•ˆํ•˜๊ณ , ์‚ฌ๋žŒ์ด ๊ฒ€์ฆํ•˜๊ณ , ์•„์ด๋””์–ด๊ฐ€ ๋ฐฐํฌ๋œ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. ๊ทธ ์•„๋ž˜์—์„œ๋Š” ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ์™€ ์‚ฌ๋žŒ์ด ํ•จ๊ป˜ํ•˜๋Š” ํ˜‘์—…์ด ํ”๋“ค๋ฆฌ์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ๋“ค์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค: ์„ธ์…˜ ๋ผ์ดํ”„์‚ฌ์ดํด, ์ž‘์—… ์ƒํƒœ, ํ•˜์œ„ ์—์ด์ „ํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜, ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ, ์žฅ์•  ๋ณต๊ตฌ. ๋ชจ๋“  AI ์—์ด์ „ํŠธ๋Š” ์„ธ๋ฐ€ํ•˜๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅํ•œ ๊ถŒํ•œ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.
21
21
 
22
22
  **[AI-DLC(AI-Driven Development Lifecycle)](https://aws.amazon.com/blogs/devops/ai-driven-development-life-cycle/)** ๋ฐฉ๋ฒ•๋ก ์—์„œ ์˜๊ฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ ์ฒ ํ•™์€ **Reversed Conversation** โ€” AI๊ฐ€ ์ œ์•ˆํ•˜๊ณ , ์‚ฌ๋žŒ์ด ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
23
23
 
@@ -32,7 +32,7 @@ Idea โ”€โ”€> Proposal โ”€โ”€> [Document + Task DAG] โ”€โ”€> Execute โ”€โ”€> Veri
32
32
  ์ƒ์„ฑ + ๊ตฌ์ฒดํ™” + ์ดˆ์•ˆ + ๋ณด๊ณ  + ๊ฒ€์ฆ + ์ข…๋ฃŒ
33
33
  ```
34
34
 
35
- ๊ฐ ๋‹จ๊ณ„ ์•„๋ž˜์— ์ ํžŒ ๊ฒƒ์€ ํ•ด๋‹น ๋‹จ๊ณ„์—์„œ ์•กํ„ฐ์—๊ฒŒ ํ•„์š”ํ•œ **๊ถŒํ•œ**์ž…๋‹ˆ๋‹ค โ€” ์‚ฌ๋žŒ, ์—์ด์ „ํŠธ(ํ”„๋ฆฌ์…‹ ๋˜๋Š” Custom), ๋˜๋Š” ๋‘˜ ๋‹ค์—๊ฒŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์ •๋œ ์—ญํ• ์€ ์—†์œผ๋ฉฐ, 5 ร— 3 ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค์˜ ์–ด๋–ค ์กฐํ•ฉ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [`docs/PERMISSIONS.md`](docs/PERMISSIONS.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
35
+ ๊ฐ ๋‹จ๊ณ„ ์•„๋ž˜์— ์ ํžŒ ๊ฒƒ์€ ํ•ด๋‹น ๋‹จ๊ณ„์—์„œ ์•กํ„ฐ์—๊ฒŒ ํ•„์š”ํ•œ **๊ถŒํ•œ**์ž…๋‹ˆ๋‹ค โ€” ์‚ฌ๋žŒ, ์—์ด์ „ํŠธ, ๋˜๋Š” ๋‘˜ ๋‹ค์—๊ฒŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์ •๋œ ์—ญํ• ์€ ์—†์œผ๋ฉฐ, 5 ร— 3 ๊ถŒํ•œ ๋งคํŠธ๋ฆญ์Šค์˜ ์–ด๋–ค ์กฐํ•ฉ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. โ†’ [์—์ด์ „ํŠธ ๊ถŒํ•œ](https://doc.chorus-ai.dev/ko/guides/manage-agents/)
36
36
 
37
37
  ---
38
38
 
@@ -54,119 +54,18 @@ Idea โ”€โ”€> Proposal โ”€โ”€> [Document + Task DAG] โ”€โ”€> Execute โ”€โ”€> Veri
54
54
 
55
55
  ## ๋น ๋ฅธ ์‹œ์ž‘
56
56
 
57
- ๋‘ ๊ฐœ์˜ ๋ช…๋ น์œผ๋กœ Chorus๋ฅผ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋„, Docker๋„, ์„ค์ • ํŒŒ์ผ๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.
57
+ ๋‘ ๊ฐœ์˜ ๋ช…๋ น์ด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋„, Docker๋„, ์„ค์ • ํŒŒ์ผ๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.
58
58
 
59
59
  ```bash
60
60
  npm install -g @chorus-aidlc/chorus
61
61
  chorus
62
62
  ```
63
63
 
64
- ์ด๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค. Chorus๋Š” ๋‚ด์žฅ PostgreSQL(PGlite)๋กœ ์‹œ์ž‘ํ•ด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  **http://localhost:8637** ์—์„œ ์—ด๋ฆฝ๋‹ˆ๋‹ค.
64
+ Chorus๋Š” ๋‚ด์žฅ PostgreSQL(PGlite)๋กœ ์‹œ์ž‘ํ•ด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์‹คํ–‰ํ•˜๊ณ  **http://localhost:8637** ์—์„œ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋กœ๊ทธ์ธ: `admin@chorus.local` / `chorus`.
65
65
 
66
- > **์ฐธ๊ณ :** PGlite๋Š” ๋‚ด์žฅํ˜• ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค PostgreSQL์ž…๋‹ˆ๋‹ค โ€” ๋กœ์ปฌ ๋‹จ์ผ ์‚ฌ์šฉ์ž ์šฉ๋„์—๋Š” ํ›Œ๋ฅญํ•˜์ง€๋งŒ, ๋™์‹œ ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๋ฉด ์ปค๋„ฅ์…˜ ์ฒ˜๋ฆฌ์— ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋‚˜ ์‚ฌ์šฉ์ž๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ๊ณ„ํš์ด๋ผ๋ฉด `DATABASE_URL=postgresql://...`๋กœ ์™ธ๋ถ€ PostgreSQL์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ „์ฒด [Docker Compose](#docker๋กœ-์‹œ์ž‘ํ•˜๊ธฐ-๊ถŒ์žฅ) ์Šคํƒ์„ ์ด์šฉํ•˜์„ธ์š”.
66
+ > ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ๋•์…˜์— ๋ฐฐํฌํ•˜์‹œ๋‚˜์š”? ์™ธ๋ถ€ PostgreSQL, Docker, ๋˜๋Š” AWS๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š” โ†’ **[๋ฐฐํฌ ๋ฐ ์…€ํ”„ ํ˜ธ์ŠคํŒ…](https://doc.chorus-ai.dev/ko/guides/deployment-overview/)**.
67
67
 
68
- ๊ธฐ๋ณธ ๋กœ๊ทธ์ธ ์ •๋ณด: `admin@chorus.local` / `chorus`
69
-
70
- ### ์˜ต์…˜
71
-
72
- ```bash
73
- # ์ปค์Šคํ…€ ํฌํŠธ
74
- chorus --port 3000
75
-
76
- # ์ปค์Šคํ…€ ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ(๊ธฐ๋ณธ๊ฐ’: ~/.chorus-data)
77
- chorus --data-dir /path/to/data
78
-
79
- # ์ปค์Šคํ…€ ์ธ์ฆ ์ •๋ณด
80
- DEFAULT_USER=me@example.com DEFAULT_PASSWORD=secret chorus
81
-
82
- # ๋‚ด์žฅ PGlite ๋Œ€์‹  ์™ธ๋ถ€ PostgreSQL ์‚ฌ์šฉ
83
- DATABASE_URL=postgresql://user:pass@host:5432/chorus chorus
84
- ```
85
-
86
- ### ๊ทธ ๋ฐ–์˜ ๋ฐฐํฌ ๋ฐฉ๋ฒ•
87
-
88
- | ๋ฐฉ๋ฒ• | ๋ช…๋ น |
89
- |--------|---------|
90
- | **npm**(๊ฐ€์žฅ ๊ฐ„๋‹จ) | `npm i -g @chorus-aidlc/chorus && chorus` |
91
- | **Docker(๋‹จ๋…)** | [`docker compose -f docker-compose.local.yml up`](#docker๋กœ-์‹œ์ž‘ํ•˜๊ธฐ-๊ถŒ์žฅ) |
92
- | **Docker(ํ’€ ์Šคํƒ)** | [`docker compose up`](#docker๋กœ-์‹œ์ž‘ํ•˜๊ธฐ-๊ถŒ์žฅ)(PostgreSQL + Redis + Chorus) |
93
- | **AWS CDK** | [AWS์— ๋ฐฐํฌ](#aws์—-๋ฐฐํฌ) |
94
-
95
- ### `chorus daemon` โ€” ์—์ด์ „ํŠธ ๋Ÿฐํƒ€์ž„์œผ๋กœ ์—ฐ๊ฒฐ
96
-
97
- `chorus daemon`์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋กœ์ปฌ ๋จธ์‹ ์„ ์—์ด์ „ํŠธ ๋Ÿฐํƒ€์ž„์œผ๋กœ์„œ ์›๊ฒฉ Chorus ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ณ , Chorus๊ฐ€ ๋ฐฐ์ •ํ•œ ์ž‘์—…์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
98
-
99
- > **์—์ด์ „ํŠธ ๋ฐฑ์—”๋“œ:** **Claude Code**(๊ธฐ๋ณธ)์™€ **Codex**๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค โ€” `--agent codex`(๋˜๋Š” `CHORUS_AGENT=codex`)๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์—์ด์ „ํŠธ CLI(Copilot ๋“ฑ)์— ๋Œ€ํ•œ ์ง€์›์€ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
100
-
101
- ```bash
102
- chorus login # ์ธ์ฆ(๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ฝ๋‹ˆ๋‹ค)
103
- chorus daemon # ๋ฐ๋ชฌ์„ ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ์‹œ์ž‘
104
- chorus daemon -d # ๋ฐ๋ชฌ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹œ์ž‘(๋””ํƒœ์น˜)
105
- chorus daemon install # ๋ถ€ํŒ… ์‹œ ์ž๋™ ์‹œ์ž‘ํ•˜๋Š” ์„œ๋น„์Šค๋กœ ์„ค์น˜(Linux) โ€” ๊ถŒ์žฅ
106
- chorus daemon uninstall # ์„ค์น˜๋œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ฑฐ
107
- chorus daemon stop # ๋ฐ๋ชฌ์„ ์ค‘์ง€(์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉด systemd์— ์œ„์ž„)
108
- chorus daemon stop --force # ๋ฉˆ์ถ˜ pid๊ฐ€ ์ค‘์ง€๋ฅผ ๋ง‰์„ ๋•Œ pidfile์„ ๊ฐ•์ œ๋กœ ์ •๋ฆฌ
109
- chorus daemon status # ๋ฐ๋ชฌ ์ƒํƒœ ํ™•์ธ
110
- chorus daemon restart # ๋ฐ๋ชฌ ์žฌ์‹œ์ž‘
111
- chorus daemon logs # ๋ฐ๋ชฌ ๋กœ๊ทธ ๋ณด๊ธฐ
112
- ```
113
-
114
- **์ฃผ์š” ๊ธฐ๋Šฅ:**
115
-
116
- - **Claude Code & Codex ๋ฐฑ์—”๋“œ** โ€” PATH์— ์žˆ๋Š” `claude`(๋˜๋Š” `codex`) CLI๋ฅผ ์ž๋™ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. `--agent codex`๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค
117
- - **๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ชจ๋“œ** โ€” `-d` ํ”Œ๋ž˜๊ทธ๋กœ ์‹คํ–‰ํ•˜๊ณ , `stop/restart/logs`๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค
118
- - **๋ถ€ํŒ… ์ž๋™ ์‹œ์ž‘ ์„œ๋น„์Šค** โ€” `chorus daemon install`์ด ์˜ฌ๋ฐ”๋ฅธ `systemd --user` unit์„ ์ƒ์„ฑํ•˜๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค(์•„๋ž˜ ์ฐธ๊ณ ). ์ดํ›„ `status/stop/restart/logs`๋Š” ํˆฌ๋ช…ํ•˜๊ฒŒ systemd์— ์œ„์ž„๋ฉ๋‹ˆ๋‹ค
119
- - **๊ถŒํ•œ ๋ชจ๋“œ** โ€” ๊ธฐ๋ณธ๊ฐ’์€ ์™„์ „ ์ ‘๊ทผ(yolo)์ž…๋‹ˆ๋‹ค. `--chorus-only`๋กœ Chorus MCP ๋„๊ตฌ๋กœ๋งŒ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
120
- - **๋ฉ€ํ‹ฐ ํŒจ์Šค** โ€” ๋ฐ˜๋ณต ์ง€์ • ๊ฐ€๋Šฅํ•œ `--cwd`๋กœ ํ•˜๋‚˜์˜ ๋ฐ๋ชฌ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์•„๋ž˜ ์ฐธ๊ณ )
121
- - **๋Œ€ํ™”์‹ ์„ค์ •** โ€” ์•„์ง ๊ตฌ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ตœ์ดˆ ์‹œ์ž‘ ์‹œ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋„๋ก ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค
122
-
123
- ๋ฐ๋ชฌ์—๋Š” ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € `chorus login`์„ ์‹คํ–‰ํ•˜์„ธ์š”. ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ตœ์ดˆ ์‹œ์ž‘ ์‹œ(ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ) ๋Œ€ํ™”์‹์œผ๋กœ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋„๋ก ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
124
-
125
- #### ๋ถ€ํŒ… / ๋กœ๊ทธ์ธ ์‹œ ์‹คํ–‰ โ€” `chorus daemon install`
126
-
127
- ```bash
128
- chorus daemon install --cwd ~/work/repo-a --cwd ~/work/repo-b # ์„ค์น˜ํ•˜๊ณ  ์ง€๊ธˆ ์‹œ์ž‘, ๋กœ๊ทธ์ธ ์‹œ ์ž๋™ ์‹œ์ž‘
129
- chorus daemon uninstall # ์„œ๋น„์Šค ๋น„ํ™œ์„ฑํ™” ๋ฐ ์ œ๊ฑฐ
130
- ```
131
-
132
- Linux์—์„œ๋Š” `install`์ด `systemd --user` unit์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ๋ชฌ์„ **ํฌ๊ทธ๋ผ์šด๋“œ**(`Type=simple`, `-d` ์—†์Œ)๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด systemd๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง์ ‘ ์†Œ์œ ํ•˜๋ฉฐ, ์ด์–ด์„œ `daemon-reload` + `enable --now`๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. unit์—๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ „๋‹ฌํ•œ `--cwd`/`--agent`/`--chorus-only` ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋‹ด๊น๋‹ˆ๋‹ค. `chorus daemon -d`๋ฅผ ๊ฐ์‹ผ `Type=forking` unit์„ **์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ๋งˆ์„ธ์š”** โ€” ๋ฐ๋ชฌ์€ ์Šค์Šค๋กœ ๋ฐ๋ชฌํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— systemd๊ฐ€ ์ถ”์ ํ•  ์ˆ˜ ์—†๊ณ  ์žฌ์‹œ์ž‘ ์‹œ ๋ฃจํ”„์— ๋น ์ง‘๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ unit์€ `install`์ด ์ž‘์„ฑํ•˜๋„๋ก ๋งก๊ธฐ์„ธ์š”. macOS/Windows์—์„œ๋Š” `install`์ด ์ง์ ‘ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ฌ๋ฐ”๋ฅธ ํ…œํ”Œ๋ฆฟ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. unit์ด ์ธ์ฆ ์ •๋ณด๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ๋จผ์ € `chorus login`์„ ์‹คํ–‰ํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [docs/DAEMON.md](docs/DAEMON.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
133
-
134
- #### ์—ฌ๋Ÿฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ์„œ๋น„์Šคํ•˜๊ธฐ
135
-
136
- ํ•˜๋‚˜์˜ ๋ฐ๋ชฌ์€ ์—ฌ๋Ÿฌ ๋กœ์ปฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋™์‹œ์— ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” ์„ ์–ธ๋œ ๊ฐ ๊ฒฝ๋กœ๋Š” ๋™์ผํ•œ ์—์ด์ „ํŠธ ์•„๋ž˜์—์„œ ๋…๋ฆฝ์ ์ธ ์—ฐ๊ฒฐ(์ž์ฒด ์„ธ์…˜ + ์›จ์ดํฌ ๋ฃจํ”„)๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค. ๊ฒฝ๋กœ๋Š” ๋ฐ๋ชฌ์ด ์„œ๋น„์Šคํ•˜๋Š” **๋‹จ์ง€** ๋””๋ ‰ํ„ฐ๋ฆฌ์ผ ๋ฟ์ด๋ฉฐ, ํ”„๋กœ์ ํŠธ์™€์˜ ๊ฒฐํ•ฉ์€ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
137
-
138
- ```bash
139
- chorus daemon --cwd ~/work/repo-a --cwd ~/work/repo-b # ๋ฐ˜๋ณต ์ง€์ • ๊ฐ€๋Šฅํ•œ ํ”Œ๋ž˜๊ทธ
140
- CHORUS_DAEMON_CWDS="~/work/repo-a:~/work/repo-b" chorus daemon # ๋˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜(`:` ๋˜๋Š” `,` ๊ตฌ๋ถ„)
141
- ```
142
-
143
- `--cwd`๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐ๋ชฌ์€ ์‹คํ–‰๋œ ์œ„์น˜์˜ ๋‹จ์ผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์„œ๋น„์Šคํ•ฉ๋‹ˆ๋‹ค.
144
-
145
- #### ์„ค์ • ํŒŒ์ผ โ€” `~/.chorus/daemon.json`
146
-
147
- `chorus login`์€ ์ธ์ฆ ์ •๋ณด๋ฅผ ์—ฌ๊ธฐ์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค(๋ชจ๋“œ `0600`). ๋ฐ๋ชฌ ์กฐ์ • ํ•ญ๋ชฉ์„ **๊ฐ™์€** ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ•„๋“œ๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด๋ฉฐ, ํ”Œ๋ž˜๊ทธ์™€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ ํŒŒ์ผ๋ณด๋‹ค ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค.
148
-
149
- ```json
150
- {
151
- "url": "https://chorus.example.com",
152
- "apiKey": "cho_xxxxxxxxxxxxxxxxxxxxxxxx",
153
- "agentUuid": "00000000-0000-0000-0000-000000000000",
154
- "agentName": "My Daemon Agent",
155
- "cwds": ["~/work/repo-a", "~/work/repo-b"],
156
- "sigintTimeoutMs": 10000
157
- }
158
- ```
159
-
160
- | ํ•„๋“œ | ํƒ€์ž… | ๊ธฐ๋ก ์ฃผ์ฒด / ์šฉ๋„ | ์šฐ์„ ์ˆœ์œ„(๋†’์€ ์ˆœ) |
161
- |-------|------|-----------------------|----------------------------|
162
- | `url` | string | ์›๊ฒฉ Chorus ์„œ๋ฒ„ URL | `--url` ํ”Œ๋ž˜๊ทธ โ†’ `CHORUS_URL` โ†’ ํŒŒ์ผ |
163
- | `apiKey` | string | ์—์ด์ „ํŠธ API ํ‚ค(`cho_โ€ฆ`) | `--api-key` ํ”Œ๋ž˜๊ทธ โ†’ `CHORUS_API_KEY` โ†’ ํŒŒ์ผ |
164
- | `agentUuid` / `agentName` | string | ์ธ์ฆ๋œ ์‹ ์›(๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋ก) | `chorus login`์ด ๊ธฐ๋ก |
165
- | `cwds` | string[] | ๋ฐ๋ชฌ์ด ์„œ๋น„์Šคํ•˜๋Š” ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ(๋ฉ€ํ‹ฐ ํŒจ์Šค) | `--cwd` ํ”Œ๋ž˜๊ทธ โ†’ `CHORUS_DAEMON_CWDS` โ†’ ํŒŒ์ผ โ†’ ์‹คํ–‰ ๋””๋ ‰ํ„ฐ๋ฆฌ |
166
- | `sigintTimeoutMs` | number | SIGINT ์ดํ›„ ๊ฐ•์ œ ์ข…๋ฃŒ๊นŒ์ง€์˜ ์œ ์˜ˆ ์‹œ๊ฐ„(ms, ๊ธฐ๋ณธ๊ฐ’ `10000`) | `--sigint-timeout` ํ”Œ๋ž˜๊ทธ โ†’ `CHORUS_DAEMON_SIGINT_TIMEOUT` โ†’ ํŒŒ์ผ โ†’ `10000` |
167
- | `yoloAckAt` | string | ๋‚ด๋ถ€์šฉ โ€” TTY yolo ํ™•์ธ์˜ ํƒ€์ž„์Šคํƒฌํ”„(์ž๋™ ๊ด€๋ฆฌ) | โ€” |
168
-
169
- ์‹œ์ž‘ ์‹œ ๋ฐ๋ชฌ ๋ฐฐ๋„ˆ๊ฐ€ **์‹ค์ œ๋กœ ์ฝ์€ `daemon.json` ๊ฒฝ๋กœ**(๊ทธ๋ฆฌ๊ณ  ๊ทธ ํŒŒ์ผ์˜ ์กด์žฌ ์—ฌ๋ถ€)๋ฅผ ์ถœ๋ ฅํ•˜๋ฏ€๋กœ, ์–ด๋–ค ํŒŒ์ผ์„ ํŽธ์ง‘ํ•ด์•ผ ํ•˜๋Š”์ง€ ํ•ญ์ƒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
68
+ ๋กœ์ปฌ ๋จธ์‹ ์„ ๋ฐฐ์ •๋œ ์ž‘์—…์„ ์ด์–ด๋ฐ›๋Š” ์—์ด์ „ํŠธ ๋Ÿฐํƒ€์ž„์œผ๋กœ ๋งŒ๋“ค๋ ค๋ฉด `chorus daemon`์„ ์‹คํ–‰ํ•˜์„ธ์š” โ†’ **[๋ฐ๋ชฌ ์šด์˜](https://doc.chorus-ai.dev/ko/guides/daemon-operations/)** ยท **[์›๊ฒฉ ์ œ์–ด](https://doc.chorus-ai.dev/ko/guides/remote-control/)**.
170
69
 
171
70
  ---
172
71
 
@@ -182,120 +81,31 @@ CHORUS_DAEMON_CWDS="~/work/repo-a:~/work/repo-b" chorus daemon # ๋˜๋Š” ํ™˜๊ฒฝ
182
81
 
183
82
  ![Project Resource Graph](packages/landing/public/images/mind-map.png)
184
83
 
185
- Chorus๋Š” ํ”„๋กœ์ ํŠธ ์ „์ฒด๋ฅผ ๋งˆ์ธ๋“œ๋งต์œผ๋กœ ์ž๋™ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค โ€” ์•„์ด๋””์–ดยท์ œ์•ˆยท๋ฌธ์„œยท์ž‘์—…์ด ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐ๋œ ํŠธ๋ฆฌ๋กœ ๋ฐฐ์น˜๋˜๋ฉฐ โ€” ์—์ด์ „ํŠธ๊ฐ€ ํ•˜๋Š” ์ผ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜ํ•˜๊ณ , ์ž‘์—…์ด ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ ๊ฐ ์นด๋“œ์˜ ์ƒํƒœ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
84
+ ์•„์ด๋””์–ดยท์ œ์•ˆยท๋ฌธ์„œยท์ž‘์—…์ด ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐ๋œ ํŠธ๋ฆฌ๋กœ ๋ฐฐ์น˜๋˜๋ฉฐ, ์—์ด์ „ํŠธ๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ๊ฐ ์นด๋“œ์˜ ์ƒํƒœ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
186
85
 
187
86
  ### ์ œ์•ˆ โ€” AI ์—์ด์ „ํŠธ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณ„ํš์„ ์ƒ์„ฑ
188
87
 
189
88
  ![Proposal Presence](packages/landing/public/images/proposal-presence.gif)
190
89
 
191
- PM ์—์ด์ „ํŠธ๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ณ  PRD์™€ ์ž‘์—… DAG๋ฅผ ํฌํ•จํ•œ ์ œ์•ˆ์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” ์—์ด์ „ํŠธ ํ™œ๋™์„ ๋ณด์—ฌ์ฃผ๋Š” ์‹ค์‹œ๊ฐ„ ํ”„๋ ˆ์ฆŒ์Šค ์ธ๋””์ผ€์ดํ„ฐ์™€ ํ•จ๊ป˜ ๋ง์ด์ฃ .
192
-
193
- ### ํ”ฝ์…€ ์›Œํฌ์ŠคํŽ˜์ด์Šค โ€” ์—์ด์ „ํŠธ์˜ ์‹ค์‹œ๊ฐ„ ์ƒํƒœ
194
-
195
- ![Pixel Workspace](docs/images/pixcel-workspace-new.gif)
196
-
197
- ์™ผ์ชฝ ํŒจ๋„์€ ํ”ฝ์…€ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋กœ, ํ”ฝ์…€ ์บ๋ฆญํ„ฐ๊ฐ€ ๊ฐ ์—์ด์ „ํŠธ์˜ ์‹ค์‹œ๊ฐ„ ์ž‘์—… ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ํŒจ๋„์—๋Š” ์—์ด์ „ํŠธ์˜ ํ„ฐ๋ฏธ๋„ ์ถœ๋ ฅ์ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
90
+ PM ์—์ด์ „ํŠธ๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„์„ํ•ด PRD์™€ ์ž‘์—… DAG๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ์‹ค์‹œ๊ฐ„ ํ”„๋ ˆ์ฆŒ์Šค ์ธ๋””์ผ€์ดํ„ฐ๊ฐ€ ์—์ด์ „ํŠธ ํ™œ๋™์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
198
91
 
199
92
  ### ์นธ๋ฐ˜ โ€” ์‹ค์‹œ๊ฐ„ ์ž‘์—… ํ๋ฆ„
200
93
 
201
94
  ![Kanban Presence](packages/landing/public/images/kanban-presence.gif)
202
95
 
203
- ์นธ๋ฐ˜ ๋ณด๋“œ๋Š” ์—์ด์ „ํŠธ์˜ ์ž‘์—…์— ๋งž์ถฐ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉฐ, ์ž‘์—… ์นด๋“œ๊ฐ€ To Do โ†’ In Progress โ†’ To Verify ์‚ฌ์ด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ ํ”„๋ ˆ์ฆŒ์Šค ์ธ๋””์ผ€์ดํ„ฐ๊ฐ€ ์–ด๋–ค ๋ฆฌ์†Œ์Šค๊ฐ€ ์ž‘์—… ์ค‘์ธ์ง€ ํ•˜์ด๋ผ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
204
-
205
- ### ์นธ๋ฐ˜ & ์ž‘์—… DAG
206
-
207
- ![Kanban & Task DAG](packages/landing/public/images/kanban-dag.png)
208
-
209
- ์ž‘์—… ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๋Š” ์นธ๋ฐ˜ ๋ณด๋“œ์™€, ์‹คํ–‰ ์ˆœ์„œ ๋ฐ ๋ณ‘๋ ฌ ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์˜์กด์„ฑ DAG๋ฅผ ๋‚˜๋ž€ํžˆ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
210
-
211
- ### ์•„์ด๋””์–ด & ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌ์ฒดํ™”
212
-
213
- ![Idea & Elaboration](packages/landing/public/images/idea-elaborate.png)
214
-
215
- PM ์—์ด์ „ํŠธ๋Š” ์ œ์•ˆ์„ ๋งŒ๋“ค๊ธฐ ์ „์— ๊ตฌ์กฐํ™”๋œ Q&A ๋ผ์šด๋“œ๋ฅผ ํ†ตํ•ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ํ•ฉ๋‹ˆ๋‹ค. ํŒจ๋„์—๋Š” ์•„์ด๋””์–ด ์ƒ์„ธ ์ •๋ณด์™€ ํ•จ๊ป˜, ๋‹ต๋ณ€ ๋ฐ ์นดํ…Œ๊ณ ๋ฆฌ ํƒœ๊ทธ๊ฐ€ ๋‹ฌ๋ฆฐ ์™„๋ฃŒ๋œ ๊ตฌ์ฒดํ™” ๋ผ์šด๋“œ๊ฐ€ ๋‚˜๋ž€ํžˆ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
216
-
217
- ### ์ œ์•ˆ ๊ฒ€ํ† 
218
-
219
- ![Proposal Review](packages/landing/public/images/proposal.png)
220
-
221
- PM ์—์ด์ „ํŠธ๊ฐ€ ์ƒ์„ฑํ•œ ์ œ์•ˆ์—๋Š” ๋ฌธ์„œ ์ดˆ์•ˆ๊ณผ ์ž‘์—… DAG ์ดˆ์•ˆ์ด ๋‹ด๊น๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” ์ด ํŒจ๋„์—์„œ ๊ฒ€ํ† ํ•˜์—ฌ ์Šน์ธํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.
222
-
223
- ### ์ˆ˜๋ฝ ๊ธฐ์ค€ โ€” ์ด์ค‘ ๊ฒฝ๋กœ ๊ฒ€์ฆ
224
-
225
- ![Acceptance Criteria](packages/landing/public/images/task-ac.png)
226
-
227
- ๊ฐœ๋ฐœ์ž ์—์ด์ „ํŠธ์˜ ์ž์ฒด ์ ๊ฒ€๊ณผ ๊ด€๋ฆฌ์ž์˜ ๊ฒ€ํ† ๊ฐ€ ๊ฐ ์ˆ˜๋ฝ ๊ธฐ์ค€์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฒ€์ฆํ•˜๋ฉฐ, ๋ชจ๋“  ํ•ญ๋ชฉ๋งˆ๋‹ค ๊ตฌ์กฐํ™”๋œ ํ†ต๊ณผ/์‹คํŒจ ์ฆ๋น™์„ ๋‚จ๊น๋‹ˆ๋‹ค.
228
-
229
- ### ์œ ๋‹ˆ๋ฒ„์„ค ๊ฒ€์ƒ‰ โ€” Cmd+K ์ปค๋งจ๋“œ ํŒ”๋ ˆํŠธ
230
-
231
- ![Universal Search](packages/landing/public/images/universal-search.png)
232
-
233
- 6๊ฐ€์ง€ ์—”ํ‹ฐํ‹ฐ ์œ ํ˜•(์ž‘์—…ยท์•„์ด๋””์–ดยท์ œ์•ˆยท๋ฌธ์„œยทํ”„๋กœ์ ํŠธยทํ”„๋กœ์ ํŠธ ๊ทธ๋ฃน)์„ ์•„์šฐ๋ฅด๋Š” ๊ฒ€์ƒ‰์„ ์œ„ํ•œ Cmd+K ์ปค๋งจ๋“œ ํŒ”๋ ˆํŠธ์ž…๋‹ˆ๋‹ค. ๋ฒ”์œ„ ํ•„ํ„ฐ๋ง(Global / Group / Project), ์—”ํ‹ฐํ‹ฐ ์œ ํ˜•๋ณ„ ํ•„ํ„ฐ ํƒญ, ํ‚ค๋ณด๋“œ ๋‚ด๋น„๊ฒŒ์ด์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Web UI์™€ AI ์—์ด์ „ํŠธ(`chorus_search` MCP ๋„๊ตฌ๋ฅผ ํ†ตํ•ด)๋Š” ๋™์ผํ•œ ๊ฒ€์ƒ‰ ๋ฐฑ์—”๋“œ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
96
+ ์—์ด์ „ํŠธ๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์ž‘์—… ์นด๋“œ๊ฐ€ To Do โ†’ In Progress โ†’ To Verify ์‚ฌ์ด๋ฅผ ์ด๋™ํ•˜๋ฉฐ, ์ง€๊ธˆ ๋‹ค๋ค„์ง€๋Š” ํ•ญ๋ชฉ์— ํ”„๋ ˆ์ฆŒ์Šค ์ธ๋””์ผ€์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
234
97
 
235
98
  ---
236
99
 
237
- ## ๊ธฐ๋Šฅ
238
-
239
- - **์„ธ์…˜ ๋ผ์ดํ”„์‚ฌ์ดํด** โ€” ํ•˜ํŠธ๋น„ํŠธ, ์ž๋™ ๋งŒ๋ฃŒ, ์žฅ์•  ๋ณต๊ตฌ๋ฅผ ๊ฐ–์ถ˜ ์˜์†์  ์„ธ์…˜
240
- - **์ž‘์—… DAG** โ€” ์˜์กด์„ฑ ๋ชจ๋ธ๋ง, ์ˆœํ™˜ ๊ฐ์ง€, ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์‹œ๊ฐํ™”
241
- - **์นธ๋ฐ˜** โ€” ์›Œ์ปค ๋ฐฐ์ง€์™€ ์—์ด์ „ํŠธ ํ”„๋ ˆ์ฆŒ์Šค๋ฅผ ๊ฐ–์ถ˜ ์‹ค์‹œ๊ฐ„ ์ž‘์—… ํ๋ฆ„
242
- - **๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ํ˜‘์—…** โ€” ๋ณ‘๋ ฌ ์‹คํ–‰์„ ์œ„ํ•œ Claude Code Agent Teams(Swarm ๋ชจ๋“œ)
243
- - **์„ธ๋ฐ€ํ•œ ์—์ด์ „ํŠธ ๊ถŒํ•œ** โ€” 5 ๋ฆฌ์†Œ์Šค ร— 3 ์•ก์…˜ ๊ทธ๋ฆฌ๋“œ์™€ ํ”„๋ฆฌ์…‹ + ์ปค์Šคํ…€ ์กฐํ•ฉ([์ƒ์„ธ](docs/PERMISSIONS.md))
244
- - **Chorus Plugin** โ€” ๋ผ์ดํ”„์‚ฌ์ดํด ํ›…์ด ์„ธ์…˜ ์ƒ์„ฑ/์ข…๋ฃŒ, ํ•˜ํŠธ๋น„ํŠธ, ์ปจํ…์ŠคํŠธ ์ฃผ์ž…์„ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค
245
- - **์š”๊ตฌ์‚ฌํ•ญ ๊ตฌ์ฒดํ™”** โ€” ์ œ์•ˆ ์ƒ์„ฑ ์ „์˜ ๊ตฌ์กฐํ™”๋œ Q&A ๋ผ์šด๋“œ
246
- - **์ œ์•ˆ ์Šน์ธ ํ๋ฆ„** โ€” PM์ด ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•˜๊ณ  ๊ด€๋ฆฌ์ž๊ฐ€ ์Šน์ธํ•˜๋ฉด, ์ดˆ์•ˆ์ด ์‹ค์ œ ์—”ํ‹ฐํ‹ฐ๋กœ ๊ตฌ์ฒดํ™”๋ฉ๋‹ˆ๋‹ค
247
- - **์•Œ๋ฆผ** โ€” ์•ฑ ๋‚ด + SSE ํ‘ธ์‹œ + Redis Pub/Sub, ์‚ฌ์šฉ์ž๋ณ„ ์„ค์ • ์ง€์›([์„ค๊ณ„ ๋ฌธ์„œ](src/app/api/notifications/README.md))
248
- - **@๋ฉ˜์…˜** โ€” Tiptap ์ž๋™ ์™„์„ฑ, ๊ถŒํ•œ ๋ฒ”์œ„ ๊ฒ€์ƒ‰, ๋ฉ˜์…˜ ์•Œ๋ฆผ([์„ค๊ณ„ ๋ฌธ์„œ](src/app/api/mentionables/README.md))
249
- - **์•กํ‹ฐ๋น„ํ‹ฐ ์ŠคํŠธ๋ฆผ** โ€” ์„ธ์…˜ ๊ท€์† ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ์™„์ „ํ•œ ๊ฐ์‚ฌ ์ถ”์ 
250
- - **์œ ๋‹ˆ๋ฒ„์„ค ๊ฒ€์ƒ‰** โ€” 6๊ฐ€์ง€ ์—”ํ‹ฐํ‹ฐ ์œ ํ˜•์„ ์•„์šฐ๋ฅด๋Š” Cmd+K, 3๋‹จ๊ณ„ ๋ฒ”์œ„, ์Šค๋‹ˆํŽซ ์ƒ์„ฑ([์„ค๊ณ„ ๋ฌธ์„œ](docs/SEARCH.md))
251
- ---
100
+ ## ์—์ด์ „ํŠธ ์—ฐ๊ฒฐํ•˜๊ธฐ
252
101
 
253
- ## ์•„ํ‚คํ…์ฒ˜
102
+ ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ์•ฑ ๋‚ด ๋งˆ๋ฒ•์‚ฌ์ž…๋‹ˆ๋‹ค: **Settings โ†’ Setup Guide**๋ฅผ ์—ฌ์„ธ์š”. ๋งˆ๋ฒ•์‚ฌ๊ฐ€ API ํ‚ค๋ฅผ ๋งŒ๋“ค๊ณ , ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ(Claude Code, Codex, Kiro, OpenCode, OpenClaw, Pi, ๋˜๋Š” ๊ทธ ๋ฐ–์˜ MCP ํ˜ธํ™˜ ์—์ด์ „ํŠธ)์— ๋งž๋Š” ์ •ํ™•ํ•œ ๋ช…๋ น์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
254
103
 
255
- ```
256
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
257
- โ”‚ Chorus โ€” Agent Harness (:8637) โ”‚
258
- โ”‚ โ”‚
259
- โ”‚ โ”Œโ”€โ”€ Harness Capabilities โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
260
- โ”‚ โ”‚ Session Lifecycle โ”‚ Task State Machine โ”‚ Context Inject โ”‚ โ”‚
261
- โ”‚ โ”‚ Sub-Agent Orchestration โ”‚ Observability โ”‚ Failure Recoveryโ”‚ โ”‚
262
- โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
263
- โ”‚ โ”‚
264
- โ”‚ โ”Œโ”€โ”€ Chorus Plugin (lifecycle hooks) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
265
- โ”‚ โ”‚ SubagentStart/Stop โ”‚ Heartbeat โ”‚ Skill & Context Inject โ”‚ โ”‚
266
- โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
267
- โ”‚ โ”‚
268
- โ”‚ โ”Œโ”€โ”€ API Layer โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
269
- โ”‚ โ”‚ /api/mcp โ€” MCP Streaming (50+ tools, permission-gated) โ”‚ โ”‚
270
- โ”‚ โ”‚ /api/* โ€” REST API (Web UI + SSE push) โ”‚ โ”‚
271
- โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
272
- โ”‚ โ”‚
273
- โ”‚ โ”Œโ”€โ”€ Service Layer โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
274
- โ”‚ โ”‚ AI-DLC Workflow โ”‚ UUID-first โ”‚ Multi-tenant โ”‚ โ”‚
275
- โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
276
- โ”‚ โ”‚
277
- โ”‚ โ”Œโ”€โ”€ Web UI (React 19 + Tailwind + shadcn/ui) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
278
- โ”‚ โ”‚ Kanban โ”‚ Task DAG โ”‚ Proposals โ”‚ Activity โ”‚ Sessions โ”‚ โ”‚
279
- โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
280
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
281
- โ†‘ โ†‘ โ†‘ โ†‘
282
- Agent w/ Agent w/ Agent w/ Human
283
- idea+proposal task:write *:admin perms (Browser)
284
- :write perms perms (proxy approval)
285
- (LLM) (LLM) (LLM)
286
- โ”‚
287
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
288
- โ”‚ PostgreSQL + Prisma โ”‚ โ”‚ Redis (optional) โ”‚
289
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ Pub/Sub for SSE โ”‚
290
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
291
- ```
104
+ ํด๋ผ์ด์–ธํŠธ๋ณ„ ์ „์ฒด ๊ฐ€์ด๋“œ โ†’ **[์—์ด์ „ํŠธ ํ”Œ๋žซํผ](https://doc.chorus-ai.dev/ko/reference/agents/)**.
292
105
 
293
- ### ํŒจํ‚ค์ง€
106
+ API ํ‚ค๋Š” **Settings โ†’ Agents โ†’ Create API Key**์—์„œ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ‚ค๋Š” `cho_`๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ ํ•œ ๋ฒˆ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
294
107
 
295
- | ํŒจํ‚ค์ง€ | ์„ค๋ช… |
296
- |---------|-------------|
297
- | [`packages/openclaw-plugin`](packages/openclaw-plugin) | **OpenClaw Plugin** โ€” ์˜์†์ ์ธ SSE + MCP ๋ธŒ๋ฆฌ์ง€๋กœ [OpenClaw](https://openclaw.ai)์™€ Chorus๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. |
298
- | [`packages/chorus-cdk`](packages/chorus-cdk) | **AWS CDK** โ€” Chorus๋ฅผ AWS์— ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ Infrastructure-as-code. |
108
+ ---
299
109
 
300
110
  ## ๊ธฐ์ˆ  ์Šคํƒ
301
111
 
@@ -303,154 +113,25 @@ PM ์—์ด์ „ํŠธ๊ฐ€ ์ƒ์„ฑํ•œ ์ œ์•ˆ์—๋Š” ๋ฌธ์„œ ์ดˆ์•ˆ๊ณผ ์ž‘์—… DAG ์ดˆ์•ˆ์ด
303
113
  |-----------|-----------|
304
114
  | ํ”„๋ ˆ์ž„์›Œํฌ | Next.js 15 (App Router, Turbopack) |
305
115
  | ์–ธ์–ด | TypeScript 5 (strict mode) |
306
- | ํ”„๋ก ํŠธ์—”๋“œ | React 19, Tailwind CSS 4, shadcn/ui (Radix UI) |
307
- | ORM | Prisma 7 |
308
- | ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค | PostgreSQL 16 |
309
- | ์บ์‹œ/Pub-Sub | Redis 7 (ioredis) โ€” ์„ ํƒ ์‚ฌํ•ญ |
310
- | ์—์ด์ „ํŠธ ์—ฐ๋™ | MCP SDK 1.26 (HTTP Streamable Transport) |
116
+ | ํ”„๋ก ํŠธ์—”๋“œ | React 19, Tailwind CSS 4, shadcn/ui |
117
+ | ๋ฐ์ดํ„ฐ | PostgreSQL 16 + Prisma 7, Redis 7 (optional) |
118
+ | ์—์ด์ „ํŠธ ์—ฐ๋™ | MCP SDK (HTTP Streamable Transport) |
311
119
  | ์ธ์ฆ | OIDC + PKCE / API Key / SuperAdmin |
312
120
  | i18n | next-intl (en, zh, ko, ja) |
313
- | ๋ฐฐํฌ | [Docker Hub](https://hub.docker.com/r/chorusaidlc/chorus-app) / Docker Compose / AWS CDK |
314
-
315
- ---
316
-
317
- ## ์‹œ์ž‘ํ•˜๊ธฐ
318
-
319
- ### Docker๋กœ ์‹œ์ž‘ํ•˜๊ธฐ (๊ถŒ์žฅ)
320
-
321
- ๋นŒ๋“œ ๋„๊ตฌ๋‚˜ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์—๋Š” [PGlite](https://pglite.dev)(๋‚ด์žฅ PostgreSQL)๊ฐ€ ํ•จ๊ป˜ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค:
322
-
323
- ```bash
324
- git clone https://github.com/Chorus-AIDLC/chorus.git
325
- cd chorus
326
-
327
- DEFAULT_USER=admin@example.com DEFAULT_PASSWORD=changeme \
328
- docker compose -f docker-compose.local.yml up -d
329
- ```
330
-
331
- [http://localhost:8637](http://localhost:8637)์„ ์—ด๊ณ  ์œ„์˜ ์ธ์ฆ ์ •๋ณด๋กœ ๋กœ๊ทธ์ธํ•˜์„ธ์š”.
332
-
333
- > ๋ฐ์ดํ„ฐ๋Š” Docker ๋ณผ๋ฅจ์— ์˜์†ํ™”๋ฉ๋‹ˆ๋‹ค. ๋‚ด์žฅ ๋ชจ๋“œ๋Š” ๋‹จ์ผ ์ธ์Šคํ„ด์Šค ์ „์šฉ์ž…๋‹ˆ๋‹ค(Redis ์—†์Œ).
334
-
335
- #### ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ (PostgreSQL + Redis)
336
-
337
- ์—ฌ๋Ÿฌ ๋ ˆํ”Œ๋ฆฌ์นด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์šฉ:
338
-
339
- ```bash
340
- DEFAULT_USER=admin@example.com DEFAULT_PASSWORD=changeme \
341
- docker compose up -d
342
- ```
343
-
344
- > ๋ชจ๋“  ํ™˜๊ฒฝ ๋ณ€์ˆ˜์™€ ์„ค์ • ์˜ต์…˜์€ [Docker ๋ฌธ์„œ](docs/DOCKER.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
345
-
346
- ---
347
-
348
- ### ๋กœ์ปฌ ๊ฐœ๋ฐœ
349
-
350
- ์ „์ œ ์กฐ๊ฑด: Node.js 22+, pnpm 9+, Docker(PostgreSQL/Redis์šฉ)
351
-
352
- ```bash
353
- cp .env.example .env
354
- pnpm docker:db
355
- pnpm install
356
- pnpm db:migrate:dev
357
- pnpm dev
358
- # http://localhost:8637 ์„ ์—ฌ์„ธ์š”
359
- ```
360
-
361
- ### ๋กœ์ปฌ ๊ฐœ๋ฐœ (Docker ์—†์ด)
362
-
363
- ์ „์ œ ์กฐ๊ฑด: Node.js 22+, pnpm 9+
364
-
365
- ```bash
366
- cp .env.example .env
367
- pnpm install
368
- pnpm dev:local # ๊ฐœ๋ฐœ ์„œ๋ฒ„ http://localhost:8637
369
- ```
370
-
371
- PGlite๋Š” ํฌํŠธ 5433์—์„œ ๋‚ด์žฅ PostgreSQL์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” `.pglite/`์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค โ€” ์‚ญ์ œํ•˜๋ฉด ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.
372
-
373
- ### AWS์— ๋ฐฐํฌ
374
-
375
- ```bash
376
- ./install.sh
377
- ```
378
-
379
- ๋Œ€ํ™”์‹ ์ธ์Šคํ†จ๋Ÿฌ๊ฐ€ VPC, Aurora Serverless v2, ElastiCache Serverless, ECS Fargate, HTTPS๋ฅผ ๊ฐ–์ถ˜ ALB๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •์€ ์žฌ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด `default_deploy.sh`์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
380
-
381
- ### AI ์—์ด์ „ํŠธ ์—ฐ๊ฒฐํ•˜๊ธฐ
382
-
383
- ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ์•ฑ ๋‚ด ์„ค์ • ๋งˆ๋ฒ•์‚ฌ์ž…๋‹ˆ๋‹ค: Web UI๋ฅผ ์—ด๊ณ  **Settings โ†’ Setup Guide โ†’ Open setup guide**๋กœ ์ด๋™ํ•œ ๋’ค, ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ(Claude Code, Codex, Kiro, OpenCode, OpenClaw, ๋˜๋Š” ๊ทธ ๋ฐ–์˜ ์—์ด์ „ํŠธ)์— ๋งž๋Š” ๋‹จ๊ณ„๋ณ„ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”. ๋งˆ๋ฒ•์‚ฌ๊ฐ€ API ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๊ณ , ์ •ํ™•ํ•œ ๋ช…๋ น์„ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์—ฐ๊ฒฐ ํ™•์ธ๊นŒ์ง€ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.
384
-
385
- ์ „์ฒด ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์‹ถ๋‹ค๋ฉด:
386
-
387
- | ํด๋ผ์ด์–ธํŠธ | ๊ฐ€์ด๋“œ |
388
- |--------|-------|
389
- | Claude Code | [CONNECT_CLAUDE_CODE.md](docs/CONNECT_CLAUDE_CODE.md) |
390
- | Codex CLI | [CONNECT_CODEX.md](docs/CONNECT_CODEX.md) |
391
- | Pi coding agent | [CONNECT_PI.md](docs/CONNECT_PI.md) |
392
- | Kiro CLI | [CONNECT_KIRO.md](docs/CONNECT_KIRO.md) |
393
- | OpenCode โ€  | [CONNECT_OPENCODE.md](docs/CONNECT_OPENCODE.md) |
394
- | ๊ทธ ๋ฐ–์˜ MCP ์—์ด์ „ํŠธ(Cursor, Continue, ์ปค์Šคํ…€ ๋“ฑ) | [CONNECT_OTHER_AGENTS.md](docs/CONNECT_OTHER_AGENTS.md) |
395
-
396
- โ€  OpenCode ์ง€์›์€ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” [`opencode-chorus`](https://github.com/etnperlong/opencode-chorus) ํ”Œ๋Ÿฌ๊ทธ์ธ(npm: [`opencode-chorus`](https://www.npmjs.com/package/opencode-chorus))์œผ๋กœ ์ œ๊ณต๋˜๋ฉฐ, ์ž‘์„ฑ์ž๋Š” [@etnperlong](https://github.com/etnperlong)์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!
397
-
398
- API ํ‚ค๋Š” Web UI์˜ **Settings โ†’ Agents โ†’ Create API Key**์—์„œ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ‚ค๋Š” `cho_`๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ ํ•œ ๋ฒˆ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
399
-
400
- ![Create API Key](packages/landing/public/images/create-key.png)
401
-
402
- ---
403
-
404
- ## ์Šคํ‚ฌ ๋ฌธ์„œ
405
-
406
- | ๋ฐฉ๋ฒ• | ์œ„์น˜ | ์‚ฌ์šฉ ์‚ฌ๋ก€ |
407
- |--------|----------|----------|
408
- | **ํ”Œ๋Ÿฌ๊ทธ์ธ ๋‚ด์žฅ(Claude Code)** | `public/chorus-plugin/skills/` | Claude Code + Chorus ํ”Œ๋Ÿฌ๊ทธ์ธ, ์ž๋™ํ™”๋œ ์„ธ์…˜๊ณผ ๋ผ์ดํ”„์‚ฌ์ดํด ํ›… |
409
- | **ํ”Œ๋Ÿฌ๊ทธ์ธ ๋‚ด์žฅ(Codex CLI)** | `plugins/chorus/skills/` | Codex CLI + Chorus ํ”Œ๋Ÿฌ๊ทธ์ธ, `$` ์ ‘๋‘์‚ฌ ์Šฌ๋ž˜์‹œ ๋ช…๋ น์„ ๊ฐ–์ถ˜ ์ด์‹ํŒ ์Šคํ‚ฌ |
410
- | **ํŒจํ‚ค์ง€ ๋‚ด์žฅ(Pi)** | `packages/chorus-pi/skills/` | Pi + Chorus ํŒจํ‚ค์ง€, ์ž๋™ํ™”๋œ ์„ธ์…˜๊ณผ ๋ผ์ดํ”„์‚ฌ์ดํด ํ›… |
411
- | **์Šคํƒ ๋“œ์–ผ๋ก ** | `public/skill/`(`/skill/`์—์„œ ์ œ๊ณต) | ๊ทธ ๋ฐ–์˜ MCP ์ง€์› ์—์ด์ „ํŠธ(Cursor, Continue, ์ปค์Šคํ…€), ์ˆ˜๋™ ์„ธ์…˜ ๊ด€๋ฆฌ |
412
-
413
- ### OpenSpec ๋ชจ๋“œ (์˜ตํŠธ์ธ, ํ”Œ๋Ÿฌ๊ทธ์ธ 0.8.1+)
414
-
415
- [OpenSpec](https://github.com/Fission-AI/OpenSpec) CLI๋ฅผ ์„ค์น˜ํ•œ PM
416
- ์—์ด์ „ํŠธ๋Š” ๊ตฌ์กฐํ™”๋œ `proposal.md` + `design.md` +
417
- `specs/<capability>/spec.md` ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ์ œ์•ˆ์„ ์ž‘์„ฑํ•  ์ˆ˜
418
- ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ ํŒŒ์ผ์ด ์ž‘์—… ์‚ฌ๋ณธ์ด๊ณ  Chorus์˜ `documentDrafts`๊ฐ€
419
- ๊ทธ ๋ฏธ๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์–ด๋Š” ์ž์œ  ํ˜•์‹์˜ Markdown์ด ์•„๋‹ˆ๋ผ ์˜ˆ์ธก
420
- ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ(`## ADDED Requirements`, `### Requirement:`,
421
- `#### Scenario:`)๋ฅผ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. `chorus_admin_verify_task`์— ๋Œ€ํ•œ
422
- PostToolUse ํ›…์ด, OpenSpec ์•„์ด๋””์–ด์˜ ๋งˆ์ง€๋ง‰ ์ž‘์—…์ด ๊ฒ€์ฆ๋  ๋•Œ
423
- `openspec archive <slug>` ๋ฆฌ๋งˆ์ธ๋”๋ฅผ ์ฃผ์ž…ํ•˜๋ฏ€๋กœ, ํ™•์ •๋œ ์ŠคํŽ™์€
424
- ์Šน์ธ ์งํ›„ ์žฅ๊ธฐ ์ŠคํŽ™ ์„ธํŠธ์— ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ๋Š” ์—„๊ฒฉํ•˜๊ฒŒ
425
- ์˜ตํŠธ์ธ์ž…๋‹ˆ๋‹ค: `openspec`์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ๋™์ž‘์€
426
- ๋ฐ”๋€Œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Claude Code์—์„œ์˜ ๋งˆ์Šคํ„ฐ ์Šค์œ„์น˜๋Š”
427
- `enableOpenSpec`(ํ”Œ๋Ÿฌ๊ทธ์ธ userConfig, ๊ธฐ๋ณธ๊ฐ’ `true`)์ด๋ฉฐ, ๋‘
428
- ํด๋ผ์ด์–ธํŠธ ๋ชจ๋‘ `CHORUS_OPENSPEC_MODE=off`๋ฅผ ์กด์ค‘ํ•ฉ๋‹ˆ๋‹ค. ์ด
429
- ๋ชจ๋“œ์—์„œ ์ƒˆ๋กœ์šด MCP ๋„๊ตฌ๋‚˜ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์ด ์ถ”๊ฐ€๋˜๋Š” ์ผ์€
430
- ์—†์Šต๋‹ˆ๋‹ค. ์ •๊ทœ ์Šคํ‚ฌ์€ ๊ธฐ์กด์˜ `chorus_pm_*` ์ดˆ์•ˆยท๋ฌธ์„œ ๋„๊ตฌ๋ฅผ
431
- ์žฌ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ฏธ๋Ÿฌ ํ˜ธ์ถœ์€ `chorus-api.sh` ๋ž˜ํผ๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•˜์—ฌ
432
- ์ˆ˜์ฒœ ์ค„์— ๋‹ฌํ•˜๋Š” Markdown์„ LLM ์ปจํ…์ŠคํŠธ ๋ฐ–์— ๋‘ก๋‹ˆ๋‹ค. ์ „์ฒด
433
- ๊ฐ€์ด๋“œ๋Š” [OPENSPEC_MODE.md](docs/OPENSPEC_MODE.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
121
+ | ๋ฐฐํฌ | npm / Docker / AWS CDK |
434
122
 
435
123
  ---
436
124
 
437
125
  ## ๋ฌธ์„œ
438
126
 
439
- | ๋ฌธ์„œ | ์„ค๋ช… |
440
- |----------|------------|
441
- | [PRD](docs/PRD_Chorus.md) | ์ œํ’ˆ ์š”๊ตฌ์‚ฌํ•ญ ๋ฌธ์„œ |
442
- | [Architecture](docs/ARCHITECTURE.md) | ๊ธฐ์ˆ  ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์„œ |
443
- | [MCP Tools](docs/MCP_TOOLS.md) | MCP ๋„๊ตฌ ๋ ˆํผ๋Ÿฐ์Šค |
444
- | [Permissions](docs/PERMISSIONS.md) | ์—์ด์ „ํŠธ ๊ถŒํ•œ ๋ชจ๋ธ(5 ร— 3 ๋งคํŠธ๋ฆญ์Šค, ํ”„๋ฆฌ์…‹, Custom ๋ชจ๋“œ) |
445
- | [Chorus Plugin](docs/chorus-plugin.md) | ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค๊ณ„ ๋ฐ ํ›… ๋ฌธ์„œ |
446
- | [OpenSpec Mode](docs/OPENSPEC_MODE.md) | PM ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ ์˜ตํŠธ์ธ OpenSpec ์ž‘์„ฑ ๋ชจ๋“œ(ํ”Œ๋Ÿฌ๊ทธ์ธ 0.8.1+) |
447
- | [Search](docs/SEARCH.md) | ๊ธ€๋กœ๋ฒŒ ๊ฒ€์ƒ‰ ๊ธฐ์ˆ  ์„ค๊ณ„ |
448
- | [AI-DLC Gap Analysis](docs/AIDLC_GAP_ANALYSIS.md) | AI-DLC ๋ฐฉ๋ฒ•๋ก  ๊ฐญ ๋ถ„์„ |
449
- | [AIG Implementation Plan](docs/CHORUS_AIG_PLAN.md) | ์—์ด์ „ํŠธ ํˆฌ๋ช…์„ฑ ๋กœ๋“œ๋งต |
450
- | [Presence Design](docs/PRESENCE_DESIGN.md) | ์‹ค์‹œ๊ฐ„ ์—์ด์ „ํŠธ ํ”„๋ ˆ์ฆŒ์Šค ์‹œ์Šคํ…œ |
451
- | [Docker](docs/DOCKER.md) | Docker ์ด๋ฏธ์ง€ ์‚ฌ์šฉ๋ฒ• ๋ฐ ๋ฐฐํฌ |
452
- | [Logging](docs/LOGGING.md) | ๊ตฌ์กฐํ™” ๋กœ๊น… ์•„ํ‚คํ…์ฒ˜ |
453
- | [CLAUDE.md](CLAUDE.md) | ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ |
127
+ **๐Ÿ“– ์ „์ฒด ๋ฌธ์„œ: [doc.chorus-ai.dev](https://doc.chorus-ai.dev/ko/)**
128
+
129
+ - [์‹œ์ž‘ํ•˜๊ธฐ](https://doc.chorus-ai.dev/ko/guides/getting-started/)
130
+ - [์—์ด์ „ํŠธ ์—ฐ๊ฒฐ](https://doc.chorus-ai.dev/ko/reference/agents/)
131
+ - [AI-DLC ์›Œํฌํ”Œ๋กœ](https://doc.chorus-ai.dev/ko/guides/ai-dlc-workflow/)
132
+ - [ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ ๋ช…๋ น](https://doc.chorus-ai.dev/ko/guides/plugin-commands/)
133
+ - [MCP ๋„๊ตฌ ๋ ˆํผ๋Ÿฐ์Šค](https://doc.chorus-ai.dev/ko/reference/mcp-tools/)
134
+ - [๋ฐฐํฌ ๋ฐ ์…€ํ”„ ํ˜ธ์ŠคํŒ…](https://doc.chorus-ai.dev/ko/guides/deployment-overview/)
454
135
 
455
136
  ---
456
137