@coopcli/specsketch 0.1.3 → 5.2.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 (162) hide show
  1. package/README.md +80 -2
  2. package/dist/cli/index.js +2159 -81
  3. package/dist/client/assets/abnfDiagram-VRR7QNED-CTNJVYti.js +1 -0
  4. package/dist/client/assets/{ar-SA-G6X2FPQ2-jwBzex-2.js → ar-SA-G6X2FPQ2-Dx5RkIpf.js} +1 -1
  5. package/dist/client/assets/architecture-TIHT7OUA-b9_tu6da.js +1 -0
  6. package/dist/client/assets/{architectureDiagram-ZJ3FMSHR-DdYSrIl0.js → architectureDiagram-ZJ3FMSHR-C7zIp5ev.js} +1 -1
  7. package/dist/client/assets/{az-AZ-76LH7QW2-Dis0vDnD.js → az-AZ-76LH7QW2-lKEr0lki.js} +1 -1
  8. package/dist/client/assets/{bg-BG-XCXSNQG7-BCcYYSpX.js → bg-BG-XCXSNQG7-BrueLcBf.js} +1 -1
  9. package/dist/client/assets/{blockDiagram-677ZJIJ3-IHRgXLG2.js → blockDiagram-677ZJIJ3-B3Y6utF7.js} +1 -1
  10. package/dist/client/assets/{bn-BD-2XOGV67Q-Cs38e4dA.js → bn-BD-2XOGV67Q-BVnHj_Zk.js} +1 -1
  11. package/dist/client/assets/{c4Diagram-LMCZKHZV-DuitrGTA.js → c4Diagram-LMCZKHZV-Dt_cruyV.js} +1 -1
  12. package/dist/client/assets/{ca-ES-6MX7JW3Y-J6JluMn1.js → ca-ES-6MX7JW3Y-BM6SppAL.js} +1 -1
  13. package/dist/client/assets/channel-Dz1KOO7f.js +1 -0
  14. package/dist/client/assets/{chunk-32BRIVSS-FVqbFiM9.js → chunk-32BRIVSS-Ca80Axke.js} +1 -1
  15. package/dist/client/assets/{chunk-52WLFC77-B5fSTF98.js → chunk-52WLFC77-CtSrQbPt.js} +1 -1
  16. package/dist/client/assets/{chunk-C7G6YPKG-CUlznrHX.js → chunk-C7G6YPKG-B2LFv6gm.js} +1 -1
  17. package/dist/client/assets/{chunk-EIO257PC-B_XNiJ0A.js → chunk-EIO257PC-BAdMCi3M.js} +1 -1
  18. package/dist/client/assets/{chunk-EX3LRPZG-D7H3g3lm.js → chunk-EX3LRPZG-BJ4MtZ6_.js} +1 -1
  19. package/dist/client/assets/{chunk-FWX5IMBZ-DlSTzkRW.js → chunk-FWX5IMBZ-Oeex84SP.js} +2 -2
  20. package/dist/client/assets/{chunk-HOUHSVGY-BB87Tq5U.js → chunk-HOUHSVGY-CwXgFjr1.js} +1 -1
  21. package/dist/client/assets/{chunk-ICXQ74PX-DHmdnexU.js → chunk-ICXQ74PX-CNjPZw9f.js} +1 -1
  22. package/dist/client/assets/{chunk-MOJQB5TN-Cd67Wk3-.js → chunk-MOJQB5TN-CH9qxz0s.js} +1 -1
  23. package/dist/client/assets/{chunk-OGEWGWER-G3kRomY-.js → chunk-OGEWGWER-CXz-hiqH.js} +1 -1
  24. package/dist/client/assets/{chunk-PUDLZKDR-DJw3XJhs.js → chunk-PUDLZKDR-DeKKZ45n.js} +1 -1
  25. package/dist/client/assets/{chunk-Q4XR5HBZ-BV5Bw0_D.js → chunk-Q4XR5HBZ-BfA-corw.js} +1 -1
  26. package/dist/client/assets/{chunk-V7JOEXUC-C2vxCA10.js → chunk-V7JOEXUC-DBArf2HI.js} +1 -1
  27. package/dist/client/assets/{chunk-VAUOI2AC-B2lAp2X6.js → chunk-VAUOI2AC-Ce5MjSpg.js} +1 -1
  28. package/dist/client/assets/{chunk-VR4S4FIN-Dk58Ba0X.js → chunk-VR4S4FIN-DUkeWBHv.js} +1 -1
  29. package/dist/client/assets/{chunk-WYO6CB5R-rhSewh5r.js → chunk-WYO6CB5R-5IIfqwS1.js} +1 -1
  30. package/dist/client/assets/{chunk-ZGVPDNZ5-C8pQspwU.js → chunk-ZGVPDNZ5-BVFUMmyX.js} +1 -1
  31. package/dist/client/assets/classDiagram-OUVF2IWQ-5dxJ_ejB.js +1 -0
  32. package/dist/client/assets/classDiagram-v2-EOCWNBFH-5dxJ_ejB.js +1 -0
  33. package/dist/client/assets/{cs-CZ-2BRQDIVT-CMTTkdlc.js → cs-CZ-2BRQDIVT-BeWSN4Lg.js} +1 -1
  34. package/dist/client/assets/{railroad-3IZDKUUU-Cyefv0S0.js → cynefin-VYW2F7L2-BPoEGt5P.js} +1 -1
  35. package/dist/client/assets/{cynefinDiagram-TSTJHNR4-BlF8b9qP.js → cynefinDiagram-TSTJHNR4-D-HGa5eC.js} +1 -1
  36. package/dist/client/assets/{da-DK-5WZEPLOC-BMtFOXTa.js → da-DK-5WZEPLOC-C7Kj8cSr.js} +1 -1
  37. package/dist/client/assets/{dagre-VKFMJZFB-DytIg2RQ.js → dagre-VKFMJZFB-DYJas6XO.js} +1 -1
  38. package/dist/client/assets/{de-DE-XR44H4JA-C2G_UWRS.js → de-DE-XR44H4JA-CGONhJum.js} +1 -1
  39. package/dist/client/assets/{diagram-FQU43EPY-BOqWKyO9.js → diagram-FQU43EPY-CovScBBf.js} +2 -2
  40. package/dist/client/assets/{diagram-G47NLZAW-1dP1jpC7.js → diagram-G47NLZAW-6_UOQ1JD.js} +1 -1
  41. package/dist/client/assets/{diagram-NH7WQ7WH-VyXFGKGb.js → diagram-NH7WQ7WH-DfM8Ux2D.js} +1 -1
  42. package/dist/client/assets/{diagram-OA4YK3LP-BP7GwNyd.js → diagram-OA4YK3LP-BFJDUTm_.js} +2 -2
  43. package/dist/client/assets/{diagram-WEI45ONY-DyHZtrRF.js → diagram-WEI45ONY-8OKtOSaq.js} +1 -1
  44. package/dist/client/assets/{dist-C_FPOqHa.js → dist-CBoHd3nF.js} +4 -4
  45. package/dist/client/assets/ebnfDiagram-CCIWWBDH-TBneTBs-.js +1 -0
  46. package/dist/client/assets/{el-GR-BZB4AONW-BTK70kle.js → el-GR-BZB4AONW-C9Q6-3JL.js} +1 -1
  47. package/dist/client/assets/{en-B4ZKOASM-DQDUvTjb.js → en-B4ZKOASM-DooiP2-J.js} +1 -1
  48. package/dist/client/assets/{erDiagram-Q63AITRT-CI8TMXqA.js → erDiagram-Q63AITRT-Dy5QBJCT.js} +1 -1
  49. package/dist/client/assets/{es-ES-U4NZUMDT-6TeZK11C.js → es-ES-U4NZUMDT-DKxT2wWX.js} +1 -1
  50. package/dist/client/assets/{eu-ES-A7QVB2H4-Cb0oNkmv.js → eu-ES-A7QVB2H4-DrKnZ3gY.js} +1 -1
  51. package/dist/client/assets/eventmodeling-45OFAUF4-DP9O5S3e.js +1 -0
  52. package/dist/client/assets/{fa-IR-HGAKTJCU-JYkLqShQ.js → fa-IR-HGAKTJCU-DjA2Px-T.js} +1 -1
  53. package/dist/client/assets/{fi-FI-Z5N7JZ37-u_gehdrx.js → fi-FI-Z5N7JZ37-NUghXbpa.js} +1 -1
  54. package/dist/client/assets/flowDiagram-23GEKE2U-CUBp7I9C.js +1 -0
  55. package/dist/client/assets/{fr-FR-RHASNOE6-CmE3ELbC.js → fr-FR-RHASNOE6-9Vmv2nhB.js} +1 -1
  56. package/dist/client/assets/{ganttDiagram-NO4QXBWP-CH13wSU6.js → ganttDiagram-NO4QXBWP-DNoDTMaW.js} +1 -1
  57. package/dist/client/assets/gitGraph-TEB2WS4Q-BdzEwYG8.js +1 -0
  58. package/dist/client/assets/{gitGraphDiagram-IHSO6WYX-IpKqkdqX.js → gitGraphDiagram-IHSO6WYX-Coi-sbuV.js} +1 -1
  59. package/dist/client/assets/{gl-ES-HMX3MZ6V-Fy4K9BOx.js → gl-ES-HMX3MZ6V-CrTqlGTr.js} +1 -1
  60. package/dist/client/assets/{he-IL-6SHJWFNN-BtuHPbrL.js → he-IL-6SHJWFNN-BDoFv8vR.js} +1 -1
  61. package/dist/client/assets/{hi-IN-IWLTKZ5I-TEGNFf4N.js → hi-IN-IWLTKZ5I-DwqsXYOg.js} +1 -1
  62. package/dist/client/assets/{hu-HU-A5ZG7DT2-BAaPCJl5.js → hu-HU-A5ZG7DT2-Bfb8Cu1b.js} +1 -1
  63. package/dist/client/assets/{id-ID-SAP4L64H-DyuFpf3d.js → id-ID-SAP4L64H-DOW7LO7-.js} +1 -1
  64. package/dist/client/assets/image-GAAHSSAO-BGgn-PVN.js +1 -0
  65. package/dist/client/assets/index-oPO4_QxD.js +270 -0
  66. package/dist/client/assets/{index--u8Mf6T6.css → index-pqEtQj4K.css} +1 -1
  67. package/dist/client/assets/info-DKCQHKI2-DrYXVDvR.js +1 -0
  68. package/dist/client/assets/{infoDiagram-FWYZ7A6U-DbwYrIVA.js → infoDiagram-FWYZ7A6U-lZtFhAXP.js} +1 -1
  69. package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-DUKB4IOX.js → ishikawaDiagram-FXEZZL3T-BREj5_gD.js} +1 -1
  70. package/dist/client/assets/{it-IT-JPQ66NNP-DI0hWELN.js → it-IT-JPQ66NNP-Bgr9Cu8C.js} +1 -1
  71. package/dist/client/assets/{ja-JP-DBVTYXUO-BVDm3NlP.js → ja-JP-DBVTYXUO-BGNdWvdH.js} +1 -1
  72. package/dist/client/assets/{journeyDiagram-5HDEW3XC-CBla9cDa.js → journeyDiagram-5HDEW3XC-CMBikQPO.js} +1 -1
  73. package/dist/client/assets/{kaa-6HZHGXH3-BPmENbr7.js → kaa-6HZHGXH3-CRDlnQ9T.js} +1 -1
  74. package/dist/client/assets/{kab-KAB-ZGHBKWFO-SJCSLUAj.js → kab-KAB-ZGHBKWFO-C4Lqev4p.js} +1 -1
  75. package/dist/client/assets/{kanban-definition-HUTT4EX6-DF40bon8.js → kanban-definition-HUTT4EX6-BWBx3j_A.js} +1 -1
  76. package/dist/client/assets/{kk-KZ-P5N5QNE5-iO6ccQA0.js → kk-KZ-P5N5QNE5-DgFr17Od.js} +1 -1
  77. package/dist/client/assets/{km-KH-HSX4SM5Z-DaeRmR92.js → km-KH-HSX4SM5Z-BDvXuwGA.js} +1 -1
  78. package/dist/client/assets/{ko-KR-MTYHY66A-BbIUlDG8.js → ko-KR-MTYHY66A-BNhHcL3I.js} +1 -1
  79. package/dist/client/assets/{ku-TR-6OUDTVRD-mV8MrK_d.js → ku-TR-6OUDTVRD-DNktxnYd.js} +1 -1
  80. package/dist/client/assets/{line-Cyy-k4TY.js → line-Dt0OF9ws.js} +1 -1
  81. package/dist/client/assets/{lt-LT-XHIRWOB4-NGxzPcvJ.js → lt-LT-XHIRWOB4-aRviZ0MH.js} +1 -1
  82. package/dist/client/assets/{lv-LV-5QDEKY6T-BSIwo-WO.js → lv-LV-5QDEKY6T-CoVYcDKN.js} +1 -1
  83. package/dist/client/assets/mermaid-parser.core-PdKOsWiX.js +7 -0
  84. package/dist/client/assets/{mindmap-definition-LN4V7U3C-BcAHqIrw.js → mindmap-definition-LN4V7U3C-CQ5v-EBF.js} +1 -1
  85. package/dist/client/assets/{mr-IN-CRQNXWMA-DMqRrESd.js → mr-IN-CRQNXWMA-BxQJIhtJ.js} +1 -1
  86. package/dist/client/assets/{my-MM-5M5IBNSE-BU9rr6eQ.js → my-MM-5M5IBNSE-FhM1FFVw.js} +1 -1
  87. package/dist/client/assets/{nb-NO-T6EIAALU-CfCFCnvr.js → nb-NO-T6EIAALU-CU26LQ4M.js} +1 -1
  88. package/dist/client/assets/{nl-NL-IS3SIHDZ-BDDDlrXW.js → nl-NL-IS3SIHDZ-DEbkQpIZ.js} +1 -1
  89. package/dist/client/assets/{nn-NO-6E72VCQL-DxXyaKak.js → nn-NO-6E72VCQL-DTXzh0og.js} +1 -1
  90. package/dist/client/assets/{oc-FR-POXYY2M6-DhEINSYs.js → oc-FR-POXYY2M6-BMWu-GuX.js} +1 -1
  91. package/dist/client/assets/{pa-IN-N4M65BXN-CK7mHZv5.js → pa-IN-N4M65BXN-BvvaU4wr.js} +1 -1
  92. package/dist/client/assets/{treemap-6X3UGDF4-BDCwJXtu.js → packet-7NZHBO7P-D3npuWOU.js} +1 -1
  93. package/dist/client/assets/pegDiagram-2B236MQR-BRo6DMPk.js +1 -0
  94. package/dist/client/assets/percentages-BXMCSKIN-EXL0wbvf.js +1 -0
  95. package/dist/client/assets/{wardley-OPB4EBWU-DyOUx8-a.js → pie-RZYD4A2V-CNkV5sKG.js} +1 -1
  96. package/dist/client/assets/{pieDiagram-ENE6RG2P-BLDvuItJ.js → pieDiagram-ENE6RG2P-DjyEljFW.js} +1 -1
  97. package/dist/client/assets/{pl-PL-T2D74RX3-CqscU5Ri.js → pl-PL-T2D74RX3-Q4-sfWh2.js} +1 -1
  98. package/dist/client/assets/{pt-BR-5N22H2LF-DmaMKyvD.js → pt-BR-5N22H2LF-D3I0MlSt.js} +1 -1
  99. package/dist/client/assets/{pt-PT-UZXXM6DQ-DF4Iue14.js → pt-PT-UZXXM6DQ-CjvJgWuJ.js} +1 -1
  100. package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-G7yFHj4A.js → quadrantDiagram-ABIIQ3AL-DwPjmUqM.js} +1 -1
  101. package/dist/client/assets/{cynefin-VYW2F7L2-D4wuR1xh.js → radar-I7S5WNFK-BUDPffFb.js} +1 -1
  102. package/dist/client/assets/{gitGraph-TEB2WS4Q-g2g2G5VS.js → railroad-3IZDKUUU-Cdo3kV8g.js} +1 -1
  103. package/dist/client/assets/railroad-abnf-AHOZXSZD-DhwVR0O6.js +1 -0
  104. package/dist/client/assets/railroad-ebnf-EBAXGLYW-BH-sR6KG.js +1 -0
  105. package/dist/client/assets/railroad-peg-LSFZ7HO6-DNVw0v5I.js +1 -0
  106. package/dist/client/assets/railroadDiagram-RFXS5EU6-DM4LPeTp.js +1 -0
  107. package/dist/client/assets/{requirementDiagram-TGXJPOKE-C9A-HrEu.js → requirementDiagram-TGXJPOKE-BgufYhbt.js} +1 -1
  108. package/dist/client/assets/{ro-RO-JPDTUUEW-fRWAU3yw.js → ro-RO-JPDTUUEW-DTqaPOB6.js} +1 -1
  109. package/dist/client/assets/{ru-RU-B4JR7IUQ-CKPt5MqY.js → ru-RU-B4JR7IUQ-DGLVQl1a.js} +1 -1
  110. package/dist/client/assets/{sankeyDiagram-HTMAVEWB-exIXTcGE.js → sankeyDiagram-HTMAVEWB-B1Sjq8RS.js} +1 -1
  111. package/dist/client/assets/{sequenceDiagram-DBY2YBRQ-aDjop-R8.js → sequenceDiagram-DBY2YBRQ-D5SV4V4W.js} +1 -1
  112. package/dist/client/assets/{si-LK-N5RQ5JYF-MDsRqHY9.js → si-LK-N5RQ5JYF-C3gSdqxC.js} +1 -1
  113. package/dist/client/assets/{sk-SK-C5VTKIMK-CRZETqXz.js → sk-SK-C5VTKIMK-Bg1sgW2y.js} +1 -1
  114. package/dist/client/assets/{sl-SI-NN7IZMDC-CXfLqNoN.js → sl-SI-NN7IZMDC-5tRgzcvI.js} +1 -1
  115. package/dist/client/assets/{stateDiagram-2N3HPSRC-y0Ml_ZQw.js → stateDiagram-2N3HPSRC-BDd2Qyke.js} +1 -1
  116. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-Dc9mjKnL.js +1 -0
  117. package/dist/client/assets/subset-shared.chunk-CBqF3lLT.js +1 -0
  118. package/dist/client/assets/{subset-worker.chunk-DbYO8wJu.js → subset-worker.chunk-kFoGWzk5.js} +1 -1
  119. package/dist/client/assets/{sv-SE-XGPEYMSR-BC6B5BtV.js → sv-SE-XGPEYMSR-BOzuSEwa.js} +1 -1
  120. package/dist/client/assets/{swimlanes-5IMT3BWC-CYWdivj3.js → swimlanes-5IMT3BWC-DjFw-CEo.js} +1 -1
  121. package/dist/client/assets/swimlanesDiagram-G3AALYLV-DxdVR5MZ.js +8 -0
  122. package/dist/client/assets/{ta-IN-2NMHFXQM-DilUfcfF.js → ta-IN-2NMHFXQM-C7WRODt_.js} +1 -1
  123. package/dist/client/assets/{th-TH-HPSO5L25-BaInGJjE.js → th-TH-HPSO5L25-WFuWcN58.js} +1 -1
  124. package/dist/client/assets/{timeline-definition-FHXFAJF6-zAb82GBx.js → timeline-definition-FHXFAJF6-BItaRl8g.js} +1 -1
  125. package/dist/client/assets/{tr-TR-DEFEU3FU-oygIet1p.js → tr-TR-DEFEU3FU-DtSAkhUR.js} +1 -1
  126. package/dist/client/assets/{treeView-QDETBFTQ-sU-avi1O.js → treeView-QDETBFTQ-BsqpkMak.js} +1 -1
  127. package/dist/client/assets/treemap-6X3UGDF4-CF2ZChjy.js +1 -0
  128. package/dist/client/assets/{uk-UA-QMV73CPH-QqCQ4UX-.js → uk-UA-QMV73CPH-BLNYCDf-.js} +1 -1
  129. package/dist/client/assets/{vennDiagram-L72KCM5P-BXrsZk41.js → vennDiagram-L72KCM5P-DkVOQsDM.js} +1 -1
  130. package/dist/client/assets/{vi-VN-M7AON7JQ-yJDC_vY8.js → vi-VN-M7AON7JQ-CC-oykOI.js} +1 -1
  131. package/dist/client/assets/wardley-OPB4EBWU-BfqiNa2m.js +1 -0
  132. package/dist/client/assets/{wardleyDiagram-EHGQE667-DlOqjfHt.js → wardleyDiagram-EHGQE667-C7jTfbZa.js} +1 -1
  133. package/dist/client/assets/{xychartDiagram-FW5EYKEG-BYm9TaM8.js → xychartDiagram-FW5EYKEG-KJVcpo2q.js} +1 -1
  134. package/dist/client/assets/{zh-CN-LNUGB5OW-BNjW-fP_.js → zh-CN-LNUGB5OW-BpxSN9jo.js} +1 -1
  135. package/dist/client/assets/{zh-HK-E62DVLB3-apDiW2t-.js → zh-HK-E62DVLB3-BVqdbOUX.js} +1 -1
  136. package/dist/client/assets/{zh-TW-RAJ6MFWO-qAMfxdUZ.js → zh-TW-RAJ6MFWO-c__UZRJ7.js} +1 -1
  137. package/dist/client/index.html +2 -2
  138. package/package.json +74 -69
  139. package/dist/client/assets/abnfDiagram-VRR7QNED-D5qnskik.js +0 -1
  140. package/dist/client/assets/architecture-TIHT7OUA-Bj5GS0Ct.js +0 -1
  141. package/dist/client/assets/channel-B0WxnXxi.js +0 -1
  142. package/dist/client/assets/classDiagram-OUVF2IWQ-Dnwqjkgm.js +0 -1
  143. package/dist/client/assets/classDiagram-v2-EOCWNBFH-Dnwqjkgm.js +0 -1
  144. package/dist/client/assets/ebnfDiagram-CCIWWBDH-Bitxc5e_.js +0 -1
  145. package/dist/client/assets/eventmodeling-45OFAUF4-CTwqsmD_.js +0 -1
  146. package/dist/client/assets/flowDiagram-23GEKE2U-BZYDBy9C.js +0 -1
  147. package/dist/client/assets/image-GAAHSSAO-tSmyz8fT.js +0 -1
  148. package/dist/client/assets/index-BkkP6_3-.js +0 -270
  149. package/dist/client/assets/info-DKCQHKI2-DjHPtgDy.js +0 -1
  150. package/dist/client/assets/mermaid-parser.core-BC7y6sOJ.js +0 -7
  151. package/dist/client/assets/packet-7NZHBO7P-BxQG27fi.js +0 -1
  152. package/dist/client/assets/pegDiagram-2B236MQR-6m6GI5bN.js +0 -1
  153. package/dist/client/assets/percentages-BXMCSKIN-BuLIaCEd.js +0 -1
  154. package/dist/client/assets/pie-RZYD4A2V-DrlUa6Jm.js +0 -1
  155. package/dist/client/assets/radar-I7S5WNFK-DB1qIDmZ.js +0 -1
  156. package/dist/client/assets/railroad-abnf-AHOZXSZD-BkviW5Tj.js +0 -1
  157. package/dist/client/assets/railroad-ebnf-EBAXGLYW-CXg6HJd6.js +0 -1
  158. package/dist/client/assets/railroad-peg-LSFZ7HO6-BgTAGb1l.js +0 -1
  159. package/dist/client/assets/railroadDiagram-RFXS5EU6-BvUGw21O.js +0 -1
  160. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-D8dyI3My.js +0 -1
  161. package/dist/client/assets/subset-shared.chunk-BTjBJrZm.js +0 -1
  162. package/dist/client/assets/swimlanesDiagram-G3AALYLV-CdLCcze0.js +0 -8
