@shepai/cli 1.156.0 → 1.157.0-pr498.211219f

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 (634) hide show
  1. package/README.md +253 -142
  2. package/apis/json-schema/Language.yaml +13 -0
  3. package/apis/json-schema/UserProfile.yaml +3 -0
  4. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +5 -0
  6. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +7 -0
  8. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +11 -1
  10. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  11. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +3 -0
  12. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +5 -0
  14. package/dist/packages/core/src/domain/generated/output.d.ts +14 -0
  15. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  16. package/dist/packages/core/src/domain/generated/output.js +11 -0
  17. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  18. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +4 -2
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts +14 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.d.ts.map +1 -0
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-language-preference.js +19 -0
  23. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
  25. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +1 -1
  26. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +1 -1
  28. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  29. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +3 -1
  30. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +3 -4
  31. package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
  32. package/dist/src/presentation/cli/commands/_serve.command.js +5 -3
  33. package/dist/src/presentation/cli/commands/agent/approve.command.d.ts.map +1 -1
  34. package/dist/src/presentation/cli/commands/agent/approve.command.js +9 -4
  35. package/dist/src/presentation/cli/commands/agent/delete.command.d.ts.map +1 -1
  36. package/dist/src/presentation/cli/commands/agent/delete.command.js +9 -5
  37. package/dist/src/presentation/cli/commands/agent/index.d.ts.map +1 -1
  38. package/dist/src/presentation/cli/commands/agent/index.js +3 -1
  39. package/dist/src/presentation/cli/commands/agent/logs.command.d.ts.map +1 -1
  40. package/dist/src/presentation/cli/commands/agent/logs.command.js +7 -5
  41. package/dist/src/presentation/cli/commands/agent/ls.command.d.ts.map +1 -1
  42. package/dist/src/presentation/cli/commands/agent/ls.command.js +12 -10
  43. package/dist/src/presentation/cli/commands/agent/reject.command.d.ts.map +1 -1
  44. package/dist/src/presentation/cli/commands/agent/reject.command.js +10 -5
  45. package/dist/src/presentation/cli/commands/agent/resolve-run.d.ts.map +1 -1
  46. package/dist/src/presentation/cli/commands/agent/resolve-run.js +7 -2
  47. package/dist/src/presentation/cli/commands/agent/show.command.d.ts.map +1 -1
  48. package/dist/src/presentation/cli/commands/agent/show.command.js +8 -6
  49. package/dist/src/presentation/cli/commands/agent/stop.command.d.ts.map +1 -1
  50. package/dist/src/presentation/cli/commands/agent/stop.command.js +9 -4
  51. package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts.map +1 -1
  52. package/dist/src/presentation/cli/commands/daemon/start-daemon.js +10 -8
  53. package/dist/src/presentation/cli/commands/daemon/stop-daemon.d.ts.map +1 -1
  54. package/dist/src/presentation/cli/commands/daemon/stop-daemon.js +5 -3
  55. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -1
  56. package/dist/src/presentation/cli/commands/feat/adopt.command.js +14 -12
  57. package/dist/src/presentation/cli/commands/feat/approve.command.d.ts.map +1 -1
  58. package/dist/src/presentation/cli/commands/feat/approve.command.js +8 -6
  59. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +1 -1
  60. package/dist/src/presentation/cli/commands/feat/archive.command.js +10 -8
  61. package/dist/src/presentation/cli/commands/feat/del.command.d.ts.map +1 -1
  62. package/dist/src/presentation/cli/commands/feat/del.command.js +17 -15
  63. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  64. package/dist/src/presentation/cli/commands/feat/index.js +2 -1
  65. package/dist/src/presentation/cli/commands/feat/logs.command.d.ts.map +1 -1
  66. package/dist/src/presentation/cli/commands/feat/logs.command.js +8 -6
  67. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
  68. package/dist/src/presentation/cli/commands/feat/ls.command.js +14 -12
  69. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  70. package/dist/src/presentation/cli/commands/feat/new.command.js +43 -37
  71. package/dist/src/presentation/cli/commands/feat/reject.command.d.ts.map +1 -1
  72. package/dist/src/presentation/cli/commands/feat/reject.command.js +11 -9
  73. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.d.ts.map +1 -1
  74. package/dist/src/presentation/cli/commands/feat/resolve-waiting-feature.js +12 -5
  75. package/dist/src/presentation/cli/commands/feat/resume.command.d.ts.map +1 -1
  76. package/dist/src/presentation/cli/commands/feat/resume.command.js +8 -6
  77. package/dist/src/presentation/cli/commands/feat/review.command.d.ts.map +1 -1
  78. package/dist/src/presentation/cli/commands/feat/review.command.js +17 -15
  79. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  80. package/dist/src/presentation/cli/commands/feat/show.command.js +89 -45
  81. package/dist/src/presentation/cli/commands/feat/start.command.d.ts.map +1 -1
  82. package/dist/src/presentation/cli/commands/feat/start.command.js +12 -10
  83. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +1 -1
  84. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +8 -6
  85. package/dist/src/presentation/cli/commands/ide-open.command.d.ts.map +1 -1
  86. package/dist/src/presentation/cli/commands/ide-open.command.js +10 -5
  87. package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
  88. package/dist/src/presentation/cli/commands/install.command.js +29 -21
  89. package/dist/src/presentation/cli/commands/log-viewer.d.ts.map +1 -1
  90. package/dist/src/presentation/cli/commands/log-viewer.js +6 -3
  91. package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -1
  92. package/dist/src/presentation/cli/commands/repo/add.command.js +12 -10
  93. package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
  94. package/dist/src/presentation/cli/commands/repo/index.js +3 -1
  95. package/dist/src/presentation/cli/commands/repo/ls.command.d.ts.map +1 -1
  96. package/dist/src/presentation/cli/commands/repo/ls.command.js +11 -9
  97. package/dist/src/presentation/cli/commands/repo/resolve-repository.d.ts.map +1 -1
  98. package/dist/src/presentation/cli/commands/repo/resolve-repository.js +7 -2
  99. package/dist/src/presentation/cli/commands/repo/show.command.d.ts.map +1 -1
  100. package/dist/src/presentation/cli/commands/repo/show.command.js +21 -10
  101. package/dist/src/presentation/cli/commands/restart.command.d.ts.map +1 -1
  102. package/dist/src/presentation/cli/commands/restart.command.js +6 -4
  103. package/dist/src/presentation/cli/commands/run.command.d.ts.map +1 -1
  104. package/dist/src/presentation/cli/commands/run.command.js +21 -17
  105. package/dist/src/presentation/cli/commands/session/index.d.ts.map +1 -1
  106. package/dist/src/presentation/cli/commands/session/index.js +3 -1
  107. package/dist/src/presentation/cli/commands/session/ls.command.d.ts.map +1 -1
  108. package/dist/src/presentation/cli/commands/session/ls.command.js +11 -9
  109. package/dist/src/presentation/cli/commands/session/show.command.d.ts.map +1 -1
  110. package/dist/src/presentation/cli/commands/session/show.command.js +26 -18
  111. package/dist/src/presentation/cli/commands/settings/agent.command.d.ts.map +1 -1
  112. package/dist/src/presentation/cli/commands/settings/agent.command.js +12 -8
  113. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts.map +1 -1
  114. package/dist/src/presentation/cli/commands/settings/ide.command.js +13 -7
  115. package/dist/src/presentation/cli/commands/settings/index.d.ts +1 -0
  116. package/dist/src/presentation/cli/commands/settings/index.d.ts.map +1 -1
  117. package/dist/src/presentation/cli/commands/settings/index.js +7 -3
  118. package/dist/src/presentation/cli/commands/settings/init.command.d.ts.map +1 -1
  119. package/dist/src/presentation/cli/commands/settings/init.command.js +8 -7
  120. package/dist/src/presentation/cli/commands/settings/language.command.d.ts +14 -0
  121. package/dist/src/presentation/cli/commands/settings/language.command.d.ts.map +1 -0
  122. package/dist/src/presentation/cli/commands/settings/language.command.js +79 -0
  123. package/dist/src/presentation/cli/commands/settings/model.command.d.ts.map +1 -1
  124. package/dist/src/presentation/cli/commands/settings/model.command.js +7 -6
  125. package/dist/src/presentation/cli/commands/settings/show.command.d.ts.map +1 -1
  126. package/dist/src/presentation/cli/commands/settings/show.command.js +4 -3
  127. package/dist/src/presentation/cli/commands/settings/workflow.command.d.ts.map +1 -1
  128. package/dist/src/presentation/cli/commands/settings/workflow.command.js +20 -18
  129. package/dist/src/presentation/cli/commands/start.command.d.ts.map +1 -1
  130. package/dist/src/presentation/cli/commands/start.command.js +5 -3
  131. package/dist/src/presentation/cli/commands/status.command.d.ts.map +1 -1
  132. package/dist/src/presentation/cli/commands/status.command.js +32 -24
  133. package/dist/src/presentation/cli/commands/stop.command.d.ts.map +1 -1
  134. package/dist/src/presentation/cli/commands/stop.command.js +4 -2
  135. package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -1
  136. package/dist/src/presentation/cli/commands/tools.command.js +8 -4
  137. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  138. package/dist/src/presentation/cli/commands/ui.command.js +12 -10
  139. package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
  140. package/dist/src/presentation/cli/commands/upgrade.command.js +18 -13
  141. package/dist/src/presentation/cli/commands/version.command.d.ts.map +1 -1
  142. package/dist/src/presentation/cli/commands/version.command.js +5 -3
  143. package/dist/src/presentation/cli/i18n.d.ts +41 -0
  144. package/dist/src/presentation/cli/i18n.d.ts.map +1 -0
  145. package/dist/src/presentation/cli/i18n.js +100 -0
  146. package/dist/src/presentation/cli/index.js +13 -1
  147. package/dist/src/presentation/cli/ui/install-messages.d.ts.map +1 -1
  148. package/dist/src/presentation/cli/ui/install-messages.js +16 -6
  149. package/dist/src/presentation/tui/i18n.d.ts +24 -0
  150. package/dist/src/presentation/tui/i18n.d.ts.map +1 -0
  151. package/dist/src/presentation/tui/i18n.js +48 -0
  152. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +13 -31
  153. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  154. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +17 -15
  155. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts +7 -11
  156. package/dist/src/presentation/tui/prompts/auth-method.prompt.d.ts.map +1 -1
  157. package/dist/src/presentation/tui/prompts/auth-method.prompt.js +7 -5
  158. package/dist/src/presentation/tui/prompts/ide-select.prompt.d.ts.map +1 -1
  159. package/dist/src/presentation/tui/prompts/ide-select.prompt.js +2 -1
  160. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.d.ts.map +1 -1
  161. package/dist/src/presentation/tui/prompts/prd-review-summary.prompt.js +8 -6
  162. package/dist/src/presentation/tui/wizards/agent-config.wizard.d.ts.map +1 -1
  163. package/dist/src/presentation/tui/wizards/agent-config.wizard.js +2 -1
  164. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -1
  165. package/dist/src/presentation/tui/wizards/github-import.wizard.js +15 -11
  166. package/dist/src/presentation/tui/wizards/merge-review.wizard.d.ts.map +1 -1
  167. package/dist/src/presentation/tui/wizards/merge-review.wizard.js +10 -8
  168. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.d.ts.map +1 -1
  169. package/dist/src/presentation/tui/wizards/onboarding/onboarding.wizard.js +10 -7
  170. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts +0 -41
  171. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.d.ts.map +1 -1
  172. package/dist/src/presentation/tui/wizards/onboarding/steps/workflow-defaults.step.js +15 -15
  173. package/dist/src/presentation/tui/wizards/plan-review.wizard.d.ts.map +1 -1
  174. package/dist/src/presentation/tui/wizards/plan-review.wizard.js +10 -8
  175. package/dist/src/presentation/tui/wizards/prd-review.wizard.d.ts.map +1 -1
  176. package/dist/src/presentation/tui/wizards/prd-review.wizard.js +3 -2
  177. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  178. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +4 -2
  179. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  180. package/dist/src/presentation/web/app/actions/create-feature.js +3 -0
  181. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  182. package/dist/src/presentation/web/app/layout.js +5 -2
  183. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
  184. package/dist/src/presentation/web/components/assistant-ui/thread.js +13 -10
  185. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts.map +1 -1
  186. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.js +3 -1
  187. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
  188. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  189. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +5 -2
  190. package/dist/src/presentation/web/components/common/ci-status-badge/ci-status-badge.js +3 -3
  191. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +4 -4
  192. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  193. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +7 -1
  194. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +1 -1
  195. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.d.ts.map +1 -1
  196. package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +3 -1
  197. package/dist/src/presentation/web/components/common/deployment-status-badge/deployment-status-badge.js +2 -2
  198. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.d.ts.map +1 -1
  199. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +6 -2
  200. package/dist/src/presentation/web/components/common/empty-state/empty-state.stories.js +2 -2
  201. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  202. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +34 -22
  203. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map +1 -1
  204. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +11 -7
  205. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.stories.js +1 -1
  206. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.d.ts.map +1 -1
  207. package/dist/src/presentation/web/components/common/feature-drawer-tabs/branch-sync-status.js +3 -1
  208. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  209. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +4 -2
  210. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.stories.js +2 -2
  211. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.d.ts.map +1 -1
  212. package/dist/src/presentation/web/components/common/feature-drawer-tabs/log-tab.js +5 -3
  213. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -1
  214. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +9 -5
  215. package/dist/src/presentation/web/components/common/feature-list-item/feature-list-item.js +1 -1
  216. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -2
  217. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  218. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +22 -22
  219. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  220. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +49 -36
  221. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.d.ts.map +1 -1
  222. package/dist/src/presentation/web/components/common/feature-node/feature-sessions-dropdown.js +7 -3
  223. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.d.ts.map +1 -1
  224. package/dist/src/presentation/web/components/common/feature-status-badges/feature-status-badges.js +4 -2
  225. package/dist/src/presentation/web/components/common/feature-status-config.d.ts +2 -1
  226. package/dist/src/presentation/web/components/common/feature-status-config.d.ts.map +1 -1
  227. package/dist/src/presentation/web/components/common/feature-status-config.js +6 -6
  228. package/dist/src/presentation/web/components/common/feature-status-group/feature-status-group.js +1 -1
  229. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts.map +1 -1
  230. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.js +4 -2
  231. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +1 -1
  232. package/dist/src/presentation/web/components/common/merge-review/diff-view.js +2 -2
  233. package/dist/src/presentation/web/components/common/merge-review/merge-review.js +2 -2
  234. package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +1 -1
  235. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.js +3 -3
  236. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.d.ts.map +1 -1
  237. package/dist/src/presentation/web/components/common/reject-feedback-dialog/reject-feedback-dialog.js +6 -4
  238. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +3 -3
  239. package/dist/src/presentation/web/components/common/repository-node/repository-node-config.d.ts +1 -1
  240. package/dist/src/presentation/web/components/common/repository-node/repository-node-config.d.ts.map +1 -1
  241. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  242. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +18 -11
  243. package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.js +12 -12
  244. package/dist/src/presentation/web/components/common/server-log-viewer/server-log-viewer.js +1 -1
  245. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.d.ts.map +1 -1
  246. package/dist/src/presentation/web/components/common/task-progress-view/task-progress-view.js +7 -4
  247. package/dist/src/presentation/web/components/common/tech-decisions-review/tech-decisions-review.js +2 -2
  248. package/dist/src/presentation/web/components/common/version-badge/version-badge.d.ts.map +1 -1
  249. package/dist/src/presentation/web/components/common/version-badge/version-badge.js +3 -1
  250. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts.map +1 -1
  251. package/dist/src/presentation/web/components/features/chat/ChatComposer.js +3 -1
  252. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts.map +1 -1
  253. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +7 -5
  254. package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +1 -1
  255. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  256. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +5 -3
  257. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  258. package/dist/src/presentation/web/components/features/chat/ChatTab.js +5 -3
  259. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  260. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +15 -11
  261. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  262. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +14 -6
  263. package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +1 -1
  264. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +2 -2
  265. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  266. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +8 -6
  267. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -1
  268. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +3 -1
  269. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  270. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +4 -2
  271. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +6 -6
  272. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +2 -2
  273. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +2 -2
  274. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +1 -1
  275. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts +5 -0
  276. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts.map +1 -0
  277. package/dist/src/presentation/web/components/features/settings/language-settings-section.js +54 -0
  278. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +18 -0
  279. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +1 -0
  280. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.js +36 -0
  281. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  282. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +100 -88
  283. package/dist/src/presentation/web/components/features/settings/timeout-slider.js +1 -1
  284. package/dist/src/presentation/web/components/features/skills/category-filter.js +1 -1
  285. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +1 -1
  286. package/dist/src/presentation/web/components/features/tools/tool-card.js +1 -1
  287. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +2 -2
  288. package/dist/src/presentation/web/components/features/version/version-page-client.js +1 -1
  289. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  290. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +5 -1
  291. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  292. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +13 -7
  293. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts +17 -0
  294. package/dist/src/presentation/web/components/providers/i18n-provider.d.ts.map +1 -0
  295. package/dist/src/presentation/web/components/providers/i18n-provider.js +36 -0
  296. package/dist/src/presentation/web/components/ui/alert-dialog.js +1 -1
  297. package/dist/src/presentation/web/components/ui/alert.js +1 -1
  298. package/dist/src/presentation/web/components/ui/checkbox-group.js +1 -1
  299. package/dist/src/presentation/web/components/ui/command.js +1 -1
  300. package/dist/src/presentation/web/components/ui/dialog.d.ts.map +1 -1
  301. package/dist/src/presentation/web/components/ui/dialog.js +2 -2
  302. package/dist/src/presentation/web/components/ui/dialog.stories.js +1 -1
  303. package/dist/src/presentation/web/components/ui/drawer.d.ts.map +1 -1
  304. package/dist/src/presentation/web/components/ui/drawer.js +2 -8
  305. package/dist/src/presentation/web/components/ui/dropdown-menu.js +6 -6
  306. package/dist/src/presentation/web/components/ui/scroll-area.js +1 -1
  307. package/dist/src/presentation/web/components/ui/select.js +1 -1
  308. package/dist/src/presentation/web/components/ui/sheet.js +3 -3
  309. package/dist/src/presentation/web/components/ui/sidebar.d.ts.map +1 -1
  310. package/dist/src/presentation/web/components/ui/sidebar.js +15 -15
  311. package/dist/src/presentation/web/components/ui/switch.js +1 -1
  312. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  313. package/dist/src/presentation/web/hooks/use-graph-state.js +7 -4
  314. package/dist/src/presentation/web/hooks/use-sound-action.stories.js +1 -1
  315. package/dist/src/presentation/web/lib/i18n.d.ts +15 -0
  316. package/dist/src/presentation/web/lib/i18n.d.ts.map +1 -0
  317. package/dist/src/presentation/web/lib/i18n.js +64 -0
  318. package/dist/src/presentation/web/lib/language.d.ts +23 -0
  319. package/dist/src/presentation/web/lib/language.d.ts.map +1 -0
  320. package/dist/src/presentation/web/lib/language.js +37 -0
  321. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts +2 -0
  322. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  323. package/dist/src/presentation/web/lib/layout-with-dagre.js +4 -0
  324. package/dist/src/presentation/web/lib/rtl-fonts.d.ts +19 -0
  325. package/dist/src/presentation/web/lib/rtl-fonts.d.ts.map +1 -0
  326. package/dist/src/presentation/web/lib/rtl-fonts.js +51 -0
  327. package/dist/translations/ar/cli.json +613 -0
  328. package/dist/translations/ar/common.json +55 -0
  329. package/dist/translations/ar/tui.json +130 -0
  330. package/dist/translations/ar/web.json +594 -0
  331. package/dist/translations/de/cli.json +613 -0
  332. package/dist/translations/de/common.json +55 -0
  333. package/dist/translations/de/tui.json +109 -0
  334. package/dist/translations/de/web.json +580 -0
  335. package/dist/translations/en/cli.json +613 -0
  336. package/dist/translations/en/common.json +55 -0
  337. package/dist/translations/en/tui.json +130 -0
  338. package/dist/translations/en/web.json +594 -0
  339. package/dist/translations/es/cli.json +613 -0
  340. package/dist/translations/es/common.json +55 -0
  341. package/dist/translations/es/tui.json +130 -0
  342. package/dist/translations/es/web.json +594 -0
  343. package/dist/translations/fr/cli.json +613 -0
  344. package/dist/translations/fr/common.json +55 -0
  345. package/dist/translations/fr/tui.json +130 -0
  346. package/dist/translations/fr/web.json +594 -0
  347. package/dist/translations/he/cli.json +613 -0
  348. package/dist/translations/he/common.json +55 -0
  349. package/dist/translations/he/tui.json +130 -0
  350. package/dist/translations/he/web.json +594 -0
  351. package/dist/translations/pt/cli.json +613 -0
  352. package/dist/translations/pt/common.json +55 -0
  353. package/dist/translations/pt/tui.json +130 -0
  354. package/dist/translations/pt/web.json +594 -0
  355. package/dist/translations/ru/cli.json +613 -0
  356. package/dist/translations/ru/common.json +55 -0
  357. package/dist/translations/ru/tui.json +130 -0
  358. package/dist/translations/ru/web.json +594 -0
  359. package/dist/tsconfig.build.tsbuildinfo +1 -1
  360. package/package.json +5 -3
  361. package/web/.next/BUILD_ID +1 -1
  362. package/web/.next/build-manifest.json +2 -2
  363. package/web/.next/fallback-build-manifest.json +2 -2
  364. package/web/.next/prerender-manifest.json +3 -3
  365. package/web/.next/required-server-files.js +7 -7
  366. package/web/.next/required-server-files.json +7 -7
  367. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  368. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
  369. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  370. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  371. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
  372. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
  373. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  374. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  375. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
  376. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
  377. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  378. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  379. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  380. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
  381. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  382. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  383. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  384. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  385. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  386. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  387. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  388. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
  389. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  390. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  391. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  392. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
  393. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  394. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  395. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
  396. package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
  397. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  398. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  399. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
  400. package/web/.next/server/app/(dashboard)/create/page.js +3 -3
  401. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  402. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  403. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  404. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
  405. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  406. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  407. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  408. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  409. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  410. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  411. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
  412. package/web/.next/server/app/(dashboard)/page.js +3 -3
  413. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  414. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  415. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  416. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
  417. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  418. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  419. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  420. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
  421. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  422. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  423. package/web/.next/server/app/_global-error.html +2 -2
  424. package/web/.next/server/app/_global-error.rsc +1 -1
  425. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  426. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  427. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  428. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  429. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  430. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
  431. package/web/.next/server/app/_not-found/page.js +2 -2
  432. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  433. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  434. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  435. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  436. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  437. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  438. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  439. package/web/.next/server/app/settings/page.js +2 -2
  440. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  441. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  442. package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
  443. package/web/.next/server/app/skills/page.js +3 -4
  444. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  445. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  446. package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
  447. package/web/.next/server/app/tools/page.js +3 -4
  448. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  449. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  450. package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
  451. package/web/.next/server/app/version/page.js +2 -2
  452. package/web/.next/server/app/version/page.js.nft.json +1 -1
  453. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  454. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  455. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  456. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  457. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js.map +1 -1
  458. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +1 -1
  459. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -1
  460. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +1 -1
  461. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
  462. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  463. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  464. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  465. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  466. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  467. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  468. package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js +4 -0
  469. package/web/.next/server/chunks/ssr/{[root-of-the-server]__88f7e8e6._.js.map → [root-of-the-server]__209c9597._.js.map} +1 -1
  470. package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js +4 -0
  471. package/web/.next/server/chunks/ssr/{[root-of-the-server]__17ed7ed1._.js.map → [root-of-the-server]__27301e38._.js.map} +1 -1
  472. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  473. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
  474. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
  475. package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js +4 -0
  476. package/web/.next/server/chunks/ssr/{[root-of-the-server]__42bf1807._.js.map → [root-of-the-server]__6fecf886._.js.map} +1 -1
  477. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  478. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js +4 -0
  479. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +1 -0
  480. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js +4 -0
  481. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f80bfc75._.js.map → [root-of-the-server]__9f3504c7._.js.map} +1 -1
  482. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +4 -0
  483. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +1 -0
  484. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
  485. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
  486. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js +3 -0
  487. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js.map +1 -0
  488. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js +2 -2
  489. package/web/.next/server/chunks/ssr/[root-of-the-server]__e91ffd5e._.js.map +1 -1
  490. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js +1 -1
  491. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -1
  492. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  493. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  494. package/web/.next/server/chunks/ssr/_0dc06d07._.js +3 -0
  495. package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -0
  496. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  497. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  498. package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
  499. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
  500. package/web/.next/server/chunks/ssr/{_67104d9e._.js → _3bcda5d7._.js} +2 -2
  501. package/web/.next/server/chunks/ssr/{_67104d9e._.js.map → _3bcda5d7._.js.map} +1 -1
  502. package/web/.next/server/chunks/ssr/_5119a3df._.js +3 -0
  503. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -0
  504. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  505. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  506. package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
  507. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
  508. package/web/.next/server/chunks/ssr/_64e999ac._.js +4 -0
  509. package/web/.next/server/chunks/ssr/_64e999ac._.js.map +1 -0
  510. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
  511. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
  512. package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
  513. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
  514. package/web/.next/server/chunks/ssr/_8b57edb8._.js +1 -1
  515. package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -1
  516. package/web/.next/server/chunks/ssr/_8d733ce4._.js +1 -1
  517. package/web/.next/server/chunks/ssr/_8d733ce4._.js.map +1 -1
  518. package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
  519. package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
  520. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
  521. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
  522. package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
  523. package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -1
  524. package/web/.next/server/chunks/ssr/{_b354e40a._.js → _b538ed78._.js} +2 -2
  525. package/web/.next/server/chunks/ssr/{_b354e40a._.js.map → _b538ed78._.js.map} +1 -1
  526. package/web/.next/server/chunks/ssr/{_507a8382._.js → _b9ba2473._.js} +2 -2
  527. package/web/.next/server/chunks/ssr/_b9ba2473._.js.map +1 -0
  528. package/web/.next/server/chunks/ssr/_bcaea66b._.js +3 -0
  529. package/web/.next/server/chunks/ssr/_bcaea66b._.js.map +1 -0
  530. package/web/.next/server/chunks/ssr/_bcfa8457._.js +9 -0
  531. package/web/.next/server/chunks/ssr/_bcfa8457._.js.map +1 -0
  532. package/web/.next/server/chunks/ssr/{_08dc06df._.js → _c65661cd._.js} +2 -2
  533. package/web/.next/server/chunks/ssr/{_08dc06df._.js.map → _c65661cd._.js.map} +1 -1
  534. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
  535. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
  536. package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
  537. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
  538. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
  539. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
  540. package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
  541. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
  542. package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
  543. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
  544. package/web/.next/server/chunks/ssr/_d90b0a06._.js +3 -0
  545. package/web/.next/server/chunks/ssr/_d90b0a06._.js.map +1 -0
  546. package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
  547. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
  548. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  549. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  550. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js +1 -1
  551. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js.map +1 -1
  552. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  553. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  554. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  555. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +3 -0
  556. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -0
  557. package/web/.next/server/chunks/ssr/src_presentation_web_components_a5e6c910._.js +1 -1
  558. package/web/.next/server/chunks/ssr/src_presentation_web_components_a5e6c910._.js.map +1 -1
  559. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  560. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  561. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  562. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  563. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  564. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  565. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +3 -0
  566. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -0
  567. package/web/.next/server/pages/500.html +2 -2
  568. package/web/.next/server/server-reference-manifest.js +1 -1
  569. package/web/.next/server/server-reference-manifest.json +45 -45
  570. package/web/.next/static/chunks/00cd442b9cf84237.js +1 -0
  571. package/web/.next/static/chunks/{3e1e0f9bde3530d2.js → 08ff9ace090d2691.js} +1 -1
  572. package/web/.next/static/chunks/{b4cde06eff374c59.js → 0a79dfbb8486b66e.js} +2 -2
  573. package/web/.next/static/chunks/2273b81cd7c7d2af.css +1 -0
  574. package/web/.next/static/chunks/{5064470ab185e453.js → 3da5803ca73cd477.js} +2 -2
  575. package/web/.next/static/chunks/{688971d5bad5dc7c.js → 3deefc76ea55047c.js} +1 -1
  576. package/web/.next/static/chunks/{11091b676d1b3bd4.js → 47477ed4c5871747.js} +1 -1
  577. package/web/.next/static/chunks/4864ff06a738d58b.js +1 -0
  578. package/web/.next/static/chunks/57bab9d5f3035682.js +5 -0
  579. package/web/.next/static/chunks/58e2cd66ee64605d.js +1 -0
  580. package/web/.next/static/chunks/{f98f811478ff3d9e.js → 5d32d2cfb6e43002.js} +1 -1
  581. package/web/.next/static/chunks/{22c459f1877b1e4f.js → 74db65fa7bfb80bd.js} +1 -1
  582. package/web/.next/static/chunks/75979deb4bc83de7.js +1 -0
  583. package/web/.next/static/chunks/7802c90b7b6d11b4.js +1 -0
  584. package/web/.next/static/chunks/{37156b1c0646309f.js → 8f506ab1784f98d1.js} +1 -1
  585. package/web/.next/static/chunks/9061f08ab7e537a8.js +1 -0
  586. package/web/.next/static/chunks/9ebe553c36e2fabe.js +7 -0
  587. package/web/.next/static/chunks/a10261d9b21363a4.js +1 -0
  588. package/web/.next/static/chunks/{baa593a4681fc66e.js → b6fd39a4011ad91c.js} +1 -1
  589. package/web/.next/static/chunks/c9d11e9cabf19e76.js +2 -0
  590. package/web/.next/static/chunks/d2cbeefbc8967b16.js +1 -0
  591. package/web/.next/static/chunks/d5366257d6b9f855.js +1 -0
  592. package/web/.next/static/chunks/{5ae60a052ab5f437.js → d6e702c209c413ce.js} +2 -2
  593. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +0 -3
  594. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +0 -1
  595. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js +0 -4
  596. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js +0 -4
  597. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +0 -1
  598. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js +0 -4
  599. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js +0 -4
  600. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js +0 -4
  601. package/web/.next/server/chunks/ssr/_140901ed._.js +0 -4
  602. package/web/.next/server/chunks/ssr/_140901ed._.js.map +0 -1
  603. package/web/.next/server/chunks/ssr/_4b432739._.js +0 -3
  604. package/web/.next/server/chunks/ssr/_4b432739._.js.map +0 -1
  605. package/web/.next/server/chunks/ssr/_507a8382._.js.map +0 -1
  606. package/web/.next/server/chunks/ssr/_8219712a._.js +0 -3
  607. package/web/.next/server/chunks/ssr/_8219712a._.js.map +0 -1
  608. package/web/.next/server/chunks/ssr/_d4b20e29._.js +0 -3
  609. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +0 -1
  610. package/web/.next/server/chunks/ssr/_e9a73a63._.js +0 -9
  611. package/web/.next/server/chunks/ssr/_e9a73a63._.js.map +0 -1
  612. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js +0 -3
  613. package/web/.next/server/chunks/ssr/src_presentation_web_324a47da._.js.map +0 -1
  614. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +0 -3
  615. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +0 -1
  616. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +0 -3
  617. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +0 -1
  618. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +0 -3
  619. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +0 -1
  620. package/web/.next/static/chunks/0104ee32c0b12767.js +0 -7
  621. package/web/.next/static/chunks/1555e75b3393cfe1.js +0 -1
  622. package/web/.next/static/chunks/4b2c4a5c35ebb70d.js +0 -1
  623. package/web/.next/static/chunks/697bbb4ddfc7aed8.js +0 -1
  624. package/web/.next/static/chunks/8590bd2e69b24b9e.css +0 -1
  625. package/web/.next/static/chunks/88a729f218d9628b.js +0 -5
  626. package/web/.next/static/chunks/88ffe4a8760a3559.js +0 -1
  627. package/web/.next/static/chunks/8ba1c07ef18b15a9.js +0 -1
  628. package/web/.next/static/chunks/92629ccb27a1bdb9.js +0 -2
  629. package/web/.next/static/chunks/ae30b66927c676ff.js +0 -1
  630. package/web/.next/static/chunks/cd54b758f58061d0.js +0 -1
  631. package/web/.next/static/chunks/f5c527d3f8699035.js +0 -1
  632. /package/web/.next/static/{N3SkMLMrYUFai4W2zwMGS → TZZSVWjYVCLsmKMD3xKZi}/_buildManifest.js +0 -0
  633. /package/web/.next/static/{N3SkMLMrYUFai4W2zwMGS → TZZSVWjYVCLsmKMD3xKZi}/_clientMiddlewareManifest.json +0 -0
  634. /package/web/.next/static/{N3SkMLMrYUFai4W2zwMGS → TZZSVWjYVCLsmKMD3xKZi}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -1,66 +1,62 @@
