@shepai/cli 1.169.1 → 1.170.0

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 (395) hide show
  1. package/apis/json-schema/Feature.yaml +10 -0
  2. package/apis/json-schema/SkillInjectionConfig.yaml +17 -0
  3. package/apis/json-schema/SkillSource.yaml +21 -0
  4. package/apis/json-schema/SkillSourceType.yaml +7 -0
  5. package/apis/json-schema/WorkflowConfig.yaml +3 -0
  6. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +8 -0
  7. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  9. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/ports/output/services/skill-injector.interface.d.ts +39 -0
  11. package/dist/packages/core/src/application/ports/output/services/skill-injector.interface.d.ts.map +1 -0
  12. package/dist/packages/core/src/application/ports/output/services/skill-injector.interface.js +8 -0
  13. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -1
  14. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +1 -0
  15. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +3 -1
  16. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  17. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +22 -3
  18. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -0
  19. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  20. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts.map +1 -1
  21. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js +23 -2
  22. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  23. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +55 -1
  24. package/dist/packages/core/src/domain/generated/output.d.ts +50 -0
  25. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  26. package/dist/packages/core/src/domain/generated/output.js +5 -0
  27. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  28. package/dist/packages/core/src/infrastructure/di/container.js +2 -0
  29. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +2 -0
  30. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  31. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +6 -0
  32. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +2 -0
  33. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +27 -0
  35. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-skill-injection-config.d.ts +15 -0
  36. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-skill-injection-config.d.ts.map +1 -0
  37. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-skill-injection-config.js +23 -0
  38. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-injected-skills-to-features.d.ts +11 -0
  39. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-injected-skills-to-features.d.ts.map +1 -0
  40. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-add-injected-skills-to-features.js +19 -0
  41. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  42. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +8 -4
  43. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.d.ts +21 -0
  44. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.d.ts.map +1 -1
  45. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.js +61 -0
  46. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts +16 -0
  47. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts.map +1 -1
  48. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.js +47 -4
  49. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +39 -20
  51. package/dist/packages/core/src/infrastructure/services/git/git-fork.service.d.ts +5 -0
  52. package/dist/packages/core/src/infrastructure/services/git/git-fork.service.d.ts.map +1 -1
  53. package/dist/packages/core/src/infrastructure/services/git/git-fork.service.js +34 -0
  54. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +1 -0
  55. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  56. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +8 -0
  57. package/dist/packages/core/src/infrastructure/services/skill-injector.service.d.ts +26 -0
  58. package/dist/packages/core/src/infrastructure/services/skill-injector.service.d.ts.map +1 -0
  59. package/dist/packages/core/src/infrastructure/services/skill-injector.service.js +201 -0
  60. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  61. package/dist/src/presentation/cli/commands/feat/new.command.js +3 -0
  62. package/dist/src/presentation/web/app/actions/add-injected-skill.d.ts +7 -0
  63. package/dist/src/presentation/web/app/actions/add-injected-skill.d.ts.map +1 -0
  64. package/dist/src/presentation/web/app/actions/add-injected-skill.js +34 -0
  65. package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -0
  66. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  67. package/dist/src/presentation/web/app/actions/create-feature.js +3 -1
  68. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -0
  69. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
  70. package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +1 -0
  71. package/dist/src/presentation/web/app/actions/remove-injected-skill.d.ts +6 -0
  72. package/dist/src/presentation/web/app/actions/remove-injected-skill.d.ts.map +1 -0
  73. package/dist/src/presentation/web/app/actions/remove-injected-skill.js +35 -0
  74. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  75. package/dist/src/presentation/web/app/build-feature-node-data.js +2 -0
  76. package/dist/src/presentation/web/app/skills/page.d.ts.map +1 -1
  77. package/dist/src/presentation/web/app/skills/page.js +6 -1
  78. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -0
  79. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  80. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +6 -2
  81. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  82. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -0
  83. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -1
  84. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +10 -4
  85. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +2 -0
  86. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -1
  87. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +12 -0
  88. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +4 -0
  89. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  90. package/dist/src/presentation/web/components/features/skills/add-skill-dialog.d.ts +10 -0
  91. package/dist/src/presentation/web/components/features/skills/add-skill-dialog.d.ts.map +1 -0
  92. package/dist/src/presentation/web/components/features/skills/add-skill-dialog.js +56 -0
  93. package/dist/src/presentation/web/components/features/skills/add-skill-dialog.stories.d.ts +16 -0
  94. package/dist/src/presentation/web/components/features/skills/add-skill-dialog.stories.d.ts.map +1 -0
  95. package/dist/src/presentation/web/components/features/skills/add-skill-dialog.stories.js +66 -0
  96. package/dist/src/presentation/web/components/features/skills/auto-injected-skills-section.d.ts +8 -0
  97. package/dist/src/presentation/web/components/features/skills/auto-injected-skills-section.d.ts.map +1 -0
  98. package/dist/src/presentation/web/components/features/skills/auto-injected-skills-section.js +42 -0
  99. package/dist/src/presentation/web/components/features/skills/auto-injected-skills-section.stories.d.ts +16 -0
  100. package/dist/src/presentation/web/components/features/skills/auto-injected-skills-section.stories.d.ts.map +1 -0
  101. package/dist/src/presentation/web/components/features/skills/auto-injected-skills-section.stories.js +69 -0
  102. package/dist/src/presentation/web/components/features/skills/skills-page-client.d.ts +3 -1
  103. package/dist/src/presentation/web/components/features/skills/skills-page-client.d.ts.map +1 -1
  104. package/dist/src/presentation/web/components/features/skills/skills-page-client.js +5 -3
  105. package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts +1 -0
  106. package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.d.ts.map +1 -1
  107. package/dist/src/presentation/web/components/features/skills/skills-page-client.stories.js +27 -0
  108. package/dist/translations/ar/cli.json +2 -0
  109. package/dist/translations/ar/web.json +15 -11
  110. package/dist/translations/de/cli.json +2 -0
  111. package/dist/translations/de/web.json +35 -17
  112. package/dist/translations/en/cli.json +2 -0
  113. package/dist/translations/en/web.json +4 -0
  114. package/dist/translations/es/cli.json +2 -0
  115. package/dist/translations/es/web.json +16 -12
  116. package/dist/translations/fr/cli.json +2 -0
  117. package/dist/translations/fr/web.json +16 -12
  118. package/dist/translations/he/cli.json +2 -0
  119. package/dist/translations/he/web.json +16 -12
  120. package/dist/translations/pt/cli.json +2 -0
  121. package/dist/translations/pt/web.json +16 -12
  122. package/dist/translations/ru/cli.json +2 -0
  123. package/dist/translations/ru/web.json +16 -12
  124. package/dist/tsconfig.build.tsbuildinfo +1 -1
  125. package/package.json +1 -1
  126. package/web/.next/BUILD_ID +1 -1
  127. package/web/.next/build-manifest.json +5 -5
  128. package/web/.next/fallback-build-manifest.json +2 -2
  129. package/web/.next/prerender-manifest.json +3 -3
  130. package/web/.next/required-server-files.js +2 -2
  131. package/web/.next/required-server-files.json +2 -2
  132. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
  133. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  134. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  135. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  136. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +3 -3
  138. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  139. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -1
  140. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  141. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  142. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  143. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  144. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  145. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  146. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  147. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  148. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  149. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  150. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  151. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  152. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  153. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
  154. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  155. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  156. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  157. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  158. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  159. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
  160. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  161. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  162. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  163. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  164. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  165. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  166. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  167. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +3 -3
  168. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  169. package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
  170. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  171. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  172. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  173. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  174. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  175. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  176. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  177. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  178. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  179. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  180. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  181. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  182. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  183. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
  184. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  185. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  186. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  187. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  188. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  189. package/web/.next/server/app/(dashboard)/page.js +1 -1
  190. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  191. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  192. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  193. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  194. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
  195. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  196. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  197. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  198. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  199. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  200. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  201. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  202. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  203. package/web/.next/server/app/_global-error.html +2 -2
  204. package/web/.next/server/app/_global-error.rsc +1 -1
  205. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  206. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  207. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  208. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  209. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  210. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  211. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  212. package/web/.next/server/app/_not-found/page.js +1 -1
  213. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  214. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  215. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  216. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  217. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  218. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  219. package/web/.next/server/app/features/page/build-manifest.json +3 -3
  220. package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
  221. package/web/.next/server/app/features/page.js +1 -1
  222. package/web/.next/server/app/features/page.js.nft.json +1 -1
  223. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  224. package/web/.next/server/app/settings/page/build-manifest.json +3 -3
  225. package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
  226. package/web/.next/server/app/settings/page.js +3 -3
  227. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  228. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  229. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  230. package/web/.next/server/app/skills/page/server-reference-manifest.json +52 -22
  231. package/web/.next/server/app/skills/page.js +3 -2
  232. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  233. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  234. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  235. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  236. package/web/.next/server/app/tools/page.js +1 -1
  237. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  238. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  239. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  240. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  241. package/web/.next/server/app/version/page.js +1 -1
  242. package/web/.next/server/app/version/page.js.nft.json +1 -1
  243. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  244. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  245. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
  246. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  247. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  248. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/{_0727935d._.js → 403f9_next_8a33ddee._.js} +2 -2
  250. package/web/.next/server/chunks/ssr/403f9_next_8a33ddee._.js.map +1 -0
  251. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  252. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  254. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/{[root-of-the-server]__e88da4ee._.js → [root-of-the-server]__1cd4327c._.js} +2 -2
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -0
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +1 -1
  261. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -1
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
  263. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +1 -1
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -1
  266. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7ffd3598._.js → [root-of-the-server]__92ffd5ee._.js} +3 -3
  267. package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +1 -0
  268. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +2 -2
  269. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -1
  270. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  271. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  272. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +1 -1
  273. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -1
  274. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +1 -1
  275. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -1
  276. package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js +3 -0
  277. package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js.map +1 -0
  278. package/web/.next/server/chunks/ssr/_02e01240._.js +1 -1
  279. package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -1
  280. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  281. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  282. package/web/.next/server/chunks/ssr/{_fe058119._.js → _0d7dd23b._.js} +2 -2
  283. package/web/.next/server/chunks/ssr/{_fe058119._.js.map → _0d7dd23b._.js.map} +1 -1
  284. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  285. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/_18886033._.js +1 -1
  287. package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
  289. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/_45496654._.js +3 -0
  291. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -0
  292. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
  293. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
  294. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  295. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  296. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  297. package/web/.next/server/chunks/ssr/_6f35fb9a._.js +3 -0
  298. package/web/.next/server/chunks/ssr/_6f35fb9a._.js.map +1 -0
  299. package/web/.next/server/chunks/ssr/{_a8b338ec._.js → _77ae079a._.js} +2 -2
  300. package/web/.next/server/chunks/ssr/{_a8b338ec._.js.map → _77ae079a._.js.map} +1 -1
  301. package/web/.next/server/chunks/ssr/_a5a5901d._.js +1 -1
  302. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
  303. package/web/.next/server/chunks/ssr/_a963dd3c._.js +3 -0
  304. package/web/.next/server/chunks/ssr/_a963dd3c._.js.map +1 -0
  305. package/web/.next/server/chunks/ssr/_ad09f271._.js +1 -1
  306. package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -1
  307. package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
  308. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
  309. package/web/.next/server/chunks/ssr/{_9b964adc._.js → _deabc145._.js} +2 -2
  310. package/web/.next/server/chunks/ssr/{_9b964adc._.js.map → _deabc145._.js.map} +1 -1
  311. package/web/.next/server/chunks/ssr/_df737cce._.js +3 -0
  312. package/web/.next/server/chunks/ssr/_df737cce._.js.map +1 -0
  313. package/web/.next/server/chunks/ssr/_e3f14907._.js +9 -0
  314. package/web/.next/server/chunks/ssr/_e3f14907._.js.map +1 -0
  315. package/web/.next/server/chunks/ssr/_ea9e1556._.js +1 -1
  316. package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -1
  317. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
  318. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
  319. package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
  320. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
  321. package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
  322. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -1
  323. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  324. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  325. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  326. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  327. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
  328. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
  329. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  330. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  331. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  332. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  333. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  334. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +3 -0
  335. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -0
  336. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  337. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  338. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  339. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  340. package/web/.next/server/middleware-build-manifest.js +3 -3
  341. package/web/.next/server/pages/500.html +2 -2
  342. package/web/.next/server/server-reference-manifest.js +1 -1
  343. package/web/.next/server/server-reference-manifest.json +89 -59
  344. package/web/.next/static/chunks/06a86173379e6c51.js +1 -0
  345. package/web/.next/static/chunks/{ff9e33615f5c856c.js → 16ed73f9880b7d63.js} +1 -1
  346. package/web/.next/static/chunks/185e4f36cb6efb24.js +1 -0
  347. package/web/.next/static/chunks/2b2f3a70ebd6ac1c.js +1 -0
  348. package/web/.next/static/chunks/{04c874f52a7cd435.js → 3d1df5c349d855eb.js} +1 -1
  349. package/web/.next/static/chunks/4559a403ee40dd19.js +7 -0
  350. package/web/.next/static/chunks/74729cbad964be13.js +1 -0
  351. package/web/.next/static/chunks/{a052c19c18e9eced.js → 74e5b5c7950efbc1.js} +1 -1
  352. package/web/.next/static/chunks/{d6c39780c2f75ecd.js → 7a6854bb07182777.js} +1 -1
  353. package/web/.next/static/chunks/8e12deeabf6624e9.js +1 -0
  354. package/web/.next/static/chunks/9c6f8f49799efd3a.js +1 -0
  355. package/web/.next/static/chunks/{c5d89c12a73e0461.js → a3802d6f8677cd04.js} +2 -2
  356. package/web/.next/static/chunks/b0a6fce5425f8d3a.js +3 -0
  357. package/web/.next/static/chunks/b14085e99b88e7f7.css +1 -0
  358. package/web/.next/static/chunks/b65e555419a0c664.js +1 -0
  359. package/web/.next/static/chunks/{562c70303d910295.js → c5a0b452afc8fe47.js} +1 -1
  360. package/web/.next/static/chunks/ca23a8642f750548.js +5 -0
  361. package/web/.next/static/chunks/cc5fe8d1d9e1e519.js +5 -0
  362. package/web/.next/static/chunks/{021c9b0effb6d688.js → f29814a72404ea2b.js} +1 -1
  363. package/web/.next/static/chunks/{b0e2fb3d4eb42f3d.js → f51250616da82bd2.js} +1 -1
  364. package/web/.next/static/chunks/{caf7d7e1b439b29e.js → f9da308b3033c57a.js} +1 -1
  365. package/web/.next/static/chunks/{turbopack-57bb0674e2cd1d31.js → turbopack-b38a68b1b1c41a87.js} +1 -1
  366. package/web/.next/server/chunks/ssr/[root-of-the-server]__20a36a42._.js +0 -3
  367. package/web/.next/server/chunks/ssr/[root-of-the-server]__20a36a42._.js.map +0 -1
  368. package/web/.next/server/chunks/ssr/[root-of-the-server]__7ffd3598._.js.map +0 -1
  369. package/web/.next/server/chunks/ssr/[root-of-the-server]__e88da4ee._.js.map +0 -1
  370. package/web/.next/server/chunks/ssr/_0727935d._.js.map +0 -1
  371. package/web/.next/server/chunks/ssr/_0dc06d07._.js +0 -3
  372. package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +0 -1
  373. package/web/.next/server/chunks/ssr/_682fc996._.js +0 -9
  374. package/web/.next/server/chunks/ssr/_682fc996._.js.map +0 -1
  375. package/web/.next/server/chunks/ssr/_6892e3b9._.js +0 -3
  376. package/web/.next/server/chunks/ssr/_6892e3b9._.js.map +0 -1
  377. package/web/.next/server/chunks/ssr/_a1068852._.js +0 -3
  378. package/web/.next/server/chunks/ssr/_a1068852._.js.map +0 -1
  379. package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js +0 -3
  380. package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js.map +0 -1
  381. package/web/.next/static/chunks/20f7cc98a013b11c.js +0 -1
  382. package/web/.next/static/chunks/4cec255f2754e5ec.js +0 -1
  383. package/web/.next/static/chunks/5b7275374d2696b3.css +0 -1
  384. package/web/.next/static/chunks/647140fe96a7c88a.js +0 -1
  385. package/web/.next/static/chunks/6d6f70ff5151b8cb.js +0 -7
  386. package/web/.next/static/chunks/84792d40edc4b027.js +0 -5
  387. package/web/.next/static/chunks/8800875bb3d56192.js +0 -3
  388. package/web/.next/static/chunks/8d581adafe8d1dd0.js +0 -1
  389. package/web/.next/static/chunks/982aef195c118996.js +0 -1
  390. package/web/.next/static/chunks/a6b5e739d2f89c6b.js +0 -1
  391. package/web/.next/static/chunks/c3ef3b892f7794ec.js +0 -1
  392. package/web/.next/static/chunks/dc134f3f58cdf850.js +0 -5
  393. /package/web/.next/static/{lFiCv3l4nIAIpZmj6eehh → 0KDwNT3AGQmFGIwjHx99r}/_buildManifest.js +0 -0
  394. /package/web/.next/static/{lFiCv3l4nIAIpZmj6eehh → 0KDwNT3AGQmFGIwjHx99r}/_clientMiddlewareManifest.json +0 -0
  395. /package/web/.next/static/{lFiCv3l4nIAIpZmj6eehh → 0KDwNT3AGQmFGIwjHx99r}/_ssgManifest.js +0 -0