package/README.md CHANGED
@@ -32,6 +32,51 @@ contains artifacts — scaffolded by `openspec new change` or hand-written — t
32
32
  baseline: generation makes the **smallest revision** that fulfills the drawing, leaving
33
33
  unimplicated files byte-identical.
34
34
 
35
+ ### File references: `@<path | filename>`
36
+
37
+ Anywhere you type — the architecture title, text on the canvas (labels and loose notes),
38
+ or the review chat — an `@` reference pulls a real file into the model's context, so the
39
+ generated OpenSpec is grounded in your actual code instead of guesses:
40
+
41
+ - `@server/app.ts` — a path relative to the directory you launched `specsketch` from.
42
+ - `@schema.ts` — a bare filename; the tree is searched (skipping `.git`, `node_modules`,
43
+ `dist`) and the shallowest match wins. Multiple matches are noted in the context.
44
+ - `@src/ui` or `@src/ui/` — a **directory**; its files (recursively, up to 50 files and
45
+ the size budgets) are all pulled into context, each reported individually. Oversized
46
+ directories include what fits and note what was omitted.
47
+
48
+ Typing `@` in the chat composer or the system prompt editor opens an **inline search**
49
+ over that same scope — files and directories, filtered as you type; arrows + Enter/Tab
50
+ (or a click) select, Escape dismisses. Selecting a directory inserts `@dir/` and keeps
51
+ the search open scoped to it: stop there to reference the whole directory, or keep
52
+ typing to drill down to a file.
53
+
54
+ References are scoped to the launch directory: absolute paths, `..`, and symlinks that
55
+ escape it are refused. Large files truncate at 64KB (256KB across all references). An
56
+ unresolvable reference never fails generation or chat — it degrades to a "could not be
57
+ resolved" note in the context, and the chat pane lists which files resolved and which
58
+ didn't under each answer.
59
+
60
+ ### The spec review pane: Spec / System Prompt / Chat
61
+
62
+ The right-hand panel has a menu with three options:
63
+
64
+ - **Spec** — the generated artifacts (summary, proposal, design, tasks, capability specs),
65
+ exactly what the panel showed before.
66
+ - **System Prompt** — view *and edit* the prompt that drives generation. Saved edits apply
67
+ to every subsequent generation and persist with the change directory (`specsketch.json`);
68
+ **Reset** restores the built-in default. `@` references inside the prompt resolve like
69
+ any other input, so you can pin conventions with `@docs/style.md`.
70
+ - **Chat** — available once a spec exists. Ask questions about the generated OpenSpec
71
+ (answers are grounded in the artifacts on disk), pull files in with `@` references, and
72
+ iterate:
73
+ - **Regenerate** (header, next to Generate Spec) re-runs generation with the conversation
74
+ as extra context — your corrections in chat become requirements for the next pass.
75
+ - **Clear** (in the pane) discards the conversation and starts over.
76
+ - Every generation resets the chat and seeds it with an AI-written summary of the prior
77
+ conversation and what changed on disk in that generation — context stays bounded, the
78
+ thread of decisions survives. The chat persists in `specsketch.json` across restarts.
79
+
35
80
  ### Requirements & auth
