specrails-desktop 2.16.0 → 2.18.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 (424) hide show
  1. package/client/dist/assets/{ActivityFeedPage-C_clKk8d.js → ActivityFeedPage-mGnv5SOe.js} +1 -1
  2. package/client/dist/assets/AgentsPage-BH1isg5j.js +86 -0
  3. package/client/dist/assets/AnalyticsPage-ByyshYRI.js +1 -0
  4. package/client/dist/assets/{BarChart-Dq1h8eYR.js → BarChart-BqHUOnl9.js} +3 -3
  5. package/client/dist/assets/CodePage-CU7T_HYs.js +2 -0
  6. package/client/dist/assets/{DesktopAnalyticsPage-CYhXhJoQ.js → DesktopAnalyticsPage-CR-m97Ui.js} +1 -1
  7. package/client/dist/assets/DocsDialog-CEmZp_8V.js +11 -0
  8. package/client/dist/assets/DocsPage-DYbAQ1AT.js +11 -0
  9. package/client/dist/assets/{ExportDropdown-DdB2ncYh.js → ExportDropdown-C-o1Q4ef.js} +1 -1
  10. package/client/dist/assets/IntegrationsPage-C6fKdwVH.js +3 -0
  11. package/client/dist/assets/JobDetailPage-CKfIfBgE.js +16 -0
  12. package/client/dist/assets/JobsPage-nBng0riZ.js +1 -0
  13. package/client/dist/assets/LoopBuilderPage-Co_TYqYk.js +7 -0
  14. package/client/dist/assets/LoopsPage-a2hd37Ya.js +1 -0
  15. package/client/dist/assets/{activity-Ca2XoBi-.js → activity-D8vQJrpW.js} +1 -1
  16. package/client/dist/assets/{addon-image-biWX2UUm.js → addon-image-Ba-TY3wr.js} +1 -1
  17. package/client/dist/assets/{addon-ligatures-D4EiDb5r.js → addon-ligatures-T4ARLiuu.js} +1 -1
  18. package/client/dist/assets/{addon-webgl-CDCIZQ03.js → addon-webgl-Cd73n8eh.js} +1 -1
  19. package/client/dist/assets/{addspec-DE_VfIyP.js → addspec-BloGn_ey.js} +1 -1
  20. package/client/dist/assets/agent-9WdSxPU5.js +1 -0
  21. package/client/dist/assets/agent-ASIyVcg0.js +1 -0
  22. package/client/dist/assets/agent-Bm2tPrdr.js +1 -0
  23. package/client/dist/assets/agent-C4bO1l_v.js +1 -0
  24. package/client/dist/assets/agent-CgKsh88Z2.js +1 -0
  25. package/client/dist/assets/agent-DMUrz9ZS2.js +1 -0
  26. package/client/dist/assets/agent-Dwkz5mPS.js +1 -0
  27. package/client/dist/assets/agent-pO8x4jbR.js +1 -0
  28. package/client/dist/assets/{agents-DcoUUFZl.js → agents-52t8NVpS.js} +1 -1
  29. package/client/dist/assets/{agents-DCX9D3-Q.js → agents-BAxAwHy-.js} +1 -1
  30. package/client/dist/assets/{agents-Jc-CjBDB.js → agents-BUYBb825.js} +1 -1
  31. package/client/dist/assets/{agents-CIhRSOna.js → agents-BjT_xLjv.js} +1 -1
  32. package/client/dist/assets/{agents-BYjUOrLD.js → agents-C07al8rI.js} +1 -1
  33. package/client/dist/assets/{agents-1lhqEcXH.js → agents-DfGvYtpq2.js} +1 -1
  34. package/client/dist/assets/{agents-CQlu1nOm.js → agents-Dli56gr82.js} +1 -1
  35. package/client/dist/assets/{agents-DVYpVGur.js → agents-Eqw_AQ6H.js} +1 -1
  36. package/client/dist/assets/{agentstudio-DCTpIqOx.js → agentstudio-CZm2rOzt.js} +1 -1
  37. package/client/dist/assets/{aiedit-Dirqf3Bm.js → aiedit-DYtnZU9H.js} +1 -1
  38. package/client/dist/assets/{analytics-BE49LbUk.js → analytics-B4FJ_pry.js} +1 -1
  39. package/client/dist/assets/{attachments-C2JPppoP.js → attachments-Ci6_42Kh.js} +1 -1
  40. package/client/dist/assets/{browser-Dpo_ug4c.js → browser-ZB1afzjZ.js} +1 -1
  41. package/client/dist/assets/{chat-mq1x9cxZ.js → chat-VMflhzxn.js} +1 -1
  42. package/client/dist/assets/chunk-BNv3lrIs.js +1 -0
  43. package/client/dist/assets/{code-DtIatVES.js → code-wtcs0ivb.js} +1 -1
  44. package/client/dist/assets/commands-Bc8y9eNo2.js +1 -0
  45. package/client/dist/assets/commands-Bl3-KVfj.js +1 -0
  46. package/client/dist/assets/commands-C5WQ9blx2.js +1 -0
  47. package/client/dist/assets/commands-CM99Upsz2.js +1 -0
  48. package/client/dist/assets/commands-Cc2WpuXa.js +1 -0
  49. package/client/dist/assets/commands-CckaBWdV.js +1 -0
  50. package/client/dist/assets/commands-DASXJD-l.js +1 -0
  51. package/client/dist/assets/commands-k9wbNYoi.js +1 -0
  52. package/client/dist/assets/{common-kftoE0Q-.js → common-BPQQkgJZ.js} +1 -1
  53. package/client/dist/assets/{cssMode-DSHXamUH.js → cssMode-DsArsSCT.js} +1 -1
  54. package/client/dist/assets/{dashboard-BQ3Oa8CE.js → dashboard-Cyzp4ox9.js} +1 -1
  55. package/client/dist/assets/{dist-js-Ele_sHO7.js → dist-js-BHhtSerX.js} +1 -1
  56. package/client/dist/assets/{dist-js-D27I-bfi.js → dist-js-CUegfF6k.js} +1 -1
  57. package/client/dist/assets/{editor.api2-Cwla1nvV.js → editor.api2-T7u8kQWG.js} +1 -1
  58. package/client/dist/assets/{editor.main-Cd8qBRAT.js → editor.main-G3Sl9C67.js} +2 -2
  59. package/client/dist/assets/{explore-CBYU76JD.js → explore-BKVV5JSu.js} +1 -1
  60. package/client/dist/assets/{freemarker2-CkEKTBm2.js → freemarker2-pBzQNgFi.js} +1 -1
  61. package/client/dist/assets/{handlebars-BRGx0JpL.js → handlebars-CtBTCnBI.js} +1 -1
  62. package/client/dist/assets/{html-BfRIaGgN.js → html-Dx3DYBzY.js} +1 -1
  63. package/client/dist/assets/{htmlMode-BTpSnsDE.js → htmlMode-In7frFOo.js} +1 -1
  64. package/client/dist/assets/index-B0FxQALR.css +2 -0
  65. package/client/dist/assets/index-B7vB20Jw.js +152 -0
  66. package/client/dist/assets/{integrations-jJGaKwff.js → integrations-CuWnMR5L.js} +1 -1
  67. package/client/dist/assets/{javascript-DMmE2kKN.js → javascript-BKcn-YkN.js} +1 -1
  68. package/client/dist/assets/{jira-BwACz875.js → jira-DXMoAKWD.js} +1 -1
  69. package/client/dist/assets/{jobs-DRInW0AE.js → jobs---dwa4Nf.js} +1 -1
  70. package/client/dist/assets/{jsonMode-hYuaUleY.js → jsonMode-jNREoQ3C.js} +1 -1
  71. package/client/dist/assets/{lib-qdRfWwE1.js → lib-PQoHlR5u.js} +2 -2
  72. package/client/dist/assets/{liquid-C-VbuTr7.js → liquid-CtRkGqBu.js} +1 -1
  73. package/client/dist/assets/{loops-DfGadne0.js → loops-D8Iu6Jss.js} +1 -1
  74. package/client/dist/assets/{lspLanguageFeatures-BALx-vjn.js → lspLanguageFeatures-Cl3gvD_W.js} +1 -1
  75. package/client/dist/assets/mcp-B4irfLJ2.js +1 -0
  76. package/client/dist/assets/mcp-B6nwJJmR.js +1 -0
  77. package/client/dist/assets/mcp-BOoEGTSQ.js +1 -0
  78. package/client/dist/assets/mcp-BP7PpbDr2.js +1 -0
  79. package/client/dist/assets/mcp-CIH0pH1K.js +1 -0
  80. package/client/dist/assets/mcp-CNgFiTEh.js +1 -0
  81. package/client/dist/assets/mcp-D3E4_Mmk2.js +1 -0
  82. package/client/dist/assets/mcp-mupPuPDO2.js +1 -0
  83. package/client/dist/assets/{mdx-Cs8MNCzn.js → mdx-B_nJldHz.js} +1 -1
  84. package/client/dist/assets/{monaco.contribution-CIvCAJs4.js → monaco.contribution-PUeaZk8T.js} +2 -2
  85. package/client/dist/assets/{nav-CCz4krPP.js → nav-DE3yWQw6.js} +1 -1
  86. package/client/dist/assets/{python-CGShLxuI.js → python-DS1Ce-A6.js} +1 -1
  87. package/client/dist/assets/{razor-CvOBQGd5.js → razor-L41Qg9OK.js} +1 -1
  88. package/client/dist/assets/settings-BKmORxlB2.js +1 -0
  89. package/client/dist/assets/settings-BVv2JgQ8.js +1 -0
  90. package/client/dist/assets/settings-Bghm3pAV.js +1 -0
  91. package/client/dist/assets/settings-BuC_aplX.js +1 -0
  92. package/client/dist/assets/settings-Bw_Qk8E32.js +1 -0
  93. package/client/dist/assets/settings-CAKgJv7p.js +1 -0
  94. package/client/dist/assets/settings-CEUgk1Ck.js +1 -0
  95. package/client/dist/assets/settings-C_PDE20s2.js +1 -0
  96. package/client/dist/assets/setup-4us-Bz3H.js +1 -0
  97. package/client/dist/assets/setup-BYoDYoPY2.js +1 -0
  98. package/client/dist/assets/setup-Bf9eLKxU.js +1 -0
  99. package/client/dist/assets/setup-C5UbM0RP.js +1 -0
  100. package/client/dist/assets/setup-CqGrWb6G.js +1 -0
  101. package/client/dist/assets/setup-JFkWWZnR.js +1 -0
  102. package/client/dist/assets/setup-faMApo0U2.js +1 -0
  103. package/client/dist/assets/setup-tloaTobG2.js +1 -0
  104. package/client/dist/assets/{specs-C_8j4ELZ.js → specs-BYeAbIEy.js} +1 -1
  105. package/client/dist/assets/{terminal-Cj4HzP3p.js → terminal-DFPNRLKp.js} +1 -1
  106. package/client/dist/assets/{tickets-DBQXMYYA.js → tickets-CkfbISuK.js} +1 -1
  107. package/client/dist/assets/{tsMode-04uOpiiP.js → tsMode-BC1g186U.js} +1 -1
  108. package/client/dist/assets/{typescript-CX0CwyIZ.js → typescript-BGlRGvJW.js} +1 -1
  109. package/client/dist/assets/upload-PnJDPHZH.js +1 -0
  110. package/client/dist/assets/{value-BRVOAvhY.js → value-BTDefcOV.js} +1 -1
  111. package/client/dist/assets/{workers-yr2u4c3C.js → workers-CXcXtO3b.js} +1 -1
  112. package/client/dist/assets/{xml-C0OFlt5X.js → xml-JdZZaIhJ.js} +1 -1
  113. package/client/dist/assets/{yaml-DgabaPs5.js → yaml-Cm82BVBt.js} +1 -1
  114. package/client/dist/index.html +30 -28
  115. package/docs/README.md +2 -0
  116. package/docs/guide/de/integrations/5-mcp-server.md +74 -0
  117. package/docs/guide/de/integrations/6-agent-chat.md +64 -0
  118. package/docs/guide/en/integrations/5-mcp-server.md +74 -0
  119. package/docs/guide/en/integrations/6-agent-chat.md +64 -0
  120. package/docs/guide/es/integrations/5-mcp-server.md +74 -0
  121. package/docs/guide/es/integrations/6-agent-chat.md +64 -0
  122. package/docs/guide/fr/integrations/5-mcp-server.md +74 -0
  123. package/docs/guide/fr/integrations/6-agent-chat.md +64 -0
  124. package/docs/guide/it/integrations/5-mcp-server.md +74 -0
  125. package/docs/guide/it/integrations/6-agent-chat.md +64 -0
  126. package/docs/guide/ja/integrations/5-mcp-server.md +74 -0
  127. package/docs/guide/ja/integrations/6-agent-chat.md +64 -0
  128. package/docs/guide/pt/integrations/5-mcp-server.md +74 -0
  129. package/docs/guide/pt/integrations/6-agent-chat.md +64 -0
  130. package/docs/guide/zh/integrations/5-mcp-server.md +74 -0
  131. package/docs/guide/zh/integrations/6-agent-chat.md +64 -0
  132. package/docs/mcp.md +249 -0
  133. package/package.json +8 -5
  134. package/server/dist/agent-chat-manager.js +224 -0
  135. package/server/dist/agent-chat-router.js +148 -0
  136. package/server/dist/agent-cwd-manager.js +94 -0
  137. package/server/dist/agent-mcp-config.js +208 -0
  138. package/server/dist/agent-store.js +59 -0
  139. package/server/dist/agent-tier.js +86 -0
  140. package/server/dist/desktop-db.js +27 -0
  141. package/server/dist/index.js +38 -0
  142. package/server/dist/mcp/guide.js +82 -0
  143. package/server/dist/mcp/index.js +21 -0
  144. package/server/dist/mcp/mcp-admin-router.js +71 -0
  145. package/server/dist/mcp/mcp-server.js +143 -0
  146. package/server/dist/mcp/mcp-tiers.js +48 -0
  147. package/server/dist/mcp/mcp-token.js +119 -0
  148. package/server/dist/mcp/resources.js +24 -0
  149. package/server/dist/mcp/tools/agents.js +319 -0
  150. package/server/dist/mcp/tools/analytics.js +168 -0
  151. package/server/dist/mcp/tools/app-settings.js +81 -0
  152. package/server/dist/mcp/tools/catalog.js +45 -0
  153. package/server/dist/mcp/tools/chat.js +147 -0
  154. package/server/dist/mcp/tools/code.js +145 -0
  155. package/server/dist/mcp/tools/jira.js +222 -0
  156. package/server/dist/mcp/tools/jobs.js +258 -0
  157. package/server/dist/mcp/tools/loops.js +229 -0
  158. package/server/dist/mcp/tools/meta.js +96 -0
  159. package/server/dist/mcp/tools/plugins.js +83 -0
  160. package/server/dist/mcp/tools/projects.js +62 -0
  161. package/server/dist/mcp/tools/rails.js +181 -0
  162. package/server/dist/mcp/tools/setup.js +167 -0
  163. package/server/dist/mcp/tools/specs.js +327 -0
  164. package/server/dist/mcp/tools/types.js +156 -0
  165. package/server/dist/mcp/tools/watch.js +93 -0
  166. package/server/dist/mobile/mobile-event-bus.js +2 -0
  167. package/server/dist/project-router-setup.js +15 -1
  168. package/server/dist/project-router-tickets.js +2 -2
  169. package/server/dist/providers/codex-adapter.js +19 -3
  170. package/server/dist/rails-router.js +5 -0
  171. package/server/dist/setup-manager.js +28 -0
  172. package/server/dist/spawn-lifecycle.js +21 -13
  173. package/server/dist/workspace-manager.js +11 -0
  174. package/client/dist/assets/AgentsPage-jcPUtPhP.js +0 -86
  175. package/client/dist/assets/AnalyticsPage-DZkVU3yd.js +0 -1
  176. package/client/dist/assets/CodePage-BcbZT88K.js +0 -2
  177. package/client/dist/assets/DocsDialog-CS3Syf61.js +0 -11
  178. package/client/dist/assets/DocsPage-l3ZcTO2E.js +0 -11
  179. package/client/dist/assets/IntegrationsPage-CJ_Om1zu.js +0 -3
  180. package/client/dist/assets/JobDetailPage-D5Cxw0md.js +0 -16
  181. package/client/dist/assets/JobsPage-3v_iX83r.js +0 -1
  182. package/client/dist/assets/LoopBuilderPage-4s_adZy5.js +0 -7
  183. package/client/dist/assets/LoopsPage-DA94-o0j.js +0 -1
  184. package/client/dist/assets/chunk-CilyBKbf.js +0 -1
  185. package/client/dist/assets/commands-B9XEyMj-.js +0 -1
  186. package/client/dist/assets/commands-BI1Ta-E7.js +0 -1
  187. package/client/dist/assets/commands-BdI0CtOL.js +0 -1
  188. package/client/dist/assets/commands-C2ewlyXo.js +0 -1
  189. package/client/dist/assets/commands-CwypztRT.js +0 -1
  190. package/client/dist/assets/commands-DSX3yJyr.js +0 -1
  191. package/client/dist/assets/commands-Ic1DJDxm.js +0 -1
  192. package/client/dist/assets/commands-yNn4IA4C.js +0 -1
  193. package/client/dist/assets/index-BRMyOS1B.css +0 -2
  194. package/client/dist/assets/index-meTWPBzY.js +0 -144
  195. package/client/dist/assets/settings-0m2iuTzd.js +0 -1
  196. package/client/dist/assets/settings-BA1V6KdK.js +0 -1
  197. package/client/dist/assets/settings-BN7OusER.js +0 -1
  198. package/client/dist/assets/settings-Bi5FFkIw.js +0 -1
  199. package/client/dist/assets/settings-CRJxyTNN.js +0 -1
  200. package/client/dist/assets/settings-DyBxunCh.js +0 -1
  201. package/client/dist/assets/settings-fk-WlnUt.js +0 -1
  202. package/client/dist/assets/settings-iQe5Dim-.js +0 -1
  203. package/client/dist/assets/setup-BOmQ4vh2.js +0 -1
  204. package/client/dist/assets/setup-BwO2-kuK.js +0 -1
  205. package/client/dist/assets/setup-CUTNWz-0.js +0 -1
  206. package/client/dist/assets/setup-Cf3hjChU.js +0 -1
  207. package/client/dist/assets/setup-CsuXrbJ2.js +0 -1
  208. package/client/dist/assets/setup-Df4cJOqu.js +0 -1
  209. package/client/dist/assets/setup-Do0fWx6W.js +0 -1
  210. package/client/dist/assets/setup-GlkDhBlJ.js +0 -1
  211. package/client/dist/assets/upload-DPG87J4t.js +0 -1
  212. /package/client/dist/assets/{abap-CK68cr9-.js → abap-CpHUwCVK.js} +0 -0
  213. /package/client/dist/assets/{activity-Di2f50_Z.js → activity-B82z3Pna.js} +0 -0
  214. /package/client/dist/assets/{activity-B2MvEH54.js → activity-BId0pwuS2.js} +0 -0
  215. /package/client/dist/assets/{activity-D4dhNEwO.js → activity-BVpZrs0J.js} +0 -0
  216. /package/client/dist/assets/{activity-DHjfmAyT.js → activity-BySXFT2J2.js} +0 -0
  217. /package/client/dist/assets/{activity-usnNa7FX.js → activity-DIWnV0Pl.js} +0 -0
  218. /package/client/dist/assets/{activity-C7VdmeGb.js → activity-Uj576ckT.js} +0 -0
  219. /package/client/dist/assets/{activity-BbNkUmW4.js → activity-w1qMFwxh.js} +0 -0
  220. /package/client/dist/assets/{addspec-CO1xv6BL.js → addspec-B9dY_F5T.js} +0 -0
  221. /package/client/dist/assets/{addspec-CNyAUGz_.js → addspec-B9nhMikb.js} +0 -0
  222. /package/client/dist/assets/{addspec-IozoiiGs.js → addspec-BtNaJHu2.js} +0 -0
  223. /package/client/dist/assets/{addspec-BxMn39wn.js → addspec-D43TlMVp2.js} +0 -0
  224. /package/client/dist/assets/{addspec-1HEtmLv1.js → addspec-DfgIZ5lO.js} +0 -0
  225. /package/client/dist/assets/{addspec-DfuR6EAl.js → addspec-W0r16BOC2.js} +0 -0
  226. /package/client/dist/assets/{addspec-DAveBiCE.js → addspec-tbxr3sHa.js} +0 -0
  227. /package/client/dist/assets/{agentstudio-DCyDW8sy.js → agentstudio-0o3XKrcy.js} +0 -0
  228. /package/client/dist/assets/{agentstudio-9NbsoGXk.js → agentstudio-Bu8m5jDw.js} +0 -0
  229. /package/client/dist/assets/{agentstudio-B1y0JWY-.js → agentstudio-C7xxqVWn.js} +0 -0
  230. /package/client/dist/assets/{agentstudio-1E-bag77.js → agentstudio-D-UoNAIA.js} +0 -0
  231. /package/client/dist/assets/{agentstudio-B-jQgYV-.js → agentstudio-OJjjz6Uf2.js} +0 -0
  232. /package/client/dist/assets/{agentstudio-Q0Sq_jTg.js → agentstudio-ObTpVbBP.js} +0 -0
  233. /package/client/dist/assets/{agentstudio-Bwa72b1S.js → agentstudio-PzFB3vfh2.js} +0 -0
  234. /package/client/dist/assets/{aiedit-DUpe7NxI.js → aiedit-BIQqv2XM2.js} +0 -0
  235. /package/client/dist/assets/{aiedit-kAU7KADg.js → aiedit-BaLZalLa.js} +0 -0
  236. /package/client/dist/assets/{aiedit-CvSspQmE.js → aiedit-BjlUzasF.js} +0 -0
  237. /package/client/dist/assets/{aiedit-DSLtsYIu.js → aiedit-BmDufyGU.js} +0 -0
  238. /package/client/dist/assets/{aiedit-qTGI_PGs.js → aiedit-DAM_WRAl2.js} +0 -0
  239. /package/client/dist/assets/{aiedit-CfBNanHE.js → aiedit-DRrNiaB4.js} +0 -0
  240. /package/client/dist/assets/{aiedit-CGxeml8D.js → aiedit-sP_iao2j.js} +0 -0
  241. /package/client/dist/assets/{analytics-CgEkAUiP.js → analytics-BDqqCzN9.js} +0 -0
  242. /package/client/dist/assets/{analytics-DEsEAJZL.js → analytics-B_rxNC9X.js} +0 -0
  243. /package/client/dist/assets/{analytics-D1ElChhs.js → analytics-C4z_NgJZ.js} +0 -0
  244. /package/client/dist/assets/{analytics-DDqve9Ma.js → analytics-DL2vJCbq.js} +0 -0
  245. /package/client/dist/assets/{analytics-CQqu1yE5.js → analytics-Ds_PNxtO2.js} +0 -0
  246. /package/client/dist/assets/{analytics-BDlELxc7.js → analytics-MVJRjcY52.js} +0 -0
  247. /package/client/dist/assets/{analytics-DBGO8B6-.js → analytics-e1mkNTgy2.js} +0 -0
  248. /package/client/dist/assets/{apex-BHHyAVNb.js → apex-DlD7oJX6.js} +0 -0
  249. /package/client/dist/assets/{atom-one-dark-DrWoEEbZ.js → atom-one-dark-BrRN8wBy.js} +0 -0
  250. /package/client/dist/assets/{attachments-BNgH6Tcu.js → attachments-8QCKHCEF2.js} +0 -0
  251. /package/client/dist/assets/{attachments-BLqqPGyy.js → attachments-BP0Ac1yt.js} +0 -0
  252. /package/client/dist/assets/{attachments-UJtEq892.js → attachments-CJaO1vCH.js} +0 -0
  253. /package/client/dist/assets/{attachments-D5fVsMgb.js → attachments-CPBVeHX72.js} +0 -0
  254. /package/client/dist/assets/{attachments-3CuBBRFu.js → attachments-CV2uaTGE.js} +0 -0
  255. /package/client/dist/assets/{attachments-CppM7de8.js → attachments-CaOjdN332.js} +0 -0
  256. /package/client/dist/assets/{attachments-pW3zm9nu.js → attachments-Db7JfA8a.js} +0 -0
  257. /package/client/dist/assets/{azcli-C56lfIEP.js → azcli-CmXFAbc-.js} +0 -0
  258. /package/client/dist/assets/{bat-BLamSaf-.js → bat-DdNJq4hH.js} +0 -0
  259. /package/client/dist/assets/{bicep-lrOcEItS.js → bicep-Bppz7WOA.js} +0 -0
  260. /package/client/dist/assets/{browser-C__Vz7KR.js → browser-0xeW8fUa2.js} +0 -0
  261. /package/client/dist/assets/{browser-EFmPpkvO.js → browser-543jbxE4.js} +0 -0
  262. /package/client/dist/assets/{browser-DhwTc0ry.js → browser-C9rUUxo4.js} +0 -0
  263. /package/client/dist/assets/{browser-C91MQBxx.js → browser-CEqx11iy.js} +0 -0
  264. /package/client/dist/assets/{browser-B7i7Ysc8.js → browser-CLC0etB_2.js} +0 -0
  265. /package/client/dist/assets/{browser-DwE289IS.js → browser-DyG2l9Wa.js} +0 -0
  266. /package/client/dist/assets/{browser-BVQgd1_1.js → browser-ExmELH702.js} +0 -0
  267. /package/client/dist/assets/{cameligo-BK_p0bgU.js → cameligo-0MRMdSmg.js} +0 -0
  268. /package/client/dist/assets/{chat-C5nJF6L0.js → chat-CCytD3P8.js} +0 -0
  269. /package/client/dist/assets/{chat-UMl6H55K.js → chat-CN8BMAMc.js} +0 -0
  270. /package/client/dist/assets/{chat-BXVx6rb5.js → chat-Cu6F3d6g2.js} +0 -0
  271. /package/client/dist/assets/{chat-CE8bx6Rz.js → chat-DagUyoVA.js} +0 -0
  272. /package/client/dist/assets/{chat-PVakYp92.js → chat-IjutwlBg.js} +0 -0
  273. /package/client/dist/assets/{chat-9RcD5Lcn.js → chat-NQPCBQo72.js} +0 -0
  274. /package/client/dist/assets/{chat-BnJPyeUK.js → chat-vVpwkOp52.js} +0 -0
  275. /package/client/dist/assets/{clojure-BQ7JOykv.js → clojure-B5dKj863.js} +0 -0
  276. /package/client/dist/assets/{clsx-CjLeUJfG.js → clsx-1dnHRn8W.js} +0 -0
  277. /package/client/dist/assets/{code-OoLqhjoI.js → code-32l6Naxu2.js} +0 -0
  278. /package/client/dist/assets/{code-Lg4awa35.js → code-BaG05zK62.js} +0 -0
  279. /package/client/dist/assets/{code-BPMR8_Vp.js → code-C5cibF2F.js} +0 -0
  280. /package/client/dist/assets/{code-aCUqkVN_.js → code-Ce-nBIwj.js} +0 -0
  281. /package/client/dist/assets/{code-BsOBm1Fb.js → code-Dap54vOb.js} +0 -0
  282. /package/client/dist/assets/{code-u9Sg9ohM.js → code-Dhb6jbAU.js} +0 -0
  283. /package/client/dist/assets/{code-eh4vO2-_.js → code-_NOCo-Ol2.js} +0 -0
  284. /package/client/dist/assets/{coffee-BD3DiL5s.js → coffee-DSbWjzk7.js} +0 -0
  285. /package/client/dist/assets/{common-C9VyfY7g.js → common-0aY9HQBP.js} +0 -0
  286. /package/client/dist/assets/{common-LDwESeCX.js → common-5jScBJqt.js} +0 -0
  287. /package/client/dist/assets/{common-ULlk84G4.js → common-BdaRciTu.js} +0 -0
  288. /package/client/dist/assets/{common-CzCQ0rpW.js → common-CHARW6MZ2.js} +0 -0
  289. /package/client/dist/assets/{common-CNoRVpnA.js → common-CQCJzAQq2.js} +0 -0
  290. /package/client/dist/assets/{common-Dmpyh323.js → common-DNhhqjlJ.js} +0 -0
  291. /package/client/dist/assets/{common-CcHFVATT.js → common-YdyZtmaI2.js} +0 -0
  292. /package/client/dist/assets/{cpp-splnCwCh.js → cpp-SBF8SAh9.js} +0 -0
  293. /package/client/dist/assets/{csharp-BCpsl-o3.js → csharp-Lzuq_1t-.js} +0 -0
  294. /package/client/dist/assets/{csp-tkCWrZmb.js → csp-BEzxZqi1.js} +0 -0
  295. /package/client/dist/assets/{css-B_xdnReq.js → css-C3D3PKln.js} +0 -0
  296. /package/client/dist/assets/{cypher-OL1zq-y3.js → cypher-CQ3dEPmv.js} +0 -0
  297. /package/client/dist/assets/{dart-CtTlOkrm.js → dart-DCPmxolI.js} +0 -0
  298. /package/client/dist/assets/{dashboard-C52PElPV.js → dashboard-BTiH361F.js} +0 -0
  299. /package/client/dist/assets/{dashboard-C-dXxut-.js → dashboard-COSm_14E.js} +0 -0
  300. /package/client/dist/assets/{dashboard-CUjyhohl.js → dashboard-CfOs70FN2.js} +0 -0
  301. /package/client/dist/assets/{dashboard-zH9quXks.js → dashboard-CzHDp14_2.js} +0 -0
  302. /package/client/dist/assets/{dashboard-03EpOoMM.js → dashboard-D6Woy2B5.js} +0 -0
  303. /package/client/dist/assets/{dashboard-C2owt3eN.js → dashboard-DwbH4oVH.js} +0 -0
  304. /package/client/dist/assets/{dashboard-Ch6H-457.js → dashboard-cWhU3krA2.js} +0 -0
  305. /package/client/dist/assets/{dockerfile-DcQ5CNiW.js → dockerfile-B_2_aaTO.js} +0 -0
  306. /package/client/dist/assets/{ecl-DZpiDRt6.js → ecl-rADUeXsV.js} +0 -0
  307. /package/client/dist/assets/{elixir-Dzj2lqtK.js → elixir-DOd-TuJO.js} +0 -0
  308. /package/client/dist/assets/{explore-CCcPXrHg.js → explore-B82VMUJ_.js} +0 -0
  309. /package/client/dist/assets/{explore-DQ0XEjed.js → explore-BGz1rvQE.js} +0 -0
  310. /package/client/dist/assets/{explore-xQoaak6e.js → explore-BzdMEpuf.js} +0 -0
  311. /package/client/dist/assets/{explore-B2n8r9Ye.js → explore-CbW0381i2.js} +0 -0
  312. /package/client/dist/assets/{explore-4SD1DxR0.js → explore-ChtxIiSM.js} +0 -0
  313. /package/client/dist/assets/{explore-BxR9q8Hq.js → explore-DfcUfiPw2.js} +0 -0
  314. /package/client/dist/assets/{explore-CZt4Ncpa.js → explore-yRF7wFSp2.js} +0 -0
  315. /package/client/dist/assets/{flow9-CFENCHIZ.js → flow9-Bf7zg_j0.js} +0 -0
  316. /package/client/dist/assets/{format-command-CMsBTOPN.js → format-command-D96da4fZ.js} +0 -0
  317. /package/client/dist/assets/{fsharp-D-4bv7FB.js → fsharp-BqROZjbA.js} +0 -0
  318. /package/client/dist/assets/{go-djxbTJq7.js → go-oQTP5uLe.js} +0 -0
  319. /package/client/dist/assets/{graphql-DHIFrkZ6.js → graphql-CSHfTU3q.js} +0 -0
  320. /package/client/dist/assets/{hcl-CXVoowNb.js → hcl-CeG-RoFJ.js} +0 -0
  321. /package/client/dist/assets/{ini-Crzc5kly.js → ini-B2Dv4ohc.js} +0 -0
  322. /package/client/dist/assets/{integrations-C7u7SInG.js → integrations-B0OBPU9_.js} +0 -0
  323. /package/client/dist/assets/{integrations-B17KyA-i.js → integrations-BA5pM05t.js} +0 -0
  324. /package/client/dist/assets/{integrations-DkBi-Gsh.js → integrations-BJvrlcc7.js} +0 -0
  325. /package/client/dist/assets/{integrations-DwSVdCpf.js → integrations-CPKYkG36.js} +0 -0
  326. /package/client/dist/assets/{integrations-A9f08E0o.js → integrations-CnrX7vqw2.js} +0 -0
  327. /package/client/dist/assets/{integrations-9qxUNhPD.js → integrations-DBou159M2.js} +0 -0
  328. /package/client/dist/assets/{integrations-B46ac3sf.js → integrations-DeJFRyXz2.js} +0 -0
  329. /package/client/dist/assets/{java-CYLaJrdE.js → java-aUDDeufb.js} +0 -0
  330. /package/client/dist/assets/{jira-Dht8qNck.js → jira-BDgxAFTF2.js} +0 -0
  331. /package/client/dist/assets/{jira-4Fin3fu7.js → jira-BwLBgmfI2.js} +0 -0
  332. /package/client/dist/assets/{jira-0ldfMByG.js → jira-D3GGzXOI.js} +0 -0
  333. /package/client/dist/assets/{jira-BpnpUFlb.js → jira-DeotPx6P2.js} +0 -0
  334. /package/client/dist/assets/{jira-DzIVvNmy.js → jira-NwlUCcQD.js} +0 -0
  335. /package/client/dist/assets/{jira-CBU0200d.js → jira-Srx2P5zS.js} +0 -0
  336. /package/client/dist/assets/{jira-01H1RfQj.js → jira-mi37H4Kt.js} +0 -0
  337. /package/client/dist/assets/{jobs-jEQidSIb.js → jobs-B56vQEkh2.js} +0 -0
  338. /package/client/dist/assets/{jobs-DM9owF1j.js → jobs-BYIk6Tg_.js} +0 -0
  339. /package/client/dist/assets/{jobs-Bw4hqEro.js → jobs-C-lM-iax2.js} +0 -0
  340. /package/client/dist/assets/{jobs-BF9raUkL.js → jobs-CYdevGgT.js} +0 -0
  341. /package/client/dist/assets/{jobs-ym72SIR9.js → jobs-D8adm2BX.js} +0 -0
  342. /package/client/dist/assets/{jobs-DcCONARH.js → jobs-K_Y8KAZ2.js} +0 -0
  343. /package/client/dist/assets/{jobs-Oz3UtLQn.js → jobs-OwM0ZWhI2.js} +0 -0
  344. /package/client/dist/assets/{julia-BJ7tUU-T.js → julia-C5LbruO5.js} +0 -0
  345. /package/client/dist/assets/{kotlin-CeWcU3lC.js → kotlin-C6mOuSKk.js} +0 -0
  346. /package/client/dist/assets/{less-CviwWNG4.js → less-D5qC3caW.js} +0 -0
  347. /package/client/dist/assets/{lexon-Dt28jqDS.js → lexon-Dr2La-fj.js} +0 -0
  348. /package/client/dist/assets/{loops-DE-2cmLw.js → loops-BDhEfnx82.js} +0 -0
  349. /package/client/dist/assets/{loops-mcoeFMat.js → loops-BM5QggwH.js} +0 -0
  350. /package/client/dist/assets/{loops-D_ZxkD4l.js → loops-CPjLAAxj.js} +0 -0
  351. /package/client/dist/assets/{loops-BYNUJVyD.js → loops-DKnk79TB2.js} +0 -0
  352. /package/client/dist/assets/{loops-B_gS4Pqu.js → loops-DLW0aFMm.js} +0 -0
  353. /package/client/dist/assets/{loops-Fv4Bs-9A.js → loops-Dcv3dFy_2.js} +0 -0
  354. /package/client/dist/assets/{loops-B_w7STrw.js → loops-y7wFRx6M.js} +0 -0
  355. /package/client/dist/assets/{lua-B6AOaJSi.js → lua-Zy6u5z6Z.js} +0 -0
  356. /package/client/dist/assets/{m3-VnMkHJcy.js → m3-C7XHeDz_.js} +0 -0
  357. /package/client/dist/assets/{markdown-8vKNdvIM.js → markdown-PiF7r-2h.js} +0 -0
  358. /package/client/dist/assets/{mips-DoEcuzan.js → mips-nn07GiyE.js} +0 -0
  359. /package/client/dist/assets/{msdax-CNzvHyEp.js → msdax-DaKFVMST.js} +0 -0
  360. /package/client/dist/assets/{mysql-Buk3vUtL.js → mysql-C6d6xrbU.js} +0 -0
  361. /package/client/dist/assets/{nav-Cw3_40fA.js → nav-1hj2izqB2.js} +0 -0
  362. /package/client/dist/assets/{nav-DNDJ3H-_.js → nav-BBUKMAu-2.js} +0 -0
  363. /package/client/dist/assets/{nav-CrG_mYRr.js → nav-CLqkP-26.js} +0 -0
  364. /package/client/dist/assets/{nav-DVp1nEsi.js → nav-Cv46L837.js} +0 -0
  365. /package/client/dist/assets/{nav-DbAbG5_k.js → nav-DgA-rjLk2.js} +0 -0
  366. /package/client/dist/assets/{nav-B5W9IMnf.js → nav-EG2pr6vN.js} +0 -0
  367. /package/client/dist/assets/{nav-_0vAgZ_k.js → nav-r3mIJVfU.js} +0 -0
  368. /package/client/dist/assets/{objective-c-DfOmda-5.js → objective-c-B6KMtI-k.js} +0 -0
  369. /package/client/dist/assets/{pascal-DoAA2yjy.js → pascal-DYr8MPE7.js} +0 -0
  370. /package/client/dist/assets/{pascaligo-C65Vn1fu.js → pascaligo-B3pd-jJ_.js} +0 -0
  371. /package/client/dist/assets/{perl-INlfQ_ro.js → perl-z2xUzoaL.js} +0 -0
  372. /package/client/dist/assets/{pgsql-DtwRzglx.js → pgsql-DUvT-09-.js} +0 -0
  373. /package/client/dist/assets/{php-DfHqVNet.js → php-CGyOmJfy.js} +0 -0
  374. /package/client/dist/assets/{pla-D3dNVRYk.js → pla-CMqgvyD0.js} +0 -0
  375. /package/client/dist/assets/{postiats-UKXD1rM4.js → postiats-Dx5LUn4Z.js} +0 -0
  376. /package/client/dist/assets/{powerquery-zE3E3O7s.js → powerquery-DazYxvJ6.js} +0 -0
  377. /package/client/dist/assets/{powershell-Df9b3zQl.js → powershell-B3nwlDka.js} +0 -0
  378. /package/client/dist/assets/{protobuf-BF0nUVrW.js → protobuf-BGuu2u2s.js} +0 -0
  379. /package/client/dist/assets/{pug-Bj6Yikv_.js → pug-Dbte1MXA.js} +0 -0
  380. /package/client/dist/assets/{qsharp-BI4h-raZ.js → qsharp-DJLwBOvG.js} +0 -0
  381. /package/client/dist/assets/{r-DhpnmaXx.js → r-DmGBRSHj.js} +0 -0
  382. /package/client/dist/assets/{redis-DwYYPr4d.js → redis-VvUYn0a4.js} +0 -0
  383. /package/client/dist/assets/{redshift-D2f3Bc-4.js → redshift-6GdDrxg3.js} +0 -0
  384. /package/client/dist/assets/{restructuredtext-Dkiif6fe.js → restructuredtext-CfAB8aRU.js} +0 -0
  385. /package/client/dist/assets/{ruby-C6hLmHy0.js → ruby-CIYK6MXY.js} +0 -0
  386. /package/client/dist/assets/{rust-X8WAGtxB.js → rust-CTHZfjj9.js} +0 -0
  387. /package/client/dist/assets/{sb-4M2la0Kr.js → sb-CkKTdkz_.js} +0 -0
  388. /package/client/dist/assets/{scala-CaCXz58E.js → scala-Bx-Wr9TM.js} +0 -0
  389. /package/client/dist/assets/{scheme-CMdjpmP7.js → scheme-Dcfi6f83.js} +0 -0
  390. /package/client/dist/assets/{scss-QopmvPyp.js → scss-ByL-7PFQ.js} +0 -0
  391. /package/client/dist/assets/{shell-CDBchS00.js → shell-Csnb9Yqd.js} +0 -0
  392. /package/client/dist/assets/{solidity-DvBfi5mC.js → solidity-Dbw5-0QP.js} +0 -0
  393. /package/client/dist/assets/{sophia-HSnXR17u.js → sophia-ZQ3saZQx.js} +0 -0
  394. /package/client/dist/assets/{sparql-DhG_ppup.js → sparql-BEtOel8u.js} +0 -0
  395. /package/client/dist/assets/{specs-CUE3xSFM.js → specs-B5XOoH-02.js} +0 -0
  396. /package/client/dist/assets/{specs-C2wW5bq8.js → specs-B8mwScoM2.js} +0 -0
  397. /package/client/dist/assets/{specs-Bku8SypT.js → specs-Bj_3fDrQ.js} +0 -0
  398. /package/client/dist/assets/{specs-CnH7dOiF.js → specs-CWNKAScX2.js} +0 -0
  399. /package/client/dist/assets/{specs-BvsFNKTs.js → specs-D4z5d8uq.js} +0 -0
  400. /package/client/dist/assets/{specs-D4ORogcT.js → specs-DgvIRZtM.js} +0 -0
  401. /package/client/dist/assets/{specs-D6Y76Bgi.js → specs-DuRzE5wE.js} +0 -0
  402. /package/client/dist/assets/{sql-DHeIS-tf.js → sql-DGPDbzB7.js} +0 -0
  403. /package/client/dist/assets/{st-CMWchiRU.js → st-GeW2MOgh.js} +0 -0
  404. /package/client/dist/assets/{swift-CDXvBefj.js → swift-BVYTN8jq.js} +0 -0
  405. /package/client/dist/assets/{systemverilog-0RTukYUE.js → systemverilog-Deg2a8Lr.js} +0 -0
  406. /package/client/dist/assets/{tcl-CbBF_Ttl.js → tcl-6DnLmROF.js} +0 -0
  407. /package/client/dist/assets/{terminal-BLh00ouM.js → terminal-B2sExUis.js} +0 -0
  408. /package/client/dist/assets/{terminal-Cz_Puz0q.js → terminal-CH0fdHvP.js} +0 -0
  409. /package/client/dist/assets/{terminal-DFEH9XTQ.js → terminal-CPMigUX7.js} +0 -0
  410. /package/client/dist/assets/{terminal-CB33IsO1.js → terminal-DOwfkxqa2.js} +0 -0
  411. /package/client/dist/assets/{terminal-CR6t-Oey.js → terminal-DjSSa5qP.js} +0 -0
  412. /package/client/dist/assets/{terminal-CY_sPfdD.js → terminal-DoMTHedv2.js} +0 -0
  413. /package/client/dist/assets/{terminal-BTanJIt_.js → terminal-w0i-OCp32.js} +0 -0
  414. /package/client/dist/assets/{tickets-D6f3GSYn.js → tickets-CQTana1u.js} +0 -0
  415. /package/client/dist/assets/{tickets-blQnNA4N.js → tickets-D00mSt832.js} +0 -0
  416. /package/client/dist/assets/{tickets-68LH1xp6.js → tickets-D7CSuWjO.js} +0 -0
  417. /package/client/dist/assets/{tickets-OrJwUxJR.js → tickets-Dq7HDy8n.js} +0 -0
  418. /package/client/dist/assets/{tickets-PtHNxQo5.js → tickets-DvbFg_-c2.js} +0 -0
  419. /package/client/dist/assets/{tickets-REr-EQx9.js → tickets-heDAaj8C2.js} +0 -0
  420. /package/client/dist/assets/{tickets-jxsTrApR.js → tickets-onKZz6Dd.js} +0 -0
  421. /package/client/dist/assets/{twig-DCcGd8FE.js → twig-XbbXW9Yz.js} +0 -0
  422. /package/client/dist/assets/{typespec-HTphp-Uh.js → typespec-CRlV8GhI.js} +0 -0
  423. /package/client/dist/assets/{vb-Cb_yUcVd.js → vb-BHE2izPH.js} +0 -0
  424. /package/client/dist/assets/{wgsl-DrKU3YXj.js → wgsl-Bf5vkfmY.js} +0 -0