@@ -39,6 +39,11 @@ properties:
39
39
  agentRunId:
40
40
  type: string
41
41
  description: Associated agent run ID for process tracking (optional)
42
+ injectedSkills:
43
+ type: array
44
+ items:
45
+ type: string
46
+ description: Skills that were injected into this feature's worktree during creation
42
47
  specPath:
43
48
  type: string
44
49
  description: Absolute path to the feature spec directory inside the worktree
@@ -73,6 +78,10 @@ properties:
73
78
  type: boolean
74
79
  default: false
75
80
  description: "Enable evidence collection after implementation (default: false)"
81
+ injectSkills:
82
+ type: boolean
83
+ default: false
84
+ description: "Inject curated skills into the feature worktree (default: false)"
76
85
  commitEvidence:
77
86
  type: boolean
78
87
  default: false
@@ -114,6 +123,7 @@ required:
114
123
  - commitSpecs
115
124
  - ciWatchEnabled
116
125
  - enableEvidence
126
+ - injectSkills
117
127
  - commitEvidence
118
128
  - approvalGates
119
129
  allOf:
@@ -0,0 +1,17 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: SkillInjectionConfig.yaml
3
+ type: object
4
+ properties:
5
+ enabled:
6
+ type: boolean
7
+ default: false
8
+ description: "Whether skill injection is enabled (default: false, opt-in)"
9
+ skills:
10
+ type: array
11
+ items:
12
+ $ref: SkillSource.yaml
13
+ description: List of skills to inject into feature worktrees
14
+ required:
15
+ - enabled
16
+ - skills
17
+ description: Skill injection configuration for feature worktrees
@@ -0,0 +1,21 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: SkillSource.yaml
3
+ type: object
4
+ properties:
5
+ name:
6
+ type: string
7
+ description: Unique skill directory name (e.g. 'architecture-reviewer')
8
+ type:
9
+ $ref: SkillSourceType.yaml
10
+ description: How this skill is provisioned (local copy or remote install)
11
+ source:
12
+ type: string
13
+ description: Source path (local) or npm package/URL (remote)
14
+ remoteSkillName:
15
+ type: string
16
+ description: Remote skill name passed to --skill flag (remote type only)
17
+ required:
18
+ - name
19
+ - type
20
+ - source
21
+ description: A skill source for injection into feature worktrees
@@ -0,0 +1,7 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: SkillSourceType.yaml
3
+ type: string
4
+ enum:
5
+ - local
6
+ - remote
7
+ description: How a skill is provisioned into a worktree
@@ -64,6 +64,9 @@ properties:
64
64
  minimum: -2147483648