1
1
  <div align="center">
2
2
 
3
- # Shep AI
3
+ <h1>
4
+ <picture>
5
+ <source media="(prefers-color-scheme: dark)" srcset="src/presentation/web/public/favicon-light.svg">
6
+ <source media="(prefers-color-scheme: light)" srcset="src/presentation/web/public/favicon-dark.svg">
7
+ <img src="src/presentation/web/public/favicon-light.svg" alt="Shep logo" width="28" valign="middle" />
8
+ </picture>
9
+ Shep
10
+ </h1>
4
11
 
5
- ### AI-assisted feature development with human checkpoints
12
+ ### Run multiple AI agents in parallel. Each in its own worktree.
6
13
 
7
- _Describe a feature in plain English. Shep builds it step by step — researching, planning, coding, and testingpausing for your approval at every critical decision._
14
+ _Manage 10 features at once isolated branches, automatic commits, CI watching, and PRsfrom a dashboard or the terminal._
8
15
 
9
- [![CI](https://github.com/shep-ai/cli/actions/workflows/ci.yml/badge.svg)](https://github.com/shep-ai/cli/actions/workflows/ci.yml)
16
+ [![CI](https://github.com/shep-ai/shep/actions/workflows/ci.yml/badge.svg)](https://github.com/shep-ai/shep/actions/workflows/ci.yml)
10
17
  [![npm version](https://img.shields.io/npm/v/@shepai/cli.svg?color=cb3837&logo=npm)](https://www.npmjs.com/package/@shepai/cli)
11
18
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12
19
 
13
- [How It Works](#how-it-works) · [Quick Start](#quick-start) · [Trust & Safety](#trust--safety) · [CLI Reference](#cli-reference) · [FAQ](#faq)
20
+ [Quick Start](#quick-start) · [How It Works](#how-it-works) · [Features](#features) · [Trust & Safety](#trust--safety) · [FAQ](#faq)
14
21
 
15
22
  <br />
16
23
 
17
- <img src="docs/screenshots/cover.png" alt="Shep AI" width="900" />
24
+ <img src="docs/screenshots/cover.png" alt="Shep — Parallel AI Agent Sessions" width="900" />
18
25
 
19
26
  </div>
20
27
 
21
28
  ---
22
29
 
23
- ## Who is Shep for?
30
+ ## Why Shep?
24
31
 
25
- Solo developers and small teams who use AI coding agents (Claude Code, Cursor, Gemini CLI) and want structure around the messy parts turning a feature idea into a clear plan, keeping work isolated per feature, and not losing context when switching between tasks.
32
+ You're already using AI coding agents. The problem isn't the codingit's everything around it.
26
33
 
27
- Shep is not a replacement for your coding agent. It's the orchestration layer that sits above it: it manages requirements, plans, git branches, and review gates so you can focus on the parts that need human judgment.
34
+ Switching branches. Stashing changes. Watching CI. Assembling PRs. Losing context when you juggle three things at once. One agent session is fine. Five is chaos.
28
35
 
29
- ---
30
-
31
- ## How It Works
32
-
33
- Every feature moves through a structured pipeline. You control how much autonomy the agent gets.
36
+ **Shep gives each feature its own isolated world** — a git worktree, a branch, an agent session — and handles the boring parts: committing, pushing, opening PRs, watching CI, and fixing failures. You manage it all from one dashboard or the CLI.
34
37
 
35
- ```
36
- You describe Shep generates Shep researches Shep writes Shep codes Shep opens
37
- a feature → requirements → your codebase → a plan → + tests → a PR
38
- ▲ ▲ ▲
39
- Gate 1: PRD Gate 2: Plan Gate 3: Merge
40
- (approve/edit) (approve/edit) (approve/reject)
38
+ ```bash
39
+ shep feat new "add stripe payments" --push --pr
40
+ shep feat new "add dark mode toggle" --push --pr
41
+ shep feat new "fix login redirect bug" --push --pr
42
+ # Three agents running in parallel. Zero branch conflicts. You monitor from one place.
41
43
  ```
42
44
 
43
- **Three approval gates.** Each one pauses execution and waits for you to review, edit, or approve before the agent continues. You choose which gates to enable:
45
+ ---
44
46
 
45
- | Flag | Gate | What you're approving |
46
- |------|------|-----------------------|
47
- | `--allow-prd` | Requirements | Auto-approve the generated PRD |
48
- | `--allow-plan` | Plan | Auto-approve the implementation plan |
49
- | `--allow-merge` | Merge | Auto-approve the final PR |
50
- | `--allow-all` | All three | Fully autonomous — agent handles everything |
47
+ ## Quick Start
51
48
 
52
- **With no flags**, every gate requires your explicit approval. You see exactly what the agent intends to do before it does it.
49
+ ### Prerequisites
53
50
 
54
- ### What happens when things go wrong
51
+ - **Node.js 22+** and **npm** (or install via `nvm`)
52
+ - **Git** and **GitHub CLI** (`gh`) — [install guide](https://cli.github.com/)
53
+ - **An AI coding agent**, authenticated and ready:
54
+ - **Claude Code**: `claude` · **Cursor CLI**: `cursor` · **Gemini CLI**: `gemini`
55
+ - If prompted to log in, complete auth first — Shep can't authenticate on your behalf.
55
56
 
56
- - **CI fails after PR creation.** Shep reads the CI logs, diagnoses the failure, and pushes a fix. It retries up to 3 times before pausing and asking for your input.
57
- - **Agent gets stuck or produces bad output.** The feature enters a `Blocked` state. You get notified and can provide feedback, reject the current phase, or restart from a checkpoint.
58
- - **You don't like the plan.** Reject it with comments. Shep regenerates the plan incorporating your feedback.
59
- - **You want to take over mid-feature.** The code lives in a standard git worktree on a named branch. You can open it in your IDE and work on it directly at any point.
57
+ > **Sandbox mode note:** Some agents restrict network access by default. If operations like `npm install` fail, configure allowed hosts in your agent's settings or disable sandbox for Shep features. See [Agent Permissions](#agent-permissions).
60
58
 
61
- ---
62
-
63
- ## Quick Start
59
+ ### Install and run
64
60
 
65
61
  ```bash
66
62
  # Try it instantly — no install needed
@@ -69,195 +65,310 @@ npx @shepai/cli
69
65
  # Or install globally
70
66
  npm i -g @shepai/cli
71
67
 
72
- # Start Shep — opens the web dashboard at http://localhost:4050
68
+ # Start Shep — opens the web dashboard at localhost:4050
73
69
  shep
74
70
  ```
75
71
 
76
72
  ### Your first feature
77
73
 
78
74
  ```bash
79
- # With approval gates (recommended to start)
80
- shep feat new "add a /health endpoint that returns uptime and version"
75
+ cd ~/projects/my-app # Any git repo. Shep uses the repo you're in.
76
+ shep feat new "add a /health endpoint that returns uptime and version" --push --pr
81
77
 
82
- # Shep will pause at each gate for your review.
83
- # Once you're comfortable, try autonomous mode:
84
- shep feat new "add rate limiting to the API" --allow-all --push --pr
78
+ # Shep creates a worktree, runs your agent, commits, pushes, and opens a PR.
85
79
  ```
86
80
 
87
- ### Parallel features
81
+ Not in a git repo? Shep initializes one for you — `git init`, creates a branch, and starts working.
82
+
83
+ Or use the dashboard — describe what you need, configure automation, and hit create:
88
84
 
89
- Each feature gets its own git worktree — no stashing, no branch conflicts:
85
+ <div align="center">
86
+ <img src="docs/screenshots/create-feature.png" alt="Shep — Create Feature with configurable automation" width="900" />
87
+ </div>
88
+
89
+ ### Go parallel
90
90
 
91
91
  ```bash
92
92
  shep feat new "add stripe payments" --push --pr
93
93
  shep feat new "add dark mode toggle" --push --pr
94
- # Both run simultaneously in isolated worktrees
94
+ shep feat new "refactor auth middleware" --push --pr
95
+ # All three run simultaneously in the same repo. Each in its own worktree.
96
+ ```
97
+
98
+ Launch from CLI or dashboard — monitor everything in one place. Open any feature in your IDE, terminal, or file manager with one click:
99
+
100
+ <div align="center">
101
+ <img src="docs/screenshots/parallel-features.png" alt="Shep — Three features running in parallel" width="900" />
102
+ </div>
103
+
104
+ Or work across multiple repos:
105
+
106
+ ```bash
107
+ shep feat new "add payments" --repo ~/projects/backend --push --pr
108
+ shep feat new "add checkout UI" --repo ~/projects/frontend --push --pr
109
+ ```
110
+
111
+ Manage multiple repos from one dashboard. Start a local dev server per feature, chat with Shep for questions or HTML previews — all without leaving the UI:
112
+
113
+ <div align="center">
114
+ <img src="docs/screenshots/multi-repo.png" alt="Shep — Multiple repos with global chat and HTML preview" width="900" />
115
+ </div>
116
+
117
+ ---
118
+
119
+ ## How It Works
120
+
121
+ The default flow is simple: **prompt → implement → commit → push → PR**.
122
+
123
+ ```
124
+ You describe Agent codes Shep commits Shep pushes Shep opens
125
+ a feature → in a worktree → the changes → to remote → a PR
126
+ ```
127
+
128
+ Shep creates an isolated git worktree, hands your prompt to the agent, and handles everything after: committing, pushing, and opening a PR. If CI fails, Shep reads the logs, fixes the issue, and retries (configurable).
129
+
130
+ ### Configure everything
131
+
132
+ Every step of the pipeline is configurable. Turn things on or off per feature or set defaults:
133
+
134
+ | Flag | What it does | Default |
135
+ |------|-------------|---------|
136
+ | `--push` | Auto-push after implementation | off |
137
+ | `--pr` | Auto-create PR after push | off |
138
+ | `--fast` | Skip spec-driven phases, go straight to coding | on |
139
+ | `--allow-merge` | Auto-merge the PR after CI passes | off |
140
+ | `--allow-all` | Enable all automations | off |
141
+ | `--model` | Choose which AI model to use | agent default |
142
+ | `--attach` | Attach reference files for context | — |
143
+
144
+ Use `shep settings workflow` to set your defaults so you don't repeat flags.
145
+
146
+ ### Optional: Spec-Driven Development
147
+
148
+ For complex features, enable the full structured pipeline with requirements, research, and planning phases:
149
+
150
+ ```bash
151
+ # Disable --fast to get the full pipeline
152
+ shep feat new "redesign the payment system" --no-fast --push --pr
153
+ ```
154
+
155
+ This adds **approval gates** where Shep pauses for your review:
156
+
157
+ ```
158
+ Prompt → Requirements → Research → Plan → Implement → Commit → PR
159
+ ▲ ▲ ▲
160
+ Gate 1: PRD Gate 2: Plan Gate 3: Merge
95
161
  ```
96
162
 
163
+ Each gate produces a YAML artifact you can read, edit, and approve before the agent continues. Use `--allow-prd` and `--allow-plan` to auto-approve individual gates, or keep them manual for full control.
164
+
165
+ > **[Spec-Driven Development guide →](./docs/development/spec-driven-workflow.md)**
166
+
167
+ ---
168
+
169
+ ## Features
170
+
171
+ ### Parallel Sessions
172
+
173
+ Run multiple features at once. Each gets its own git worktree — isolated branch, isolated files, zero conflicts. Monitor all of them from one dashboard.
174
+
175
+ ### Prompt to PR
176
+
177
+ One command: `shep feat new "do X" --push --pr`. Agent implements, Shep commits, pushes, opens a PR. Done.
178
+
179
+ ### Agent-Agnostic
180
+
181
+ Use Claude Code, Cursor CLI, or Gemini CLI. Swap per feature, per repo, anytime. If it runs in a terminal, Shep can orchestrate it.
182
+
183
+ ### Web Dashboard + CLI
184
+
185
+ Two ways to manage everything. The dashboard at `localhost:4050` shows a visual graph of all repos and features with real-time status, diff review, and interactive chat. The CLI gives you the same control from the terminal.
186
+
187
+ ### CI Watch & Auto-Fix
188
+
189
+ Shep watches your CI pipeline after push. If it fails, the agent reads the logs, diagnoses the problem, and pushes a fix. Retries are configurable (default: 3). Works best when CI produces clear error messages.
190
+
191
+ ### Everything Configurable
192
+
193
+ Push, PR, merge, CI watch, CI fix retries, timeouts, model selection, agent type — configure per feature with flags or set global defaults with `shep settings`. Nothing is hardcoded.
194
+
195
+ ### 100% Local
196
+
197
+ All data lives in `~/.shep/` as SQLite. No cloud, no account, no tracking. Your code is only sent to whichever AI agent you configure, under that agent's own terms.
198
+
199
+ ### Optional: Spec-Driven Development
200
+
201
+ When you need more structure — requirements, technical research, implementation plans with approval gates. Produces versioned YAML artifacts you review before any code is written. Enable per feature with `--no-fast`.
202
+
203
+ ---
204
+
205
+ ## What Happens When Things Go Wrong
206
+
207
+ - **CI fails.** Shep reads the logs, diagnoses the problem, and pushes a fix. Retries up to 3 times (configurable), then pauses and asks you.
208
+ - **Agent gets stuck.** The feature enters a `Blocked` state. You get notified and can provide feedback or restart from a checkpoint.
209
+ - **You need to stop immediately.** Run `shep agent stop <id>` or hit the stop button in the dashboard. The worktree is preserved — resume or take over manually.
210
+ - **You want to take over.** The code lives in a standard git worktree on a named branch. Open it in your IDE at any point.
211
+ - **Too many features in flight.** Each feature is independent. Stop, pause, or delete any of them without affecting the others.
212
+
97
213
  ---
98
214
 
99
215
  ## Trust & Safety
100
216
 
101
- Shep runs entirely on your machine. Here's the security model:
217
+ Shep runs entirely on your machine.
102
218
 
103
219
  | Concern | How Shep handles it |
104
220
  |---------|-------------------|
105
- | **Data stays local** | All data lives in `~/.shep/` as SQLite databases. Nothing is sent to Shep servers — there are none. |
106
- | **Agent sandboxing** | Shep delegates coding to your chosen agent (Claude Code, Cursor CLI, Gemini CLI). The agent's own permission model applies. Shep does not grant additional permissions. |
107
- | **Git isolation** | Every feature runs in its own git worktree branched from your main branch. Your working directory is never modified. |
108
- | **No credential access** | Shep never reads, stores, or transmits your API keys. Agent authentication is handled by the agent itself. |
109
- | **Review before merge** | Unless you explicitly pass `--allow-merge`, no code is merged without your approval. PRs are created as drafts when using `--pr`. |
110
- | **Audit trail** | Every agent action, approval, and state transition is logged. View with `shep feat logs <id>`. |
221
+ | **Data stays local** | All data in `~/.shep/` as SQLite. Nothing sent to Shep servers — there are none. |
222
+ | **Agent permissions** | Shep runs your agent with permission-bypass flags to avoid blocking the automated pipeline. See [Agent Permissions](#agent-permissions) below. |
223
+ | **Git isolation** | Every feature runs in its own worktree branched from main. Your working directory is never modified. |
224
+ | **No credential access** | Shep never reads, stores, or transmits your API keys. |
225
+ | **Agent mistakes** | Shep creates a draft PR. Your CI, linters, and security scanners run before any merge. Shep does not merge code that fails CI. |
226
+ | **Review before merge** | Unless you pass `--allow-merge`, no code is merged without your approval. |
227
+ | **Full audit trail** | Every action and state transition is logged. View with `shep feat logs <id>`. |
111
228
 
112
- **What `--allow-all` actually means:** The agent will auto-approve requirements, auto-approve the plan, and auto-merge the PR. It does _not_ bypass CI — your CI pipeline still runs and must pass. Use this for low-risk tasks on repos with good test coverage, not for changes to production infrastructure.
229
+ ### Agent Permissions
113
230
 
114
- ---
231
+ Shep runs your agent non-interactively — it can't pause for "allow this command?" prompts mid-pipeline. By default, it passes permission-bypass flags (e.g., `--dangerously-skip-permissions` for Claude Code — each agent has an equivalent).
115
232
 
116
- ## Features
233
+ **Your safety net is three layers deep:**
234
+ 1. **Worktree isolation** — the agent works on a copy, not your checkout
235
+ 2. **Draft PRs** — you review the diff before anything is merged
236
+ 3. **CI pipeline** — your tests, linters, and security scanners run before merge
117
237
 
118
- - **Structured lifecycle** Requirements, research, planning, implementation, and review as distinct phases, not one opaque prompt
119
- - **Three configurable approval gates** — Full control, full autonomy, or anything in between
120
- - **Parallel features via worktrees** — Multiple features in flight at once with zero branch conflicts
121
- - **Agent-agnostic** — Claude Code, Cursor CLI, or Gemini CLI — swap anytime per feature or per repo
122
- - **Web dashboard** — Interactive graph of repos and features with real-time status, diff review, and approval actions at `localhost:4050`
123
- - **CI fix loop** — When CI fails, the agent reads logs, diagnoses, and retries before asking for help
124
- - **100% local** — SQLite storage, no cloud dependency, no account needed
238
+ The skip-permissions flag is a default, not a requirement. Configure your agent's permission model independently if you need tighter control.
125
239
 
126
- > **[Full features guide with screenshots →](./docs/FEATURES.md)**
240
+ **What Shep does NOT protect you from:** If your CI doesn't catch a vulnerability, Shep won't either. Shep is an orchestration layer, not a security scanner.
127
241
 
128
242
  ---
129
243
 
130
- ## CLI Reference
244
+ ## Supported Agents & Tools
131
245
 
132
- ### Daemon
246
+ | Category | Supported |
247
+ |----------|-----------|
248
+ | **AI Agents** | Claude Code, Cursor CLI, Gemini CLI |
249
+ | **IDEs** | VS Code, Cursor, Zed, Windsurf, and more |
250
+ | **Required** | Git, GitHub CLI (`gh`) |
133
251
 
134
- ```
135
- shep Start daemon + onboarding (first run)
136
- shep start [--port <number>] Start web UI daemon (background, default port 4050)
137
- shep stop Stop the running daemon
138
- shep restart Restart the daemon
139
- shep status Show daemon status and live metrics
140
- shep ui [--port] [--no-open] Start the web UI in the foreground
141
- ```
252
+ ---
253
+
254
+ ## CLI Reference
142
255
 
143
- ### Feature Management
256
+ ### Core Commands
144
257
 
145
258
  ```
146
- shep feat new <description> Create a new feature
147
- [--repo] [--push] [--pr]
259
+ shep Start daemon + onboarding (first run)
260
+ shep feat new <description> Create a new feature
261
+ [--push] [--pr] [--fast] [--model] [--attach]
148
262
  [--allow-prd] [--allow-plan] [--allow-merge] [--allow-all]
149
- [--parent] [--fast] [--model] [--attach]
150
- shep feat ls [--repo] List features
151
- shep feat show <id> Show feature details
152
- shep feat del <id> Delete a feature
153
- shep feat resume <id> Resume a paused feature
154
- shep feat review <id> Review a feature
155
- shep feat approve <id> [--comments] Approve a feature
156
- shep feat reject <id> [--feedback] Reject a feature
157
- shep feat logs <id> View feature logs
263
+ shep feat ls List features
264
+ shep feat show <id> Show feature details
265
+ shep feat resume <id> Resume a paused feature
266
+ shep feat approve <id> Approve current phase (spec-driven mode)
267
+ shep feat reject <id> --feedback Reject with feedback (spec-driven mode)
268
+ shep feat logs <id> View feature logs
158
269
  ```
159
270
 
160
- ### Agent Management
271
+ ### Stopping a Feature
161
272
 
162
273
  ```
163
- shep agent ls List agents
164
- shep agent show <id> Show agent details
165
- shep agent stop <id> Stop a running agent
166
- shep agent logs <id> View agent logs
167
- shep agent delete <id> Delete an agent
168
- shep agent approve <id> Approve an agent action
169
- shep agent reject <id> Reject an agent action
274
+ shep agent stop <id> Stop a running agent immediately
275
+ shep agent ls Find the agent ID for a feature
170
276
  ```
171
277
 
172
- ### Repository & Session Management
173
-
174
- ```
175
- shep repo ls List repositories
176
- shep repo show <id> Show repository details
177
- shep session ls List sessions
178
- shep session show <id> Show session details
179
- ```
278
+ The web dashboard also has a stop button on every in-progress feature.
180
279
 
181
- ### Settings
280
+ ### Daemon & Dashboard
182
281
 
183
282
  ```
184
- shep settings Launch setup wizard
185
- shep settings show Display current configuration
186
- shep settings init Initialize settings
187
- shep settings agent Configure AI coding agent
188
- shep settings ide Configure IDE
189
- shep settings workflow Configure workflow
190
- shep settings model Configure model
283
+ shep start [--port] Start web daemon (default: 4050)
284
+ shep stop Stop the daemon
285
+ shep status Show daemon status and metrics
286
+ shep ui Start web UI in foreground
191
287
  ```
192
288
 
193
- ### Tools
289
+ ### Settings & Configuration
194
290
 
195
291
  ```
196
- shep tools list List tools with install status
197
- shep install <tool> [--how] Install a dev tool
198
- shep ide-open [--ide] [--dir] Open IDE in directory
292
+ shep settings Launch setup wizard
293
+ shep settings workflow Configure default flags (push, pr, ci watch, etc.)
294
+ shep settings agent Configure AI coding agent
295
+ shep settings ide Configure IDE
296
+ shep settings model Configure default model
199
297
  ```
200
298
 
201
- ### Other
299
+ ### Agent & Repo Management
202
300
 
203
301
  ```
204
- shep version Show version info
205
- shep upgrade Upgrade to latest version
206
- shep run <agent> [-p prompt] [-r repo] [-s] Run an agent directly
302
+ shep agent ls List agent runs
303
+ shep agent stop <id> Stop a running agent
304
+ shep agent logs <id> View agent logs
305
+ shep repo ls List repositories
207
306
  ```
208
307
 
308
+ > **[Full CLI reference →](./docs/cli/architecture.md)**
309
+
209
310
  ---
210
311
 
211
312
  ## FAQ
212
313
 
213
- **How is this different from just using Claude Code / Cursor directly?**
214
- Those tools are excellent at writing code given a prompt. Shep adds the layer above: breaking a feature into structured phases, managing requirements and plans as reviewable artifacts, isolating work in git worktrees, and handling the PR/CI lifecycle. Think of it as a project manager for your AI coding agent.
314
+ **How is this different from just using an AI coding agent directly?**
315
+
316
+ Your agent writes the code. Shep manages the session: creating the worktree, committing, pushing, opening PRs, watching CI, and retrying failures. The difference is most obvious when you're running 3-5 features in parallel — Shep keeps them organized and isolated while you focus on what matters.
317
+
318
+ **How is this different from Superset?**
319
+
320
+ Superset is a terminal multiplexer for agents — it runs them in parallel tabs. Shep manages the development lifecycle: worktrees, commits, pushes, PRs, CI. They're complementary. Use Superset for the execution environment, Shep for the workflow.
215
321
 
216
322
  **What happens if the agent writes bad code?**
217
- The same thing that happens in a normal code review. Shep creates a PR. Your CI runs. If tests fail, Shep attempts to fix them. If the fix loop exhausts retries, the feature pauses and you're notified. You can also reject at any approval gate with feedback, and Shep will regenerate.
323
+
324
+ Shep creates a draft PR. Your CI runs. If tests fail, the agent reads the logs and attempts a fix (up to 3 retries, configurable). If that fails, the feature pauses and you're notified. The agent never merges code that fails CI.
325
+
326
+ **What about agent sandbox / permission modes?**
327
+
328
+ Shep runs the agent with permission-bypass flags by default so the pipeline isn't blocked by interactive prompts. Your protection is worktree isolation, draft PRs, and your CI pipeline. See [Agent Permissions](#agent-permissions).
218
329
 
219
330
  **Does this work on large codebases?**
220
- Shep's research phase scans your codebase to build context before planning. The quality of the output depends on the underlying agent's ability to handle your repo. If Claude Code or Cursor works well on your codebase directly, Shep will too — it adds structure, not limitations.
331
+
332
+ Yes. The practical limit is the underlying agent's context window, not Shep. If your agent handles your repo well directly, Shep will too. For monorepos, scope features to specific packages with `--repo`.
221
333
 
222
334
  **Can I use this on a team?**
223
- Shep runs locally and operates on your git repo. Multiple team members can each run Shep independently. Features are just branches and PRs — your existing review process applies. There is no shared server or collaboration layer today.
335
+
336
+ Shep runs locally on your git repo. Multiple team members can run Shep independently. Features are just branches and PRs — your existing review process applies.
224
337
 
225
338
  **Is my code sent anywhere?**
226
- Not by Shep. Your code is sent to whichever AI agent you configure (Claude, Cursor, Gemini) under that agent's own privacy terms. Shep itself stores everything in local SQLite and makes no network calls.
227
339
 
228
- ---
340
+ Not by Shep. Your code is sent to whichever AI agent you configure, under that agent's own privacy terms. Shep stores everything locally and makes no network calls.
229
341
 
230
- ## Architecture
342
+ **What's the spec-driven mode?**
231
343
 
232
- Shep follows Clean Architecture with four layers. If you're interested in contributing or understanding the internals:
344
+ An optional structured pipeline that adds requirements, research, and planning phases with approval gates before any code is written. Useful for complex features where you want to review the approach first. Enable with `--no-fast`. [Learn more →](./docs/development/spec-driven-workflow.md)
233
345
 
234
- | Layer | Path | Responsibility |
235
- |-------|------|---------------|
236
- | Domain | `packages/core/src/domain/` | Business logic, TypeSpec-generated types |
237
- | Application | `packages/core/src/application/` | Use cases, port interfaces |
238
- | Infrastructure | `packages/core/src/infrastructure/` | SQLite, LangGraph agents, DI |
239
- | Presentation | `src/presentation/` | CLI, TUI, Web UI |
346
+ **How do I stop a feature that's running?**
240
347
 
241
- > **[Full architecture docs →](./docs/architecture/overview.md)**
348
+ CLI: `shep agent stop <id>`. Dashboard: click the stop button. The worktree is preserved — resume with `shep feat resume <id>` or work on it manually.
242
349
 
243
350
  ---
244
351
 
245
- ## Supported Agents & Tools
352
+ ## Architecture
246
353
 
247
- | Category | Supported |
248
- |----------|-----------|
249
- | AI Agents | Claude Code, Cursor CLI, Gemini CLI |
250
- | IDEs | VS Code, Cursor, Zed, Windsurf, and [more](./docs/FEATURES.md) |
251
- | Required | Git, GitHub CLI |
354
+ Shep follows Clean Architecture with four layers. For contributors and the curious:
355
+
356
+ | Layer | Responsibility |
357
+ |-------|---------------|
358
+ | **Domain** | Business logic, TypeSpec-generated types |
359
+ | **Application** | Use cases, port interfaces |
360
+ | **Infrastructure** | SQLite, LangGraph agents, DI |
361
+ | **Presentation** | CLI, Web UI |
362
+
363
+ > **[Full architecture docs →](./docs/architecture/overview.md)**
252
364
 
253
365
  ---
254
366
 
255
367
  ## Contributing
256
368
 
257
- We welcome contributions from humans and AI agents alike.
369
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for humans and [CONTRIBUTING-AGENTS.md](./CONTRIBUTING-AGENTS.md) for AI agents.
258
370
 
259
- - **Humans**: See [CONTRIBUTING.md](./CONTRIBUTING.md)
260
- - **AI Agents**: See [CONTRIBUTING-AGENTS.md](./CONTRIBUTING-AGENTS.md)
371
+ ---
261
372
 
262
373
  ## License
263
374
 
@@ -0,0 +1,13 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: Language.yaml
3
+ type: string
4
+ enum:
5
+ - en
6
+ - ru
7
+ - pt
8
+ - es
9
+ - ar
10
+ - he
11
+ - fr
12
+ - de
13
+ description: Supported UI language for i18n
@@ -11,4 +11,7 @@ properties:
11
11
  githubUsername:
12
12
  type: string
13
13
  description: GitHub username (optional, for PR attribution)
14
+ preferredLanguage:
15
+ $ref: Language.yaml
16
+ description: "Preferred UI language (default: English)"
14
17
  description: User profile information
@@ -1 +1 @@
1
- {"version":3,"file":"approve-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/approve-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAE1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAO9E,qBACa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAqGlD"}
1
+ {"version":3,"file":"approve-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/approve-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAE1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAO9E,qBACa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CA0GlD"}
@@ -111,6 +111,11 @@ let ApproveAgentRunUseCase = class ApproveAgentRunUseCase {
111
111
  resumeFromInterrupt: true,
112
112
  push: feature?.push ?? false,
113
113
  openPr: feature?.openPr ?? false,
114
+ forkAndPr: feature?.forkAndPr ?? false,
115
+ commitSpecs: feature?.commitSpecs ?? true,
116
+ ciWatchEnabled: feature?.ciWatchEnabled ?? true,
117
+ enableEvidence: feature?.enableEvidence ?? false,
118
+ commitEvidence: feature?.commitEvidence ?? false,
114
119
  ...(payload ? { resumePayload: JSON.stringify(payload) } : {}),
115
120
  agentType: run.agentType,
116
121
  ...(run.modelId ? { model: run.modelId } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"reject-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/reject-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAa1G,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CA2HH"}
1
+ {"version":3,"file":"reject-agent-run.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/agents/reject-agent-run.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAa1G,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBANrB,kBAAkB,EAAE,mBAAmB,EAEvC,cAAc,EAAE,2BAA2B,EAE3C,iBAAiB,EAAE,kBAAkB,EAErC,qBAAqB,EAAE,sBAAsB;IAG1D,OAAO,CACX,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC;QACT,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;CAkIH"}
@@ -127,7 +127,14 @@ let RejectAgentRunUseCase = class RejectAgentRunUseCase {
127
127
  resumeFromInterrupt: true,
128
128
  push: feature?.push ?? false,
129
129
  openPr: feature?.openPr ?? false,
130
+ forkAndPr: feature?.forkAndPr ?? false,
131
+ commitSpecs: feature?.commitSpecs ?? true,
132
+ ciWatchEnabled: feature?.ciWatchEnabled ?? true,
133
+ enableEvidence: feature?.enableEvidence ?? false,
134
+ commitEvidence: feature?.commitEvidence ?? false,
130
135
  resumePayload: JSON.stringify(rejectionPayload),
136
+ agentType: run.agentType,
137
+ ...(run.modelId ? { model: run.modelId } : {}),
131
138
  ...(feature.fast ? { fast: true } : {}),
132
139
  });
133
140
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"check-and-unblock-features.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAGhH,qBACa,8BAA8B;IAET,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE1D,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFkB,WAAW,EAAE,kBAAkB,EAE7D,YAAY,EAAE,2BAA2B;IAG5D;;;;OAIG;IACG,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiCtD"}
1
+ {"version":3,"file":"check-and-unblock-features.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAGhH,qBACa,8BAA8B;IAET,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE1D,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFkB,WAAW,EAAE,kBAAkB,EAE7D,YAAY,EAAE,2BAA2B;IAG5D;;;;OAIG;IACG,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4CtD"}
@@ -60,7 +60,17 @@ let CheckAndUnblockFeaturesUseCase = class CheckAndUnblockFeaturesUseCase {
60
60
  await this.featureRepo.update(child);
61
61
  // Spawn agent using fields set at feature creation time
62
62
  if (child.agentRunId && child.specPath) {
63
- this.agentProcess.spawn(child.id, child.agentRunId, child.repositoryPath, child.specPath, child.worktreePath);
63
+ this.agentProcess.spawn(child.id, child.agentRunId, child.repositoryPath, child.specPath, child.worktreePath, {
64
+ approvalGates: child.approvalGates,
65
+ push: child.push,
66
+ openPr: child.openPr,
67
+ forkAndPr: child.forkAndPr,
68
+ commitSpecs: child.commitSpecs,
69
+ ciWatchEnabled: child.ciWatchEnabled,
70
+ enableEvidence: child.enableEvidence,
71
+ commitEvidence: child.commitEvidence,
72
+ ...(child.fast ? { fast: true } : {}),
73
+ });
64
74
  }
65
75
  }
66
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resume-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/resume-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAQlG,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBANf,WAAW,EAAE,kBAAkB,EAE/B,OAAO,EAAE,mBAAmB,EAE5B,cAAc,EAAE,2BAA2B,EAE3C,eAAe,EAAE,gBAAgB;IAG9C,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,mBAAmB,CAAC;CAyGhC"}
1
+ {"version":3,"file":"resume-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/resume-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAQlG,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBANf,WAAW,EAAE,kBAAkB,EAE/B,OAAO,EAAE,mBAAmB,EAE5B,cAAc,EAAE,2BAA2B,EAE3C,eAAe,EAAE,gBAAgB;IAG9C,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,mBAAmB,CAAC;CA4GhC"}
@@ -111,6 +111,9 @@ let ResumeFeatureUseCase = class ResumeFeatureUseCase {
111
111
  openPr: feature.openPr,
112
112
  forkAndPr: feature.forkAndPr,
113
113
  commitSpecs: feature.commitSpecs,
114
+ ciWatchEnabled: feature.ciWatchEnabled,
115
+ enableEvidence: feature.enableEvidence,
116
+ commitEvidence: feature.commitEvidence,
114
117
  agentType: lastRun.agentType,
115
118
  ...(feature.fast ? { fast: true } : {}),
116
119
  ...(lastRun.modelId ? { model: lastRun.modelId } : {}),