@@ -0,0 +1,74 @@
1
+ # Controla Specrails desde cualquier IA (servidor MCP)
2
+
3
+ Specrails puede exponerse **a sí mismo** a cualquier asistente de IA que hable el [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline o tu propio agente. Actívalo, apunta tu asistente a Specrails y podrás manejar toda la app conversando: *"lista mis proyectos", "crea una spec para login social en el proyecto de la API", "lanza el rail 0 y avísame cuando termine", "¿cuánto he gastado esta semana?"*. Tu asistente llama por debajo a las herramientas de Specrails en lugar de que tú andes haciendo clics.
4
+
5
+ Esta es la dirección opuesta a las funciones de plugins y "Mis MCPs aprobados": esas dejan que Specrails *use* otros servidores MCP; esta deja que otras apps usen **Specrails**.
6
+
7
+ ## Cómo activarlo
8
+
9
+ Está **desactivado por defecto**. Abre **Configuración ▸ MCP** y activa **Habilitar MCP**. Eso es todo — el servidor arranca de inmediato, sin reiniciar.
10
+
11
+ Tú mantienes el control de *qué* puede hacer una IA externa mediante un conjunto de niveles de permiso:
12
+
13
+ | Nivel | Qué permite | Por defecto |
14
+ |---|---|---|
15
+ | **Lectura** | Listar e inspeccionar proyectos, specs, trabajos, analíticas… | Siempre activo (cuando MCP está habilitado) |
16
+ | **Escritura** | Crear y editar specs, cambiar la configuración y la config de los rails | Desactivado — actívalo tú |
17
+ | **Lanzar IA** | Acciones que ejecutan una IA y **cuestan dinero** (lanzar un rail, generar una spec, enviar un turno de chat) | Desactivado — actívalo tú |
18
+ | **Destructivo** | Borrar proyectos/specs/trabajos, detener trabajo en curso | Desactivado — actívalo tú |
19
+
20
+ Si tu asistente intenta algo que cubre un nivel desactivado, Specrails lo rechaza con un mensaje claro que te indica qué nivel activar. Así puedes empezar en modo solo lectura y abrir exactamente lo que necesites.
21
+
22
+ ## Conectar tu asistente
23
+
24
+ El panel muestra un bloque de configuración listo para pegar. La vía más sencilla y universal es el **puente** (bridge) incluido (`specrails-mcp`): tu asistente lo ejecuta y este se encarga de retransmitir a Specrails por ti. El puente lee el token de acceso localmente, así que **el token nunca aparece en la configuración de tu asistente**.
25
+
26
+ En un cliente como Claude Desktop o Cursor, la configuración tiene este aspecto:
27
+
28
+ ```json
29
+ { "mcpServers": { "specrails": { "command": "specrails-mcp" } } }
30
+ ```
31
+
32
+ Los clientes que admiten servidores MCP remotos por HTTP pueden, en su lugar, apuntar directamente a `http://127.0.0.1:4200/api/mcp` con el token del panel.
33
+
34
+ Una vez conectado, tu asistente ve unas **18 herramientas** que cubren toda la app — proyectos, specs, rails y trabajos, chat/Explore, agentes, plugins, Jira, loops, el explorador de código, analíticas, configuración — más una herramienta de **guía** incorporada que lee primero para entender cómo funciona Specrails sin que tú tengas que explicar nada.
35
+
36
+ ## Qué puedes hacer con él
37
+
38
+ Unas cuantas recetas una vez que tu asistente está conectado. Empieza con **Lectura** activado y, cuando quieras que de verdad cree y lance trabajo, activa **Escritura** y **Lanzar IA**.
39
+
40
+ **Convierte en specs el trabajo de tus otras herramientas.** Si tu asistente también tiene conectados GitHub, Jira, Gmail o Slack, puede traerte el trabajo a Specrails:
41
+ > *"Coge las incidencias abiertas de GitHub de esta semana con la etiqueta 'bug', crea una spec para cada una en el proyecto de la API y lánzalas."*
42
+ >
43
+ > *"Lee mis últimos correos de feedback de clientes, agrúpalos por tema y crea una spec por tema."*
44
+
45
+ **Piloto automático nocturno.** Déjalo en marcha con la app en la bandeja y vuelve a un informe:
46
+ > *"Aquí tienes 12 ideas. Convierte cada una en una spec, lánzalas de tres en tres por los rails, vigila cada trabajo y mañana dame un resumen de lo que terminó, lo que falló y lo que costó."*
47
+
48
+ Mantén **Destructivo** desactivado y podrá trabajar toda la noche sin borrar nada nunca.
49
+
50
+ **En todos tus proyectos.** Algo que el panel no hace por sí solo:
51
+ > *"Revisa todos mis proyectos. Dime cuáles tienen specs en el backlog y ningún rail en marcha, y arranca el de mayor prioridad en cada uno."*
52
+
53
+ **Sin manos mientras programas.** Maneja Specrails desde tu editor o por voz, sin cambiar de ventana:
54
+ > *"Lanza el rail 0 en modo ultracode con Opus para el ticket #42 y avísame cuando termine."*
55
+
56
+ **Pregunta por el coste y el historial.** Tus analíticas, en lenguaje natural:
57
+ > *"¿Dónde he gastado más en IA esta semana, por proyecto y por modelo? Enséñame los cinco tickets más caros."*
58
+
59
+ **Tu standup diario.**
60
+ > *"Escribe mi standup: qué rails se ejecutaron ayer, qué se completó, qué falló y el coste total — en viñetas listas para pegar en Slack."*
61
+
62
+ **Entiende el código.** Sin necesidad de editor:
63
+ > *"¿Qué archivos tocó el ticket #38? Resume en una línea qué cambió en cada uno."*
64
+
65
+ Como tu asistente lee primero la guía incorporada, rara vez necesitas nombrar herramientas ni specs — describe el resultado que quieres y él se encarga de las llamadas.
66
+
67
+ ## Algunas cosas que conviene saber
68
+
69
+ - **Specrails tiene que estar en ejecución.** El servidor MCP vive dentro de la app, así que tu asistente solo puede alcanzarlo mientras Specrails esté abierto. Gracias al icono de la bandeja, cerrar la ventana lo mantiene en ejecución en segundo plano — solo **Salir** desde la bandeja (barra de menú de Mac / bandeja del sistema de Windows) lo detiene de verdad.
70
+ - **Las acciones largas se transmiten.** Lanzar un rail o generar una spec devuelve el control de inmediato y termina en segundo plano; tu asistente puede "vigilarlo" e informarte cuando se resuelva.
71
+ - **Seguridad.** El MCP usa su propio token de acceso, separado de todo lo demás, y solo escucha en tu propia máquina (loopback). Puedes copiar o regenerar ese token en cualquier momento desde el panel.
72
+ - **No expuesto (v1).** Por seguridad, unas pocas capacidades de alto riesgo se dejan fuera a propósito: ejecutar comandos de shell en la terminal, el navegador integrado, la edición de archivos dentro de la app y la instalación de prerrequisitos del sistema. Todo lo que *gestiona* Specrails está disponible; el acceso directo a la máquina, no.
73
+
74
+ Puedes desactivar MCP en cualquier momento desde el mismo panel — tu asistente simplemente pierde el acceso y nada más cambia.
@@ -0,0 +1,64 @@
1
+ # Maneja Specrails conversando (Agent Chat)
2
+
3
+ El **Agent Chat** es un copiloto que vive *dentro* de Specrails y puede manejar toda la app por ti. En lugar de ir haciendo clic por proyectos, specs, raíles y analítica, basta con que preguntes: *«¿cuántos trabajos salieron bien esta semana?»*, *«crea una spec para el inicio de sesión social en el proyecto de la API»*, *«lanza los tres tickets de mayor prioridad y avísame cuando terminen»*. Lleva a cabo el trabajo llamando a las propias herramientas de Specrails —las mismas que expone el [servidor MCP](./5-mcp-server.md)— mientras ves el panel actualizarse en directo detrás de él.
4
+
5
+ > **No lo confundas con los agentes del pipeline.** La sección *Agentes* (Architect → Developer → Reviewer) trata de *cómo un raíl implementa una spec*. El **Agent Chat** es un único asistente que *maneja la propia app*. Cosas distintas, misma palabra.
6
+
7
+ ## Cómo abrirlo
8
+
9
+ Hay una **burbuja** flotante en la parte inferior de la ventana: haz clic en ella para abrir el panel, o pulsa **⌘⇧A** (**Ctrl+Shift+A** en Windows/Linux) desde cualquier sitio. El panel es una ventana de verdad que puedes mover, redimensionar, maximizar y devolver a la burbuja; recuerda dónde lo dejaste.
10
+
11
+ Es **no modal a propósito**: el panel de detrás sigue vivo, así que cuando el agente lanza un raíl o crea una spec lo ves aparecer en tiempo real; no estás mirando una pantalla congelada.
12
+
13
+ ## Requisito previo: el servidor MCP
14
+
15
+ El Agent Chat maneja la app a través del **servidor MCP de Specrails** integrado, así que tiene que estar activo. Si no lo está, el panel se abre con un banner de **Activar Specrails MCP** de un solo clic: púlsalo y ya está listo (sin reiniciar). Consulta [Controla Specrails desde cualquier IA](./5-mcp-server.md) para los detalles; no se instala nada, todo es local en tu máquina.
16
+
17
+ ## Elegir sobre qué trabaja
18
+
19
+ La cabecera tiene un **selector de proyecto** (como el de Cursor). Elige un proyecto y todo lo que pidas queda acotado a él: *«lanza los de alta prioridad»* se resuelve contra ese proyecto. Déjalo en **Inicio** y el agente trabaja sobre todo tu conjunto: puede listar o crear proyectos y responder preguntas que abarquen todo. Si pides algo específico de un proyecto estando en Inicio, te preguntará cuál (o se ofrecerá a crear uno) en lugar de adivinar.
20
+
21
+ Elegir un proyecto aquí **no** mueve tu panel: el objetivo del agente y lo que estás mirando son independientes.
22
+
23
+ ## Proveedor y modelo
24
+
25
+ Justo encima del cuadro de mensaje eliges el **proveedor** (Claude, Codex o Gemini) y su **modelo**. Cada proveedor tiene su propia lista de modelos, y cambiar de proveedor inicia una sesión nueva con el modelo por defecto de ese proveedor, así que puedes, por ejemplo, manejar la app con Claude y pasar a Codex para otra conversación sin que se mezcle nada.
26
+
27
+ ## Niveles de permiso: tú llevas las riendas
28
+
29
+ El agente puede tocar toda la app, así que tú decides cuánta libertad tiene con un **nivel** que cambias en vivo pulsando **Shift+Tab** (el mismo ciclo que usa Claude Code). Cada nivel incluye todo lo que hay por debajo:
30
+
31
+ | Nivel | Qué puede hacer |
32
+ |---|---|
33
+ | 👀 **Observa** | Solo lectura: listar e inspeccionar proyectos, specs, trabajos, analítica. No cambia nada. |
34
+ | ✍️ **Edita** | Lo anterior **+** crear y editar (specs, ajustes, configuración de raíles): cambios reversibles. |
35
+ | ⚡ **Opera** | Lo anterior **+** lanzar trabajo de IA que **cuesta dinero** (raíles, generación de specs). |
36
+ | 🔥 **Autónomo** | Lo anterior **+** borrar y detener cosas: acciones irreversibles. |
37
+
38
+ Empieza en **Observa** y sube el nivel solo cuando quieras que el agente actúe. Si intenta algo por encima del nivel actual, se detiene y te dice exactamente qué nivel activar; nunca sortea el límite. Esto es independiente de los niveles de Ajustes ▸ MCP, que rigen a los asistentes *externos*; el nivel de aquí es solo para este agente interno de la app.
39
+
40
+ ## Algunas cosas que puedes pedir
41
+
42
+ Cuando estés en **Opera**, prueba con:
43
+
44
+ > *«Lista todas las specs pendientes del proyecto de la API y luego lanza las tres de mayor prioridad en raíles separados y vigílalas.»*
45
+ >
46
+ > *«¿Cuánto he gastado esta semana, desglosado por proyecto?»*
47
+ >
48
+ > *«Crea una spec para un interruptor de modo oscuro en el proyecto web, con Contract Layer.»*
49
+ >
50
+ > *«Algo ha fallado en el último lote: encuentra los trabajos fallidos y resume por qué.»*
51
+
52
+ Las respuestas llegan fluidas y ya formateadas (encabezados, tablas, listas), cada una con un pequeño botón de **copiar**. Una etiqueta de estado abajo muestra lo que el agente está haciendo ahora mismo —*Pensando…*, *MCP · jobs*, *Terminal*— para que siempre sepas en qué estado está.
53
+
54
+ ## Detalles prácticos
55
+
56
+ - **Historial de prompts.** Con el cuadro vacío, pulsa **↑**/**↓** para recorrer lo que preguntaste antes (se muestra atenuado mientras te desplazas); empieza a escribir para editarlo, o pulsa Intro para enviarlo.
57
+ - **Minimiza sin perder nada.** Haz clic en la ✕ para devolver el panel a la burbuja: la conversación sigue en marcha. Vuelve a abrirlo y aterrizas en el último mensaje; no hay que reescribir nada.
58
+ - **Nueva conversación.** El botón **+** inicia un hilo limpio; el historial vive a nivel de app, por encima de cualquier proyecto concreto.
59
+
60
+ ## Algunas cosas que conviene saber
61
+
62
+ - **Opera y Autónomo cuestan dinero** porque ejecutan IA. El agente saca a la luz las acciones que generan coste antes de hacerlas; mantén el nivel en Observa o Edita si solo quieres mirar y ordenar.
63
+ - **El agente es de toda la app**, no está ligado al proyecto que tengas abierto; por eso tiene su propio selector y su historial no es por proyecto.
64
+ - **Es tan capaz como le permita el MCP.** Si toda un área parece vetada, comprueba que el servidor MCP esté activado.
@@ -0,0 +1,74 @@
1
+ # Piloter Specrails depuis n'importe quelle IA (serveur MCP)
2
+
3
+ Specrails peut s'exposer **lui-même** à n'importe quel assistant IA qui parle le [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline, ou votre propre agent. Activez-le, pointez votre assistant vers Specrails, et vous pouvez piloter toute l'app en discutant : *« liste mes projets », « crée une spec pour la connexion sociale dans le projet API », « lance le rail 0 et préviens-moi quand c'est terminé », « combien ai-je dépensé cette semaine ? »*. Votre assistant appelle les outils de Specrails en coulisses, plutôt que de vous faire cliquer partout.
4
+
5
+ C'est la direction inverse des fonctionnalités plugins et « Mes MCP approuvés » : celles-ci permettent à Specrails d'*utiliser* d'autres serveurs MCP ; ceci permet à d'autres apps d'utiliser **Specrails**.
6
+
7
+ ## L'activer
8
+
9
+ C'est **désactivé par défaut**. Ouvrez **Paramètres ▸ MCP** et basculez **Activer MCP**. C'est tout — le serveur démarre immédiatement, sans redémarrage.
10
+
11
+ Vous gardez le contrôle de *ce qu'*une IA externe peut faire grâce à un ensemble de niveaux de permission :
12
+
13
+ | Niveau | Ce qu'il autorise | Par défaut |
14
+ |---|---|---|
15
+ | **Lecture** | Lister et inspecter les projets, specs, jobs, analyses… | Toujours actif (lorsque MCP est activé) |
16
+ | **Écriture** | Créer et modifier des specs, changer les paramètres et la configuration des rails | Désactivé — à activer |
17
+ | **Lancement d'IA** | Actions qui exécutent une IA et **coûtent de l'argent** (lancer un rail, générer une spec, envoyer un tour de chat) | Désactivé — à activer |
18
+ | **Destructif** | Supprimer des projets/specs/jobs, arrêter un travail en cours | Désactivé — à activer |
19
+
20
+ Si votre assistant tente quelque chose que couvre un niveau désactivé, Specrails refuse avec un message clair vous indiquant quel niveau activer. Vous pouvez donc commencer en lecture seule et ouvrir exactement ce dont vous avez besoin.
21
+
22
+ ## Connecter votre assistant
23
+
24
+ Le panneau affiche un bloc de configuration prêt à coller. La voie la plus simple et universelle est le **pont** (« bridge ») embarqué (`specrails-mcp`) : votre assistant l'exécute, et il relaie vers Specrails pour vous. Le pont lit le jeton d'accès localement, donc **le jeton n'apparaît jamais dans la configuration de votre assistant**.
25
+
26
+ Dans un client comme Claude Desktop ou Cursor, la configuration ressemble à ceci :
27
+
28
+ ```json
29
+ { "mcpServers": { "specrails": { "command": "specrails-mcp" } } }
30
+ ```
31
+
32
+ Les clients qui prennent en charge les serveurs MCP HTTP distants peuvent à la place pointer directement vers `http://127.0.0.1:4200/api/mcp` avec le jeton du panneau.
33
+
34
+ Une fois connecté, votre assistant voit environ **18 outils** couvrant toute l'app — projets, specs, rails et jobs, chat/Explore, agents, plugins, Jira, loops, l'explorateur de code, les analyses, les paramètres — plus un outil **guide** intégré qu'il lit en premier afin de comprendre le fonctionnement de Specrails sans que vous ayez à expliquer quoi que ce soit.
35
+
36
+ ## Ce que vous pouvez en faire
37
+
38
+ Quelques recettes une fois votre assistant connecté. Commencez avec **Lecture** activée, puis activez **Écriture** et **Lancement d'IA** quand vous voulez qu'il crée et lance réellement du travail.
39
+
40
+ **Transformez le travail de vos autres outils en specs.** Si votre assistant a aussi GitHub, Jira, Gmail ou Slack connectés, il peut amener le travail jusqu'à Specrails pour vous :
41
+ > *« Prends les issues GitHub ouvertes cette semaine étiquetées "bug", crée une spec pour chacune dans le projet API, et lance-les. »*
42
+ >
43
+ > *« Lis mes derniers e-mails de retours clients, regroupe-les par thème, et crée une spec par thème. »*
44
+
45
+ **Pilote automatique nocturne.** Laissez-le tourner avec l'app dans la zone de notification et revenez à un rapport :
46
+ > *« Voici 12 idées. Transforme chacune en une spec, lance-les trois par trois à travers les rails, surveille chaque job, et demain donne-moi un résumé de ce qui s'est terminé, ce qui a échoué et ce que ça a coûté. »*
47
+
48
+ Gardez **Destructif** désactivé et il peut construire toute la nuit sans jamais rien supprimer.
49
+
50
+ **À travers tous vos projets.** Quelque chose que le tableau de bord ne fait pas tout seul :
51
+ > *« Vérifie tous mes projets. Dis-moi lesquels ont des specs dans le backlog sans aucun rail en cours, et démarre la plus prioritaire dans chacun. »*
52
+
53
+ **Sans les mains pendant que vous codez.** Pilotez Specrails depuis votre éditeur ou à la voix, sans changer de fenêtre :
54
+ > *« Lance le rail 0 en mode ultracode avec Opus pour le ticket #42 et préviens-moi quand c'est terminé. »*
55
+
56
+ **Interrogez les coûts et l'historique.** Vos analyses, en langage clair :
57
+ > *« Où ai-je le plus dépensé en IA cette semaine, par projet et par modèle ? Montre-moi les cinq tickets les plus coûteux. »*
58
+
59
+ **Votre point quotidien.**
60
+ > *« Rédige mon point quotidien : quels rails ont tourné hier, ce qui s'est terminé, ce qui a échoué, le coût total — sous forme de puces prêtes à coller dans Slack. »*
61
+
62
+ **Comprenez le code.** Aucun éditeur nécessaire :
63
+ > *« Quels fichiers le ticket #38 a-t-il touchés ? Résume en une ligne ce qui a changé dans chacun. »*
64
+
65
+ Parce que votre assistant lit d'abord le guide intégré, vous avez rarement besoin de nommer des outils ou des specs — décrivez le résultat voulu et il trouve les appels à faire.
66
+
67
+ ## Quelques points à connaître
68
+
69
+ - **Specrails doit être en cours d'exécution.** Le serveur MCP vit à l'intérieur de l'app, donc votre assistant ne peut l'atteindre que tant que Specrails est ouvert. Grâce à la zone de notification, fermer la fenêtre laisse l'app tourner en arrière-plan — seul **Quitter** depuis la zone de notification (barre de menus Mac / zone de notification Windows) l'arrête réellement.
70
+ - **Les actions longues sont diffusées en flux.** Lancer un rail ou générer une spec renvoie une réponse immédiate et se termine en arrière-plan ; votre assistant peut le « surveiller » et vous faire un retour une fois l'action stabilisée.
71
+ - **Sécurité.** Le MCP utilise son propre jeton d'accès, distinct de tout le reste, et n'écoute que sur votre propre machine (boucle locale). Vous pouvez copier ou régénérer ce jeton à tout moment depuis le panneau.
72
+ - **Non exposé (v1).** Par sécurité, quelques capacités à haut risque sont volontairement laissées de côté : exécuter des commandes shell dans le terminal, le navigateur embarqué, l'édition de fichiers dans l'app, et l'installation des prérequis système. Tout ce qui *gère* Specrails est disponible ; l'accès brut à la machine ne l'est pas.
73
+
74
+ Vous pouvez désactiver MCP à tout moment depuis le même panneau — votre assistant perd simplement l'accès, et rien d'autre ne change.
@@ -0,0 +1,64 @@
1
+ # Pilotez Specrails en discutant (Agent Chat)
2
+
3
+ L'**Agent Chat** est un copilote qui vit *à l'intérieur* de Specrails et peut piloter toute l'application à votre place. Au lieu de cliquer à travers projets, specs, rails et analyses, il vous suffit de demander : *« combien de jobs ont réussi cette semaine ? »*, *« crée une spec pour la connexion sociale dans le projet API »*, *« lance les trois tickets les plus prioritaires et préviens-moi quand ils sont finis »*. Il exécute le travail en appelant les propres outils de Specrails — les mêmes que ceux exposés par le [serveur MCP](./5-mcp-server.md) — pendant que vous voyez le tableau de bord se mettre à jour en direct derrière lui.
4
+
5
+ > **À ne pas confondre avec les agents du pipeline.** La section *Agents* (Architect → Developer → Reviewer) concerne *la manière dont un rail implémente une spec*. L'**Agent Chat** est un unique assistant qui *pilote l'application elle-même*. Deux choses différentes, un même mot.
6
+
7
+ ## Comment l'ouvrir
8
+
9
+ Une **bulle** flottante se trouve en bas de la fenêtre : cliquez dessus pour ouvrir le panneau, ou appuyez sur **⌘⇧A** (**Ctrl+Shift+A** sous Windows/Linux) depuis n'importe où. Le panneau est une vraie fenêtre que vous pouvez déplacer, redimensionner, agrandir et renvoyer dans la bulle ; il se souvient de l'endroit où vous l'avez laissé.
10
+
11
+ Il est **non modal, volontairement** : le tableau de bord derrière lui reste vivant, donc quand l'agent lance un rail ou crée une spec vous le voyez apparaître en temps réel — vous ne regardez pas un écran figé.
12
+
13
+ ## Prérequis : le serveur MCP
14
+
15
+ L'Agent Chat pilote l'application via le **serveur MCP Specrails** intégré, il faut donc que celui-ci soit actif. S'il ne l'est pas, le panneau s'ouvre avec une bannière **Activer Specrails MCP** en un clic : appuyez dessus et c'est prêt (sans redémarrage). Voir [Contrôlez Specrails depuis n'importe quelle IA](./5-mcp-server.md) pour les détails ; rien n'est installé, tout est local sur votre machine.
16
+
17
+ ## Choisir ce sur quoi il travaille
18
+
19
+ L'en-tête comporte un **sélecteur de projet** (comme celui de Cursor). Choisissez un projet et tout ce que vous demandez s'y rapporte : *« lance ceux qui sont hautement prioritaires »* se résout pour ce projet. Laissez-le sur **Accueil** et l'agent travaille sur l'ensemble de votre configuration : il peut lister ou créer des projets et répondre à des questions qui embrassent tout. Si vous demandez quelque chose de spécifique à un projet en étant sur Accueil, il vous demandera lequel (ou proposera d'en créer un) plutôt que de deviner.
20
+
21
+ Choisir un projet ici **ne déplace pas** votre tableau de bord : la cible de l'agent et ce que vous regardez sont indépendants.
22
+
23
+ ## Fournisseur et modèle
24
+
25
+ Juste au-dessus de la zone de message, vous choisissez le **fournisseur** (Claude, Codex ou Gemini) et son **modèle**. Chaque fournisseur a sa propre liste de modèles, et changer de fournisseur démarre une nouvelle session avec le modèle par défaut de ce fournisseur — vous pouvez ainsi, par exemple, piloter l'application avec Claude et passer à Codex pour une autre conversation sans que rien ne se mélange.
26
+
27
+ ## Niveaux d'autorisation — c'est vous qui tenez la laisse
28
+
29
+ L'agent peut toucher à toute l'application, c'est donc à vous de décider quelle liberté vous lui accordez, via un **niveau** que vous changez en direct en appuyant sur **Shift+Tab** (le même cycle que celui de Claude Code). Chaque niveau inclut tout ce qui se trouve en dessous :
30
+
31
+ | Niveau | Ce qu'il peut faire |
32
+ |---|---|
33
+ | 👀 **Observer** | Lecture seule — lister et inspecter projets, specs, jobs, analyses. Rien ne change. |
34
+ | ✍️ **Modifier** | Ce qui précède **+** créer et modifier (specs, réglages, configuration de rails) — changements réversibles. |
35
+ | ⚡ **Opérer** | Ce qui précède **+** lancer du travail d'IA qui **coûte de l'argent** (rails, génération de specs). |
36
+ | 🔥 **Autonome** | Ce qui précède **+** supprimer et arrêter des choses — actions irréversibles. |
37
+
38
+ Commencez sur **Observer** et n'élevez le niveau que lorsque vous voulez que l'agent agisse. S'il tente quelque chose au-dessus du niveau actuel, il s'arrête et vous indique exactement quel niveau activer — il ne contourne jamais la limite. C'est distinct des niveaux de Réglages ▸ MCP, qui régissent les assistants *externes* ; le niveau ici ne concerne que cet agent intégré à l'application.
39
+
40
+ ## Quelques exemples de demandes
41
+
42
+ Une fois sur **Opérer**, essayez :
43
+
44
+ > *« Liste toutes les specs à faire du projet API, puis lance les trois plus prioritaires sur des rails séparés et surveille-les. »*
45
+ >
46
+ > *« Combien ai-je dépensé cette semaine, ventilé par projet ? »*
47
+ >
48
+ > *« Crée une spec pour un bouton de bascule mode sombre dans le projet web, avec une Contract Layer. »*
49
+ >
50
+ > *« Quelque chose a échoué dans le dernier lot — trouve les jobs en échec et résume pourquoi. »*
51
+
52
+ Les réponses arrivent en flux fluide et s'affichent déjà mises en forme (titres, tableaux, listes), chacune avec un petit bouton **copier**. Une étiquette d'état en bas montre ce que fait l'agent en ce moment — *Réflexion…*, *MCP · jobs*, *Terminal* — pour que vous connaissiez toujours son état.
53
+
54
+ ## Petits plus pratiques
55
+
56
+ - **Historique des prompts.** Avec la zone vide, appuyez sur **↑**/**↓** pour parcourir ce que vous avez demandé auparavant (affiché en grisé pendant que vous défilez) ; commencez à taper pour le modifier, ou appuyez sur Entrée pour l'envoyer.
57
+ - **Réduire sans rien perdre.** Cliquez sur la ✕ pour renvoyer le panneau dans la bulle — la conversation continue de tourner. Rouvrez-le et vous atterrissez sur le dernier message ; rien n'est à retaper.
58
+ - **Nouvelle conversation.** Le bouton **+** démarre un fil vierge ; l'historique vit au niveau de l'application, au-dessus de tout projet individuel.
59
+
60
+ ## Quelques points à savoir
61
+
62
+ - **Opérer et Autonome coûtent de l'argent** car ils exécutent de l'IA. L'agent met en avant les actions génératrices de coût avant de les réaliser ; gardez le niveau sur Observer ou Modifier si vous voulez juste regarder et ranger.
63
+ - **L'agent couvre toute l'application**, il n'est pas lié au projet que vous avez ouvert — c'est pourquoi il a son propre sélecteur et que son historique n'est pas par projet.
64
+ - **Il n'est capable que dans la mesure où le MCP le permet.** Si tout un domaine semble interdit, vérifiez que le serveur MCP est bien activé.
@@ -0,0 +1,74 @@
1
+ # Controlla Specrails da qualsiasi AI (server MCP)
2
+
3
+ Specrails può esporre **se stesso** a qualsiasi assistente AI che parli il [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline o un tuo agente. Attivalo, punta il tuo assistente verso Specrails e potrai pilotare l'intera app chiacchierando: *"elenca i miei progetti", "crea una spec per il login social nel progetto API", "lancia il rail 0 e dimmi quando ha finito", "quanto ho speso questa settimana?"*. Il tuo assistente richiama gli strumenti di Specrails dietro le quinte, al posto tuo che clicchi qua e là.
4
+
5
+ Questa è la direzione opposta rispetto alle funzionalità dei plugin e degli "MCP approvati da me": quelle permettono a Specrails di *usare* altri server MCP; questa permette ad altre app di usare **Specrails**.
6
+
7
+ ## Come attivarlo
8
+
9
+ È **disattivato di default**. Apri **Impostazioni ▸ MCP** e attiva **Abilita MCP**. Fatto — il server si avvia immediatamente, senza riavvii.
10
+
11
+ Resti tu a controllare *cosa* può fare un'AI esterna tramite una serie di livelli di permesso:
12
+
13
+ | Livello | Cosa consente | Default |
14
+ |---|---|---|
15
+ | **Lettura** | Elencare e ispezionare progetti, spec, job, analisi… | Sempre attivo (quando l'MCP è abilitato) |
16
+ | **Scrittura** | Creare e modificare spec, cambiare impostazioni e configurazione dei rail | Disattivato — da abilitare |
17
+ | **AI-spawn** | Azioni che eseguono un'AI e **costano denaro** (lanciare un rail, generare una spec, inviare un turno di chat) | Disattivato — da abilitare |
18
+ | **Distruttivo** | Eliminare progetti/spec/job, fermare il lavoro in corso | Disattivato — da abilitare |
19
+
20
+ Se il tuo assistente prova a fare qualcosa coperto da un livello disattivato, Specrails rifiuta con un messaggio chiaro che ti indica quale livello attivare. Così puoi partire in sola lettura e aprire esattamente ciò che ti serve.
21
+
22
+ ## Collegare il tuo assistente
23
+
24
+ Il pannello mostra un blocco di configurazione pronto da incollare. Il percorso più semplice e universale è il **bridge** incluso (`specrails-mcp`): il tuo assistente lo esegue e quello fa da tramite verso Specrails per te. Il bridge legge il token di accesso in locale, quindi **il token non compare mai nella configurazione del tuo assistente**.
25
+
26
+ In un client come Claude Desktop o Cursor, la configurazione si presenta così:
27
+
28
+ ```json
29
+ { "mcpServers": { "specrails": { "command": "specrails-mcp" } } }
30
+ ```
31
+
32
+ I client che supportano i server MCP HTTP remoti possono invece puntare direttamente a `http://127.0.0.1:4200/api/mcp` con il token preso dal pannello.
33
+
34
+ Una volta collegato, il tuo assistente vede circa **18 strumenti** che coprono l'intera app — progetti, spec, rail e job, chat/Explore, agenti, plugin, Jira, loop, l'esploratore del codice, le analisi, le impostazioni — più uno strumento **guida** integrato che legge per primo, così capisce come funziona Specrails senza che tu debba spiegargli nulla.
35
+
36
+ ## Cosa puoi farci
37
+
38
+ Qualche ricetta una volta collegato il tuo assistente. Parti con la **Lettura** attiva, poi accendi **Scrittura** e **AI-spawn** quando vuoi che crei e lanci davvero il lavoro.
39
+
40
+ **Trasforma il lavoro degli altri tuoi strumenti in spec.** Se il tuo assistente ha collegati anche GitHub, Jira, Gmail o Slack, può portare il lavoro dentro Specrails al posto tuo:
41
+ > *"Prendi le issue GitHub aperte di questa settimana con etichetta 'bug', crea una spec per ognuna nel progetto API e lanciale."*
42
+ >
43
+ > *"Leggi le ultime email di feedback dei clienti, raggruppale per tema e crea una spec per ogni tema."*
44
+
45
+ **Pilota automatico notturno.** Lascialo in esecuzione con l'app nella barra di sistema e torna a un resoconto:
46
+ > *"Ecco 12 idee. Trasforma ognuna in una spec, lanciale tre alla volta sui rail, tieni d'occhio ogni job e domani dammi un riepilogo di cosa è finito, cosa è fallito e quanto è costato."*
47
+
48
+ Tieni **Distruttivo** disattivato e potrà lavorare tutta la notte senza mai eliminare nulla.
49
+
50
+ **Su tutti i tuoi progetti.** Qualcosa che la dashboard da sola non fa:
51
+ > *"Controlla tutti i miei progetti. Dimmi quali hanno spec nel backlog e nessun rail in esecuzione, e avvia in ognuno quella a priorità più alta."*
52
+
53
+ **Senza mani mentre programmi.** Pilota Specrails dal tuo editor o a voce, senza cambiare finestra:
54
+ > *"Lancia il rail 0 in modalità ultracode con Opus per il ticket #42 e dimmi quando ha finito."*
55
+
56
+ **Chiedi di costi e cronologia.** Le tue analisi, in linguaggio naturale:
57
+ > *"Dove ho speso di più in AI questa settimana, per progetto e per modello? Mostrami i cinque ticket più costosi."*
58
+
59
+ **Il tuo standup quotidiano.**
60
+ > *"Scrivi il mio standup: quali rail hanno girato ieri, cosa è stato completato, cosa è fallito, costo totale — come elenco puntato pronto da incollare in Slack."*
61
+
62
+ **Capire il codice.** Senza bisogno di un editor:
63
+ > *"Quali file ha toccato il ticket #38? Riassumi in una riga cosa è cambiato in ognuno."*
64
+
65
+ Dato che il tuo assistente legge per prima la guida integrata, raramente devi nominare strumenti o spec — descrivi il risultato e lui calcola le chiamate da fare.
66
+
67
+ ## Qualche cosa da sapere
68
+
69
+ - **Specrails deve essere in esecuzione.** Il server MCP vive dentro l'app, quindi il tuo assistente può raggiungerlo solo finché Specrails è aperto. Grazie all'icona nella barra di sistema, chiudere la finestra lo mantiene attivo in background — solo **Esci** dall'icona (barra dei menu su Mac / barra di sistema su Windows) lo ferma davvero.
70
+ - **Le azioni lunghe trasmettono in streaming.** Lanciare un rail o generare una spec restituisce subito il controllo e termina in background; il tuo assistente può "tenerlo d'occhio" e riferirti quando si conclude.
71
+ - **Sicurezza.** L'MCP usa un proprio token di accesso, separato da tutto il resto, e ascolta soltanto sulla tua macchina (loopback). Puoi copiare o rigenerare quel token in qualsiasi momento dal pannello.
72
+ - **Non esposto (v1).** Per sicurezza, alcune capacità ad alto rischio sono volutamente escluse: eseguire comandi shell nel terminale, il browser integrato, la modifica dei file nell'app e l'installazione dei prerequisiti di sistema. Tutto ciò che *gestisce* Specrails è disponibile; l'accesso diretto alla macchina no.
73
+
74
+ Puoi disattivare l'MCP in qualsiasi momento dallo stesso pannello — il tuo assistente perde semplicemente l'accesso e nient'altro cambia.
@@ -0,0 +1,64 @@
1
+ # Gestisci Specrails conversando (Agent Chat)
2
+
3
+ L'**Agent Chat** è un copilota che vive *dentro* Specrails e può pilotare l'intera app al posto tuo. Invece di navigare a clic tra progetti, spec, binari e analisi, basta che chiedi: *«quanti job sono andati a buon fine questa settimana?»*, *«crea una spec per il login social nel progetto API»*, *«lancia i tre ticket a priorità più alta e avvisami quando finiscono»*. Porta a termine il lavoro chiamando gli strumenti stessi di Specrails — gli stessi che espone il [server MCP](./5-mcp-server.md) — mentre vedi la dashboard aggiornarsi dal vivo dietro di lui.
4
+
5
+ > **Da non confondere con gli agenti della pipeline.** La sezione *Agenti* (Architect → Developer → Reviewer) riguarda *come un binario implementa una spec*. L'**Agent Chat** è un unico assistente che *gestisce l'app stessa*. Cose diverse, stessa parola.
6
+
7
+ ## Come aprirlo
8
+
9
+ C'è una **bolla** fluttuante in fondo alla finestra: cliccala per aprire il pannello, oppure premi **⌘⇧A** (**Ctrl+Shift+A** su Windows/Linux) da qualsiasi punto. Il pannello è una finestra vera che puoi spostare, ridimensionare, massimizzare e rimettere nella bolla; ricorda dove l'hai lasciato.
10
+
11
+ È **non modale di proposito**: la dashboard dietro resta viva, così quando l'agente lancia un binario o crea una spec la vedi comparire in tempo reale — non stai guardando uno schermo congelato.
12
+
13
+ ## Prerequisito: il server MCP
14
+
15
+ L'Agent Chat gestisce l'app tramite il **server MCP di Specrails** integrato, quindi deve essere attivo. Se non lo è, il pannello si apre con un banner **Attiva Specrails MCP** con un clic: premilo e sei pronto (senza riavvio). Vedi [Controlla Specrails da qualsiasi IA](./5-mcp-server.md) per i dettagli; non viene installato nulla, è tutto locale sulla tua macchina.
16
+
17
+ ## Scegliere su cosa lavora
18
+
19
+ L'intestazione ha un **selettore di progetto** (come quello di Cursor). Scegli un progetto e tutto ciò che chiedi è circoscritto a esso — *«lancia quelli ad alta priorità»* si risolve su quel progetto. Lascialo su **Home** e l'agente lavora sull'intera configurazione: può elencare o creare progetti e rispondere a domande che abbracciano tutto. Se chiedi qualcosa di specifico di un progetto stando su Home, ti chiederà quale (o si offrirà di crearne uno) invece di indovinare.
20
+
21
+ Scegliere un progetto qui **non** sposta la tua dashboard: l'obiettivo dell'agente e ciò che stai guardando sono indipendenti.
22
+
23
+ ## Provider e modello
24
+
25
+ Proprio sopra la casella del messaggio scegli il **provider** (Claude, Codex o Gemini) e il suo **modello**. Ogni provider ha la propria lista di modelli, e cambiare provider avvia una sessione nuova con il modello predefinito di quel provider — così puoi, ad esempio, pilotare l'app con Claude e passare a Codex per un'altra conversazione senza che nulla si incroci.
26
+
27
+ ## Livelli di permesso — le redini le tieni tu
28
+
29
+ L'agente può toccare tutta l'app, quindi decidi tu quanta libertà ha tramite un **livello** che cambi dal vivo premendo **Shift+Tab** (lo stesso ciclo usato da Claude Code). Ogni livello include tutto ciò che sta sotto:
30
+
31
+ | Livello | Cosa può fare |
32
+ |---|---|
33
+ | 👀 **Osserva** | Sola lettura — elencare e ispezionare progetti, spec, job, analisi. Nulla cambia. |
34
+ | ✍️ **Modifica** | Quanto sopra **+** creare e modificare (spec, impostazioni, configurazione dei binari) — modifiche reversibili. |
35
+ | ⚡ **Opera** | Quanto sopra **+** avviare lavoro di IA che **costa denaro** (binari, generazione di spec). |
36
+ | 🔥 **Autonomo** | Quanto sopra **+** eliminare e fermare cose — azioni irreversibili. |
37
+
38
+ Inizia da **Osserva** e alza il livello solo quando vuoi che l'agente agisca. Se prova qualcosa oltre il livello attuale, si ferma e ti dice esattamente quale livello attivare — non aggira mai il limite. Questo è distinto dai livelli di Impostazioni ▸ MCP, che regolano gli assistenti *esterni*; il livello qui riguarda solo questo agente interno all'app.
39
+
40
+ ## Alcune cose che puoi chiedere
41
+
42
+ Una volta su **Opera**, prova:
43
+
44
+ > *«Elenca ogni spec da fare nel progetto API, poi lancia le tre a priorità più alta su binari separati e tienile d'occhio.»*
45
+ >
46
+ > *«Quanto ho speso questa settimana, suddiviso per progetto?»*
47
+ >
48
+ > *«Crea una spec per un interruttore modalità scura nel progetto web, con Contract Layer.»*
49
+ >
50
+ > *«Qualcosa è fallito nell'ultimo lotto — trova i job falliti e riassumi il perché.»*
51
+
52
+ Le risposte arrivano fluide e già formattate (titoli, tabelle, elenchi), ciascuna con un piccolo pulsante **copia**. Un'etichetta di stato in basso mostra cosa sta facendo l'agente in questo momento — *Sto pensando…*, *MCP · jobs*, *Terminal* — così conosci sempre il suo stato.
53
+
54
+ ## Dettagli pratici
55
+
56
+ - **Cronologia dei prompt.** Con la casella vuota, premi **↑**/**↓** per scorrere ciò che hai chiesto prima (mostrato attenuato mentre scorri); inizia a scrivere per modificarlo, oppure premi Invio per inviarlo.
57
+ - **Riduci a icona, senza perdere nulla.** Clicca la ✕ per rimettere il pannello nella bolla — la conversazione continua a girare. Riaprilo e atterri sull'ultimo messaggio; nulla viene riscritto.
58
+ - **Nuova conversazione.** Il pulsante **+** avvia un thread pulito; la cronologia vive a livello di app, sopra qualunque singolo progetto.
59
+
60
+ ## Alcune cose da sapere
61
+
62
+ - **Opera e Autonomo costano denaro** perché eseguono IA. L'agente mette in evidenza le azioni che generano costi prima di eseguirle; tieni il livello su Osserva o Modifica se vuoi solo guardare e mettere in ordine.
63
+ - **L'agente vale per tutta l'app**, non è legato al progetto che hai aperto — ecco perché ha un proprio selettore e la sua cronologia non è per progetto.
64
+ - **È capace solo quanto glielo consente l'MCP.** Se un'intera area sembra off-limits, verifica che il server MCP sia attivato.
@@ -0,0 +1,74 @@
1
+ # 任意の AI から Specrails を操作する(MCP サーバー)
2
+
3
+ Specrails は、[Model Context Protocol](https://modelcontextprotocol.io) を話す任意の AI アシスタント(Claude Desktop、Claude Code、Cursor、Cline、あるいは自作のエージェント)に対して、**自分自身**を公開できます。これをオンにしてアシスタントを Specrails に向ければ、チャットするだけでアプリ全体を操作できます。たとえば *「プロジェクト一覧を見せて」「API プロジェクトにソーシャルログインのスペックを作って」「レール 0 を起動して、終わったら教えて」「今週はいくら使った?」* といった具合です。あなたがあちこちクリックする代わりに、アシスタントが裏側で Specrails のツールを呼び出します。
4
+
5
+ これは、プラグインや「My approved MCPs」機能とは逆方向の働きをします。それらは Specrails が*ほかの* MCP サーバーを*使う*ためのものですが、こちらは他のアプリに **Specrails** を使わせるためのものです。
6
+
7
+ ## オンにする
8
+
9
+ これは**デフォルトでオフ**です。**Settings ▸ MCP** を開いて **Enable MCP** を切り替えてください。それだけです — サーバーは即座に起動し、再起動は不要です。
10
+
11
+ 外部の AI がどんな操作をできるかは、一連の権限ティアで*あなた*がコントロールできます。
12
+
13
+ | ティア | 許可される内容 | デフォルト |
14
+ |---|---|---|
15
+ | **Read**(読み取り) | プロジェクト、スペック、ジョブ、アナリティクスなどの一覧表示と確認 | 常時オン(MCP が有効なとき) |
16
+ | **Write**(書き込み) | スペックの作成・編集、設定やレール構成の変更 | オフ — 任意で有効化 |
17
+ | **AI-spawn**(AI 起動) | AI を走らせて**お金がかかる**操作(レールの起動、スペックの生成、チャットターンの送信) | オフ — 任意で有効化 |
18
+ | **Destructive**(破壊的操作) | プロジェクト/スペック/ジョブの削除、実行中の作業の停止 | オフ — 任意で有効化 |
19
+
20
+ 無効なティアに該当する操作をアシスタントが試みると、Specrails はそれを拒否し、どのティアをオンにすればよいかを明確なメッセージで知らせます。ですから、まずは読み取り専用から始め、必要なものだけをぴったり開放できます。
21
+
22
+ ## アシスタントを接続する
23
+
24
+ パネルには、そのまま貼り付けられる構成ブロックが表示されます。最もシンプルで汎用的な方法は、同梱の**ブリッジ**(`specrails-mcp`)を使うことです。アシスタントがこれを実行し、ブリッジがあなたに代わって Specrails に中継します。ブリッジはアクセストークンをローカルで読み取るので、**トークンがアシスタントの設定に現れることはありません**。
25
+
26
+ Claude Desktop や Cursor のようなクライアントでは、設定は次のようになります。
27
+
28
+ ```json
29
+ { "mcpServers": { "specrails": { "command": "specrails-mcp" } } }
30
+ ```
31
+
32
+ リモートの HTTP MCP サーバーに対応しているクライアントなら、代わりにパネルのトークンを使って `http://127.0.0.1:4200/api/mcp` を直接指すこともできます。
33
+
34
+ 接続が完了すると、アシスタントにはアプリ全体をカバーする約 **18 個のツール**が見えるようになります — プロジェクト、スペック、レールとジョブ、チャット/Explore、エージェント、プラグイン、Jira、ループ、コードエクスプローラー、アナリティクス、設定など。さらに、最初に読み込む組み込みの**ガイド**ツールも含まれているので、あなたが何も説明しなくても、アシスタントは Specrails の仕組みを理解できます。
35
+
36
+ ## これで何ができるか
37
+
38
+ アシスタントを接続したあとの、いくつかのレシピを紹介します。まずは **Read**(読み取り)をオンにして始め、実際に作業を作成・起動させたくなったら **Write**(書き込み)と **AI-spawn**(AI 起動)をオンにしてください。
39
+
40
+ **ほかのツールにある作業をスペックに変える。** アシスタントが GitHub、Jira、Gmail、Slack にも接続されていれば、その作業をあなたの代わりに Specrails へ持ち込めます。
41
+ > *「今週の 'bug' ラベルの付いた未解決の GitHub Issue を取り込んで、API プロジェクトにそれぞれスペックを作って、起動して。」*
42
+ >
43
+ > *「最新の顧客フィードバックのメールを読んで、テーマごとにまとめて、テーマごとにスペックを 1 つずつ作って。」*
44
+
45
+ **夜通しのオートパイロット。** アプリをトレイに置いたまま走らせておけば、戻ってきたときにはレポートができています。
46
+ > *「アイデアが 12 個あります。それぞれをスペックにして、レールで 3 つずつ起動して、すべてのジョブを見守って、明日になったら何が完了して、何が失敗して、いくらかかったかをまとめて教えて。」*
47
+
48
+ **Destructive**(破壊的操作)をオフにしておけば、何ひとつ削除することなく一晩中ビルドを続けられます。
49
+
50
+ **すべてのプロジェクトをまたいで。** ダッシュボードだけでは単独でできないことです。
51
+ > *「私のプロジェクトを全部チェックして。バックログにスペックがあるのにレールが 1 つも動いていないものを教えて、それぞれで最も優先度の高いものを 1 つ起動して。」*
52
+
53
+ **コーディング中も手を止めずに。** エディタからでも音声でも、ウィンドウを切り替えずに Specrails を操作できます。
54
+ > *「チケット #42 のためにレール 0 を Opus で ultracode モードで起動して、終わったら教えて。」*
55
+
56
+ **コストと履歴について尋ねる。** あなたのアナリティクスを、普通の言葉で。
57
+ > *「今週、AI に一番お金を使ったのはどこ? プロジェクト別とモデル別で。最もコストのかかったチケットを 5 つ見せて。」*
58
+
59
+ **毎日のスタンドアップ。**
60
+ > *「私のスタンドアップを書いて。昨日どのレールが走って、何が完了して、何が失敗して、合計コストはいくらか — Slack にそのまま貼れる箇条書きで。」*
61
+
62
+ **コードを理解する。** エディタは不要です。
63
+ > *「チケット #38 がどのファイルに触れたか教えて。それぞれ何が変わったかを 1 行で要約して。」*
64
+
65
+ アシスタントはまず組み込みのガイドを読むので、ツールやスペックの名前をあなたが指定する必要はめったにありません — 望む結果を伝えれば、アシスタントが呼び出しを組み立ててくれます。
66
+
67
+ ## 知っておきたいこと
68
+
69
+ - **Specrails が起動している必要があります。** MCP サーバーはアプリの内部に存在するため、アシスタントが到達できるのは Specrails が開いている間だけです。トレイのおかげで、ウィンドウを閉じてもバックグラウンドで動き続けます — 実際に停止させるには、トレイ(Mac のメニューバー/Windows のシステムトレイ)から **Exit** を選ぶ必要があります。
70
+ - **長い操作はストリームされます。** レールの起動やスペックの生成はすぐに戻り、バックグラウンドで完了します。アシスタントはそれを「見守り」、決着したときに報告してくれます。
71
+ - **セキュリティ。** MCP は他のすべてとは分離された専用のアクセストークンを使い、あなた自身のマシン上(ループバック)でのみ待ち受けます。このトークンはパネルからいつでもコピー、または再生成できます。
72
+ - **公開されていないもの(v1)。** 安全のため、いくつかの高リスクな機能は意図的に除外されています。ターミナルでのシェルコマンド実行、組み込みブラウザ、アプリ内でのファイル編集、システム前提条件のインストールなどです。Specrails を*管理する*ものはすべて利用できますが、マシンへの生のアクセスはできません。
73
+
74
+ MCP は同じパネルからいつでも無効にできます — アシスタントはアクセスを失うだけで、それ以外は何も変わりません。
@@ -0,0 +1,64 @@
1
+ # チャットで Specrails を操作する(Agent Chat)
2
+
3
+ **Agent Chat** は Specrails の*内部*に住むコパイロットで、アプリ全体をあなたの代わりに動かせます。プロジェクト、スペック、レール、分析画面をクリックで渡り歩く代わりに、ただ頼むだけです。*「今週は成功したジョブがいくつ?」*、*「API プロジェクトにソーシャルログインのスペックを作って」*、*「優先度が最も高い 3 件のチケットを起動して、終わったら教えて」*。それは Specrails 自身のツール——[MCP サーバー](./5-mcp-server.md)が公開しているのと同じもの——を呼び出して作業を進め、その裏でダッシュボードがライブに更新されていく様子をあなたは見ていられます。
4
+
5
+ > **パイプラインのエージェントと混同しないでください。** *エージェント*セクション(Architect → Developer → Reviewer)は*レールがどのようにスペックを実装するか*の話です。**Agent Chat** は*アプリそのものを操作する*単一のアシスタントです。別物ですが、同じ言葉です。
6
+
7
+ ## 開き方
8
+
9
+ ウィンドウ下部に浮かぶ**バブル**があります——クリックするとパネルが開きます。あるいはどこからでも **⌘⇧A**(Windows/Linux では **Ctrl+Shift+A**)を押してください。パネルは移動・リサイズ・最大化ができ、バブルへ戻せる本物のウィンドウで、最後に置いた場所を覚えています。
10
+
11
+ これは**意図的に非モーダル**です。背後のダッシュボードは生きたままなので、エージェントがレールを起動したりスペックを作成したりすると、それがリアルタイムで現れるのが見えます——固まった画面を眺めているわけではありません。
12
+
13
+ ## 前提条件:MCP サーバー
14
+
15
+ Agent Chat は組み込みの **Specrails MCP サーバー**を通じてアプリを操作するため、それがオンになっている必要があります。オンでない場合、パネルはワンクリックの **Specrails MCP を有効化** バナー付きで開きます——押せば準備完了です(再起動不要)。詳細は[任意の AI から Specrails を操作する](./5-mcp-server.md)を参照してください。何もインストールされず、すべてはあなたのマシン内でローカルに動きます。
16
+
17
+ ## 何に対して作業するかを選ぶ
18
+
19
+ ヘッダーには**プロジェクトセレクター**(Cursor のようなもの)があります。プロジェクトを選ぶと、頼んだことはすべてそれに限定されます——*「優先度の高いものを起動して」*はそのプロジェクトに対して解決されます。**ホーム**のままにしておくと、エージェントはあなたの環境全体にまたがって作業します。プロジェクトを一覧表示したり作成したりでき、全体に及ぶ質問にも答えられます。ホームにいながらプロジェクト固有のことを頼むと、推測ではなくどのプロジェクトかを尋ねてきます(あるいは新規作成を提案します)。
20
+
21
+ ここでプロジェクトを選んでも、あなたのダッシュボードは**動きません**——エージェントの対象と、あなたが見ているものは互いに独立しています。
22
+
23
+ ## プロバイダーとモデル
24
+
25
+ メッセージ欄のすぐ上で、**プロバイダー**(Claude、Codex、Gemini)とその**モデル**を選びます。各プロバイダーには独自のモデル一覧があり、プロバイダーを切り替えるとそのプロバイダーの既定モデルで新しいセッションが始まります——ですから、たとえば Claude でアプリを操作しつつ、別の会話では Codex に切り替える、といったことが何も混ざらずにできます。
26
+
27
+ ## 権限レベル——手綱はあなたが握る
28
+
29
+ エージェントはアプリ全体に触れられるので、どこまで自由を与えるかはあなたが決めます。**Shift+Tab** を押してその場で切り替える**レベル**でコントロールします(Claude Code が使うのと同じ循環です)。各レベルはその下のすべてを含みます。
30
+
31
+ | レベル | できること |
32
+ |---|---|
33
+ | 👀 **観察** | 読み取り専用——プロジェクト、スペック、ジョブ、分析の一覧表示と確認。何も変わりません。 |
34
+ | ✍️ **編集** | 上記 **+** 作成と編集(スペック、設定、レール構成)——元に戻せる変更。 |
35
+ | ⚡ **操作** | 上記 **+** **料金が発生する** AI 作業の起動(レール、スペック生成)。 |
36
+ | 🔥 **自律** | 上記 **+** 削除や停止——取り消せない操作。 |
37
+
38
+ **観察**から始め、エージェントに動いてほしいときだけレベルを上げてください。現在のレベルを超えることを試みると、エージェントは止まり、どのレベルに切り替えればよいかを正確に伝えます——制限を回避することは決してありません。これは*外部*アシスタントを統制する 設定 ▸ MCP のティアとは別物で、ここのレベルはこのアプリ内エージェント専用です。
39
+
40
+ ## 頼めることの例
41
+
42
+ **操作**にしたら、試してみてください。
43
+
44
+ > *「API プロジェクトの todo スペックをすべて一覧表示して、それから優先度が最も高い 3 件を別々のレールで起動して見守って。」*
45
+ >
46
+ > *「今週いくら使った?プロジェクトごとに内訳を出して。」*
47
+ >
48
+ > *「web プロジェクトにダークモード切り替えのスペックを、Contract Layer 付きで作って。」*
49
+ >
50
+ > *「直近のバッチで何かが失敗した——失敗したジョブを見つけて、原因をまとめて。」*
51
+
52
+ 返信は滑らかにストリーミングされ、整形済みで届き(見出し、表、リスト)、それぞれに小さな**コピー**ボタンが付きます。下部のステータスチップが、エージェントが今まさに何をしているか——*考え中…*、*MCP · jobs*、*Terminal*——を示すので、その状態が常に分かります。
53
+
54
+ ## 気の利いた工夫
55
+
56
+ - **プロンプト履歴。** 入力欄が空のとき、**↑**/**↓** を押すと以前に頼んだ内容をたどれます(スクロール中は薄く表示されます)。入力を始めれば編集でき、Enter で送信できます。
57
+ - **最小化しても失わない。** ✕ をクリックするとパネルはバブルへ戻ります——会話はそのまま動き続けます。開き直すと最新のメッセージに着地します。何も打ち直す必要はありません。
58
+ - **新しい会話。** **+** ボタンでまっさらなスレッドを始めます。履歴はアプリ全体にわたって存在し、個々のプロジェクトの上位にあります。
59
+
60
+ ## 知っておくとよいこと
61
+
62
+ - **操作と自律は料金が発生します**。AI を実行するからです。エージェントは料金の発生する操作を実行する前に前面に示します。眺めて整理したいだけなら、レベルは観察か編集にしておいてください。
63
+ - **エージェントはアプリ全体のもの**であり、開いているプロジェクトに縛られません——だからこそ独自のセレクターを持ち、その履歴はプロジェクト単位ではないのです。
64
+ - **その能力は MCP が許す範囲までです。** ある領域が丸ごと使えないように見える場合は、MCP サーバーが有効になっているか確認してください。