65
65
  maximum: 2147483647
66
66
  description: "Minutes after completion before auto-archiving a feature (default: 10, 0 = disabled)"
67
+ skillInjection:
68
+ $ref: SkillInjectionConfig.yaml
69
+ description: Skill injection configuration (optional, disabled by default)
67
70
  required:
68
71
  - openPrOnImplementationComplete
69
72
  - approvalGateDefaults
@@ -407,6 +407,14 @@ export interface IGitPrService {
407
407
  * @throws GitPrError with GIT_ERROR code on failure (including stash pop conflicts)
408
408
  */
409
409
  stashPop(cwd: string): Promise<void>;
410
+ /**
411
+ * Drop the most recent stash entry without applying it.
412
+ * Runs `git stash drop`.
413
+ *
414
+ * @param cwd - Working directory path
415
+ * @throws GitPrError with GIT_ERROR code on failure (e.g., no stash entries)
416
+ */
417
+ stashDrop(cwd: string): Promise<void>;
410
418
  /**
411
419
  * Get the sync status (ahead/behind counts) between a feature branch
412
420
  * and a base branch's remote-tracking ref.
@@ -1 +1 @@
1
- {"version":3,"file":"git-pr-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/git-pr-service.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-pr-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/git-pr-service.interface.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,5 @@ export type { IDeploymentService, DeploymentStatus } from './deployment-service.
20
20
  export type { IGitHubRepositoryService, GitHubRepo, GitHubOrganization, ListUserRepositoriesOptions, CloneOptions, ParsedGitHubUrl, } from './github-repository-service.interface.js';
21
21
  export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, } from './github-repository-service.interface.js';
22
22
  export type { IInteractiveSessionService, StreamChunk, UnsubscribeFn, ChatState, } from './interactive-session-service.interface.js';
23
+ export type { ISkillInjectorService, SkillInjectionResult } from './skill-injector.interface.js';
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,4CAA4C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,4CAA4C,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Skill Injector Service Interface
3
+ *
4
+ * Output port for injecting curated agent skills into worktrees
5
+ * during feature creation. Handles local skill copying, remote skill
6
+ * installation via npx, idempotency checks, and .gitignore management.
7
+ */
8
+ import type { SkillInjectionConfig } from '../../../../domain/generated/output.js';
9
+ export interface SkillInjectionResult {
10
+ /** Names of skills that were successfully injected */
11
+ injected: string[];
12
+ /** Names of skills that were already present and skipped */
13
+ skipped: string[];
14
+ /** Skills that failed to inject, with error details */
15
+ failed: {
16
+ name: string;
17
+ error: string;
18
+ }[];
19
+ }
20
+ export interface ISkillInjectorService {
21
+ /**
22
+ * Inject curated skills into a worktree's .claude/skills/ directory.
23
+ *
24
+ * For each skill in the config:
25
+ * - Local skills are deep-copied from the source path
26
+ * - Remote skills are installed via `npx skills add`
27
+ * - Skills already present (SKILL.md exists) are skipped
28
+ * - Newly injected skills are added to .gitignore (unless already tracked in git)
29
+ *
30
+ * Individual skill failures are captured in the result (not thrown).
31
+ *
32
+ * @param worktreePath - Absolute path to the worktree root
33
+ * @param config - Skill injection configuration from settings
34
+ * @param repoRoot - Absolute path to the main repository root (for resolving local skill sources)
35
+ * @returns Counts of injected, skipped, and failed skills
36
+ */
37
+ inject(worktreePath: string, config: SkillInjectionConfig, repoRoot?: string): Promise<SkillInjectionResult>;
38
+ }
39
+ //# sourceMappingURL=skill-injector.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-injector.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/skill-injector.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uDAAuD;IACvD,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CACJ,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Skill Injector Service Interface
3
+ *
4
+ * Output port for injecting curated agent skills into worktrees
5
+ * during feature creation. Handles local skill copying, remote skill
6
+ * installation via npx, idempotency checks, and .gitignore management.
7
+ */
8
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"adopt-branch.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/adopt-branch.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qCAAqC,CAAC;AAEhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAG7F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,WAAW,EAAE,kBAAkB,EAE/B,cAAc,EAAE,qBAAqB,EAErC,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,aAAa;IAGxC,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8FlE;;;;OAIG;YACW,gBAAgB;IAiB9B;;;;OAIG;YACW,iBAAiB;IA4B/B;;;OAGG;YACW,iBAAiB;CAuBhC"}
1
+ {"version":3,"file":"adopt-branch.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/adopt-branch.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qCAAqC,CAAC;AAEhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAG7F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,WAAW,EAAE,kBAAkB,EAE/B,cAAc,EAAE,qBAAqB,EAErC,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,aAAa;IAGxC,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+FlE;;;;OAIG;YACW,gBAAgB;IAiB9B;;;;OAIG;YACW,iBAAiB;IA4B/B;;;OAGG;YACW,iBAAiB;CAuBhC"}
@@ -96,6 +96,7 @@ let AdoptBranchUseCase = class AdoptBranchUseCase {
96
96
  commitSpecs: true,
97
97
  ciWatchEnabled: true,
98
98
  enableEvidence: false,
99
+ injectSkills: false,
99
100
  commitEvidence: false,
100
101
  approvalGates: {
101
102
  allowPrd: false,
@@ -24,6 +24,7 @@ import type { ISpecInitializerService } from '../../../ports/output/services/spe
24
24
  import type { IRepositoryRepository } from '../../../ports/output/repositories/repository-repository.interface.js';
25
25
  import type { IGitPrService } from '../../../ports/output/services/git-pr-service.interface.js';
26
26
  import type { IAgentValidator } from '../../../ports/output/agents/agent-validator.interface.js';
27
+ import type { ISkillInjectorService } from '../../../ports/output/services/skill-injector.interface.js';
27
28
  import { AttachmentStorageService } from '../../../../infrastructure/services/attachment-storage.service.js';
28
29
  import { MetadataGenerator } from './metadata-generator.js';
29
30
  import { SlugResolver } from './slug-resolver.js';
@@ -40,7 +41,8 @@ export declare class CreateFeatureUseCase {
40
41
  private readonly gitPrService;
41
42
  private readonly attachmentStorage;
42
43
  private readonly agentValidator;
43
- constructor(featureRepo: IFeatureRepository, worktreeService: IWorktreeService, agentProcess: IFeatureAgentProcessService, runRepository: IAgentRunRepository, specInitializer: ISpecInitializerService, metadataGenerator: MetadataGenerator, slugResolver: SlugResolver, repositoryRepo: IRepositoryRepository, gitPrService: IGitPrService, attachmentStorage: AttachmentStorageService, agentValidator: IAgentValidator);
44
+ private readonly skillInjector;
45
+ constructor(featureRepo: IFeatureRepository, worktreeService: IWorktreeService, agentProcess: IFeatureAgentProcessService, runRepository: IAgentRunRepository, specInitializer: ISpecInitializerService, metadataGenerator: MetadataGenerator, slugResolver: SlugResolver, repositoryRepo: IRepositoryRepository, gitPrService: IGitPrService, attachmentStorage: AttachmentStorageService, agentValidator: IAgentValidator, skillInjector: ISkillInjectorService);
44
46
  /**
45
47
  * Full synchronous execution: creates record, initializes worktree/spec, spawns agent.
46
48
  * Used by the CLI which shows a spinner and needs everything done before returning.
@@ -1 +1 @@
1
- {"version":3,"file":"create-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/create-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAMtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AAGjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9F,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBApBd,WAAW,EAAE,kBAAkB,EAE/B,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,2BAA2B,EAEzC,aAAa,EAAE,mBAAmB,EAElC,eAAe,EAAE,uBAAuB,EAExC,iBAAiB,EAAE,iBAAiB,EAEpC,YAAY,EAAE,YAAY,EAE1B,cAAc,EAAE,qBAAqB,EAErC,YAAY,EAAE,aAAa,EAE3B,iBAAiB,EAAE,wBAAwB,EAE3C,cAAc,EAAE,eAAe;IAGlD;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMtE;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwI1E;;;OAGG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAmJ1D"}
1
+ {"version":3,"file":"create-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/create-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAMtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AAIxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9F,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAtBb,WAAW,EAAE,kBAAkB,EAE/B,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,2BAA2B,EAEzC,aAAa,EAAE,mBAAmB,EAElC,eAAe,EAAE,uBAAuB,EAExC,iBAAiB,EAAE,iBAAiB,EAEpC,YAAY,EAAE,YAAY,EAE1B,cAAc,EAAE,qBAAqB,EAErC,YAAY,EAAE,aAAa,EAE3B,iBAAiB,EAAE,wBAAwB,EAE3C,cAAc,EAAE,eAAe,EAE/B,aAAa,EAAE,qBAAqB;IAGvD;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMtE;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyI1E;;;OAGG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAsK1D"}
@@ -31,6 +31,7 @@ import { injectable, inject } from 'tsyringe';
31
31
  import { randomUUID } from 'node:crypto';
32
32
  import { SdlcLifecycle, AgentRunStatus, } from '../../../../domain/generated/output.js';
33
33
  import { getSettings } from '../../../../infrastructure/services/settings.service.js';
34
+ import { createDefaultSettings } from '../../../../domain/factories/settings-defaults.factory.js';
34
35
  import { POST_IMPLEMENTATION } from '../../../../domain/lifecycle-gates.js';
35
36
  import { AttachmentStorageService } from '../../../../infrastructure/services/attachment-storage.service.js';
36
37
  import { MetadataGenerator } from './metadata-generator.js';
@@ -47,7 +48,8 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
47
48
  gitPrService;
48
49
  attachmentStorage;
49
50
  agentValidator;
50
- constructor(featureRepo, worktreeService, agentProcess, runRepository, specInitializer, metadataGenerator, slugResolver, repositoryRepo, gitPrService, attachmentStorage, agentValidator) {
51
+ skillInjector;
52
+ constructor(featureRepo, worktreeService, agentProcess, runRepository, specInitializer, metadataGenerator, slugResolver, repositoryRepo, gitPrService, attachmentStorage, agentValidator, skillInjector) {
51
53
  this.featureRepo = featureRepo;
52
54
  this.worktreeService = worktreeService;
53
55
  this.agentProcess = agentProcess;
@@ -59,6 +61,7 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
59
61
  this.gitPrService = gitPrService;
60
62
  this.attachmentStorage = attachmentStorage;
61
63
  this.agentValidator = agentValidator;
64
+ this.skillInjector = skillInjector;
62
65
  }
63
66
  /**
64
67
  * Full synchronous execution: creates record, initializes worktree/spec, spawns agent.
@@ -157,6 +160,7 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
157
160
  commitSpecs: input.commitSpecs ?? true,
158
161
  ciWatchEnabled: input.ciWatchEnabled ?? true,
159
162
  enableEvidence: input.enableEvidence ?? false,
163
+ injectSkills: input.injectSkills ?? false,
160
164
  commitEvidence: input.commitEvidence ?? false,
161
165
  approvalGates: input.approvalGates ?? {
162
166
  allowPrd: false,
@@ -255,6 +259,20 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
255
259
  // Attachment storage failure should not block feature creation
256
260
  }
257
261
  }
262
+ // Inject curated skills into the worktree (opt-in, guarded by settings or CLI flag)
263
+ const settings = getSettings();
264
+ const shouldInject = input.injectSkills ?? settings.workflow.skillInjection?.enabled ?? false;
265
+ let injectedSkillNames;
266
+ const skillConfig = settings.workflow.skillInjection ?? createDefaultSettings().workflow.skillInjection;
267
+ if (shouldInject && skillConfig.skills?.length) {
268
+ try {
269
+ const result = await this.skillInjector.inject(worktreePath, skillConfig, effectiveRepoPath);
270
+ injectedSkillNames = [...result.injected, ...result.skipped];
271
+ }
272
+ catch {
273
+ // Skill injection failure must not block feature creation (NFR-3)
274
+ }
275
+ }
258
276
  // Update feature record with refined metadata, branch, specPath, and attachments
259
277
  const updatedFeature = {
260
278
  ...feature,
@@ -264,6 +282,7 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
264
282
  branch,
265
283
  specPath: specDir,
266
284
  ...(committedAttachments?.length ? { attachments: committedAttachments } : {}),
285
+ ...(injectedSkillNames?.length ? { injectedSkills: injectedSkillNames } : {}),
267
286
  updatedAt: new Date(),
268
287
  };
269
288
  await this.featureRepo.update(updatedFeature);
@@ -273,7 +292,6 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
273
292
  // a background worker — prevents the feature from getting stuck
274
293
  // with a silent failure in the detached worker process.
275
294
  // Skip validation when using mock executor (E2E tests, CI without real agents).
276
- const settings = getSettings();
277
295
  const effectiveAgentType = input.agentType ?? settings.agent.type;
278
296
  const isMockExecutor = process.env.SHEP_MOCK_EXECUTOR === '1';
279
297
  const validation = isMockExecutor
@@ -326,7 +344,8 @@ CreateFeatureUseCase = __decorate([
326
344
  __param(8, inject('IGitPrService')),
327
345
  __param(9, inject(AttachmentStorageService)),
328
346
  __param(10, inject('IAgentValidator')),
347
+ __param(11, inject('ISkillInjectorService')),
329
348
  __metadata("design:paramtypes", [Object, Object, Object, Object, Object, MetadataGenerator,
330
- SlugResolver, Object, Object, AttachmentStorageService, Object])
349
+ SlugResolver, Object, Object, AttachmentStorageService, Object, Object])
331
350
  ], CreateFeatureUseCase);
332
351
  export { CreateFeatureUseCase };
@@ -37,6 +37,8 @@ export interface CreateFeatureInput {
37
37
  attachmentPaths?: string[];
38
38
  /** Sync the default branch from remote before creating the feature branch (default: true). */
39
39
  rebaseBeforeBranch?: boolean;
40
+ /** Inject curated skills into the worktree (overrides settings.workflow.skillInjection.enabled). */
41
+ injectSkills?: boolean;
40
42
  }
41
43
  export interface CreateFeatureResult {
42
44
  feature: Feature;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjG,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjG,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oGAAoG;IACpG,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"rebase-feature-on-main.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAK7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAE7G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4FAA4F,CAAC;AAE5I,qBACa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAE1C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAVf,WAAW,EAAE,kBAAkB,EAE/B,YAAY,EAAE,aAAa,EAE3B,eAAe,EAAE,gBAAgB,EAEjC,yBAAyB,EAAE,yBAAyB,EAEpD,YAAY,EAAE,mBAAmB,EAEjC,eAAe,EAAE,sBAAsB;IAGpD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA+EjC,cAAc;IAwB5B;;;;OAIG;YACW,UAAU;CAOzB"}
1
+ {"version":3,"file":"rebase-feature-on-main.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAK7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAE7G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4FAA4F,CAAC;AAE5I,qBACa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAE1C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAVf,WAAW,EAAE,kBAAkB,EAE/B,YAAY,EAAE,aAAa,EAE3B,eAAe,EAAE,gBAAgB,EAEjC,yBAAyB,EAAE,yBAAyB,EAEpD,YAAY,EAAE,mBAAmB,EAEjC,eAAe,EAAE,sBAAsB;IAGpD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAyGjC,cAAc;IAwB5B;;;;OAIG;YACW,UAAU;CAOzB"}
@@ -77,7 +77,8 @@ let RebaseFeatureOnMainUseCase = class RebaseFeatureOnMainUseCase {
77
77
  const cwd = await this.resolveCwd(feature.repositoryPath, feature.branch);
78
78
  const defaultBranch = await this.gitPrService.getDefaultBranch(feature.repositoryPath);
79
79
  // Stash uncommitted changes if present (smart rebase)
80
- const didStash = await this.gitPrService.stash(cwd, 'shep-rebase: auto-stash before rebase');
80
+ const didStash = await this.gitPrService.stash(cwd, `shep-auto-stash: ${feature.branch}`);
81
+ let stashPopError;
81
82
  try {
82
83
  // Auto-sync main before rebasing (per spec decision)
83
84
  await this.gitPrService.syncMain(cwd, defaultBranch);
@@ -98,9 +99,29 @@ let RebaseFeatureOnMainUseCase = class RebaseFeatureOnMainUseCase {
98
99
  finally {
99
100
  // Restore stashed changes after rebase (whether it succeeded or failed)
100
101
  if (didStash) {
101
- await this.gitPrService.stashPop(cwd);
102
+ try {
103
+ await this.gitPrService.stashPop(cwd);
104
+ }
105
+ catch {
106
+ // Stash pop failed — likely conflicts between rebased code and stashed changes.
107
+ // Invoke agent-powered resolution, then drop the stash entry on success.
108
+ try {
109
+ await this.conflictResolutionService.resolveStashPop(cwd, feature.branch, defaultBranch);
110
+ await this.gitPrService.stashDrop(cwd);
111
+ }
112
+ catch {
113
+ stashPopError = new Error(`Rebase succeeded but failed to restore your uncommitted changes. ` +
114
+ `The rebase is complete, but your stashed work-in-progress could not be applied cleanly. ` +
115
+ `Run \`git stash pop\` manually to resolve the remaining conflicts. ` +
116
+ `Your stash entry is preserved.`);
117
+ }
118
+ }
102
119
  }
103
120
  }
121
+ // Throw stash pop error after the finally block to satisfy no-unsafe-finally
122
+ if (stashPopError) {
123
+ throw stashPopError;
124
+ }
104
125
  // Rebase succeeded (possibly with resolved conflicts)
105
126
  await this.completeTiming(agentRunId, phaseTimingId, startMs, 'success');
106
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAUT,MAAM,qBAAqB,CAAC;AA6C7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAuFhD"}
1
+ {"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAWT,MAAM,qBAAqB,CAAC;AAmD7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CA8IhD"}
@@ -11,7 +11,7 @@
11
11
  * - Auto-update enabled, log level set to info
12
12
  * - Unique IDs and timestamps generated for each instance
13
13
  */
14
- import { AgentType, AgentAuthMethod, EditorType, TerminalType } from '../generated/output.js';
14
+ import { AgentType, AgentAuthMethod, EditorType, SkillSourceType, TerminalType, } from '../generated/output.js';
15
15
  /**
16
16
  * Default AI model for all SDLC agents.
17
17
  * Provides balanced performance and cost for all workflow stages.
@@ -112,6 +112,59 @@ export function createDefaultSettings() {
112
112
  allowMerge: false,
113
113
  pushOnImplementationComplete: false,
114
114
  };
115
+ const skillInjection = {
116
+ enabled: false,
117
+ skills: [
118
+ {
119
+ name: 'architecture-reviewer',
120
+ type: SkillSourceType.Remote,
121
+ source: 'shep-ai/shep',
122
+ remoteSkillName: 'architecture-reviewer',
123
+ },
124
+ {
125
+ name: 'cross-validate-artifacts',
126
+ type: SkillSourceType.Remote,
127
+ source: 'shep-ai/shep',
128
+ remoteSkillName: 'cross-validate-artifacts',
129
+ },
130
+ {
131
+ name: 'mermaid-diagrams',
132
+ type: SkillSourceType.Remote,
133
+ source: 'shep-ai/shep',
134
+ remoteSkillName: 'mermaid-diagrams',
135
+ },
136
+ {
137
+ name: 'react-flow',
138
+ type: SkillSourceType.Remote,
139
+ source: 'shep-ai/shep',
140
+ remoteSkillName: 'react-flow',
141
+ },
142
+ {
143
+ name: 'shadcn-ui',
144
+ type: SkillSourceType.Remote,
145
+ source: 'shep-ai/shep',
146
+ remoteSkillName: 'shadcn-ui',
147
+ },
148
+ {
149
+ name: 'tsp-model',
150
+ type: SkillSourceType.Remote,
151
+ source: 'shep-ai/shep',
152
+ remoteSkillName: 'tsp-model',
153
+ },
154
+ {
155
+ name: 'vercel-react-best-practices',
156
+ type: SkillSourceType.Remote,
157
+ source: 'shep-ai/shep',
158
+ remoteSkillName: 'vercel-react-best-practices',
159
+ },
160
+ {
161
+ name: 'frontend-design',
162
+ type: SkillSourceType.Remote,
163
+ source: 'anthropics/claude-code',
164
+ remoteSkillName: 'frontend-design',
165
+ },
166
+ ],
167
+ };
115
168
  const workflow = {
116
169
  openPrOnImplementationComplete: false,
117
170
  approvalGateDefaults,
@@ -120,6 +173,7 @@ export function createDefaultSettings() {
120
173
  commitEvidence: false,
121
174
  defaultFastMode: true,
122
175
  autoArchiveDelayMinutes: 10,
176
+ skillInjection,
123
177
  };
124
178
  const featureFlags = {
125
179
  skills: false,
@@ -379,6 +379,44 @@ export type AnalyzeRepoTimeouts = {
379
379
  */
380
380
  analyzeMs?: number;
381
381
  };
382
+ export declare enum SkillSourceType {
383
+ Local = "local",
384
+ Remote = "remote"
385
+ }
386
+ /**
387
+ * A skill source for injection into feature worktrees
388
+ */
389
+ export type SkillSource = {
390
+ /**
391
+ * Unique skill directory name (e.g. 'architecture-reviewer')
392
+ */
393
+ name: string;
394
+ /**
395
+ * How this skill is provisioned (local copy or remote install)
396
+ */
397
+ type: SkillSourceType;
398
+ /**
399
+ * Source path (local) or npm package/URL (remote)
400
+ */
401
+ source: string;
402
+ /**
403
+ * Remote skill name passed to --skill flag (remote type only)
404
+ */
405
+ remoteSkillName?: string;
406
+ };
407
+ /**
408
+ * Skill injection configuration for feature worktrees
409
+ */
410
+ export type SkillInjectionConfig = {
411
+ /**
412
+ * Whether skill injection is enabled (default: false, opt-in)
413
+ */
414
+ enabled: boolean;
415
+ /**
416
+ * List of skills to inject into feature worktrees
417
+ */
418
+ skills: SkillSource[];
419
+ };
382
420
  /**
383
421
  * Global workflow configuration defaults
384
422
  */
@@ -443,6 +481,10 @@ export type WorkflowConfig = {
443
481
  * Minutes after completion before auto-archiving a feature (default: 10, 0 = disabled)
444
482
  */
445
483
  autoArchiveDelayMinutes?: number;
484
+ /**
485
+ * Skill injection configuration (optional, disabled by default)
486
+ */
487
+ skillInjection?: SkillInjectionConfig;
446
488
  };
447
489
  export declare enum AgentType {
448
490
  ClaudeCode = "claude-code",
@@ -990,6 +1032,10 @@ export type Feature = SoftDeletableEntity & {
990
1032
  * Associated agent run ID for process tracking (optional)
991
1033
  */
992
1034
  agentRunId?: string;
1035
+ /**
1036
+ * Skills that were injected into this feature's worktree during creation
1037
+ */
1038
+ injectedSkills?: string[];
993
1039
  /**
994
1040
  * Absolute path to the feature spec directory inside the worktree
995
1041
  */
@@ -1026,6 +1072,10 @@ export type Feature = SoftDeletableEntity & {
1026
1072
  * Enable evidence collection after implementation (default: false)
1027
1073
  */
1028
1074
  enableEvidence: boolean;
1075
+ /**
1076
+ * Inject curated skills into the feature worktree (default: false)
1077
+ */
1078
+ injectSkills: boolean;
1029
1079
  /**
1030
1080
  * Commit evidence to PR (default: false, requires enableEvidence)
1031
1081
  */