specrails-desktop 2.7.0 → 2.9.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 (329) hide show
  1. package/README.md +23 -19
  2. package/client/dist/assets/{ActivityFeedPage-LKqd18-G.js → ActivityFeedPage-DNqnf1fZ.js} +1 -1
  3. package/client/dist/assets/{AgentsPage-Cb-b-6Ot.js → AgentsPage-vmNIEbGM.js} +1 -1
  4. package/client/dist/assets/{AnalyticsPage-HVxQQ1wy.js → AnalyticsPage-CdfN0ofZ.js} +1 -1
  5. package/client/dist/assets/{BarChart-BOyHB0dw.js → BarChart-CIkopHjl.js} +1 -1
  6. package/client/dist/assets/{CodePage-DnOnwKGB.js → CodePage-DDRNU5FN.js} +1 -1
  7. package/client/dist/assets/{DesktopAnalyticsPage-D2auU39x.js → DesktopAnalyticsPage-Cl3sKKSG.js} +1 -1
  8. package/client/dist/assets/{DocsDialog-CTuDX3GK.js → DocsDialog-BGrBOfUr.js} +2 -2
  9. package/client/dist/assets/{DocsPage-DRyMmu0Z.js → DocsPage-CY-2SSzw.js} +2 -2
  10. package/client/dist/assets/{ExportDropdown-DO-GGiMh.js → ExportDropdown-BRHcvP0r.js} +1 -1
  11. package/client/dist/assets/{IntegrationsPage-BhbO4jFT.js → IntegrationsPage-nKdLB4Ub.js} +1 -1
  12. package/client/dist/assets/{JobDetailPage-DJooEg1s.js → JobDetailPage-Bf0A6WWQ.js} +1 -1
  13. package/client/dist/assets/{JobsPage-BbaC-YOg.js → JobsPage-Vg4nXPdL.js} +1 -1
  14. package/client/dist/assets/{dist-js-CiIVMsx3.js → dist-js-0i_klubI.js} +1 -1
  15. package/client/dist/assets/{dist-js-Xc2lRKp2.js → dist-js-CUs5GjwA.js} +1 -1
  16. package/client/dist/assets/{index-DK214dak.js → index-BXoHFtfG.js} +8 -8
  17. package/client/dist/assets/index-D6BaYRRU.css +2 -0
  18. package/client/dist/assets/{integrations-2C7MkGT0.js → integrations-7YyTBuU9.js} +1 -1
  19. package/client/dist/assets/{integrations-CX4p_bij.js → integrations-B9CEpNF0.js} +1 -1
  20. package/client/dist/assets/{integrations-C2jQtv-s.js → integrations-BlvAdewo.js} +1 -1
  21. package/client/dist/assets/{integrations-eQPHAYsE.js → integrations-Bw8UM9Xd.js} +1 -1
  22. package/client/dist/assets/{integrations-BDC670cg.js → integrations-C5SxNKnG.js} +1 -1
  23. package/client/dist/assets/{integrations-BqUmRUef.js → integrations-CJQKMmdW.js} +1 -1
  24. package/client/dist/assets/{integrations-CB98NeH5.js → integrations-DWz1eU_K.js} +1 -1
  25. package/client/dist/assets/{integrations-_SuVeQIG.js → integrations-DiPR8Fzp.js} +1 -1
  26. package/client/dist/assets/{lib-Bo5s6xpe.js → lib-D6M_MvoC.js} +1 -1
  27. package/client/dist/assets/setup-B6egeeTM.js +1 -0
  28. package/client/dist/assets/setup-BHroXlke.js +1 -0
  29. package/client/dist/assets/setup-BIXsWUp1.js +1 -0
  30. package/client/dist/assets/setup-BJRdg1iE.js +1 -0
  31. package/client/dist/assets/setup-C0rVGnCy.js +1 -0
  32. package/client/dist/assets/setup-Cpu17hJv.js +1 -0
  33. package/client/dist/assets/setup-D-1r0uSx.js +1 -0
  34. package/client/dist/assets/setup-Dn2-veYO.js +1 -0
  35. package/client/dist/assets/{useProjectCache-DVNypkmR.js → useProjectCache-BeyBSNpD.js} +1 -1
  36. package/client/dist/index.html +4 -4
  37. package/docs/README.md +5 -2
  38. package/docs/agy-cli-provider-study.md +78 -0
  39. package/docs/cli.md +23 -4
  40. package/docs/codex.md +116 -58
  41. package/docs/creating-specs.md +19 -5
  42. package/docs/customizing.md +27 -6
  43. package/docs/gemini.md +225 -73
  44. package/docs/getting-started.md +18 -9
  45. package/docs/guide/de/agents/1-meet-the-agents.md +38 -0
  46. package/docs/guide/de/agents/2-profiles-and-the-balanced-default.md +45 -0
  47. package/docs/guide/de/agents/3-customizing-models-per-agent.md +60 -0
  48. package/docs/guide/de/agents/4-custom-agents-catalog.md +43 -0
  49. package/docs/guide/de/getting-started/1-what-is-specrails.md +49 -0
  50. package/docs/guide/de/getting-started/2-installing-and-first-run.md +42 -0
  51. package/docs/guide/de/getting-started/3-adding-your-first-project.md +58 -0
  52. package/docs/guide/de/getting-started/4-the-dashboard-tour.md +53 -0
  53. package/docs/guide/de/insights/1-analytics-and-cost-tracking.md +78 -0
  54. package/docs/guide/de/insights/2-the-integrated-terminal.md +46 -0
  55. package/docs/guide/de/insights/3-code-explorer.md +50 -0
  56. package/docs/guide/de/integrations/1-ai-providers.md +64 -0
  57. package/docs/guide/de/integrations/2-plugins.md +44 -0
  58. package/docs/guide/de/integrations/3-jira-integration.md +71 -0
  59. package/docs/guide/de/integrations/4-mobile-companion.md +38 -0
  60. package/docs/guide/de/pipeline/1-rails-and-jobs.md +94 -0
  61. package/docs/guide/de/pipeline/2-the-job-detail-view.md +90 -0
  62. package/docs/guide/de/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  63. package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +60 -0
  64. package/docs/guide/de/settings/1-themes.md +37 -0
  65. package/docs/guide/de/settings/2-language.md +39 -0
  66. package/docs/guide/de/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  67. package/docs/guide/de/settings/4-where-your-data-lives.md +48 -0
  68. package/docs/guide/de/specs/1-specs-and-the-backlog.md +52 -0
  69. package/docs/guide/de/specs/2-add-spec-quick-mode.md +45 -0
  70. package/docs/guide/de/specs/3-add-spec-explore-mode.md +68 -0
  71. package/docs/guide/de/specs/4-drafts-and-contract-layer.md +81 -0
  72. package/docs/guide/en/agents/1-meet-the-agents.md +38 -0
  73. package/docs/guide/en/agents/2-profiles-and-the-balanced-default.md +45 -0
  74. package/docs/guide/en/agents/3-customizing-models-per-agent.md +60 -0
  75. package/docs/guide/en/agents/4-custom-agents-catalog.md +43 -0
  76. package/docs/guide/en/getting-started/1-what-is-specrails.md +49 -0
  77. package/docs/guide/en/getting-started/2-installing-and-first-run.md +42 -0
  78. package/docs/guide/en/getting-started/3-adding-your-first-project.md +58 -0
  79. package/docs/guide/en/getting-started/4-the-dashboard-tour.md +53 -0
  80. package/docs/guide/en/insights/1-analytics-and-cost-tracking.md +78 -0
  81. package/docs/guide/en/insights/2-the-integrated-terminal.md +46 -0
  82. package/docs/guide/en/insights/3-code-explorer.md +50 -0
  83. package/docs/guide/en/integrations/1-ai-providers.md +64 -0
  84. package/docs/guide/en/integrations/2-plugins.md +44 -0
  85. package/docs/guide/en/integrations/3-jira-integration.md +71 -0
  86. package/docs/guide/en/integrations/4-mobile-companion.md +38 -0
  87. package/docs/guide/en/pipeline/1-rails-and-jobs.md +94 -0
  88. package/docs/guide/en/pipeline/2-the-job-detail-view.md +90 -0
  89. package/docs/guide/en/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  90. package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +60 -0
  91. package/docs/guide/en/settings/1-themes.md +37 -0
  92. package/docs/guide/en/settings/2-language.md +39 -0
  93. package/docs/guide/en/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  94. package/docs/guide/en/settings/4-where-your-data-lives.md +48 -0
  95. package/docs/guide/en/specs/1-specs-and-the-backlog.md +52 -0
  96. package/docs/guide/en/specs/2-add-spec-quick-mode.md +45 -0
  97. package/docs/guide/en/specs/3-add-spec-explore-mode.md +68 -0
  98. package/docs/guide/en/specs/4-drafts-and-contract-layer.md +81 -0
  99. package/docs/guide/es/agents/1-meet-the-agents.md +38 -0
  100. package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +45 -0
  101. package/docs/guide/es/agents/3-customizing-models-per-agent.md +60 -0
  102. package/docs/guide/es/agents/4-custom-agents-catalog.md +43 -0
  103. package/docs/guide/es/getting-started/1-what-is-specrails.md +49 -0
  104. package/docs/guide/es/getting-started/2-installing-and-first-run.md +42 -0
  105. package/docs/guide/es/getting-started/3-adding-your-first-project.md +58 -0
  106. package/docs/guide/es/getting-started/4-the-dashboard-tour.md +53 -0
  107. package/docs/guide/es/insights/1-analytics-and-cost-tracking.md +78 -0
  108. package/docs/guide/es/insights/2-the-integrated-terminal.md +46 -0
  109. package/docs/guide/es/insights/3-code-explorer.md +50 -0
  110. package/docs/guide/es/integrations/1-ai-providers.md +64 -0
  111. package/docs/guide/es/integrations/2-plugins.md +44 -0
  112. package/docs/guide/es/integrations/3-jira-integration.md +71 -0
  113. package/docs/guide/es/integrations/4-mobile-companion.md +38 -0
  114. package/docs/guide/es/pipeline/1-rails-and-jobs.md +94 -0
  115. package/docs/guide/es/pipeline/2-the-job-detail-view.md +90 -0
  116. package/docs/guide/es/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  117. package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +60 -0
  118. package/docs/guide/es/settings/1-themes.md +37 -0
  119. package/docs/guide/es/settings/2-language.md +39 -0
  120. package/docs/guide/es/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  121. package/docs/guide/es/settings/4-where-your-data-lives.md +48 -0
  122. package/docs/guide/es/specs/1-specs-and-the-backlog.md +52 -0
  123. package/docs/guide/es/specs/2-add-spec-quick-mode.md +45 -0
  124. package/docs/guide/es/specs/3-add-spec-explore-mode.md +68 -0
  125. package/docs/guide/es/specs/4-drafts-and-contract-layer.md +81 -0
  126. package/docs/guide/fr/agents/1-meet-the-agents.md +38 -0
  127. package/docs/guide/fr/agents/2-profiles-and-the-balanced-default.md +45 -0
  128. package/docs/guide/fr/agents/3-customizing-models-per-agent.md +60 -0
  129. package/docs/guide/fr/agents/4-custom-agents-catalog.md +43 -0
  130. package/docs/guide/fr/getting-started/1-what-is-specrails.md +49 -0
  131. package/docs/guide/fr/getting-started/2-installing-and-first-run.md +42 -0
  132. package/docs/guide/fr/getting-started/3-adding-your-first-project.md +58 -0
  133. package/docs/guide/fr/getting-started/4-the-dashboard-tour.md +53 -0
  134. package/docs/guide/fr/insights/1-analytics-and-cost-tracking.md +78 -0
  135. package/docs/guide/fr/insights/2-the-integrated-terminal.md +46 -0
  136. package/docs/guide/fr/insights/3-code-explorer.md +50 -0
  137. package/docs/guide/fr/integrations/1-ai-providers.md +64 -0
  138. package/docs/guide/fr/integrations/2-plugins.md +44 -0
  139. package/docs/guide/fr/integrations/3-jira-integration.md +71 -0
  140. package/docs/guide/fr/integrations/4-mobile-companion.md +38 -0
  141. package/docs/guide/fr/pipeline/1-rails-and-jobs.md +94 -0
  142. package/docs/guide/fr/pipeline/2-the-job-detail-view.md +90 -0
  143. package/docs/guide/fr/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  144. package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +60 -0
  145. package/docs/guide/fr/settings/1-themes.md +37 -0
  146. package/docs/guide/fr/settings/2-language.md +39 -0
  147. package/docs/guide/fr/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  148. package/docs/guide/fr/settings/4-where-your-data-lives.md +48 -0
  149. package/docs/guide/fr/specs/1-specs-and-the-backlog.md +52 -0
  150. package/docs/guide/fr/specs/2-add-spec-quick-mode.md +45 -0
  151. package/docs/guide/fr/specs/3-add-spec-explore-mode.md +68 -0
  152. package/docs/guide/fr/specs/4-drafts-and-contract-layer.md +81 -0
  153. package/docs/guide/it/agents/1-meet-the-agents.md +38 -0
  154. package/docs/guide/it/agents/2-profiles-and-the-balanced-default.md +45 -0
  155. package/docs/guide/it/agents/3-customizing-models-per-agent.md +60 -0
  156. package/docs/guide/it/agents/4-custom-agents-catalog.md +43 -0
  157. package/docs/guide/it/getting-started/1-what-is-specrails.md +49 -0
  158. package/docs/guide/it/getting-started/2-installing-and-first-run.md +42 -0
  159. package/docs/guide/it/getting-started/3-adding-your-first-project.md +58 -0
  160. package/docs/guide/it/getting-started/4-the-dashboard-tour.md +53 -0
  161. package/docs/guide/it/insights/1-analytics-and-cost-tracking.md +78 -0
  162. package/docs/guide/it/insights/2-the-integrated-terminal.md +46 -0
  163. package/docs/guide/it/insights/3-code-explorer.md +50 -0
  164. package/docs/guide/it/integrations/1-ai-providers.md +64 -0
  165. package/docs/guide/it/integrations/2-plugins.md +44 -0
  166. package/docs/guide/it/integrations/3-jira-integration.md +71 -0
  167. package/docs/guide/it/integrations/4-mobile-companion.md +38 -0
  168. package/docs/guide/it/pipeline/1-rails-and-jobs.md +94 -0
  169. package/docs/guide/it/pipeline/2-the-job-detail-view.md +90 -0
  170. package/docs/guide/it/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  171. package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +60 -0
  172. package/docs/guide/it/settings/1-themes.md +37 -0
  173. package/docs/guide/it/settings/2-language.md +39 -0
  174. package/docs/guide/it/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  175. package/docs/guide/it/settings/4-where-your-data-lives.md +48 -0
  176. package/docs/guide/it/specs/1-specs-and-the-backlog.md +52 -0
  177. package/docs/guide/it/specs/2-add-spec-quick-mode.md +45 -0
  178. package/docs/guide/it/specs/3-add-spec-explore-mode.md +68 -0
  179. package/docs/guide/it/specs/4-drafts-and-contract-layer.md +81 -0
  180. package/docs/guide/ja/agents/1-meet-the-agents.md +38 -0
  181. package/docs/guide/ja/agents/2-profiles-and-the-balanced-default.md +45 -0
  182. package/docs/guide/ja/agents/3-customizing-models-per-agent.md +60 -0
  183. package/docs/guide/ja/agents/4-custom-agents-catalog.md +43 -0
  184. package/docs/guide/ja/getting-started/1-what-is-specrails.md +49 -0
  185. package/docs/guide/ja/getting-started/2-installing-and-first-run.md +42 -0
  186. package/docs/guide/ja/getting-started/3-adding-your-first-project.md +58 -0
  187. package/docs/guide/ja/getting-started/4-the-dashboard-tour.md +53 -0
  188. package/docs/guide/ja/insights/1-analytics-and-cost-tracking.md +78 -0
  189. package/docs/guide/ja/insights/2-the-integrated-terminal.md +46 -0
  190. package/docs/guide/ja/insights/3-code-explorer.md +50 -0
  191. package/docs/guide/ja/integrations/1-ai-providers.md +64 -0
  192. package/docs/guide/ja/integrations/2-plugins.md +44 -0
  193. package/docs/guide/ja/integrations/3-jira-integration.md +71 -0
  194. package/docs/guide/ja/integrations/4-mobile-companion.md +38 -0
  195. package/docs/guide/ja/pipeline/1-rails-and-jobs.md +94 -0
  196. package/docs/guide/ja/pipeline/2-the-job-detail-view.md +90 -0
  197. package/docs/guide/ja/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  198. package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +60 -0
  199. package/docs/guide/ja/settings/1-themes.md +37 -0
  200. package/docs/guide/ja/settings/2-language.md +39 -0
  201. package/docs/guide/ja/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  202. package/docs/guide/ja/settings/4-where-your-data-lives.md +48 -0
  203. package/docs/guide/ja/specs/1-specs-and-the-backlog.md +52 -0
  204. package/docs/guide/ja/specs/2-add-spec-quick-mode.md +45 -0
  205. package/docs/guide/ja/specs/3-add-spec-explore-mode.md +68 -0
  206. package/docs/guide/ja/specs/4-drafts-and-contract-layer.md +81 -0
  207. package/docs/guide/pt/agents/1-meet-the-agents.md +38 -0
  208. package/docs/guide/pt/agents/2-profiles-and-the-balanced-default.md +45 -0
  209. package/docs/guide/pt/agents/3-customizing-models-per-agent.md +60 -0
  210. package/docs/guide/pt/agents/4-custom-agents-catalog.md +43 -0
  211. package/docs/guide/pt/getting-started/1-what-is-specrails.md +49 -0
  212. package/docs/guide/pt/getting-started/2-installing-and-first-run.md +42 -0
  213. package/docs/guide/pt/getting-started/3-adding-your-first-project.md +58 -0
  214. package/docs/guide/pt/getting-started/4-the-dashboard-tour.md +53 -0
  215. package/docs/guide/pt/insights/1-analytics-and-cost-tracking.md +78 -0
  216. package/docs/guide/pt/insights/2-the-integrated-terminal.md +46 -0
  217. package/docs/guide/pt/insights/3-code-explorer.md +50 -0
  218. package/docs/guide/pt/integrations/1-ai-providers.md +64 -0
  219. package/docs/guide/pt/integrations/2-plugins.md +44 -0
  220. package/docs/guide/pt/integrations/3-jira-integration.md +71 -0
  221. package/docs/guide/pt/integrations/4-mobile-companion.md +38 -0
  222. package/docs/guide/pt/pipeline/1-rails-and-jobs.md +94 -0
  223. package/docs/guide/pt/pipeline/2-the-job-detail-view.md +90 -0
  224. package/docs/guide/pt/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  225. package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +60 -0
  226. package/docs/guide/pt/settings/1-themes.md +37 -0
  227. package/docs/guide/pt/settings/2-language.md +39 -0
  228. package/docs/guide/pt/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  229. package/docs/guide/pt/settings/4-where-your-data-lives.md +48 -0
  230. package/docs/guide/pt/specs/1-specs-and-the-backlog.md +52 -0
  231. package/docs/guide/pt/specs/2-add-spec-quick-mode.md +45 -0
  232. package/docs/guide/pt/specs/3-add-spec-explore-mode.md +68 -0
  233. package/docs/guide/pt/specs/4-drafts-and-contract-layer.md +81 -0
  234. package/docs/guide/zh/agents/1-meet-the-agents.md +38 -0
  235. package/docs/guide/zh/agents/2-profiles-and-the-balanced-default.md +45 -0
  236. package/docs/guide/zh/agents/3-customizing-models-per-agent.md +60 -0
  237. package/docs/guide/zh/agents/4-custom-agents-catalog.md +43 -0
  238. package/docs/guide/zh/getting-started/1-what-is-specrails.md +49 -0
  239. package/docs/guide/zh/getting-started/2-installing-and-first-run.md +42 -0
  240. package/docs/guide/zh/getting-started/3-adding-your-first-project.md +58 -0
  241. package/docs/guide/zh/getting-started/4-the-dashboard-tour.md +53 -0
  242. package/docs/guide/zh/insights/1-analytics-and-cost-tracking.md +78 -0
  243. package/docs/guide/zh/insights/2-the-integrated-terminal.md +46 -0
  244. package/docs/guide/zh/insights/3-code-explorer.md +50 -0
  245. package/docs/guide/zh/integrations/1-ai-providers.md +64 -0
  246. package/docs/guide/zh/integrations/2-plugins.md +44 -0
  247. package/docs/guide/zh/integrations/3-jira-integration.md +71 -0
  248. package/docs/guide/zh/integrations/4-mobile-companion.md +38 -0
  249. package/docs/guide/zh/pipeline/1-rails-and-jobs.md +94 -0
  250. package/docs/guide/zh/pipeline/2-the-job-detail-view.md +90 -0
  251. package/docs/guide/zh/pipeline/3-batch-implement-and-multi-feature.md +78 -0
  252. package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +60 -0
  253. package/docs/guide/zh/settings/1-themes.md +37 -0
  254. package/docs/guide/zh/settings/2-language.md +39 -0
  255. package/docs/guide/zh/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
  256. package/docs/guide/zh/settings/4-where-your-data-lives.md +48 -0
  257. package/docs/guide/zh/specs/1-specs-and-the-backlog.md +52 -0
  258. package/docs/guide/zh/specs/2-add-spec-quick-mode.md +45 -0
  259. package/docs/guide/zh/specs/3-add-spec-explore-mode.md +68 -0
  260. package/docs/guide/zh/specs/4-drafts-and-contract-layer.md +81 -0
  261. package/docs/internals/README.md +1 -1
  262. package/docs/internals/adding-a-provider.md +192 -59
  263. package/docs/internals/api-reference.md +130 -21
  264. package/docs/internals/architecture.md +22 -9
  265. package/docs/internals/bundled-framework-build-plan.md +264 -0
  266. package/docs/internals/configuration.md +33 -8
  267. package/docs/internals/global-artifacts-alignment-contract.md +486 -0
  268. package/docs/internals/global-artifacts-relocation-evaluation.md +294 -0
  269. package/docs/internals/operations-runbook.md +16 -5
  270. package/docs/internals/profiles.md +42 -14
  271. package/docs/platforms/macos.md +27 -8
  272. package/docs/platforms/windows.md +20 -6
  273. package/docs/running-pipelines.md +17 -9
  274. package/docs/terminal.md +9 -3
  275. package/docs/tracking-cost.md +17 -11
  276. package/package.json +1 -1
  277. package/server/dist/agent-refine-manager.js +20 -5
  278. package/server/dist/artifact-registry.js +468 -0
  279. package/server/dist/attachment-manager.js +5 -8
  280. package/server/dist/browser-capture-manager.js +4 -4
  281. package/server/dist/bundled-core.js +72 -0
  282. package/server/dist/bundled-openspec.js +58 -0
  283. package/server/dist/chat-manager.js +42 -5
  284. package/server/dist/code-explorer-router.js +10 -7
  285. package/server/dist/config.js +7 -2
  286. package/server/dist/context-budget.js +17 -6
  287. package/server/dist/context-scope.js +6 -2
  288. package/server/dist/contract-refine-runner.js +31 -9
  289. package/server/dist/desktop-router.js +39 -14
  290. package/server/dist/docs-router.js +210 -132
  291. package/server/dist/file-summary-manager.js +41 -16
  292. package/server/dist/framework-manager.js +248 -0
  293. package/server/dist/framework-migration.js +308 -0
  294. package/server/dist/index.js +30 -0
  295. package/server/dist/install-config-path.js +73 -0
  296. package/server/dist/jira/jira-sync-manager.js +23 -11
  297. package/server/dist/openspec-shim.js +153 -0
  298. package/server/dist/plugins-router.js +19 -8
  299. package/server/dist/profiles-router.js +38 -16
  300. package/server/dist/project-registry.js +101 -3
  301. package/server/dist/project-router-chat.js +1 -1
  302. package/server/dist/project-router-helpers.js +25 -12
  303. package/server/dist/project-router-jobs.js +3 -3
  304. package/server/dist/project-router-settings.js +8 -6
  305. package/server/dist/project-router-setup.js +27 -10
  306. package/server/dist/project-router-spending.js +6 -1
  307. package/server/dist/project-router-tickets.js +30 -10
  308. package/server/dist/project-router.js +16 -1
  309. package/server/dist/providers/gemini-adapter.js +4 -0
  310. package/server/dist/providers/gemini-agent-ack.js +65 -0
  311. package/server/dist/queue-manager.js +156 -12
  312. package/server/dist/setup-manager.js +131 -29
  313. package/server/dist/smash-runner.js +21 -6
  314. package/server/dist/ticket-store.js +6 -2
  315. package/server/dist/ticket-watcher.js +5 -1
  316. package/server/dist/util/stream-display.js +18 -3
  317. package/server/dist/vitest-setup.js +25 -0
  318. package/server/dist/workspace-manager.js +199 -0
  319. package/server/dist/workspace-resolution.js +147 -0
  320. package/client/dist/assets/index-DgKfQFcf.css +0 -2
  321. package/client/dist/assets/setup-BIIkb-_K.js +0 -1
  322. package/client/dist/assets/setup-BeQxu9kD.js +0 -1
  323. package/client/dist/assets/setup-CPa6GnlI.js +0 -1
  324. package/client/dist/assets/setup-CZl4OEJx.js +0 -1
  325. package/client/dist/assets/setup-ChpodNfn.js +0 -1
  326. package/client/dist/assets/setup-D_fjJH6u.js +0 -1
  327. package/client/dist/assets/setup-YzD8DX4O.js +0 -1
  328. package/client/dist/assets/setup-fRpDozmq.js +0 -1
  329. package/docs/adding-a-provider.md +0 -107