36
81
 
37
82
  - **Node ≥ 22** (the CLI checks at startup).
@@ -47,7 +92,7 @@ unimplicated files byte-identical.
47
92
  ### CLI reference
48
93
 
49
94
  ```
50
- specsketch <path-to-openspec-change-dir> [--port <n>]
95
+ specsketch <path-to-openspec-change-dir> [--port <n>] [--share]
51
96
  ```
52
97
 
53
98
  - The directory is created if it doesn't exist; its basename becomes the change name.
@@ -55,15 +100,46 @@ specsketch <path-to-openspec-change-dir> [--port <n>]
55
100
  specsketch session is running — the server moves to the next available port and the
56
101
  printed URL reflects the one actually bound. Binds to 127.0.0.1 exclusively — there is
57
102
  no `--host`.
103
+ - `--share` hosts the canvas as a live multiplayer session (see below).
58
104
  - **Model picker** (top bar): `claude-opus-4-8` (default), `claude-sonnet-5`, or
59
105
  `claude-fable-5`. The choice is saved with the change directory. Fable runs with
60
106
  server-side refusal fallbacks to Opus and requires your org to allow 30-day data
61
107
  retention.
62
108
 
109
+ ### Shared sessions (`--share`)
110
+
111
+ ```bash
112
+ specsketch login # once per machine
113
+ specsketch ./openspec/changes/new-feature-change --share
114
+ ```
115
+
116
+ `--share` creates a multiplayer session on your CoopCLI account and prints a link like
117
+ `https://coopcli.com/products/specsketch/s/<id>?k=<token>`. Coworkers open it in a plain
118
+ browser — **no account, no install** — see the live canvas, and can draw on it; their
119
+ edits stream back and land in `diagram.excalidraw` like your own. The top bar shows a
120
+ live pill with the participant count and a copy-link button.
121
+
122
+ How it hangs together:
123
+
124
+ - The host needs a CoopCLI account (`specsketch login` — opens a browser, saves
125
+ credentials to `~/.coopcli/config.json`, the same file `coop login` writes); guests never do. The link
126
+ itself is the capability: anyone holding it can view **and edit** until the session
127
+ ends. The server stores only a hash of the link token.
128
+ - The local server still binds to 127.0.0.1 only — sharing runs over a single outbound
129
+ connection from the CLI to `api.coopcli.com` (a per-session Durable Object). Your
130
+ CoopCLI API key never reaches any browser.
131
+ - Concurrent edits resolve per element, last-write-wins — the same scheme Excalidraw's
132
+ own collab server uses. The change directory on the host remains the durable copy.
133
+ - Connections heal themselves (heartbeat + reconnect with backoff); a brief
134
+ "reconnecting…" pill is normal during deploys.
135
+ - **Ctrl-C ends the session and invalidates the link.** Idle sessions expire server-side
136
+ after 24 h.
137
+
63
138
  ### Troubleshooting
64
139
 
65
140
  | Symptom | Fix |
66
141
  |---|---|
142
+ | `sh: specsketch: command not found` from `npx` **inside this repo** | This repo *is* `@coopcli/specsketch`, so npx resolves to the local checkout (which has no bin link) instead of the registry. Use `npm run cli -- ./openspec/changes/<name>`, or run npx from any other directory |
67
143
  | `npm error 404 @coopcli/specsketch not found` right after a release | Registry propagation lag — retry in a minute or two |
68
144
  | Startup warning "No Anthropic credentials detected" | Set `ANTHROPIC_API_KEY` or run `ant auth login`, then restart |
69
145
  | Generate fails with a 401 / "anthropic-auth" | Same as above — the server found no credentials, or the login profile expired (`ant auth status`) |
@@ -127,7 +203,9 @@ a validated `SpecBundle` (`src/lib/schema.ts`), rendered as browsable artifacts.
127
203
  ## Getting started (local MVP)
128
204
 
129
205
  Contributor flow for this repo (the published CLI above is built from the same code —
130
- `npm run build:cli` then `node dist/cli/index.js <change-dir>` to run it from source).
206
+ `npm run cli -- <change-dir>` builds and runs it from source; don't use
207
+ `npx @coopcli/specsketch` inside this repo, since npx resolves the name to the local
208
+ checkout instead of the registry).
131
209
 
132
210
  ```bash
133
211
  npm install