@@ -0,0 +1,94 @@
1
+ # Rails & Jobs
2
+
3
+ Du hast Specs auf dem Board. Hier werden sie zu Code. Eine **Rail** ist die Spur, die eine Spec durch die komplette Pipeline schiebt — Architect → Developer → Reviewer → Ship — und dabei echte KI-Agents direkt in deinem Projektverzeichnis laufen lässt. Diese Seite zeigt dir, wie du eine Rail startest, wie die Job-Queue funktioniert und wie du der Arbeit live zusiehst.
4
+
5
+ ## Was eine Rail ist
6
+
7
+ Stell dir deinen Bildschirm in zwei Hälften vor:
8
+
9
+ ```
10
+ SpecsBoard (links) Rails (rechts)
11
+ ───────────────── ─────────────────
12
+ #1 Login flow ─┐
13
+ #2 Webhook retry │ ziehen auf
14
+ #3 Cost limits │ ────────────► Rail 1 ▶ Play
15
+ #4 Audit log │
16
+ └────────────► Rail 2 ▶ Play
17
+ ```
18
+
19
+ Eine Rail ist eine **Ausführungsspur**. Du ziehst eine Spec-Karte vom SpecsBoard auf eine Rail und drückst dann **▶ Play**. Die Rail startet die Pipeline und arbeitet die Spec von vorne bis hinten ab — direkt im Arbeitsverzeichnis deines Projekts: Dateien werden bearbeitet, Tests laufen, alles inklusive.
20
+
21
+ Du kannst mehrere Rails anlegen, um deine Arbeit in benannten Spuren zu organisieren (eine für das Feature, an dem du gerade dran bist, eine weitere, die dahinter wartet). Mehr zu mehreren Rails und zum Stapelbetrieb findest du unter [Batch implement & Multi-Feature](batch-implement-and-multi-feature).
22
+
23
+ ## Eine Rail auf einer Spec starten
24
+
25
+ 1. **Zieh eine Spec-Karte** vom SpecsBoard auf eine Rail. Die ID der Spec taucht in der Spec-Liste der Rail auf. (Du ziehst lieber nicht? Nutze das **Move to rail**-Popover auf der Spec-Karte — es zeigt pro Rail einen Status-Punkt, damit du keine Arbeit auf eine belegte Spur ablegst.)
26
+ 2. **Wähle einen Modus**, falls du etwas anderes als den Standard möchtest — die segmentierte Auswahl im Rail-Header bietet `Implement`, `Batch` und (nur bei Claude-Rails) `Ultra`.
27
+ 3. **Drück ▶ Play.**
28
+
29
+ Das war's. Die Rail startet einen KI-CLI-Prozess in deinem Projekt und legt mit der Pipeline los.
30
+
31
+ ### Was im Rail-Header steckt
32
+
33
+ | Element | Was es macht |
34
+ |---------|--------------|
35
+ | **Status-Pill** | `idle`, `running` oder `failed`. Es gibt kein eigenes „completed“ — eine Rail kehrt auf `idle` zurück, wenn ihr Job sauber durchläuft. |
36
+ | **Spec-Liste** | Die IDs, die dieser Rail zugewiesen sind. Zieh weitere hinein oder heraus, um sie wieder zu lösen. |
37
+ | **Modus-Auswahl** | `Implement` / `Batch` / `Ultra` — siehe Tabelle unten. Pro Rail gespeichert. |
38
+ | **Profil-Auswahl** | Welches Agent-Profil läuft (nur bei Claude-Rails). Erscheint erst, wenn das Projekt mindestens ein Profil hat. |
39
+ | **Engine-Auswahl** | Welcher installierte Provider diese Rail ausführt — Claude, Codex oder Gemini. Wird nur angezeigt, wenn das Projekt mehr als einen Provider hat. Siehe [Engine pro Rail wählen](picking-an-engine-per-rail). |
40
+ | **▶ Play / ■ Stop** | Starten oder abbrechen. |
41
+
42
+ ### Die drei Rail-Modi
43
+
44
+ | Modus | Befehl | Was er macht |
45
+ |------|---------|--------------|
46
+ | **Implement** | `/specrails:implement` | Ein Job für alle Specs auf der Rail. Durchläuft die komplette Pipeline Architect → Developer → Reviewer → Ship. Der Alltagsstandard. |
47
+ | **Batch** | `/specrails:batch-implement` | Ein Job, der die Specs der Rail nacheinander abarbeitet — in abhängigkeitsbewussten Wellen. Ideal für mehrere zusammenhängende Specs. |
48
+ | **Ultra** | Ultracode | Claude implementiert jede Spec eigenständig und **umgeht** dabei die Pipeline. Ein unabhängiger Job pro Spec. Nur Claude. |
49
+
50
+ Ultra ist der Sonderfall: Es überspringt die Agent-Kette und übergibt Claude die rohe Spec, an der es mit seinen nativen Tools arbeitet. Das ist offen angelegt, deshalb öffnet Play zuerst eine Bestätigung, und eine Modell-Auswahl pro Rail lässt dich zwischen Haiku / Sonnet / Opus wählen. Ultra erscheint nur, wenn die Engine der Rail Claude ist.
51
+
52
+ ## Die Job-Queue
53
+
54
+ Jedes Mal, wenn du Play drückst, wird der Rail-Lauf zu einem **Job**. Die wichtigste Regel, die du verinnerlichen solltest:
55
+
56
+ > **Ein Job pro Projekt — immer nur einer.** Jedes Projekt hat eine einzige Queue. Innerhalb eines Projekts läuft jeweils nur ein Rail-Job; der Rest stellt sich dahinter an und startet automatisch, sobald ein Platz frei wird.
57
+
58
+ Das überrascht Leute, die drei Rails anlegen und erwarten, dass sie parallel laufen. Tun sie nicht — jedenfalls nicht innerhalb desselben Projekts. Rails hinzuzufügen *organisiert* deine Arbeit in Spuren; es lässt diese Spuren nicht gleichzeitig laufen.
59
+
60
+ **Echte Parallelität gibt es zwischen Projekten.** Jedes Projekt hat seine eigene, unabhängige Queue — eine Rail in Projekt A und eine Rail in Projekt B laufen also gleichzeitig, ohne sich in die Quere zu kommen. Du willst mehr Durchsatz? Öffne mehr Projekte.
61
+
62
+ Es gibt keinen globalen Regler für die Parallelität. Die einzige automatische Bremse ist budgetbasiert: Wenn du ein Tagesbudget gesetzt hast (pro Projekt oder app-weit), pausiert die Queue von selbst, sobald die Ausgaben des Tages das Limit erreichen.
63
+
64
+ ## Beim Laufen zusehen
65
+
66
+ Jeden Job findest du unter **Jobs** in der rechten Seitenleiste des Projekts — eine Kartenliste, die neuesten zuerst. Jede Karte zeigt ein Status-Badge, das Profil-Badge, ein Prioritäts-Badge, die Dauer, die Kosten und den gestarteten Befehl. Über der Liste:
67
+
68
+ - **Status-Filter-Chips** — zeigen nur Jobs in einem bestimmten Status.
69
+ - **Datumsbereich-Filter** — engt auf ein Zeitfenster ein.
70
+ - **Compare** — wähle zwei Jobs und betrachte sie nebeneinander.
71
+
72
+ Klick auf eine beliebige Karte, um die **Job-Detail-Ansicht** zu öffnen, in der das Live-Streaming-Log und die Live-Metriken stecken. Das ist die nächste Seite: [Die Job-Detail-Ansicht](the-job-detail-view).
73
+
74
+ ## Einen Job abbrechen
75
+
76
+ Klick im Rail-Header auf **■ Stop**. Die App sendet `SIGTERM` an den Subprozess, wartet **5 Sekunden** auf einen sauberen Ausstieg und schickt dann `SIGKILL`. Es bleibt nichts halb gestartet zurück.
77
+
78
+ ## Wenn eine Rail nicht starten will
79
+
80
+ Wenn du eine Engine wählst, deren CLI nicht auf deinem Rechner installiert ist, **schlägt der Start sofort fehl**, anstatt einen kaputten Job zu starten — es wird nichts gestartet. Installiere die fehlende Provider-CLI ([Codex verwenden](../integrations/using-codex), [Gemini verwenden](../integrations/using-gemini)) und starte erneut. Ein fehlendes Claude oder Codex liefert eine präzise „*<provider> CLI not found*“-Meldung; ein fehlendes Gemini zeigt heute eine generische Startfehlermeldung, aber das Ergebnis ist dasselbe.
81
+
82
+ ## Alles stoppen
83
+
84
+ Wenn etwas nicht stimmt:
85
+
86
+ - **Eine einzelne Rail** — klick in ihrem Header auf **■ Stop**.
87
+ - **Auto-Pause beim Budget** — setze ein Tagesbudget, und die Queue pausiert sich selbst, sobald die Ausgaben des Tages das Limit erreichen.
88
+ - **Alles** — beende die Desktop-App oder führe `specrails-desktop stop` aus.
89
+
90
+ ## Wie es weitergeht
91
+
92
+ - [Die Job-Detail-Ansicht](the-job-detail-view) — Phasen, Live-Metriken, Ticket-Karten.
93
+ - [Batch implement & Multi-Feature](batch-implement-and-multi-feature) — mehrere Specs auf einmal ausführen.
94
+ - [Engine pro Rail wählen](picking-an-engine-per-rail) — Claude vs. Codex vs. Gemini.
@@ -0,0 +1,90 @@
1
+ # Die Job-Detail-Ansicht
2
+
3
+ Klick auf eine beliebige Job-Karte auf der **Jobs**-Seite, und du landest hier: dem Cockpit für einen einzelnen Rail-Lauf. Alles dreht sich um ein Versprechen — **die Live-Zahlen, die du siehst, sind echt, niemals geraten.** Diese Seite führt dich durch die Phasen, die Live-Metriken und die Ticket-Karten.
4
+
5
+ ## Das Layout
6
+
7
+ Über dem vollständigen Streaming-Log sitzen zwei Panels:
8
+
9
+ ```
10
+ ┌─────────────────────────────────────────────┐
11
+ │ Status-Header (Icon · Live-Dauer · …) │
12
+ ├─────────────────────────────────────────────┤
13
+ │ Ticket-Header ( #12 #14 #15 ) │
14
+ ├─────────────────────────────────────────────┤
15
+ │ │
16
+ │ Streaming-Log (Auto-Scroll · Suche · …) │
17
+ │ │
18
+ └─────────────────────────────────────────────┘
19
+ ```
20
+
21
+ ## Pipeline-Phasen
22
+
23
+ Bei `Implement`- und `Batch`-Jobs durchläuft der Lauf die Phasen, die der Slash-Befehl definiert — standardmäßig:
24
+
25
+ ```
26
+ Architect ──► Developer ──► Reviewer ──► Ship
27
+ ```
28
+
29
+ Jede Phase ist ein spezialisierter Agent, den die Engine der Rail in deinem Projektverzeichnis aufruft:
30
+
31
+ | Phase | Agent | Was er macht |
32
+ |-------|-------|--------------|
33
+ | **Architect** | `sr-architect` | Plant die Implementierung. |
34
+ | **Developer** | `sr-developer` | Schreibt den Code. |
35
+ | **Reviewer** | `sr-reviewer` | Prüft das Ergebnis. |
36
+ | **Ship** | (variiert) | Letzter Feinschliff: Tests, Commit, PR-Entwurf. |
37
+
38
+ Welcher Agent welche Phase übernimmt, entscheidet das **Agent-Profil** des Projekts. Das Basistrio (`sr-architect`, `sr-developer`, `sr-reviewer`) ist immer vorhanden; Routing-Regeln in einem Profil können weitere Agents hinzufügen oder austauschen, wer eine Phase ausführt. Die Phasen-Fortschrittsleiste erscheint nur, wenn der Befehl tatsächlich Phasen definiert — Ultracode-Jobs (die die Pipeline umgehen) zeigen keine an.
39
+
40
+ ## Live-Metriken — ehrlich von Grund auf
41
+
42
+ Der Status-Header ist die Schlagzeile. Er zeigt ein Status-Icon, eine Aktivitätszeile, die beschreibt, was der Job *gerade jetzt* tut, eine Zählung der ausgeführten Schritte und eine Reihe von Metriken:
43
+
44
+ | Metrik | Wann du den echten Wert siehst |
45
+ |--------|------------------------------|
46
+ | **Dauer** | **Live.** Ein 1-Sekunden-Ticker zählt hoch, während der Job läuft — das ist die einzige wirklich live aktualisierte Zahl. |
47
+ | **Turns** | Inkrementell aus den gestreamten Assistant-Events abgeleitet, sobald sie eintreffen. |
48
+ | **Tokens** | Inkrementell aus demselben Stream zusammengezählt (tolerant gegenüber Events, denen Usage-Felder fehlen). |
49
+ | **Kosten** | Werden als `—` angezeigt, bis der Job endet, dann als verbindlicher `total_cost_usd` enthüllt. |
50
+
51
+ Das Designprinzip: **keine ungefähren oder geschätzten Zahlen während des Laufs.** Die Dauer ist echt, weil sie nichts anderes als eine Uhr ist. Turns und Tokens werden aus tatsächlich gestreamter Aktivität aufaddiert. Die Kosten werden während des Laufs bewusst *nicht* geschätzt — sie erscheinen als ausstehend und lösen sich erst zu ihrer finalen, verbindlichen Zahl auf, wenn der Provider sie beim Job-Ende meldet. Wenn eine Zahl so aussieht, als würde sie warten, ist das Absicht — dir wird die Wahrheit gezeigt, keine Hochrechnung.
52
+
53
+ Das Label und das Icon im Header entsprechen dem Status des Jobs, und das Panel wird für `running`-, `completed`- und `failed`-Jobs gleichermaßen gerendert — die Detail-Ansicht eines abgeschlossenen Jobs zeigt also dieselben Metriken, eingefroren auf ihren Endwerten.
54
+
55
+ ## Die Ticket-Karten
56
+
57
+ Der **Ticket-Header** sitzt zwischen dem Status-Header und dem Log. Es ist eine hochwertige Identitäts-Karte, die einen Chip für jede Spec zeigt, die der Job berührt hat — aus dem gestarteten Befehl abgeglichen, sodass er exakt widerspiegelt, um welche Tickets es bei diesem Lauf ging.
58
+
59
+ - **2–3 Tickets** — als Liste von Chips angezeigt.
60
+ - **4 oder mehr** — werden zu einem kompakten `+ N more`-Modus mit einem Aufklapp-Chevron zusammengefasst, damit der Header aufgeräumt bleibt.
61
+
62
+ Ein Klick auf einen Chip öffnet die Detailansicht dieser Spec **über der Job-Seite** — du verlierst deinen Platz nicht und wechselst die Route nicht. Eine schnelle Möglichkeit, noch einmal nachzulesen, was ein Job liefern soll, während du ihm bei der Arbeit zusiehst. (Auf tabletbreiten Bildschirmen kannst du ein Ticket-Modal sogar zur Seite ziehen, um zwei Specs nebeneinander zu vergleichen.)
63
+
64
+ ## Das Streaming-Log
65
+
66
+ Unter den Panels liegt das vollständige Log des Laufs, in Echtzeit über den WebSocket gestreamt:
67
+
68
+ - **Auto-Scroll** hält die neueste Ausgabe im Blick (scrollst du hoch, pausiert es, damit du in Ruhe lesen kannst).
69
+ - **Suche**, um zu einer Stelle zu springen.
70
+ - **Copy**, um das ganze Log zu greifen.
71
+
72
+ Das ist die rohe Wahrheit darüber, was die KI tut — jeder Tool-Aufruf, jede Dateibearbeitung, jeder Testlauf.
73
+
74
+ ## Diagnose-Export
75
+
76
+ Wenn [Telemetrie](../settings/customizing) für den Job aktiviert war, erscheint im Header ein Button **Export diagnostic**. Er lädt ein ZIP herunter, das Folgendes enthält:
77
+
78
+ - `job-metadata.json` — Befehl, Status, Profil, Plugins.
79
+ - `telemetry.ndjson` — unkomprimierte OTLP/JSON-Signale.
80
+ - `logs.txt` — das vollständige Streaming-Log.
81
+ - `summary.md` — menschenlesbare Highlights.
82
+ - `profile.json`, `plugins.json` — exakte Snapshots dessen, was lief (sofern vorhanden).
83
+
84
+ Praktisch, um einen Lauf mit einem Teammitglied zu teilen oder einen präzisen Fehlerbericht einzureichen.
85
+
86
+ ## Wie es weitergeht
87
+
88
+ - [Rails & Jobs](rails-and-jobs) — Starten und Einreihen in die Queue.
89
+ - [Batch implement & Multi-Feature](batch-implement-and-multi-feature) — viele Specs, abhängigkeitsbewusste Wellen.
90
+ - [Kosten verfolgen](../analytics/tracking-cost) — aus Kosten pro Job Projekt-Analysen machen.
@@ -0,0 +1,78 @@
1
+ # Batch implement & Multi-Feature
2
+
3
+ Eine Spec nach der anderen ist völlig okay, aber viel echte Arbeit kommt in Bündeln — ein Feature plus seine Tests plus seine Migration, oder ein Backlog, das du in einer Sitzung abräumen willst. Diese Seite zeigt, wie du mehrere Specs zusammen ausführst: den Batch-Modus, Abhängigkeits-Wellen und wie die Pipeline verhindert, dass gleichzeitige Arbeit miteinander kollidiert.
4
+
5
+ ## Mehrere Specs auf einmal ausführen
6
+
7
+ Der einfachste Weg, einen ganzen Stapel Specs aus einer Rail laufen zu lassen, ist der **Batch**-Modus:
8
+
9
+ 1. **Zieh alle Specs**, die du willst, auf eine einzige Rail. Sie stapeln sich in der Spec-Liste dieser Rail.
10
+ 2. **Stell den Modus der Rail auf Batch** (die segmentierte Auswahl im Rail-Header).
11
+ 3. **Drück ▶ Play.**
12
+
13
+ Die Rail startet **einen** `/specrails:batch-implement`-Job, der jede zugewiesene Spec abarbeitet. Beobachte ihn wie jeden anderen Job auf der Jobs-Seite — es ist ein einzelner Job für das gesamte Set, nicht ein Job pro Spec.
14
+
15
+ Das ist wichtig wegen der **Ein-Job-pro-Projekt-Queue**. Da ein Projekt immer nur einen Rail-Job auf einmal ausführt, ist der Batch-Modus auch der sauberste Weg, eine Liste von Specs zu *verketten*, ohne mit mehreren Rails zu jonglieren und auf das Leeren jeder einzelnen zu warten.
16
+
17
+ ### Implement vs. Batch — welcher Modus?
18
+
19
+ | | **Implement** | **Batch** |
20
+ |---|---|---|
21
+ | Befehl | `/specrails:implement` | `/specrails:batch-implement` |
22
+ | Specs pro Job | Alle auf der Rail, als eine Arbeitseinheit behandelt | Alle auf der Rail, **nacheinander** abgearbeitet |
23
+ | Am besten für | Eine eng verzahnte Änderung | Mehrere eigenständige Features, die du der Reihe nach abräumen willst |
24
+ | Reihenfolge | n/v | Abhängigkeitsbewusste Wellen (siehe unten) |
25
+
26
+ Wenn die Specs wirklich eine Änderung sind, nimm **Implement**. Wenn sie eine Liste separater Features sind, nimm **Batch** und lass es sie sequenzieren.
27
+
28
+ ## Abhängigkeits-Wellen
29
+
30
+ Der Batch-Modus arbeitet die Specs nicht einfach von oben nach unten ab — er berechnet eine **abhängigkeitsbewusste Ausführungsreihenfolge** und gruppiert die Specs in *Wellen*. Der Orchestrator (`/specrails:batch-implement`) ermittelt, welche Specs von welchen abhängen, und plant sie dann so ein, dass nichts vor der Arbeit läuft, auf der es aufbaut.
31
+
32
+ Konzeptionell:
33
+
34
+ ```
35
+ Welle 1: #2 (Datenmodell) ← keine Abhängigkeiten, läuft zuerst
36
+ Welle 2: #4 (API auf dem Modell) ← wartet auf #2
37
+ #5 (CLI auf dem Modell) ← wartet auf #2
38
+ Welle 3: #7 (Docs über alles) ← wartet auf #4 und #5
39
+ ```
40
+
41
+ Innerhalb des Jobs werden die Specs jeder Welle implementiert, bevor die nächste Welle beginnt. Du konfigurierst das nicht von Hand — der Orchestrator leitet die Wellen aus den Specs selbst ab. Sieh dabei zu, wie es sich in der [Job-Detail-Ansicht](the-job-detail-view) entfaltet: Das Streaming-Log erzählt, an welcher Spec der Batch gerade arbeitet, und der Ticket-Header zeigt jede Spec, die der Job berührt hat.
42
+
43
+ ## Worktree-Isolation
44
+
45
+ Wenn in einem Lauf mehrere Specs implementiert werden, hält die Pipeline jede Arbeitseinheit isoliert, damit gleichzeitige oder aufeinanderfolgende Änderungen sich nicht gegenseitig die Dateien zertrampeln. Der Batch-Orchestrator führt die Implementierung jeder Spec in ihrem eigenen sauberen Arbeitskontext aus und integriert dann die Ergebnisse — eine halbfertige Spec hinterlässt deinen Tree also nie in einem kaputten Zwischenzustand, den die nächste zu sehen bekäme.
46
+
47
+ In der Praxis heißt das:
48
+
49
+ - Jede Spec bekommt zum Implementieren eine saubere Ausgangslage, statt die noch laufenden Änderungen der vorherigen Spec mitten im Fluss zu erben.
50
+ - Reviews und Ship-Schritte arbeiten auf einem kohärenten Snapshot, nicht auf einem beweglichen Ziel.
51
+ - Ein Fehler in einer Welle bleibt eingegrenzt — er beschädigt nicht stillschweigend die Specs, die bereits ausgeliefert wurden.
52
+
53
+ Die App protokolliert pro Job genau, welche Dateien berührt wurden und welches Ticket sie berührt hat (du siehst das als Provenance-Chips im **Code**-Bereich und als „Von diesem Ticket berührte Dateien“-Liste im Detail-Modal jeder Spec). Genau diese Zuordnung lässt dich einem Multi-Spec-Lauf vertrauen: Du kannst eine Dateiänderung immer bis zu der Spec zurückverfolgen, die sie verursacht hat.
54
+
55
+ ## Multi-Feature über Projekte hinweg
56
+
57
+ Wenn du echte Parallelität willst — zwei große Features, die gleichzeitig gebaut werden — teile sie **über Projekte** auf, nicht über Rails in einem Projekt. Jedes Projekt hat seine eigene unabhängige Queue, also:
58
+
59
+ ```
60
+ Projekt A ▶ Rail baut Feature X ┐
61
+ ├─ laufen gleichzeitig
62
+ Projekt B ▶ Rail baut Feature Y ┘
63
+ ```
64
+
65
+ Es gibt kein globales Parallelitäts-Limit und keinen Wettstreit zwischen Projekten. Öffne beide, starte in jedem eine Rail, und sie kommen zusammen voran. Die einzige geteilte Bremse ist dein Budget-Limit, das die Queues pro Projekt oder app-weit pausiert, sobald die Ausgaben des Tages das Limit erreichen.
66
+
67
+ ## Tipps für große Batches
68
+
69
+ - **Gruppiere verwandte Specs auf einer Rail**, bevor du auf Batch umstellst — die Abhängigkeits-Wellen sehen nur, was auf dieser Rail liegt.
70
+ - **Setze ein Tagesbudget**, bevor du einen großen Batch startest, damit ein unerwartet teurer Lauf automatisch pausiert, statt davonzulaufen. Konfiguriere es unter [Budget](../settings/customizing).
71
+ - **Nutze danach den Compare-Button** auf der Jobs-Seite, um zwei Batch-Läufe nebeneinander zu vergleichen.
72
+ - **Exportiere eine Diagnose** (falls Telemetrie an war), um den exakten Profil- und Plugin-Snapshot für den gesamten Batch zu erhalten.
73
+
74
+ ## Wie es weitergeht
75
+
76
+ - [Rails & Jobs](rails-and-jobs) — das Queue-Modell im Detail.
77
+ - [Die Job-Detail-Ansicht](the-job-detail-view) — einem Batch-Lauf live zusehen.
78
+ - [Engine pro Rail wählen](picking-an-engine-per-rail) — beachte: Batch läuft auf jedem Provider; Ultra gibt es nur bei Claude.
@@ -0,0 +1,60 @@
1
+ # Engine pro Rail wählen
2
+
3
+ Specrails desktop behandelt **Claude Code**, **Codex CLI** und **Gemini CLI** als gleichwertige Engines. Ein Projekt kann eine, zwei oder alle drei installiert haben — und wenn mehr als eine vorhanden ist, wählst du, welche Engine jede Rail ausführt. Diese Seite zeigt die Engine-Auswahl pro Rail und wann du zu welcher greifst.
4
+
5
+ ## Wann die Auswahl erscheint
6
+
7
+ Die **Engine-Auswahl** sitzt im Rail-Header, direkt neben der Modus-Auswahl. Sie wird nur angezeigt, wenn das Projekt **mehr als einen** Provider installiert hat.
8
+
9
+ > **Projekte mit nur einem Provider verhalten sich byteidentisch.** Hat ein Projekt nur eine Engine, erscheint keine Auswahl, und an der Provider-Wahl ändert sich nichts — es läuft einfach auf dieser Engine. Die Auswahl ist ausschließlich für Multi-Provider-Projekte da.
10
+
11
+ Wenn sie erscheint, gilt deine Wahl **pro Rail und pro Start** — verschiedene Rails können verschiedene Engines ausführen, und deine Wahl wird pro Projekt gemerkt (mit der primären Engine des Projekts als Voreinstellung).
12
+
13
+ ## So wählst du eine Engine
14
+
15
+ 1. Vergewissere dich, dass die Engine-Auswahl der Rail sichtbar ist (Projekt hat 2+ Provider).
16
+ 2. Klick darauf und wähle **Claude**, **Codex** oder **Gemini**.
17
+ 3. Starte die Rail mit **▶ Play**.
18
+
19
+ Die ausgewählte Engine führt jede Phase der Pipeline dieser Rail aus. Ist die CLI der gewählten Engine nicht installiert, schlägt der Start sofort fehl — es wird nichts gestartet. Installiere die fehlende CLI und versuch es erneut.
20
+
21
+ ## Wofür jede Engine gut ist
22
+
23
+ Alle drei führen die Standard-Pipelines **Implement** und **Batch** aus. Hier ein praktischer Leitfaden zur Auswahl:
24
+
25
+ | Engine | Greif dazu, wenn… | Hinweise |
26
+ |--------|--------------------|-------|
27
+ | **Claude** | Du den vollen Funktionsumfang willst: Agent-Profile, Ultracode, native Kostenmeldung, die umfangreichste Tool-Unterstützung. Der Standard für die meiste Arbeit. | Die einzige Engine, die **Agent-Profile**, **Ultracode** und ein paar Claude-exklusive Spec-Features (Contract Layer, SMASH) unterstützt. |
28
+ | **Codex** | Du die OpenAI Codex CLI bevorzugst oder Implementierungen über verschiedene Provider hinweg vergleichen willst. | `codex` ≥ 0.128.0. Keine native Kostenmeldung — die App ergänzt die Kosten aus ihrer Preistabelle. Profile gelten nicht. |
29
+ | **Gemini** | Du Googles Gemini CLI, native Telemetrie oder einen günstigeren Lauf für Routine-Specs willst. | `gemini` ≥ 0.11.0 (setze `GEMINI_API_KEY`). Native OTLP-Telemetrie. Profile gelten nicht. |
30
+
31
+ ### Die Claude-exklusiven Features
32
+
33
+ Ein paar Dinge funktionieren nur auf Claude-Rails — wähle Claude, wenn du sie brauchst:
34
+
35
+ - **Agent-Profile** — Modell-Routing pro Agent. Auf Codex- oder Gemini-Rails läuft der Lauf immer im Legacy-Modus, und ein ausgewähltes Profil wird **ignoriert**. Die Profil-Auswahl ist für Nicht-Claude-Engines ausgeblendet.
36
+ - **Ultracode (`Ultra`-Modus)** — der autonome, pipeline-umgehende Modus. Das `Ultra`-Segment und seine Haiku/Sonnet/Opus-Modell-Auswahl erscheinen nur, wenn die Engine der Rail Claude ist.
37
+ - **Contract Layer & SMASH** — Claude-exklusive Features zur Spec-Verfeinerung (das sind Add-Spec-Optionen, keine Rail-Optionen, aber dieselbe Einschränkung gilt).
38
+
39
+ Wenn ein Projekt Engines mischt, zeigt die rechte Seitenleiste nur Bereiche, die **jeder** installierte Provider unterstützt — der **Agents**-Bereich verschwindet also komplett bei einem Projekt, das irgendeinen Nicht-Claude-Provider enthält, weil Profile Claude-spezifisch sind.
40
+
41
+ ## Ein praktischer Workflow
42
+
43
+ Multi-Provider-Projekte spielen ihre Stärken aus, wenn du **vergleichen** oder **kostenoptimieren** willst:
44
+
45
+ - **Implementierungen vergleichen.** Leg dieselbe Spec auf zwei Rails, stell eine auf Claude und eine auf Codex, starte beide (über Projekte hinweg oder nacheinander in der Queue desselben Projekts) und nutze dann den **Compare**-Button auf der Jobs-Seite, um die Ergebnisse zu vergleichen.
46
+ - **Pro Spec kostenoptimieren.** Lass wichtige Specs auf Claude mit einem `max`-Profil laufen; lass Routine-Aufräum-Specs auf Gemini laufen, um Ausgaben zu sparen. Filtere `/analytics` nach Engine, um die Aufschlüsselung zu sehen.
47
+ - **Sinnvoll voreinstellen.** Lege deine meistgenutzte Engine als primäre Engine des Projekts fest, damit Rails standardmäßig darauf laufen, und wechsle nur pro Rail, wenn eine bestimmte Spec eine andere will.
48
+
49
+ ## Worauf du achten solltest
50
+
51
+ - **Die Provider-Wahl ist nach dem Anlegen des Projekts unveränderlich** (v1). Du wählst die installierten Provider beim Hinzufügen des Projekts; es gibt keinen Einstellungs-Schalter, um später einen hinzuzufügen oder zu entfernen.
52
+ - **Kosten werden immer verfolgt**, auch für Engines ohne native Kostenmeldung — die App greift auf eine Preistabelle zurück, sodass auch Codex- und Gemini-Läufe in den [Analysen](../analytics/tracking-cost) auftauchen.
53
+ - **Der „Open AI CLI“-Button im Terminal** bietet bei Multi-Provider-Projekten ebenfalls eine Provider-Auswahl, falls du eine CLI lieber von Hand bedienst.
54
+
55
+ ## Wie es weitergeht
56
+
57
+ - [Codex verwenden](../integrations/using-codex) — installieren und anmelden.
58
+ - [Gemini verwenden](../integrations/using-gemini) — installieren, `GEMINI_API_KEY`, Telemetrie.
59
+ - [Rails & Jobs](rails-and-jobs) — die Queue und der Start-Flow.
60
+ - [Kosten verfolgen](../analytics/tracking-cost) — Kostenaufschlüsselung pro Engine.
@@ -0,0 +1,37 @@
1
+ # Themes
2
+
3
+ Gestalte Specrails so, wie es dir gefällt. Die App bringt fünf sorgfältig abgestimmte Themes mit, zwischen denen du jederzeit blitzschnell wechseln kannst – ohne Neustart, ohne Neukompilieren, ganz ohne Konfiguration.
4
+
5
+ ## Die fünf eingebauten Themes
6
+
7
+ | Theme | Charakter |
8
+ | --- | --- |
9
+ | **Specrails** | Der Standard. Ausgewogen, ruhig, im Markenlook. |
10
+ | **Dracula** | Klassisches dunkles Violett. Schont die Augen bei Nacht. |
11
+ | **Aurora Light** | Ein helles, luftiges Light-Theme für die Arbeit am Tag. |
12
+ | **Obsidian Dark** | Tiefer, kontrastreicher Dark Mode. |
13
+ | **Matrix** | Grün auf Schwarz – für das Gefühl, mitten im Mainframe zu sitzen. |
14
+
15
+ ## So wechselst du
16
+
17
+ 1. Öffne die **Einstellungen** (das app-weite Einstellungsfenster).
18
+ 2. Wechsle zum Bereich **Erscheinungsbild**.
19
+ 3. Wähle ein Theme. Es wird sofort in der gesamten App angewendet.
20
+
21
+ Das war's schon. Die Änderung greift in dem Moment, in dem du klickst – die Oberfläche bekommt live ihr neues Aussehen.
22
+
23
+ ## Wo es überall greift
24
+
25
+ Deine Theme-Wahl gilt **app-weit**, nicht pro Projekt. Jedes Projekt, jede Seite, jedes Panel folgt demselben Theme. Es erreicht auch Stellen, an die du vielleicht gar nicht denkst:
26
+
27
+ - **Das Terminal-Panel** färbt sich live um und behält dabei deine Ausgabe-Historie und jede laufende Shell-Sitzung unverändert bei.
28
+ - **Diagramme** auf der Analytics-Seite passen ihre Farben an.
29
+ - **Code-Syntaxhervorhebung** im Code-Viewer folgt ebenfalls dem Theme.
30
+
31
+ ## Es merkt sich deine Wahl
32
+
33
+ Deine Auswahl wird mit der App gespeichert und bleibt so über Neustarts hinweg erhalten. Damit beim ersten Öffnen nicht kurz die falschen Farben aufblitzen, wendet Specrails dein gespeichertes Theme bereits an, bevor die Oberfläche überhaupt fertig geladen ist – so stimmt das Bild schon ab dem allerersten Frame.
34
+
35
+ ## Eine Anmerkung für Neugierige
36
+
37
+ Themes basieren auf einer kleinen Menge semantischer Farbrollen (einer „Akzent“-Farbe, einer „Surface“-Farbe und so weiter) statt auf fest verdrahteten Farbtönen. Deshalb lässt sich das nächste Theme so leicht ergänzen, und deshalb bleibt jedes Theme in sich stimmig – jedes belegt diese Rollen einfach neu. Du musst dir darüber keine Gedanken machen, um es zu nutzen; es ist schlicht der Grund, warum sich das Theming so nahtlos anfühlt.
@@ -0,0 +1,39 @@
1
+ # Sprache
2
+
3
+ Specrails spricht deine Sprache. Die Oberfläche ist vollständig in acht Sprachen übersetzt und richtet sich standardmäßig nach der Sprache, die auf deinem Computer eingestellt ist – für die meisten erscheint sie also schon beim ersten Start in der richtigen Sprache.
4
+
5
+ ## Unterstützte Sprachen
6
+
7
+ - English (Englisch)
8
+ - Español (Spanisch)
9
+ - Français (Französisch)
10
+ - Deutsch
11
+ - Português (Portugiesisch)
12
+ - Italiano (Italienisch)
13
+ - 中文 (Chinesisch)
14
+ - 日本語 (Japanisch)
15
+
16
+ ## Es startet in deiner Betriebssystemsprache
17
+
18
+ Wenn du Specrails zum ersten Mal öffnest, schaut es sich die Spracheinstellungen deines Betriebssystems an und ordnet sie der am besten passenden unterstützten Sprache zu. Ist dein Mac oder PC auf Spanisch eingestellt, siehst du Spanisch. Bei einer regionalen Variante (etwa `es-ES` oder `zh-Hans-CN`) ordnet Specrails sie automatisch der passenden Basissprache zu.
19
+
20
+ Du musst nichts weiter tun – und solange du die Spracheinstellung nie anrührst, folgt Specrails weiter deinem Betriebssystem. Stellst du die Sprache deines Computers später um, zieht Specrails einfach mit.
21
+
22
+ ## Selbst eine Sprache wählen
23
+
24
+ Du möchtest etwas anderes als die Standardsprache deines Betriebssystems? Dann wähle sie ausdrücklich:
25
+
26
+ 1. Öffne die **Einstellungen**.
27
+ 2. Wechsle zum Bereich **Sprache**.
28
+ 3. Wähle deine Sprache.
29
+
30
+ Der Wechsel ist **sofort** – die gesamte Oberfläche wird ohne Neustart in der neuen Sprache neu aufgebaut. Sobald du dich einmal ausdrücklich festgelegt hast, merkt sich Specrails das und folgt nicht mehr dem Betriebssystem, sodass deine Wahl bei jedem Öffnen der App respektiert wird.
31
+
32
+ ## Was übersetzt wird
33
+
34
+ Alles, was du in der Oberfläche liest – Schaltflächen, Beschriftungen, Statusmeldungen, Seitentitel, Dialoge. Auch Datumsangaben passen sich deiner gewählten Sprache an, sodass sie so formatiert sind, wie es diese Sprache erwartet.
35
+
36
+ ## Gut zu wissen
37
+
38
+ - **Englisch ist die Ausgangssprache.** Wenn eine brandneue Funktion erscheint, bevor ihre Übersetzung fertig ist, siehst du hier und da kurz eine englische Beschriftung – sie wird in einem der nächsten Updates übersetzt.
39
+ - Deine Sprachwahl gilt **app-weit**, in allen deinen Projekten gleich.
@@ -0,0 +1,46 @@
1
+ # Pipeline-Telemetrie & Diagnose
2
+
3
+ Wenn ein Pipeline-Job nicht so läuft, wie du es erwartet hast, liefert dir die Telemetrie eine detaillierte Aufzeichnung dessen, was die AI-CLI hinter den Kulissen tatsächlich getan hat. Sie ist **standardmäßig aus** und vollständig optional, pro Projekt – aktiviere sie nur dann, wenn du sie wirklich willst.
4
+
5
+ ## Was es ist
6
+
7
+ Die Telemetrie erfasst strukturierte Diagnosesignale (Traces, Metriken und Logs), die die AI-CLI während eines Pipeline-Jobs aussendet. Stell es dir wie einen Flugschreiber für deine Pipeline-Läufe vor: Zeitabläufe, Token-Verbrauch und die Aktivität Schritt für Schritt – lokal aufgezeichnet, damit du einen Job im Nachhinein untersuchen kannst.
8
+
9
+ Es baut auf **OpenTelemetry** auf, einem offenen Standardformat – die Daten sind also nicht in einer proprietären Blackbox eingesperrt.
10
+
11
+ ## Aktivieren
12
+
13
+ Die Telemetrie wird **pro Projekt** konfiguriert:
14
+
15
+ 1. Öffne die **Einstellungen** des Projekts (die projektspezifische Einstellungsseite).
16
+ 2. Suche den Schalter **Pipeline-Telemetrie**.
17
+ 3. Schalte ihn ein.
18
+
19
+ Ab diesem Moment zeichnen Pipeline-Jobs in diesem Projekt Telemetrie auf. Andere Projekte bleiben davon unberührt – jedes Projekt entscheidet für sich selbst.
20
+
21
+ ### Was abgedeckt ist
22
+
23
+ Die Telemetrie gilt für **Pipeline-Jobs** (die in der Queue eingereihten Architect → Developer → Reviewer → Ship-Rail-Läufe). Interaktive Sitzungen wie der Chat und der Einrichtungsassistent sind bewusst ausgenommen – die Telemetrie ist für die wiederholbaren, untersuchbaren Pipeline-Läufe gedacht, nicht für einmalige Unterhaltungen.
24
+
25
+ ## Wo die Daten liegen
26
+
27
+ Alles bleibt auf deinem Rechner, in deinem Home-Verzeichnis (`~/.specrails/`) – niemals in deinem Repository. Die Rohaufzeichnungen werden komprimiert neben ihrem Job gespeichert, und ältere Aufzeichnungen werden nach einer Woche automatisch zu kompakten Zusammenfassungen verdichtet, damit alles aufgeräumt bleibt. Du musst nichts davon von Hand verwalten.
28
+
29
+ ## Ein Diagnose-Paket exportieren
30
+
31
+ Das Nützlichste, was die Telemetrie ermöglicht, ist der **Diagnose-Export** – ein einzelnes ZIP, das alles zu einem Job bündelt, um Probleme zu untersuchen oder Informationen zu teilen.
32
+
33
+ Sobald für einen Job Telemetrie aufgezeichnet wurde, erscheint auf seiner Job-Karte eine **Export-Schaltfläche**. Klick darauf, um ein ZIP herunterzuladen, das Folgendes enthält:
34
+
35
+ - **`job-metadata.json`** – Identität und Parameter des Jobs
36
+ - **`telemetry.ndjson`** – die aufgezeichneten Rohsignale
37
+ - **`logs.txt`** – die erfasste Log-Ausgabe
38
+ - **`summary.md`** – eine gut lesbare Zusammenfassung des Laufs
39
+
40
+ Verwendet das Projekt Plugins, enthält das Paket zusätzlich eine Momentaufnahme, welche Plugins für diesen Job aktiv waren.
41
+
42
+ Genau dieses Paket schnappst du dir, wenn du einen kniffligen Lauf nachvollziehen, eine Aufzeichnung aufbewahren oder jemandem die Details geben willst, der dir beim Debuggen hilft.
43
+
44
+ ## Deaktivieren
45
+
46
+ Stell den Schalter jederzeit wieder aus. Neue Jobs hören sofort auf aufzuzeichnen. Was bereits erfasst wurde, bleibt auf der Festplatte, bis es verdichtet wird oder du das Projekt entfernst – nichts wird irgendwohin gesendet oder hinter deinem Rücken verloren.
@@ -0,0 +1,48 @@
1
+ # Wo deine Daten liegen
2
+
3
+ Kurz gesagt: **Specrails hält deine Repositories sauber.** Wenn du die App auf eines deiner Projekte richtest, zieht sie nicht bei dir ein, streut keine Konfigurationsdateien wild umher und schreibt nichts um, worum du nicht gebeten hast. Dein Code bleibt deiner – und bleibt sauber.
4
+
5
+ ## Dein Repository bleibt sauber
6
+
7
+ Specrails' eigene Dateien – seine Datenbanken, der projektspezifische Zustand, die Agent-Definitionen, Einstellungen, Telemetrie, Zusammenfassungen und alles andere, was es zum Laufen braucht – liegen an einem einzigen, ordentlichen Ort in deinem Home-Verzeichnis:
8
+
9
+ ```
10
+ ~/.specrails/
11
+ ```
12
+
13
+ Dieser Ordner ist der private Arbeitsbereich der App. Hier leben die Projektregistrierung, die projektspezifischen Datenbanken, die mitgelieferten Tools und alle betrieblichen Bestandteile. Deine eigentlichen Code-Repositories werden für nichts davon als Ablageplatz missbraucht.
14
+
15
+ Das bedeutet:
16
+
17
+ - Die `.gitignore` deines Repositorys wird von der App **nicht** umgeschrieben.
18
+ - Dein Repository wird nicht mit Tool-Konfigurationen oder versteckten Zustandsverzeichnissen vollgemüllt.
19
+ - Wenn du ein Projekt aus Specrails entfernst, bleibt kein Durcheinander in deinem Code zurück.
20
+
21
+ Falls du schon Tools genutzt hast, die klammheimlich überall in deinem Projekt Ordner und Dateien angelegt haben: Das hier ist ein bewusster Gegenentwurf. Specrails ist so gebaut, dass es für die git-Historie eines Repositorys ein **Nicht-Ereignis** ist, die App darauf zu richten.
22
+
23
+ ## Das eine, was *doch* committet wird – mit Absicht
24
+
25
+ Es gibt genau eine bewusste Ausnahme, und sie ist der ganze Sinn des Tools: **deine OpenSpec-Specs.**
26
+
27
+ Specs leben in deinem Repository, und zwar unter:
28
+
29
+ ```
30
+ openspec/
31
+ ```
32
+
33
+ Das ist Absicht. Deine Specs sind ein **Ergebnis** – eine versionierte, überprüfbare Aufzeichnung dessen, was du bauen wolltest und warum. Sie gehören neben deinen Code, nachverfolgt in git, sichtbar in Pull Requests, geteilt mit deinem Team. Genau darin liegt der Wert: Specs sind kein wegwerfbarer Zwischenstand, sondern Teil der Geschichte deines Projekts.
34
+
35
+ Die Regel ist also einfach und ehrlich:
36
+
37
+ - **`openspec/`** → liegt in deinem Repository, wird committet, mit Absicht.
38
+ - **Alles andere, was Specrails braucht** → liegt unter `~/.specrails/`, dir aus dem Weg.
39
+
40
+ ## Warum das so funktioniert
41
+
42
+ Specrails führt die AI-Tools aus seinem eigenen privaten Arbeitsbereich aus (unter `~/.specrails/`) und greift nur für die Dinge in dein echtes Repository zurück, die es wirklich berühren müssen – deinen Code lesen und die Specs schreiben, um die du gebeten hast. Die Tools, die Framework-Definitionen und die Buchführung bleiben allesamt im Home-Ordner der App.
43
+
44
+ Was das für dich bedeutet: Du kannst ein Projekt hinzufügen, Pipelines laufen lassen, Specs erkunden und Dinge ausprobieren – in der Gewissheit, dass sich Working Tree und git-Historie deines Repositorys immer nur auf die Weise ändern, die du erwartest – deine committeten Specs und der Code, den deine Pipelines schreiben. Sonst schleicht sich nichts ein.
45
+
46
+ ## Ein Projekt entfernen
47
+
48
+ Wenn du ein Projekt aus Specrails entfernst, räumt die App ihren eigenen projektspezifischen Zustand unter `~/.specrails/` auf. Die Specs, die bereits in dein Repository committet wurden, bleiben dort, wo sie hingehören – in deinem Repository –, denn sie gehören dir.
@@ -0,0 +1,52 @@
1
+ # Specs & das Backlog
2
+
3
+ Eine **Spec** ist die Arbeitseinheit, die die KI-Pipeline umsetzt. Stell sie dir wie ein Ticket vor: ein Titel, eine Beschreibung dessen, was du erledigt haben möchtest, eine Priorität und optionale Labels. Wenn du die Pipeline startest, lesen die KI-Agenten die Spec und handeln danach – eine klare Spec ist also der mit Abstand wichtigste Input für ein gutes Ergebnis.
4
+
5
+ Specs werden in der App manchmal auch **Tickets** genannt – beide Begriffe meinen dasselbe.
6
+
7
+ ## Das Board
8
+
9
+ Jedes Projekt öffnet sich auf seinem **Dashboard**, das das **SpecsBoard** zeigt – die Liste aller Specs des Projekts. Das ist dein Backlog. Von hier aus erstellst du neue Specs, legst ihre Priorität fest, ziehst sie auf eine Rail, um sie umzusetzen, und beobachtest, wie sich ihr Status während der Arbeit ändert.
10
+
11
+ Das Board hat zwei Ansichtsmodi, die du über einen Umschalter in der Toolbar wechselst und die pro Projekt gemerkt werden:
12
+
13
+ - **Post-it-Ansicht** (Standard) – kartenartige Kacheln mit kurzen Zusammenfassungen.
14
+ - **Listenansicht** – kompakte, einzeilige Zeilen.
15
+
16
+ Du kannst außerdem nach **Status** (Alle / To-do / Fertig) und nach **Label** filtern sowie nach **Standard**, **Ticket #** oder **Priorität** sortieren (jeweils mit Umschalter für auf- und absteigend).
17
+
18
+ ## Status
19
+
20
+ Eine Spec durchläuft eine überschaubare Reihe von Status. Das Board gibt jedem davon einen einheitlichen visuellen Hinweis, damit du den Zustand deines Backlogs auf einen Blick erfassen kannst:
21
+
22
+ | Status | Bedeutung |
23
+ |--------|-----------|
24
+ | **Entwurf** | Eine noch in Arbeit befindliche Idee, die aus einer Explore-Unterhaltung gespeichert wurde. Noch nicht bereit zur Umsetzung – du kannst zurückkommen und sie weiter ausarbeiten. Zeigt ein `Draft`-Pill. |
25
+ | **To-do** | Bereit, in Angriff genommen zu werden. Hier landet eine fertige Spec, wenn du sie erstellst. |
26
+ | **In Arbeit** | Die Pipeline arbeitet gerade daran (ein pulsierender blauer Punkt). |
27
+ | **Fertig** | Von der Pipeline abgeschlossen (ein grünes Häkchen). |
28
+ | **Abgebrochen** | Verworfen (ein rotes X). |
29
+
30
+ Entwürfe liegen im selben aktiven Bereich wie To-do-Specs – es gibt keine eigene Spalte für sie –, tragen aber einen dezent eingefärbten Rand und ein `Draft`-Pill, sodass sie leicht zu erkennen sind. Die ganze Geschichte rund um Entwürfe findest du unter [Entwürfe & der Contract Layer](drafts-and-contract-layer.md).
31
+
32
+ ## Prioritäten
33
+
34
+ Jede Spec, die kein Entwurf ist, hat eine Priorität: **Kritisch**, **Hoch**, **Mittel** oder **Niedrig**. Die Priorität ist rein ein Ordnungswerkzeug – sie hilft dir zu entscheiden, was du als Nächstes umsetzt, und erlaubt dir, das Board zu sortieren. Du legst sie beim Erstellen einer Spec fest und kannst sie jederzeit ändern, indem du mit der rechten Maustaste auf die Spec-Karte klickst und **Priorität festlegen** wählst.
35
+
36
+ Entwürfe sind die einzige Ausnahme: Ein Entwurf darf *gar keine* Priorität haben, weil er noch eine Idee in Arbeit ist. Die Priorität wird festgelegt, sobald du den Entwurf in eine echte Spec überführst.
37
+
38
+ ## Eine Spec erstellen
39
+
40
+ Um eine Spec zu erstellen, klicke auf **Hinzufügen** (die Plus-Schaltfläche in der SpecsBoard-Toolbar). Der Dialog **Spec hinzufügen** öffnet sich mit mehreren Arbeitsweisen:
41
+
42
+ - **Quick-Modus** – du beschreibst, was du möchtest, und die KI schreibt die vollständige Spec in einem Rutsch. Siehe [Spec hinzufügen – Quick-Modus](add-spec-quick-mode.md).
43
+ - **Explore-Modus** – du unterhältst dich mit der KI, und sie hilft dir, die Spec Zug um Zug zu formen. Siehe [Spec hinzufügen – Explore-Modus](add-spec-explore-mode.md).
44
+ - **Raw-Modus** – was auch immer du eintippst, wird wortwörtlich als Spec gespeichert, ganz ohne KI. Nutze ihn, wenn du den Spec-Text bereits geschrieben hast.
45
+
46
+ Welchen du wählst, hängt davon ab, wie klar die Idee schon ist. Du weißt genau, was du willst? Quick. Du tüftelst noch daran? Explore. Du hast den Text schon? Raw.
47
+
48
+ ## Wie es weitergeht
49
+
50
+ - [Spec hinzufügen – Quick-Modus](add-spec-quick-mode.md) – der schnellste Weg, eine Idee in eine Spec zu verwandeln.
51
+ - [Spec hinzufügen – Explore-Modus](add-spec-explore-mode.md) – eine Spec im Gespräch formen.
52
+ - [Entwürfe & der Contract Layer](drafts-and-contract-layer.md) – Arbeit zwischenspeichern und Specs für die Pipeline anreichern.
@@ -0,0 +1,45 @@
1
+ # Spec hinzufügen – Quick-Modus
2
+
3
+ Der Quick-Modus ist für die Momente gedacht, in denen du bereits weißt, was du willst. Du tippst deine Idee ein, die KI schreibt die vollständige Spec, und sie landet als **To-do** auf deinem Board. Kein Hin und Her – einfach beschreiben und los.
4
+
5
+ ## Eine Spec im Quick-Modus erstellen
6
+
7
+ So erstellst du schnell eine Spec:
8
+
9
+ 1. Klicke auf dem Dashboard auf **Hinzufügen** (die Plus-Schaltfläche in der SpecsBoard-Toolbar).
10
+ 2. Wähle den Modus **Quick**.
11
+ 3. Tippe deine Idee ins Textfeld – ein Satz oder ein Absatz, was immer sie auf den Punkt bringt.
12
+ 4. Klicke auf Generieren.
13
+
14
+ Während die Spec geschrieben wird, zeigt ein kleiner Toast in der Ecke den Projektnamen, einen Ausschnitt deiner Idee und die **vergangene Zeit** („Wird generiert… 0:12"). Sobald es fertig ist, wechselt der Toast zu „Generiert in <Zeit>" mit einer Aktion **Anzeigen**, die direkt zu deiner neuen Spec springt.
15
+
16
+ Das ist der ganze Ablauf. Alles Weitere unten ist optionale Feinjustierung.
17
+
18
+ ## Was du anpassen kannst
19
+
20
+ **Modell** – standardmäßig wählt die KI ein sinnvolles Modell. Du kannst es pro Spec über die Modellauswahl überschreiben, wenn du ein schnelleres oder leistungsfähigeres möchtest.
21
+
22
+ **Engine** – wenn in deinem Projekt mehr als ein KI-Provider installiert ist (irgendeine Mischung aus Claude, Codex und Gemini), sitzt oben im Dialog eine Engine-Auswahl, mit der du festlegst, welche diese Spec generiert. Deine Wahl wird pro Projekt gemerkt. Projekte mit nur einem Provider zeigen das nicht – es gibt ja nichts zu wählen.
23
+
24
+ **Kontext** – der Quick-Modus läuft meist als einzelner Durchgang, weil er deine Codebasis nicht lesen muss, um aus deiner Beschreibung eine Spec zu schreiben. Aber ein Kontext-Schieberegler erlaubt dir, ihm mehr an die Hand zu geben:
25
+
26
+ - In der niedrigsten Einstellung liest er nur deine Beschreibung.
27
+ - In höheren Einstellungen kann er vor dem Schreiben deine vorhandenen Specs, die OpenSpec-Specs deines Projekts und sogar deine gesamte Codebasis lesen.
28
+
29
+ Je mehr Kontext du ihm gibst, desto länger dauert die Generierung (er wechselt in den Mehrfach-Durchgang, um vorher lesen zu können), dafür kommt die Spec aber fest in deinem tatsächlichen Projekt verankert zurück. Greif zu höherem Kontext, wenn die Spec echten Code, Dateinamen oder bestehendes Verhalten referenzieren muss.
30
+
31
+ **Anhänge** – zieh Mockups, Briefings oder Datendateien ins Ideenfeld. Die KI liest sie beim Schreiben der Spec mit. (Anhänge schalten die Generierung ebenfalls auf den Mehrfach-Durchgang um.)
32
+
33
+ **Mit Contract Layer anreichern** – ein Schalter, der der generierten Spec einen strukturierten Block anhängt, damit die nachgelagerte Pipeline keine Namen oder Datenformen raten muss. Er ist optional und standardmäßig aus; deine letzte Wahl wird pro Projekt gemerkt. Was er hinzufügt und wann er sich lohnt, liest du unter [Entwürfe & der Contract Layer](drafts-and-contract-layer.md).
34
+
35
+ ## Wann Quick-Modus, wann Explore
36
+
37
+ Nutze **Quick**, wenn die Idee in deinem Kopf schon klar ist – du könntest die Spec selbst schreiben, du lässt sie nur lieber von der KI verfassen. Nutze [**Explore**](add-spec-explore-mode.md), wenn du sie noch durchdenkst und einen Partner möchtest, der dir beim Formen hilft.
38
+
39
+ Eine im Quick-Modus erstellte Spec ist eine ganz normale Spec: Du kannst sie später öffnen und in einer Explore-Session **weiter bearbeiten**, falls sie noch Feinschliff braucht.
40
+
41
+ ## Wie es weitergeht
42
+
43
+ - [Spec hinzufügen – Explore-Modus](add-spec-explore-mode.md) – für Specs, die noch geformt werden müssen.
44
+ - [Entwürfe & der Contract Layer](drafts-and-contract-layer.md) – die Contract-Layer-Anreicherung erklärt.
45
+ - [Pipelines ausführen](running-pipelines.md) – zieh deine neue Spec auf eine Rail und setze sie um.