@a-company/paradigm 5.10.0 → 5.21.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 (409) hide show
  1. package/dist/accept-orchestration-IUAWQZUN.js +18 -0
  2. package/dist/add-P76GEMGF.js +8 -0
  3. package/dist/agent-UUTYOFTH.js +33 -0
  4. package/dist/agent-loader-EPXURMO7.js +2 -0
  5. package/dist/agent-loader-PYGPX6D2.js +2 -0
  6. package/dist/agent-state-KSQ3S7OB.js +2 -0
  7. package/dist/agents-suggest-HYTFMQD3.js +10 -0
  8. package/dist/aggregate-W66DM3GA.js +10 -0
  9. package/dist/ambient-HYZR42NX.js +35 -0
  10. package/dist/assess-UFPYEJKP.js +9 -0
  11. package/dist/auto-RHJXOZFL.js +14 -0
  12. package/dist/beacon-5QVYV5DF.js +13 -0
  13. package/dist/calibration-OLJYB5HN.js +7 -0
  14. package/dist/check-THVGY4R5.js +14 -0
  15. package/dist/chunk-22ISTMKI.js +31 -0
  16. package/dist/chunk-2QO33NYK.js +3 -0
  17. package/dist/chunk-33LKBMVK.js +134 -0
  18. package/dist/chunk-4QADCWPU.js +7 -0
  19. package/dist/chunk-4TXOVRWD.js +3 -0
  20. package/dist/chunk-4UJ4NIEQ.js +4 -0
  21. package/dist/chunk-4ZGGWZ32.js +3 -0
  22. package/dist/chunk-5TAVYPOV.js +2 -0
  23. package/dist/chunk-6EX37L4Q.js +8 -0
  24. package/dist/chunk-AD5TAD2A.js +5 -0
  25. package/dist/chunk-AGVAHVUA.js +2 -0
  26. package/dist/chunk-AO7ZSRME.js +13 -0
  27. package/dist/chunk-BFD3GFRK.js +2 -0
  28. package/dist/chunk-D34YFK4M.js +6 -0
  29. package/dist/chunk-DVZWCXB6.js +2 -0
  30. package/dist/chunk-EKZDFEJW.js +2 -0
  31. package/dist/chunk-ET5XJTSX.js +2 -0
  32. package/dist/chunk-FYDRENK7.js +3 -0
  33. package/dist/chunk-HMQ5BHP2.js +743 -0
  34. package/dist/chunk-HXKWL3VK.js +29 -0
  35. package/dist/chunk-IZSBGW6E.js +2 -0
  36. package/dist/chunk-J32OPJEX.js +2 -0
  37. package/dist/chunk-JBDMCRPP.js +7 -0
  38. package/dist/chunk-JIXHEBGK.js +7 -0
  39. package/dist/chunk-JNSJVCTU.js +2 -0
  40. package/dist/chunk-JQKKVAAN.js +2 -0
  41. package/dist/chunk-KLBH26PA.js +429 -0
  42. package/dist/chunk-L6K5HNDL.js +24 -0
  43. package/dist/chunk-LKAT7IAK.js +2 -0
  44. package/dist/chunk-M4UMM6DC.js +5 -0
  45. package/dist/chunk-NKYNHSA5.js +424 -0
  46. package/dist/chunk-NW6OKHE6.js +5 -0
  47. package/dist/chunk-NXRVR37G.js +60 -0
  48. package/dist/chunk-ODVKPZZ4.js +2 -0
  49. package/dist/chunk-PUBB7LIT.js +5 -0
  50. package/dist/chunk-Q2J542ST.js +2 -0
  51. package/dist/chunk-QGZRM6ZB.js +2 -0
  52. package/dist/chunk-QNZEG7IT.js +13 -0
  53. package/dist/chunk-QT2LKB3P.js +7 -0
  54. package/dist/chunk-RVRARWSY.js +9 -0
  55. package/dist/chunk-T6IDXUUA.js +2 -0
  56. package/dist/chunk-TYWB5IQJ.js +3 -0
  57. package/dist/chunk-UIKLE3WD.js +2 -0
  58. package/dist/chunk-V7K6CQVX.js +111 -0
  59. package/dist/chunk-VCKKJDLP.js +8 -0
  60. package/dist/chunk-VG7FN2TU.js +4 -0
  61. package/dist/chunk-W5IWDW4Y.js +16 -0
  62. package/dist/chunk-W7C6FFMO.js +8 -0
  63. package/dist/chunk-WESTEMIM.js +10 -0
  64. package/dist/chunk-WR6D3SC6.js +5 -0
  65. package/dist/chunk-WS2N27RX.js +3 -0
  66. package/dist/chunk-XMAV5AG6.js +2 -0
  67. package/dist/chunk-XROULIQN.js +2 -0
  68. package/dist/chunk-XUFYOXOU.js +3 -0
  69. package/dist/chunk-Y4XFVDZC.js +3 -0
  70. package/dist/chunk-Y6KXTQBG.js +2 -0
  71. package/dist/{chunk-GTR2TBIJ.js → chunk-Z2UZUCY6.js} +237 -1047
  72. package/dist/chunk-Z34K6GY2.js +8 -0
  73. package/dist/claude-4LR3LJQZ.js +13 -0
  74. package/dist/claude-cli-UP6HGH7C.js +6 -0
  75. package/dist/claude-code-RLJ4GX77.js +11 -0
  76. package/dist/claude-code-teams-R37HJY3Y.js +29 -0
  77. package/dist/commands-LMUD5L6R.js +455 -0
  78. package/dist/compliance-GZ7UAOG3.js +6 -0
  79. package/dist/conductor-Y5IXELTL.js +4 -0
  80. package/dist/config-schema-HR7LDEQ6.js +2 -0
  81. package/dist/constellation-CG7C4WFE.js +13 -0
  82. package/dist/context-audit-RSSRX6XC.js +6 -0
  83. package/dist/cost-IDNVMAEV.js +10 -0
  84. package/dist/cost-PK4KIF7R.js +2 -0
  85. package/dist/cursor-cli-QKF7Z6M2.js +4 -0
  86. package/dist/cursorrules-U5O4G5T4.js +14 -0
  87. package/dist/decision-loader-2XPZE4EZ.js +2 -0
  88. package/dist/delete-P5VULXR4.js +14 -0
  89. package/dist/diff-RTFUKJHF.js +9 -0
  90. package/dist/discipline-H7LDI6NT.js +2 -0
  91. package/dist/dist-3ZCH25SG.js +2 -0
  92. package/dist/dist-KGRCLBJP-2QAPFYNF.js +39 -0
  93. package/dist/dist-R3RWD35F.js +2 -0
  94. package/dist/dist-VGFSP3XM.js +2 -0
  95. package/dist/dist-VXCZWVVJ.js +2 -0
  96. package/dist/dist-W3XCATBJ.js +2 -0
  97. package/dist/docs-EDQ2STFK.js +2 -0
  98. package/dist/docs-RXPN6CK7.js +12 -0
  99. package/dist/doctor-2T2QL6VM.js +2 -0
  100. package/dist/drift-ILZE5BFJ.js +13 -0
  101. package/dist/echo-UPTQUEDU.js +46 -0
  102. package/dist/edit-GUU3HBVW.js +9 -0
  103. package/dist/event-Y3VXC2RV.js +3 -0
  104. package/dist/explain-files-3GPZUETV.js +4 -0
  105. package/dist/export-CV5KCTPS.js +2 -0
  106. package/dist/flow-S3RQ4YPY.js +11 -0
  107. package/dist/global-C44FW4G2.js +13 -0
  108. package/dist/graduate-3BBSC27A.js +5 -0
  109. package/dist/graph-CNDE5TAT.js +2 -0
  110. package/dist/graph-server-COZR5C3Z.js +14 -0
  111. package/dist/habits-4J2KRYUL.js +42 -0
  112. package/dist/history-UW454SDP.js +12 -0
  113. package/dist/hooks-XH52VGOU.js +2 -0
  114. package/dist/index.js +15 -1039
  115. package/dist/init-24MAQJFM.js +2 -0
  116. package/dist/integrity-UYDOOJDP.js +7 -0
  117. package/dist/integrity-checker-DHGMZQDG.js +2 -0
  118. package/dist/journal-loader-GLH7XFTK.js +2 -0
  119. package/dist/lint-IGKE6UPS.js +26 -0
  120. package/dist/list-5IUGP3ZB.js +7 -0
  121. package/dist/list-YKIQNKGB.js +6 -0
  122. package/dist/lore-loader-RVQI5GXL.js +2 -0
  123. package/dist/lore-loader-XY5MZRR2.js +2 -0
  124. package/dist/lore-server-FC2GMDLT.js +14 -0
  125. package/dist/manual-RXSPSFLL.js +20 -0
  126. package/dist/mcp.js +93 -20484
  127. package/dist/migrate-X5OMAFAQ.js +59 -0
  128. package/dist/migrate-assessments-GEI5WMI2.js +4 -0
  129. package/dist/model-discovery-HMB3YI4L.js +2 -0
  130. package/dist/nomination-engine-XF7TWPAP.js +2 -0
  131. package/dist/notebook-PE3JSYZI.js +11 -0
  132. package/dist/notebook-loader-CENTDDUJ.js +2 -0
  133. package/dist/orchestrate-35HBQ3O3.js +8 -0
  134. package/dist/peers-P2KXU7ZK.js +5 -0
  135. package/dist/persona-STQWZH5P.js +29 -0
  136. package/dist/pipeline-MZUITRVN.js +4 -0
  137. package/dist/platform-server-2KXHGHFV.js +25 -0
  138. package/dist/plugin-update-checker-M7PW434O.js +2 -0
  139. package/dist/portal-check-3JVNLOEP.js +8 -0
  140. package/dist/portal-compliance-2UG4VKWH.js +2 -0
  141. package/dist/probe-5L5BQDGE.js +6 -0
  142. package/dist/project-type-SURTOIG7.js +2 -0
  143. package/dist/promote-NJQDZBZA.js +8 -0
  144. package/dist/providers-4PXMWA7V.js +8 -0
  145. package/dist/quiz-FE5UGAY2.js +10 -0
  146. package/dist/record-YXPB34MY.js +6 -0
  147. package/dist/reindex-PGDQSM42.js +2 -0
  148. package/dist/remember-MJRNTXYS.js +14 -0
  149. package/dist/retag-N5XF3KXP.js +6 -0
  150. package/dist/review-6UAH6V3R.js +11 -0
  151. package/dist/review-77QI6VOC.js +6 -0
  152. package/dist/ripple-ZGDITCGB.js +10 -0
  153. package/dist/roster-FLRZ5J42.js +2 -0
  154. package/dist/sentinel-HYAZ3CO5.js +19 -0
  155. package/dist/sentinel-bridge-VR357PKL.js +2 -0
  156. package/dist/sentinel-mcp.js +38 -3808
  157. package/dist/sentinel.js +1 -34
  158. package/dist/serve-JE6UF5P2.js +8 -0
  159. package/dist/serve-L52ZUTU6.js +10 -0
  160. package/dist/serve-OY6XYL7F.js +12 -0
  161. package/dist/server-2MNROHF6.js +7 -0
  162. package/dist/server-4YNUIK4W.js +8 -0
  163. package/dist/session-tracker-SKOMBDOW.js +2 -0
  164. package/dist/session-work-log-3MNUDEZ6.js +2 -0
  165. package/dist/session-work-log-J2H5OZBR.js +2 -0
  166. package/dist/setup-3F5IK7MO.js +31 -0
  167. package/dist/setup-KPIMRZ4Q.js +2 -0
  168. package/dist/shift-6GCNH666.js +11 -0
  169. package/dist/show-BOAVWZPZ.js +7 -0
  170. package/dist/show-PJ5LFLIL.js +5 -0
  171. package/dist/snapshot-L2G56RPL.js +8 -0
  172. package/dist/spawn-UH5RENSE.js +12 -0
  173. package/dist/status-77M3SDIF.js +8 -0
  174. package/dist/status-A37ECYNJ.js +6 -0
  175. package/dist/summary-ZJLQ6KHB.js +7 -0
  176. package/dist/sweep-HU74OPVW.js +17 -0
  177. package/dist/switch-CTW4PDGI.js +17 -0
  178. package/dist/symphony-3QMBGCZY.js +2 -0
  179. package/dist/symphony-QI63XL62.js +53 -0
  180. package/dist/symphony-loader-XACVV2E3.js +2 -0
  181. package/dist/symphony-peers-U4KHMKGI.js +2 -0
  182. package/dist/symphony-peers-X5NGWXFP.js +2 -0
  183. package/dist/symphony-relay-5GY5JIPT.js +3 -0
  184. package/dist/sync-QRDSFETO.js +2 -0
  185. package/dist/sync-llms-HL5PPW3M.js +15 -0
  186. package/dist/task-loader-NZFDTUQ5.js +2 -0
  187. package/dist/team-WGERKGNP.js +2 -0
  188. package/dist/test-BQJMS4Y2.js +111 -0
  189. package/dist/thread-HFXK65D4.js +41 -0
  190. package/dist/timeline-K3ZFKJ3R.js +6 -0
  191. package/dist/triage-FCWOZASE.js +18 -0
  192. package/dist/tutorial-UC6YQMNN.js +305 -0
  193. package/dist/university-content/courses/.purpose +74 -5
  194. package/dist/university-content/courses/para-701.json +807 -0
  195. package/dist/university-content/plsat/.purpose +3 -2
  196. package/dist/university-ui/assets/{index-BjewBB6s.js → index-CGFJczb1.js} +2 -2
  197. package/dist/university-ui/assets/{index-BjewBB6s.js.map → index-CGFJczb1.js.map} +1 -1
  198. package/dist/university-ui/index.html +1 -1
  199. package/dist/upgrade-B4IOLZYK.js +53 -0
  200. package/dist/validate-C6SMKGYD.js +9 -0
  201. package/dist/validate-LSCDOLBO.js +13 -0
  202. package/dist/validate-VZXTJHGO.js +6 -0
  203. package/dist/watch-LRM5XD46.js +8 -0
  204. package/dist/watch-PZCCUP6K.js +9 -0
  205. package/dist/wisdom-XZ3QKPNP.js +7 -0
  206. package/dist/work-log-loader-DL5GZ2BQ.js +2 -0
  207. package/dist/workspace-2ODL5WLY.js +2 -0
  208. package/package.json +1 -1
  209. package/platform-ui/dist/assets/AmbientSection-DqQ2mfCO.js +1 -0
  210. package/platform-ui/dist/assets/{CanvasSection-DwPTRdIN.js → CanvasSection-DLW0s-Bu.js} +1 -1
  211. package/platform-ui/dist/assets/{DocsSection-BJc_ws4I.js → DocsSection-BQ9Hi51g.js} +1 -1
  212. package/platform-ui/dist/assets/{GitSection-DhqBo1xc.js → GitSection-QQeUX6o3.js} +1 -1
  213. package/platform-ui/dist/assets/{GraphSection-D9fhVnZ0.js → GraphSection-0c9C-w7K.js} +2 -2
  214. package/platform-ui/dist/assets/{GraphSection-BlgXTl53.css → GraphSection-Bbs2a8sC.css} +1 -1
  215. package/platform-ui/dist/assets/LoreSection--t56kCj2.js +1 -0
  216. package/platform-ui/dist/assets/LoreSection-qnmm3o4y.css +1 -0
  217. package/platform-ui/dist/assets/SentinelSection-C4OoME9U.js +1 -0
  218. package/platform-ui/dist/assets/{SymphonySection-BRoBaUSS.js → SymphonySection-B-rvsLxq.js} +1 -1
  219. package/platform-ui/dist/assets/TeamSection-CBFmNEEo.js +1 -0
  220. package/platform-ui/dist/assets/index-Bxp0TVaf.css +1 -0
  221. package/platform-ui/dist/assets/index-DPpOdAtC.js +57 -0
  222. package/platform-ui/dist/index.html +2 -2
  223. package/dist/accept-orchestration-UQLM7PTQ.js +0 -189
  224. package/dist/add-FZRKEGH4.js +0 -81
  225. package/dist/agent-WERIO2XV.js +0 -523
  226. package/dist/agent-loader-TFIANSF4.js +0 -44
  227. package/dist/agent-state-S5DAWPTF.js +0 -24
  228. package/dist/agents-suggest-DNSYJ6IA.js +0 -83
  229. package/dist/aggregate-H57K7PNV.js +0 -88
  230. package/dist/assess-4WVXZLZQ.js +0 -68
  231. package/dist/auto-QFS5NHQU.js +0 -504
  232. package/dist/beacon-KXZXYQHX.js +0 -251
  233. package/dist/calibration-V46G7JTY.js +0 -135
  234. package/dist/check-OWAIWV23.js +0 -175
  235. package/dist/chunk-2IO7JAG2.js +0 -148
  236. package/dist/chunk-2T6BTYBN.js +0 -712
  237. package/dist/chunk-36TKPM5Z.js +0 -400
  238. package/dist/chunk-45MUDW6E.js +0 -804
  239. package/dist/chunk-4BLYIB7J.js +0 -5701
  240. package/dist/chunk-4L3UTYQX.js +0 -677
  241. package/dist/chunk-4NCFWYGG.js +0 -110
  242. package/dist/chunk-54LTTQBH.js +0 -138
  243. package/dist/chunk-5EWAQHFY.js +0 -269
  244. package/dist/chunk-5JGJACDU.js +0 -37
  245. package/dist/chunk-5OUOLN6M.js +0 -659
  246. package/dist/chunk-5VKJBNJL.js +0 -444
  247. package/dist/chunk-6N3JTACN.js +0 -2260
  248. package/dist/chunk-6QC3YGB6.js +0 -114
  249. package/dist/chunk-7N7GSU6K.js +0 -34
  250. package/dist/chunk-ABVQGRF7.js +0 -268
  251. package/dist/chunk-CL7JSK52.js +0 -129
  252. package/dist/chunk-CSD7IHSN.js +0 -152
  253. package/dist/chunk-EDOAWN7J.js +0 -717
  254. package/dist/chunk-EKGMAM62.js +0 -525
  255. package/dist/chunk-EZ3GOCYC.js +0 -132
  256. package/dist/chunk-F3BCHPYT.js +0 -143
  257. package/dist/chunk-FKJUBQU3.js +0 -3081
  258. package/dist/chunk-GT5QGC2H.js +0 -253
  259. package/dist/chunk-GZDFVP2N.js +0 -540
  260. package/dist/chunk-IRKUEJVW.js +0 -405
  261. package/dist/chunk-J2JEQRT3.js +0 -164
  262. package/dist/chunk-JASGXLK3.js +0 -679
  263. package/dist/chunk-KVDYJLTC.js +0 -121
  264. package/dist/chunk-L27I3CPZ.js +0 -357
  265. package/dist/chunk-LHLIAYQ3.js +0 -185
  266. package/dist/chunk-MCMOGQMU.js +0 -145
  267. package/dist/chunk-NQKQG45G.js +0 -688
  268. package/dist/chunk-PBHIFAL4.js +0 -259
  269. package/dist/chunk-PDX44BCA.js +0 -11
  270. package/dist/chunk-PMXRGPRQ.js +0 -305
  271. package/dist/chunk-RAB5IKPR.js +0 -487
  272. package/dist/chunk-RJE5G7WO.js +0 -590
  273. package/dist/chunk-RTHA3XRE.js +0 -880
  274. package/dist/chunk-S2HO5MLR.js +0 -621
  275. package/dist/chunk-S3ORKP3V.js +0 -716
  276. package/dist/chunk-TAIJOFOE.js +0 -124
  277. package/dist/chunk-TXESEO7Y.js +0 -245
  278. package/dist/chunk-UPLDI7CN.js +0 -1334
  279. package/dist/chunk-VL67H5IC.js +0 -506
  280. package/dist/chunk-VPPK3SY4.js +0 -1136
  281. package/dist/chunk-YMDLDELF.js +0 -314
  282. package/dist/chunk-YO6DVTL7.js +0 -99
  283. package/dist/chunk-YRZ5RPEB.js +0 -1561
  284. package/dist/chunk-ZDHLG5VP.js +0 -5676
  285. package/dist/chunk-ZGUAAVMA.js +0 -756
  286. package/dist/chunk-ZSYVKSY6.js +0 -2602
  287. package/dist/claude-FRRWJSTJ.js +0 -362
  288. package/dist/claude-cli-XJLK2X4L.js +0 -276
  289. package/dist/claude-code-HTBA4XRB.js +0 -126
  290. package/dist/claude-code-teams-T4SP24MD.js +0 -199
  291. package/dist/commands-5N4ILTPH.js +0 -5859
  292. package/dist/conductor-CQVGTEQN.js +0 -161
  293. package/dist/config-schema-EA4XALGG.js +0 -154
  294. package/dist/constellation-A26CCGQS.js +0 -225
  295. package/dist/context-audit-RLO3ETRP.js +0 -682
  296. package/dist/cost-BGM32XJU.js +0 -93
  297. package/dist/cost-VI46A4XL.js +0 -174
  298. package/dist/cursor-cli-JVEZGHWQ.js +0 -269
  299. package/dist/cursorrules-HLIKJJZT.js +0 -84
  300. package/dist/decision-loader-WWCLIQPJ.js +0 -20
  301. package/dist/delete-KBRPQLPC.js +0 -56
  302. package/dist/diff-D4X53HAC.js +0 -126
  303. package/dist/discipline-FA4OZXIS.js +0 -24
  304. package/dist/dist-34NA5RS5.js +0 -74
  305. package/dist/dist-5QE2BB2B-5S3T6Y3T.js +0 -6919
  306. package/dist/dist-77JDTVAY.js +0 -62
  307. package/dist/dist-OGTSAZ55.js +0 -1358
  308. package/dist/dist-QK4SQAK7.js +0 -64
  309. package/dist/dist-TA6LSC2Q.js +0 -20
  310. package/dist/docs-PBZB7LYP.js +0 -89
  311. package/dist/docs-QIYKO3BR.js +0 -155
  312. package/dist/doctor-ULBOHEIC.js +0 -11
  313. package/dist/drift-R5NRKFHI.js +0 -251
  314. package/dist/echo-O2LY7CC2.js +0 -248
  315. package/dist/edit-R2HNLMOG.js +0 -63
  316. package/dist/event-25OJKDCE.js +0 -31
  317. package/dist/export-IWVL7XLF.js +0 -38
  318. package/dist/flow-CRRVV3O3.js +0 -185
  319. package/dist/global-3NG5JXUB.js +0 -136
  320. package/dist/graduate-USAWGBJM.js +0 -160
  321. package/dist/graph-VHUMAAS6.js +0 -12
  322. package/dist/graph-server-YL22VBBN.js +0 -116
  323. package/dist/habits-OL5NGPXO.js +0 -1405
  324. package/dist/history-WOWC573W.js +0 -277
  325. package/dist/hooks-HFWSCGPV.js +0 -12
  326. package/dist/integrity-IHO4FZTS.js +0 -194
  327. package/dist/integrity-checker-PSKJA5SB.js +0 -12
  328. package/dist/journal-loader-5EYSBFFY.js +0 -18
  329. package/dist/lint-K6CJGGPH.js +0 -456
  330. package/dist/list-4YK7QKFF.js +0 -57
  331. package/dist/list-ENR7Q4CR.js +0 -56
  332. package/dist/lore-loader-7NO6N6FT.js +0 -26
  333. package/dist/lore-server-UNJY5KC3.js +0 -118
  334. package/dist/manual-G6FISID5.js +0 -204
  335. package/dist/migrate-LS45DNEV.js +0 -889
  336. package/dist/migrate-assessments-RGH4O6IX.js +0 -97
  337. package/dist/model-discovery-D2H3VBGC.js +0 -8
  338. package/dist/nomination-engine-RV5CNO5B.js +0 -42
  339. package/dist/notebook-YWIYGEHV.js +0 -155
  340. package/dist/orchestrate-JLILBBJE.js +0 -324
  341. package/dist/peers-DEOUIZM6.js +0 -82
  342. package/dist/persona-UHAHIVST.js +0 -390
  343. package/dist/pipeline-L4HCSBGN.js +0 -263
  344. package/dist/platform-server-H5YO3DQD.js +0 -1475
  345. package/dist/plugin-update-checker-KRRSGXMV.js +0 -12
  346. package/dist/portal-check-NPYGII2D.js +0 -42
  347. package/dist/portal-compliance-J7DGAPFX.js +0 -18
  348. package/dist/probe-MHL5HQZ2.js +0 -167
  349. package/dist/promote-F6ZYZZAL.js +0 -182
  350. package/dist/providers-GK7PB2OL.js +0 -104
  351. package/dist/quiz-M66SC7F7.js +0 -99
  352. package/dist/record-RA4WR2BO.js +0 -49
  353. package/dist/reindex-5LTD53ZC.js +0 -16
  354. package/dist/remember-HBWJ655S.js +0 -77
  355. package/dist/retag-3OLCVDEQ.js +0 -62
  356. package/dist/review-27ATYTD2.js +0 -33
  357. package/dist/review-57QMURZV.js +0 -334
  358. package/dist/ripple-JPBXP5I3.js +0 -215
  359. package/dist/sentinel-4XIG4STA.js +0 -63
  360. package/dist/sentinel-bridge-MDUXTQRL.js +0 -109
  361. package/dist/serve-CAH3PHE7.js +0 -33
  362. package/dist/serve-INL7SNBK.js +0 -36
  363. package/dist/serve-KBSE36PL.js +0 -49
  364. package/dist/server-54SKYFFY.js +0 -1647
  365. package/dist/server-XUOIO7E6.js +0 -338
  366. package/dist/session-tracker-C4BMD5WG.js +0 -13
  367. package/dist/session-work-log-MZ47OAPB.js +0 -20
  368. package/dist/setup-EDS27WUR.js +0 -25
  369. package/dist/setup-KO5AFC4K.js +0 -296
  370. package/dist/shift-D2JOHHBF.js +0 -668
  371. package/dist/show-5PV5KFJE.js +0 -176
  372. package/dist/show-NQKYX6WQ.js +0 -82
  373. package/dist/snapshot-BK4RBPCG.js +0 -62
  374. package/dist/spawn-RCHNXDHE.js +0 -196
  375. package/dist/status-WGIAQODY.js +0 -71
  376. package/dist/summary-NIRABMF5.js +0 -140
  377. package/dist/sweep-QMHNSIY5.js +0 -934
  378. package/dist/switch-6EJPZDIA.js +0 -232
  379. package/dist/symphony-4OCY36AI.js +0 -791
  380. package/dist/symphony-B75X2MME.js +0 -326
  381. package/dist/symphony-loader-UZGON56V.js +0 -90
  382. package/dist/symphony-peers-2ZQYLRNI.js +0 -34
  383. package/dist/symphony-peers-OL7F6M5S.js +0 -121
  384. package/dist/symphony-relay-UJYUXN65.js +0 -710
  385. package/dist/sync-VEHUH4OA.js +0 -11
  386. package/dist/sync-llms-YHCFIE6X.js +0 -166
  387. package/dist/task-loader-LDYWQSLM.js +0 -20
  388. package/dist/team-O5MIIFMA.js +0 -34
  389. package/dist/test-566CP5KC.js +0 -1017
  390. package/dist/thread-N754I4D5.js +0 -274
  391. package/dist/timeline-M3CICQFE.js +0 -112
  392. package/dist/triage-HHYGT3HY.js +0 -671
  393. package/dist/tutorial-KD22SUNO.js +0 -666
  394. package/dist/upgrade-H5PF32BW.js +0 -551
  395. package/dist/validate-CNKEKO6A.js +0 -134
  396. package/dist/validate-MB5ULIHS.js +0 -39
  397. package/dist/validate-QH3LADM6.js +0 -64
  398. package/dist/watch-2TKP5PVL.js +0 -199
  399. package/dist/watch-ZF4ML6CD.js +0 -111
  400. package/dist/wisdom-AATMGNFA.js +0 -319
  401. package/dist/work-log-loader-5L45XNYZ.js +0 -14
  402. package/dist/workspace-6E6OSRNU.js +0 -21
  403. package/platform-ui/dist/assets/AmbientSection-WtHfNedO.js +0 -1
  404. package/platform-ui/dist/assets/LoreSection-C3EixkjW.css +0 -1
  405. package/platform-ui/dist/assets/LoreSection-CwDDHrz9.js +0 -1
  406. package/platform-ui/dist/assets/SentinelSection-Cl7e5oZ6.js +0 -1
  407. package/platform-ui/dist/assets/TeamSection-CqSIMrKz.js +0 -1
  408. package/platform-ui/dist/assets/index-CfpZFjea.css +0 -1
  409. package/platform-ui/dist/assets/index-F0KL9xrN.js +0 -57
@@ -0,0 +1,743 @@
1
+ #!/usr/bin/env node
2
+ import {e}from'./chunk-JQKKVAAN.js';import*as r from'fs';import*as c from'path';import*as ce from'os';import*as N from'js-yaml';function se(e,s){let n=[];return n.push(`# ${e} - Paradigm Context`),n.push(""),n.push(`Generated for ${s} by Paradigm.`),n.push(""),n.join(`
3
+ `)}function P(e){let s=[];if(e["agent-guidelines"]?.overview&&(s.push("## Overview"),s.push(""),s.push(e["agent-guidelines"].overview),s.push("")),e["agent-guidelines"]?.["how-to-use"]?.length){s.push("## How to Use Paradigm"),s.push("");for(let n of e["agent-guidelines"]["how-to-use"])s.push(`- ${n}`);s.push("");}return s.join(`
4
+ `)}function C(e){let s=[];s.push("## Symbol System"),s.push(""),s.push("Use these prefixes to reference project elements:"),s.push(""),s.push("| Symbol | Name | Description |"),s.push("|--------|------|-------------|");let n=e["symbol-system"];if(n)for(let[a,t]of Object.entries(n))s.push(`| \`${a}\` | ${t.name} | ${t.description} |`);return s.push(""),s.push("See `.paradigm/specs/symbols.md` for complete reference."),s.push(""),s.join(`
5
+ `)}function w(e){let s=[];if(!e.logging?.enforce)return "";if(s.push("## Paradigm Logging"),s.push(""),s.push("**IMPORTANT:** Use the Paradigm logger instead of raw console.log/print."),s.push(""),s.push("```"),s.push("// Use this pattern:"),s.push("log.component('#login-handler').info('Starting login', { email });"),s.push("log.component('#database').debug('Query executed', { duration });"),s.push("log.gate('^authenticated').warn('Access denied', { userId });"),s.push("log.signal('!login-success').info('User authenticated');"),s.push("```"),s.push(""),e.logging["symbol-mapping"]){s.push("### Symbol Mapping by Directory"),s.push(""),s.push("| Directory | Symbol | Logger Method |"),s.push("|-----------|--------|---------------|");for(let[n,a]of Object.entries(e.logging["symbol-mapping"])){let t=ge(a);s.push(`| \`${n}\` | \`${a}\` | \`log.${t}()\` |`);}s.push("");}return s.push("See `.paradigm/specs/logger.md` for full specification."),s.push(""),s.join(`
6
+ `)}function ge(e){return {"#":"component","^":"gate","!":"signal",$:"flow","~":"aspect","@":"component","%":"component","&":"component"}[e]||"raw"}function ne(e){if(!e.scan?.enabled)return "";let s=[];return s.push("## Paradigm Scan"),s.push(""),s.push('When the user says "**paradigm scan**" with an image:'),s.push(""),s.push("1. Analyze the image for UI elements"),s.push("2. Cross-reference with `.paradigm/scan-index.json`"),s.push("3. Return structured mapping of visual elements to code"),s.push(""),s.push("| Mode | Use Case |"),s.push("|------|----------|"),s.push("| `paradigm scan` | Map any image to code |"),s.push("| `paradigm scan ui` | Screenshot of running app |"),s.push("| `paradigm scan design` | Mockup - gap analysis |"),s.push("| `paradigm scan error` | Error screenshot |"),s.push(""),s.push("See `.paradigm/specs/scan.md` for full protocol."),s.push(""),s.join(`
7
+ `)}function b(e){if(!e.conventions?.length)return "";let s=[];s.push("## Conventions"),s.push("");for(let n of e.conventions)s.push(`- ${n}`);return s.push(""),s.join(`
8
+ `)}function S(e){if(!e["agent-guidelines"]?.["update-rules"]?.length)return "";let s=[];s.push("## When to Update Paradigm Files"),s.push("");for(let n of e["agent-guidelines"]["update-rules"])s.push(`- ${n}`);return s.push(""),s.join(`
9
+ `)}function x(){let e=[];return e.push("## Paradigm Commands"),e.push(""),e.push("| Command | Description |"),e.push("|---------|-------------|"),e.push("| `paradigm init` | Initialize Paradigm in a project |"),e.push("| `paradigm sync` | Regenerate IDE instruction files |"),e.push("| `paradigm index` | Generate scan index |"),e.push("| `paradigm doctor` | Health check |"),e.push("| `paradigm status` | Show project status |"),e.push("| `paradigm watch` | Auto-sync on changes |"),e.push(""),e.push("See `.paradigm/docs/commands.md` for full reference."),e.push(""),e.join(`
10
+ `)}function ae(e){let s=[];return s.push("## Paradigm Navigation"),s.push(""),s.push("Before exploring this codebase:"),s.push(""),s.push("1. Read `.paradigm/navigator.yaml` for structure map"),s.push("2. Query by symbol - lookup paths directly"),s.push("3. Respect skip patterns (node_modules, dist, etc.)"),s.push(""),s.push("### Exploration Protocol"),s.push(""),s.push("**INSTEAD OF:** Broad exploration (expensive token usage)"),s.push(""),s.push("**DO THIS:**"),s.push("1. Read `.paradigm/navigator.yaml` for structure map"),s.push("2. Find relevant symbol \u2192 go to path"),s.push("3. Read only needed files"),s.push(""),s.push("### Task Recipes"),s.push(""),s.push("**Adding a feature:**"),s.push("1. Check `navigator.yaml` \u2192 `structure.features.paths`"),s.push("2. Read existing feature as template"),s.push("3. Create in same location"),s.push(""),s.push("**Modifying a component:**"),s.push("1. Look up symbol in `navigator.yaml` \u2192 `symbols`"),s.push("2. Go directly to the path"),s.push("3. Check `paradigm_ripple` for impact"),s.push(""),s.push("**Using MCP Tools:**"),s.push('- `paradigm_navigate({ intent: "find", target: "#checkout" })` - locate symbol'),s.push('- `paradigm_navigate({ intent: "explore", target: "auth" })` - browse area'),s.push('- `paradigm_navigate({ intent: "context", task: "add login" })` - task context'),s.push(""),s.push("### PM Governance (Before/After Tasks)"),s.push(""),s.push("| When | Tool | Purpose |"),s.push("|------|------|---------|"),s.push("| Starting any task | `paradigm_pm_preflight` | Get compliance plan, affected symbols, required checks |"),s.push("| Finishing any task | `paradigm_pm_postflight` | Check for violations: missing .purpose, missing gates |"),s.push(""),s.join(`
11
+ `)}function v(){let e=[];return e.push("## Commit Messages"),e.push(""),e.push("Use v2 symbols in commits for history tracking:"),e.push(""),e.push("### Format"),e.push("```"),e.push("type(#primary-symbol): short description"),e.push(""),e.push("- Detail with #component references"),e.push("- Gate changes: ^gate-name"),e.push("- Signals emitted: !signal-name"),e.push(""),e.push("Symbols: #symbol-a, #symbol-b, !signal-c"),e.push("```"),e.push(""),e.push("### Convention"),e.push("- **Subject**: `type(#symbol): description` \u2014 primary symbol in parens"),e.push("- **Body**: Reference affected symbols with prefixes (# $ ^ ! ~)"),e.push("- **Trailer**: `Symbols: #a, #b, !c` \u2014 machine-readable list of ALL affected symbols"),e.push("- The `Symbols:` trailer is parsed by the post-commit hook for automatic history capture"),e.push(""),e.push("### Examples"),e.push("```"),e.push("feat(#payment-form): add Apple Pay support"),e.push(""),e.push("- Add #apple-pay-button component"),e.push("- Update $checkout-flow with new payment step"),e.push("- Emit !payment-method-added signal"),e.push("- Gate: ^authenticated required"),e.push(""),e.push("Symbols: #payment-form, #apple-pay-button, $checkout-flow, !payment-method-added"),e.push("```"),e.push(""),e.join(`
12
+ `)}function ie(){let e=[];return e.push("## MCP Tools"),e.push(""),e.push("Paradigm provides MCP tools for token-efficient, always-fresh data. Prefer these over reading files directly."),e.push(""),e.push("| Tool | Description | When to Use |"),e.push("|------|-------------|-------------|"),e.push("| `paradigm_status` | Project overview and symbol counts | Starting a session |"),e.push("| `paradigm_search` | Find symbols by name, description, or tags | Looking for symbols |"),e.push("| `paradigm_navigate` | Find code locations, explore areas, get task context | Locating code |"),e.push("| `paradigm_ripple` | Dependency and impact analysis | Before modifying symbols |"),e.push("| `paradigm_related` | Direct relationships for a symbol | Understanding connections |"),e.push("| `paradigm_gates_for_route` | Suggest gates for an API endpoint | Adding API routes |"),e.push("| `paradigm_wisdom_context` | Team preferences and antipatterns | Before implementing |"),e.push("| `paradigm_history_fragility` | Stability warnings for symbols | Before modifying fragile areas |"),e.push("| `paradigm_flow_validate` | Validate flow definitions | Before/after implementing flows |"),e.push("| `paradigm_flows_affected` | Flows impacted by symbol changes | After modifying symbols |"),e.push("| `paradigm_test_fixtures` | Get test data for validation | Writing tests |"),e.push("| `paradigm_orchestrate_inline` | Multi-agent task planning | Complex tasks (3+ files) |"),e.push("| `paradigm_pm_preflight` | Pre-task compliance check | Starting any task |"),e.push("| `paradigm_pm_postflight` | Post-task violation detection | Finishing any task |"),e.push("| `paradigm_session_recover` | Load previous session breadcrumbs | Starting a new session |"),e.push("| `paradigm_context_check` | Check context window usage | Every 10-15 tool calls |"),e.push("| `paradigm_handoff_prepare` | Prepare session handoff summary | When context is high |"),e.push("| `paradigm_reindex` | Rebuild static index files | After modifying .purpose files |"),e.push("| `paradigm_session_checkpoint` | Save cognitive-transition checkpoint | Phase transitions |"),e.push("| `paradigm_session_stats` | Current session token usage | Checking budget |"),e.push(""),e.push("**Rule**: Use MCP tools for discovery and validation, file reads for implementation."),e.push(""),e.join(`
13
+ `)}function re(){let e=[];return e.push("## Workflow Protocol"),e.push(""),e.push("### Before Each Task"),e.push(""),e.push("1. **Preflight**: Call `paradigm_pm_preflight` with your task description"),e.push(" - Returns affected symbols, ripple analysis, required agents"),e.push("2. **Impact check**: Call `paradigm_ripple` for any symbols you'll modify"),e.push("3. **Gate check**: Call `paradigm_gates_for_route` before adding API endpoints"),e.push('4. **Complex tasks** (3+ files, security + implementation): Call `paradigm_orchestrate_inline` with mode="plan"'),e.push(""),e.push("### After Each Task"),e.push(""),e.push("1. **Postflight**: Call `paradigm_pm_postflight` with modified files and symbols"),e.push(" - Checks for missing .purpose files, unregistered routes, uncaptured wisdom"),e.push("2. **Reindex**: Call `paradigm_reindex` to rebuild static index files"),e.push("3. **Validate flows**: Call `paradigm_flow_validate` if you touched flow-related symbols"),e.push(""),e.join(`
14
+ `)}function oe(){let e=[];return e.push("## Session Recovery & Handoff"),e.push(""),e.push("### Session Start (EVERY new session)"),e.push(""),e.push("Call `paradigm_session_recover` to load previous session breadcrumbs."),e.push("Returns: symbols modified, files explored, recent actions, and suggestions."),e.push(""),e.push("### Context Monitoring"),e.push(""),e.push("Call `paradigm_context_check` every 10-15 tool calls to track context usage."),e.push(""),e.push("| Usage | Recommendation | Action |"),e.push("|-------|----------------|--------|"),e.push("| <50% | continue | Keep working |"),e.push("| 50-70% | consider-handoff | Plan handoff; prepare summary when ready |"),e.push("| 70-85% | handoff-recommended | Prepare handoff soon |"),e.push("| >85% | handoff-urgent | Handoff after current task |"),e.push(""),e.push("### Handoff Process"),e.push(""),e.push("1. Call `paradigm_handoff_prepare` with summary, next steps, and target agent"),e.push('2. User runs: `paradigm team handoff --to <agent> --summary "..."`'),e.push("3. New session accepts: `paradigm team accept <handoff-id>`"),e.push(""),e.join(`
15
+ `)}function $(){let e=[];return e.push("## Session Checkpoints"),e.push(""),e.push("**Auto-recovery**: Recovery data is automatically surfaced on your first Paradigm tool call \u2014 no action needed to receive it."),e.push(""),e.push("Save checkpoints when transitioning between workflow phases to enable crash recovery:"),e.push(""),e.push("| Phase | Trigger | What to Capture |"),e.push("|-------|---------|-----------------|"),e.push("| `planning` | After reading requirements / before coding | Plan, approach, key decisions |"),e.push("| `implementing` | After starting code changes | Modified files, symbols touched, decisions made |"),e.push("| `validating` | After implementation, before tests/review | All modified files, test plan |"),e.push("| `complete` | Task finished | Summary, final file list |"),e.push(""),e.push("### Usage"),e.push(""),e.push("```"),e.push("paradigm_session_checkpoint({"),e.push(' phase: "implementing",'),e.push(' context: "Adding JWT auth middleware to /api/projects routes",'),e.push(' modifiedFiles: ["src/middleware/auth.ts", "src/routes/projects.ts"],'),e.push(' symbolsTouched: ["^authenticated", "#project-routes"],'),e.push(' decisions: ["Using RS256 for JWT signing", "Storing refresh tokens in httpOnly cookies"]'),e.push("})"),e.push("```"),e.push(""),e.push("Keep it lightweight: `phase` + `context` are required, everything else is optional."),e.push(""),e.join(`
16
+ `)}function E(){let e=[];return e.push("## Habits Compliance"),e.push(""),e.push("Paradigm tracks behavioral habits \u2014 repeatable practices that improve code quality."),e.push(""),e.push("### When to Check Habits"),e.push(""),e.push("| Trigger | When | Tool |"),e.push("|---------|------|------|"),e.push('| `preflight` | Before starting implementation | `paradigm_habits_check({ trigger: "preflight" })` |'),e.push('| `postflight` | After completing implementation | `paradigm_habits_check({ trigger: "postflight" })` |'),e.push('| `on-stop` | Before ending a session | `paradigm_habits_check({ trigger: "on-stop" })` |'),e.push(""),e.push("### Key Habit Categories"),e.push(""),e.push("| Category | Examples |"),e.push("|----------|----------|"),e.push("| Discovery | Call `paradigm_ripple` before modifying symbols |"),e.push("| Security | Declare gates for new routes in portal.yaml |"),e.push("| Documentation | Update .purpose files for modified components |"),e.push("| Quality | Record lore for sessions modifying 3+ files |"),e.push(""),e.push("Use `paradigm_practice_context` before modifying symbols to get habit-aware warnings."),e.push(""),e.join(`
17
+ `)}function D(){let e=[];return e.push("## Lore Recording"),e.push(""),e.push("Lore captures the project timeline \u2014 sessions, decisions, milestones, and incidents."),e.push(""),e.push("### When to Record Lore"),e.push(""),e.push("| Type | When | Example |"),e.push("|------|------|---------|"),e.push('| `agent-session` | After modifying 3+ files | "Added JWT auth to /api/projects" |'),e.push('| `decision` | After making architectural choices | "Chose Redis over Memcached for caching" |'),e.push('| `milestone` | After completing a significant feature | "v2.0 migration complete" |'),e.push('| `incident` | After resolving a production issue | "Fixed OOM in payment worker" |'),e.push(""),e.push("### Recording"),e.push(""),e.push("```"),e.push("paradigm_lore_record({"),e.push(' type: "agent-session",'),e.push(' title: "Short description of work done",'),e.push(' summary: "Detailed summary of changes...",'),e.push(' symbols_touched: ["#component", "^gate"]'),e.push("})"),e.push("```"),e.push(""),e.push("Use `paradigm_lore_timeline` at session start for project history orientation."),e.push(""),e.join(`
18
+ `)}function U(){let e=[];return e.push("## llms.txt"),e.push(""),e.push("This project provides an `llms.txt` file at the repository root \u2014 a plain-text summary"),e.push("of the project optimized for LLM consumption. It includes symbols, key files, flows,"),e.push("gates, and conventions."),e.push(""),e.push("Regenerate with: `paradigm sync-llms`"),e.push(""),e.join(`
19
+ `)}function pe(){let e=[];return e.push("---"),e.push(""),e.push("## Reference Files"),e.push(""),e.push("- `.paradigm/specs/symbols.md` - Symbol system reference"),e.push("- `.paradigm/specs/logger.md` - Logging specification"),e.push("- `.paradigm/specs/scan.md` - Scan protocol"),e.push("- `.paradigm/docs/commands.md` - CLI reference"),e.push("- `.paradigm/docs/patterns.md` - Coding patterns"),e.push("- `.paradigm/docs/troubleshooting.md` - Common issues"),e.push("- `.paradigm/prompts/` - Pre-written task prompts"),e.push(""),e.push("*Generated by Paradigm. Run `paradigm sync` to regenerate.*"),e.join(`
20
+ `)}function g(e,s={}){let n=["---",`description: ${e}`];return s.globs&&n.push(`globs: ${s.globs}`),s.alwaysApply!==void 0&&n.push(`alwaysApply: ${s.alwaysApply}`),n.push("---",""),n.join(`
21
+ `)}var G=class{name="cursor";displayName="Cursor";outputPath=".cursor/rules";multiFile=true;detect(s){return !!(r.existsSync(c.join(s,".cursor"))||r.existsSync(c.join(s,".cursorrules"))||r.existsSync(c.join(s,".vscode")))}generate(s){return this.generateFiles(s).map(a=>`# ${a.path}
22
+
23
+ ${a.content}`).join(`
24
+
25
+ ---
26
+
27
+ `)}generateFiles(s,n){let{config:a,projectName:t}=s,i=[];i.push({path:"paradigm-core.mdc",content:this.generateCoreRules(t,a)}),i.push({path:"paradigm-workflow.mdc",content:this.generateWorkflowMdc()}),i.push({path:"paradigm-symbols.mdc",content:this.generateSymbolRules(a)}),w(a)&&i.push({path:"paradigm-logging.mdc",content:this.generateLoggingMdc(a)}),i.push({path:"paradigm-purpose.mdc",content:this.generatePurposeMdc()}),i.push({path:"paradigm-portal.mdc",content:this.generatePortalMdc()}),i.push({path:"paradigm-commands.mdc",content:this.generateCommandsMdc()}),i.push({path:"paradigm-conventions.mdc",content:this.generateConventionsMdc(a)}),i.push({path:"paradigm-agent-hints.mdc",content:this.generateAgentHintsMdc()}),i.push({path:"paradigm-navigator.mdc",content:this.generateNavigatorMdc()}),i.push({path:"paradigm-context.mdc",content:this.generateContextMdc()});let p=n?this.loadAgentsManifest(n):null;return i.push({path:"paradigm-orchestration.mdc",content:this.generateOrchestrationMdc(p)}),i.push({path:"paradigm-flows.mdc",content:this.generateFlowsMdc()}),i.push({path:"paradigm-practices.mdc",content:this.generatePracticesMdc()}),i.push({path:"paradigm-commits.mdc",content:this.generateCommitsMdc()}),i}generateCoreRules(s,n){let a=P(n);return g("Paradigm core rules - project overview and fundamentals",{alwaysApply:true})+`# Paradigm - ${s}
28
+
29
+ > **Author:** Matt Canoy ([@ascend42](https://github.com/ascend42)) | **Repo:** [github.com/ascend42/a-paradigm](https://github.com/ascend42/a-paradigm) | **npm:** [@a-company/paradigm](https://www.npmjs.com/package/@a-company/paradigm)
30
+
31
+ ## CRITICAL RULES (Non-Negotiable)
32
+
33
+ 1. **You MUST update the nearest \`.purpose\` file when you change behavior.** No exceptions.
34
+ 2. **You MUST call \`paradigm_session_recover\` at session start and \`paradigm_pm_postflight\` when finishing.** See \`paradigm-workflow.mdc\` for the full protocol.
35
+ 3. **You MUST call \`paradigm_ripple\` before modifying any documented symbol.** Check impact before changing code.
36
+
37
+ Violating these rules means your changes are non-compliant. The \`paradigm-workflow.mdc\` file contains the complete workflow \u2014 follow it.
38
+
39
+ `+a+`
40
+
41
+ `+S(n)}generateSymbolRules(s){return g("Paradigm symbol system - understand #components, $flows, ^gates, !signals, ~aspects",{alwaysApply:true})+C(s)}generateLoggingMdc(s){return g("Paradigm logger usage for TypeScript/JavaScript code",{globs:"**/*.{ts,tsx,js,jsx}",alwaysApply:false})+w(s)}generatePurposeMdc(){return g("Purpose file conventions - .purpose file format and usage",{globs:"**/.purpose",alwaysApply:false})+`# Purpose Files
42
+
43
+ Purpose files (\`.purpose\`) define the context for directories.
44
+
45
+ ## Format
46
+
47
+ \`\`\`yaml
48
+ # Directory context
49
+ description: What this directory contains and why
50
+
51
+ # Components (# symbol) \u2014 all documented code units
52
+ components:
53
+ component-name:
54
+ description: What this component does
55
+ tags: [feature] # Classification via tag bank
56
+ gates: [^gate1, ^gate2] # Required gates
57
+ signals: [!signal1] # Events emitted
58
+ used-by: [#other-component]
59
+ \`\`\`
60
+
61
+ ## Symbol References (v2)
62
+
63
+ - Reference components: \`#component-name\`
64
+ - Reference flows: \`$flow-name\`
65
+ - Reference gates: \`^gate-name\`
66
+ - Reference signals: \`!signal-name\`
67
+ - Reference aspects: \`~aspect-name\`
68
+ `}generatePortalMdc(){return g("Portal (gate) configuration rules",{globs:"**/portal.yaml",alwaysApply:false})+`# Portal Configuration
69
+
70
+ Portal files (\`portal.yaml\`) define authorization topology.
71
+
72
+ ## Format
73
+
74
+ \`\`\`yaml
75
+ version: "1.0"
76
+
77
+ gates:
78
+ gate-name:
79
+ description: What this gate protects
80
+ locks:
81
+ - id: lock-id
82
+ description: Requirement description
83
+ keys:
84
+ - expression: "user.authenticated"
85
+ description: User must be logged in
86
+ prizes:
87
+ - id: prize-id
88
+ oneTime: true
89
+ metadata:
90
+ event: "gate_passed"
91
+
92
+ flows:
93
+ flow-name:
94
+ description: User journey
95
+ gates: [gate1, gate2, gate3]
96
+ \`\`\`
97
+
98
+ ## Portal Validation
99
+
100
+ Use the Portal Validator for authorization checks:
101
+
102
+ \`\`\`typescript
103
+ import { portal } from '@a-company/portal-sdk/validator';
104
+
105
+ const gate = portal.check('^gate-name')
106
+ .requires('requirement description')
107
+ .context({ userId, role });
108
+
109
+ if (!condition) {
110
+ gate.deny('Reason for denial');
111
+ return redirect('/unauthorized');
112
+ }
113
+
114
+ gate.allow('Access granted');
115
+ \`\`\`
116
+ `}generateCommandsMdc(){return g("Paradigm CLI commands reference",{alwaysApply:false})+x()}generateConventionsMdc(s){return g("Paradigm coding conventions",{globs:"**/*.{ts,tsx,js,jsx}",alwaysApply:false})+b(s)}generateAgentHintsMdc(){return g("Paradigm MCP tool queries for AI agents - use MCP tools instead of reading large files or running CLI commands",{alwaysApply:true})+`# Agent MCP Queries (Token-Efficient)
117
+
118
+ **Use MCP tool calls, NOT CLI commands.** MCP tools return structured data directly \u2014 no shell overhead, no parsing, no latency.
119
+
120
+ ## When to Query
121
+
122
+ | Before doing this... | Call this MCP tool |
123
+ |---------------------|-------------------|
124
+ | Modifying a symbol | \`paradigm_ripple({ symbol: "#symbol" })\` |
125
+ | Debugging / searching | \`paradigm_search({ query: "ERROR_CODE" })\` |
126
+ | Starting a session | \`paradigm_session_recover()\` |
127
+ | Understanding relationships | \`paradigm_navigate({ intent: "find", target: "#symbol" })\` |
128
+ | Getting oriented | \`paradigm_status()\` |
129
+ | Checking impact on flows | \`paradigm_flows_affected({ symbol: "#symbol" })\` |
130
+ | Adding API endpoints | \`paradigm_gates_for_route({ method: "POST", path: "/api/resource" })\` |
131
+
132
+ ## Query Patterns
133
+
134
+ ### Before Changing Code
135
+
136
+ \`\`\`
137
+ // See what depends on what you're changing
138
+ paradigm_ripple({ symbol: "#checkout" })
139
+
140
+ // Returns: upstream deps, downstream effects, flow membership
141
+ \`\`\`
142
+
143
+ ### When Debugging
144
+
145
+ \`\`\`
146
+ // Search for error context
147
+ paradigm_search({ query: "AUTH_REQUIRED" })
148
+
149
+ // Then check ripple effects of the related symbol
150
+ paradigm_ripple({ symbol: "^authenticated" })
151
+ \`\`\`
152
+
153
+ ### Starting Work
154
+
155
+ \`\`\`
156
+ // Load previous session context (MUST do this at session start)
157
+ paradigm_session_recover()
158
+
159
+ // Quick project orientation
160
+ paradigm_status()
161
+ \`\`\`
162
+
163
+ ### Finding Code Locations
164
+
165
+ \`\`\`
166
+ // Find a specific symbol
167
+ paradigm_navigate({ intent: "find", target: "#checkout" })
168
+
169
+ // Explore an area of code
170
+ paradigm_navigate({ intent: "explore", target: "authentication" })
171
+
172
+ // Get context for a task
173
+ paradigm_navigate({ intent: "context", task: "add Apple Pay" })
174
+ \`\`\`
175
+
176
+ ## Why MCP Over CLI
177
+
178
+ - **No shell overhead**: Direct structured responses, no \`--json\` flags or \`jq\` parsing
179
+ - **Fresh data**: Always current, not stale from file generation
180
+ - **Precise**: Only get the data you need
181
+ - **Token-efficient**: ~100-300 tokens per query vs ~2000 for file reads
182
+ - **No latency**: No process spawn \u2014 MCP tools respond directly
183
+ `}generateNavigatorMdc(){return g("Paradigm Navigator - efficient codebase exploration",{alwaysApply:true})+`# Paradigm Navigator
184
+
185
+ ## Exploration Protocol
186
+
187
+ Before exploring this codebase:
188
+
189
+ 1. **Read \`.paradigm/navigator.yaml\`** for the structure map
190
+ 2. **Query by symbol** - lookup paths directly from the symbols map
191
+ 3. **Respect skip patterns** - avoid node_modules, dist, .git, etc.
192
+
193
+ ## Navigation Strategy
194
+
195
+ **INSTEAD OF:** Broad exploration (expensive token usage)
196
+
197
+ **DO THIS:**
198
+ 1. Read \`.paradigm/navigator.yaml\` for project structure
199
+ 2. Find relevant symbol \u2192 go directly to path
200
+ 3. Read only needed files
201
+
202
+ ## Using MCP Navigate Tool
203
+
204
+ \`\`\`
205
+ # Find a specific symbol
206
+ paradigm_navigate({ intent: "find", target: "#checkout" })
207
+
208
+ # Explore an area
209
+ paradigm_navigate({ intent: "explore", target: "authentication" })
210
+
211
+ # Get context for a task
212
+ paradigm_navigate({ intent: "context", task: "add Apple Pay" })
213
+ \`\`\`
214
+
215
+ ## Task Recipes
216
+
217
+ ### Adding a Feature
218
+ 1. Check \`navigator.yaml\` \u2192 \`structure.features.paths\`
219
+ 2. Read an existing feature as template
220
+ 3. Create in the same location
221
+
222
+ ### Modifying a Component
223
+ 1. Look up symbol in \`navigator.yaml\` \u2192 \`symbols\`
224
+ 2. Go directly to the path
225
+ 3. Use \`paradigm_ripple\` to check impact
226
+
227
+ ### Understanding Dependencies
228
+ 1. Use \`paradigm_navigate({ intent: "context", task: "..." })\`
229
+ 2. Read suggested files in order
230
+ 3. Skip patterns in the \`skip\` array
231
+
232
+ ## Key Files (Quick Reference)
233
+
234
+ Always available in \`navigator.yaml\`:
235
+ - \`key_files.config\` - Configuration files
236
+ - \`key_files.entry\` - Entry points
237
+ - \`key_files.types\` - Type definitions
238
+ `}generateContextMdc(){return g("Session recovery and handoff - call paradigm_session_recover at session start, paradigm_context_check periodically during long sessions, paradigm_handoff_prepare when context is high.")+`# Context Monitoring Protocol
239
+
240
+ ## Session Start (EVERY new session)
241
+
242
+ Call \`paradigm_session_recover\` to load previous session breadcrumbs.
243
+ Returns: symbols modified, files explored, recent actions, and suggestions.
244
+
245
+ ## Periodic Checks
246
+
247
+ **Every 10-15 tool calls** (or when user asks about context), call:
248
+
249
+ \`\`\`
250
+ paradigm_context_check()
251
+ \`\`\`
252
+
253
+ This returns a recommendation: \`continue\`, \`consider-handoff\`, \`handoff-recommended\`, or \`handoff-urgent\`.
254
+
255
+ ## When to Handoff
256
+
257
+ | Usage | Recommendation | Action |
258
+ |-------|----------------|--------|
259
+ | <50% | continue | Keep working |
260
+ | 50-70% | consider-handoff | Plan handoff; prepare summary when ready |
261
+ | 70-85% | handoff-recommended | Prepare handoff soon |
262
+ | >85% | handoff-urgent | Handoff after current task |
263
+
264
+ ## When Recommendation is NOT "continue"
265
+
266
+ 1. **Inform user**: "Context usage is at ~X%. Recommend handoff soon."
267
+ 2. **Offer to prepare**: Ask if user wants handoff summary
268
+ 3. **If urgent (>85%)**: Prioritize completing current task, then handoff
269
+
270
+ ## Handoff Process
271
+
272
+ 1. Call \`paradigm_handoff_prepare\` with:
273
+ - Summary of work completed
274
+ - List of next steps
275
+ - Target agent role
276
+
277
+ 2. User runs CLI command:
278
+ \`\`\`bash
279
+ paradigm team handoff --to <agent> --summary "..."
280
+ \`\`\`
281
+
282
+ 3. New session accepts:
283
+ \`\`\`bash
284
+ paradigm team accept <handoff-id>
285
+ \`\`\`
286
+
287
+ ## Session Stats
288
+
289
+ Get current stats anytime:
290
+ \`\`\`
291
+ paradigm_session_stats()
292
+ \`\`\`
293
+
294
+ ${$()}`}generateWorkflowMdc(){return g("Paradigm workflow protocol - MUST follow for every task. Session bookends, task-size compliance, essential MCP tools.",{alwaysApply:true})+`# Paradigm Workflow Protocol
295
+
296
+ **This file defines the non-negotiable workflow for every task. Follow it.**
297
+
298
+ ## Session Bookends (MUST Do)
299
+
300
+ ### Session Start
301
+ \`\`\`
302
+ paradigm_session_recover()
303
+ \`\`\`
304
+ Call this FIRST in every session. Returns previous context, modified symbols, and suggestions.
305
+
306
+ ### Session End
307
+ \`\`\`
308
+ paradigm_pm_postflight({ summary: "what you did" })
309
+ \`\`\`
310
+ Call this LAST before finishing. Catches missing .purpose files, missing gates, and compliance gaps.
311
+
312
+ ## Task-Size Compliance Guide
313
+
314
+ Not every task needs the full ceremony. Match your effort to the scope:
315
+
316
+ ### Single-file bug fix (1 file changed)
317
+ 1. Session bookends (start + end)
318
+ 2. That's it \u2014 fix the bug, run postflight
319
+
320
+ ### Multi-file fix (2-3 files changed)
321
+ 1. Session bookends
322
+ 2. \`paradigm_ripple({ symbol: "#affected-symbol" })\` before changing
323
+ 3. Update nearest \`.purpose\` file if behavior changed
324
+ 4. Postflight
325
+
326
+ ### Feature build (3+ files, new behavior)
327
+ 1. Session bookends
328
+ 2. \`paradigm_pm_preflight({ task: "description" })\` \u2014 get compliance plan
329
+ 3. \`paradigm_ripple\` for each symbol you'll modify
330
+ 4. Implement the feature
331
+ 5. Create/update \`.purpose\` files for new directories
332
+ 6. Update \`portal.yaml\` if adding protected routes
333
+ 7. \`paradigm_pm_postflight\` \u2014 verify compliance
334
+ 8. \`paradigm_lore_record\` \u2014 record what you learned
335
+
336
+ ## The One Non-Negotiable Rule
337
+
338
+ **You MUST update the nearest \`.purpose\` file when you change behavior.**
339
+
340
+ - Adding a feature? Create a \`.purpose\` in the feature directory.
341
+ - Modifying a component? Update its \`.purpose\` description, gates, or signals.
342
+ - Deleting code? Remove the symbol from \`.purpose\`.
343
+ - Not sure? Run \`paradigm_pm_postflight\` \u2014 it will tell you what's missing.
344
+
345
+ ## Essential MCP Tools (Use These, NOT CLI Commands)
346
+
347
+ | Tool | When | Cost |
348
+ |------|------|------|
349
+ | \`paradigm_session_recover\` | Session start | ~100 tokens |
350
+ | \`paradigm_ripple\` | Before modifying any symbol | ~300 tokens |
351
+ | \`paradigm_navigate\` | Finding code locations | ~200 tokens |
352
+ | \`paradigm_pm_preflight\` | Before starting a feature (3+ files) | ~200 tokens |
353
+ | \`paradigm_pm_postflight\` | After finishing any task | ~200 tokens |
354
+ | \`paradigm_reindex\` | After creating/modifying .purpose files | ~100 tokens |
355
+ | \`paradigm_gates_for_route\` | Before adding API endpoints | ~150 tokens |
356
+ | \`paradigm_lore_record\` | After completing a feature (record learnings) | ~100 tokens |
357
+
358
+ ## Red Flags \u2014 STOP and Check
359
+
360
+ If you find yourself doing any of these, STOP:
361
+
362
+ - **Modifying 3+ files without calling \`paradigm_ripple\`** \u2192 Check impact first
363
+ - **Adding routes without checking \`paradigm_gates_for_route\`** \u2192 Get gate suggestions
364
+ - **Finishing without running \`paradigm_pm_postflight\`** \u2192 You'll miss compliance gaps
365
+ - **Creating directories without a \`.purpose\` file** \u2192 Every directory needs context
366
+ `}generatePracticesMdc(){return g("Paradigm practices - habits, lore recording, and llms.txt. Apply when finishing tasks, recording history, or checking compliance.",{alwaysApply:false})+`# Paradigm Practices
367
+
368
+ `+E()+`
369
+
370
+ `+D()+`
371
+
372
+ `+U()}loadAgentsManifest(s){let n=c.join(s,".paradigm","agents.yaml");if(!r.existsSync(n))return null;try{let a=r.readFileSync(n,"utf-8");return N.load(a)}catch{return null}}generateOrchestrationMdc(s){let n="(Run `paradigm team init` to configure agents)";if(s){let o=s.agents||s.roles;if(o&&typeof o=="object")try{n=Object.entries(o).map(([p,u])=>{let l=(u.role||u.description||"").split(`
373
+ `)[0].trim()||p,m=u.focus?.writes,j=Array.isArray(m)?m.join(", "):"any",I=u.defaultModel||"sonnet";return `- **${p}** (${I}): ${l} (writes: ${j})`}).join(`
374
+ `);}catch{}}let a=ce.platform(),i=a==="win32"?"## Terminal Syntax (Windows)\n\nThis project runs on **Windows**. Use appropriate syntax:\n\n| Operation | Windows Syntax |\n|-----------|----------------|\n| Chain commands | `cmd1 ; cmd2` or `cmd1 && cmd2` (PowerShell) |\n| Path separator | `\\` (backslash) |\n| Environment vars | `$env:VAR` (PowerShell) or `%VAR%` (CMD) |\n| Null device | `$null` (PowerShell) or `NUL` (CMD) |\n| List files | `dir` or `Get-ChildItem` |\n| Remove files | `del` or `Remove-Item` |\n\n**IMPORTANT:** Do NOT use Unix-style commands like `rm`, `cat`, `grep` directly.":`## Terminal Syntax (${a==="darwin"?"macOS":"Linux"})
375
+
376
+ This project runs on **${a==="darwin"?"macOS":"Linux"}**. Use appropriate syntax:
377
+
378
+ | Operation | Unix Syntax |
379
+ |-----------|-------------|
380
+ | Chain commands | \`cmd1 && cmd2\` (stop on error) or \`cmd1 ; cmd2\` (always continue) |
381
+ | Path separator | \`/\` (forward slash) |
382
+ | Environment vars | \`$VAR\` or \`\${VAR}\` |
383
+ | Null device | \`/dev/null\` |
384
+ | List files | \`ls\` |
385
+ | Remove files | \`rm\` |
386
+
387
+ **IMPORTANT:** Do NOT use Windows-style commands like \`dir\`, \`del\`, or \`%VAR%\`.`;return g("Multi-agent orchestration - use when task affects 3+ files, involves security AND implementation, or spans multiple features. Call paradigm_orchestrate_inline for planning.")+`# Paradigm Orchestration Protocol
388
+
389
+ ${i}
390
+
391
+ ## CRITICAL: When to Use Orchestration
392
+
393
+ **ALWAYS call \`paradigm_orchestrate_inline\` FIRST when:**
394
+ - Task affects 3+ files
395
+ - Task involves security/auth AND implementation
396
+ - Task mentions multiple features (#symbols)
397
+ - Building a new feature end-to-end
398
+ - User explicitly requests multi-agent workflow
399
+
400
+ ## Workflow
401
+
402
+ 1. **Plan first:** \`paradigm_orchestrate_inline({ task: "...", mode: "plan" })\`
403
+ - Review suggested agents and estimated tokens
404
+ - Check if parallel execution is possible
405
+
406
+ 2. **Execute:** \`paradigm_orchestrate_inline({ task: "...", mode: "execute" })\`
407
+ - Get full prompts and execution strategy
408
+ - Note which stages can run in parallel
409
+
410
+ 3. **Follow the plan sequentially:**
411
+ - For each stage/agent, adopt that role's prompt and focus areas
412
+ - Stage 0 (architect): Design and spec only \u2014 do NOT write implementation code
413
+ - Stage 1 (builder): Implement following the architect's design
414
+ - Stage 2 (tester/reviewer): Verify and test the implementation
415
+ - Pass context between phases as if handing off to a teammate
416
+
417
+ 4. **For true parallel execution**, suggest user runs:
418
+ \`paradigm team orchestrate "task description"\`
419
+
420
+ 5. **Record history:** \`paradigm_history_record({ type: "implement", symbols: [...], description: "..." })\`
421
+
422
+ ## Available Agents
423
+
424
+ ${n}
425
+
426
+ ## Red Flags - STOP and Orchestrate
427
+
428
+ If you find yourself:
429
+ - Implementing 5+ files without planning \u2192 STOP, call orchestrate
430
+ - Adding auth without security review \u2192 STOP, involve security agent
431
+ - Writing code without specs \u2192 STOP, involve architect first
432
+ - Making cross-cutting changes \u2192 STOP, plan the stages
433
+
434
+ ## DO NOT Skip Orchestration
435
+
436
+ Complex tasks need specialist agents. One agent trying to do everything leads to:
437
+ - Missed security gates
438
+ - Inconsistent patterns
439
+ - Poor test coverage
440
+ - Context overflow
441
+
442
+ ## CLI Shortcut
443
+
444
+ You can also suggest agents via CLI:
445
+ \`\`\`bash
446
+ paradigm team agents suggest "Add user authentication with JWT"
447
+ \`\`\`
448
+ `}generateFlowsMdc(){return g("Flow-first development - apply when implementing features spanning multiple steps, requiring gates, or emitting signals. Define $flows before coding.")+`# Flow-First Development
449
+
450
+ ## What are Flows?
451
+
452
+ Flows ($symbols) are composable sequences of gates, actions, and signals that represent the "happy path" for a feature.
453
+
454
+ \`\`\`yaml
455
+ # .paradigm/flows.yaml
456
+ flows:
457
+ $task-creation:
458
+ name: Task Creation Flow
459
+ description: Complete flow for creating a new task
460
+ trigger: "POST /api/tasks"
461
+ steps:
462
+ - type: gate
463
+ symbol: ^authenticated
464
+ description: User must be logged in
465
+ - type: gate
466
+ symbol: ^project-member
467
+ description: User must be member of target project
468
+ - type: action
469
+ symbol: "#validate-task-input"
470
+ description: Validate task data
471
+ - type: action
472
+ symbol: "#create-task"
473
+ description: Create task in database
474
+ - type: signal
475
+ symbol: "!task-created"
476
+ description: Emit success event
477
+ successSignal: "!task-created"
478
+ failureSignal: "!task-creation-failed"
479
+ \`\`\`
480
+
481
+ ## When to Define Flows
482
+
483
+ **BEFORE implementing features that:**
484
+ - Span multiple steps or components
485
+ - Require authorization gates
486
+ - Emit signals/events
487
+ - Integrate with external systems
488
+
489
+ ## Flow-First Protocol
490
+
491
+ 1. **Define the flow first** in \`.paradigm/flows.yaml\`:
492
+ - What gates must pass?
493
+ - What actions occur in what order?
494
+ - What signals are emitted?
495
+
496
+ 2. **Validate before implementing:**
497
+ \`\`\`
498
+ paradigm_flow_validate({ flowId: "$task-creation" })
499
+ \`\`\`
500
+ - Ensures all gates are declared in portal.yaml
501
+ - Checks for missing symbols
502
+
503
+ 3. **Implement following the flow:**
504
+ - Each step becomes a clear implementation target
505
+ - Gates \u2192 middleware/authorization checks
506
+ - Actions \u2192 business logic functions
507
+ - Signals \u2192 event emitters/hooks
508
+
509
+ ## Flow Validation
510
+
511
+ Call \`paradigm_flow_validate\` to check flows:
512
+
513
+ \`\`\`
514
+ // Validate specific flow
515
+ paradigm_flow_validate({ flowId: "$task-creation" })
516
+
517
+ // Validate all flows
518
+ paradigm_flow_validate({ checkImplementation: true })
519
+ \`\`\`
520
+
521
+ **What gets checked:**
522
+ - All ^gates are declared in portal.yaml
523
+ - All #actions reference existing components
524
+ - All !signals are documented
525
+
526
+ ## Benefits
527
+
528
+ 1. **Clear implementation targets** - Each flow step is a discrete unit
529
+ 2. **Gate coverage** - All authorization points are explicit
530
+ 3. **Testability** - Flows can be tested step-by-step
531
+ 4. **Documentation** - The flow IS the documentation
532
+ 5. **Parallel work** - Different team members can implement different steps
533
+
534
+ ## Red Flags
535
+
536
+ **STOP and define a flow if:**
537
+ - You're implementing a "happy path" without documenting it
538
+ - You're adding gates without knowing the full sequence
539
+ - You're emitting signals without knowing what listens
540
+ - You're modifying existing flows without checking validation
541
+
542
+ ## MCP Tools
543
+
544
+ | Tool | Purpose |
545
+ |------|---------|
546
+ | \`paradigm_flow_validate\` | Validate flow definitions |
547
+ | \`paradigm_flows_affected\` | Check which flows are impacted by symbol changes |
548
+
549
+ ## CLI Commands
550
+
551
+ \`\`\`bash
552
+ # Validate all flows
553
+ paradigm flow validate --all
554
+
555
+ # Validate specific flow
556
+ paradigm flow validate $task-creation
557
+ \`\`\`
558
+ `}generateCommitsMdc(){return g("Paradigm commit conventions with Symbols: trailer - apply when creating git commits for history tracking.")+v()}generateMcpConfig(s){return {mcpServers:{paradigm:{command:"paradigm-mcp",args:["."],cwd:s}}}}},O=new G;function M(e,s){if(!e&&true)return "";let n=["---"];return e&&n.push(`applyTo: "${e}"`),n.push("---",""),n.join(`
559
+ `)}var H=class{name="copilot";displayName="GitHub Copilot";outputPath=".github/instructions";multiFile=true;detect(s){return !!(r.existsSync(c.join(s,".github","instructions"))||r.existsSync(c.join(s,".github","copilot-instructions.md")))}generate(s){return this.generateFiles(s).map(a=>`# ${a.path}
560
+
561
+ ${a.content}`).join(`
562
+
563
+ ---
564
+
565
+ `)}generateFiles(s){let{config:n,projectName:a}=s,t=[];return t.push({path:"../copilot-instructions.md",content:this.generateCoreInstructions(a,n)}),t.push({path:"paradigm-symbols.instructions.md",content:this.generateSymbolInstructions(n)}),w(n)&&t.push({path:"paradigm-logging.instructions.md",content:this.generateLoggingInstructions(n)}),t.push({path:"paradigm-purpose.instructions.md",content:this.generatePurposeInstructions()}),t.push({path:"paradigm-portal.instructions.md",content:this.generatePortalInstructions()}),t.push({path:"paradigm-conventions.instructions.md",content:this.generateConventionsInstructions(n)}),t.push({path:"paradigm-commands.instructions.md",content:this.generateCommandsInstructions()}),t.push({path:"paradigm-agent-hints.instructions.md",content:this.generateAgentHintsInstructions()}),t.push({path:"paradigm-commits.instructions.md",content:this.generateCommitsInstructions()}),t}generateCoreInstructions(s,n){let a=P(n);return `# Copilot Instructions for ${s}
566
+
567
+ This file provides context for GitHub Copilot. Generated by Paradigm.
568
+
569
+ ${a}
570
+
571
+ ${S(n)}
572
+
573
+ ---
574
+
575
+ ## Additional Context
576
+
577
+ For detailed specifications, reference these files:
578
+
579
+ - \`.paradigm/specs/symbols.md\` - Complete symbol reference
580
+ - \`.paradigm/specs/logger.md\` - Logging specification
581
+ - \`.paradigm/specs/scan.md\` - Visual discovery protocol
582
+ - \`.paradigm/docs/\` - Documentation and troubleshooting
583
+ - \`.paradigm/prompts/\` - Pre-written task prompts
584
+
585
+ *Generated by Paradigm. Run \`paradigm sync copilot\` to regenerate.*
586
+ `}generateSymbolInstructions(s){return M("**/*.ts,**/*.tsx,**/*.js,**/*.jsx")+`# Paradigm Symbol System
587
+
588
+ ${C(s)}
589
+ `}generateLoggingInstructions(s){return M("**/*.ts,**/*.tsx,**/*.js,**/*.jsx")+`# Paradigm Logging
590
+
591
+ ${w(s)}
592
+ `}generatePurposeInstructions(){return M("**/.purpose")+`# Purpose Files
593
+
594
+ Purpose files (\`.purpose\`) define the context for directories.
595
+
596
+ ## Format
597
+
598
+ \`\`\`yaml
599
+ # Directory context
600
+ description: What this directory contains and why
601
+
602
+ # Components (# symbol) \u2014 all documented code units
603
+ components:
604
+ component-name:
605
+ description: What this component does
606
+ tags: [feature] # Classification via tag bank
607
+ gates: [^gate1, ^gate2] # Required gates
608
+ signals: [!signal1] # Events emitted
609
+ used-by: [#other-component]
610
+ \`\`\`
611
+
612
+ ## Symbol References (v2)
613
+
614
+ - Reference components: \`#component-name\`
615
+ - Reference flows: \`$flow-name\`
616
+ - Reference gates: \`^gate-name\`
617
+ - Reference signals: \`!signal-name\`
618
+ - Reference aspects: \`~aspect-name\`
619
+ `}generatePortalInstructions(){return M("**/portal.yaml")+`# Portal Configuration
620
+
621
+ Portal files (\`portal.yaml\`) define authorization topology.
622
+
623
+ ## Format
624
+
625
+ \`\`\`yaml
626
+ version: "1.0"
627
+
628
+ gates:
629
+ gate-name:
630
+ description: What this gate protects
631
+ locks:
632
+ - id: lock-id
633
+ description: Requirement description
634
+ keys:
635
+ - expression: "user.authenticated"
636
+ description: User must be logged in
637
+ prizes:
638
+ - id: prize-id
639
+ oneTime: true
640
+ metadata:
641
+ event: "gate_passed"
642
+
643
+ flows:
644
+ flow-name:
645
+ description: User journey
646
+ gates: [gate1, gate2, gate3]
647
+ \`\`\`
648
+
649
+ ## Portal Validation
650
+
651
+ Use the Portal Validator for authorization checks:
652
+
653
+ \`\`\`typescript
654
+ import { portal } from '@a-company/portal-sdk/validator';
655
+
656
+ const gate = portal.check('^gate-name')
657
+ .requires('requirement description')
658
+ .context({ userId, role });
659
+
660
+ if (!condition) {
661
+ gate.deny('Reason for denial');
662
+ return redirect('/unauthorized');
663
+ }
664
+
665
+ gate.allow('Access granted');
666
+ \`\`\`
667
+ `}generateConventionsInstructions(s){return M("**/*.ts,**/*.tsx,**/*.js,**/*.jsx")+`# Paradigm Conventions
668
+
669
+ ${b(s)}
670
+ `}generateCommandsInstructions(){return `# Paradigm CLI Commands
671
+
672
+ ${x()}
673
+ `}generateAgentHintsInstructions(){return `# Agent CLI Queries (Token-Efficient)
674
+
675
+ Instead of reading large context files, query Paradigm CLI on-demand for fresh, precise data.
676
+
677
+ ## When to Query
678
+
679
+ | Before doing this... | Run this command |
680
+ |---------------------|------------------|
681
+ | Modifying a symbol | \`paradigm ripple #symbol --json\` |
682
+ | Debugging an error | \`paradigm echo ERROR_CODE --json\` |
683
+ | Starting a session | \`paradigm thread --json\` |
684
+ | Understanding relationships | \`paradigm constellation\` |
685
+ | Getting oriented | \`paradigm beacon --json\` |
686
+
687
+ ## Query Patterns
688
+
689
+ ### Before Changing Code
690
+
691
+ \`\`\`bash
692
+ # See what depends on what you're changing
693
+ paradigm ripple #checkout --json
694
+
695
+ # Output includes: upstream deps, downstream effects, flow membership
696
+ \`\`\`
697
+
698
+ ### When Debugging
699
+
700
+ \`\`\`bash
701
+ # Look up error context
702
+ paradigm echo AUTH_REQUIRED --json
703
+
704
+ # Then check ripple effects of the related symbol
705
+ paradigm ripple ^authenticated --json
706
+ \`\`\`
707
+
708
+ ### Starting Work
709
+
710
+ \`\`\`bash
711
+ # Check previous session context
712
+ paradigm thread --json
713
+
714
+ # Quick orientation
715
+ paradigm beacon --json
716
+ \`\`\`
717
+
718
+ ### Querying Constellation
719
+
720
+ \`\`\`bash
721
+ # Get specific symbol
722
+ jq '.stars["#checkout"]' .paradigm/constellation.json
723
+
724
+ # Find what requires a gate
725
+ jq '[.stars | to_entries[] | select(.value.gates[]? == "^authenticated") | .key]' .paradigm/constellation.json
726
+
727
+ # List all flows
728
+ jq '.orbits | keys' .paradigm/constellation.json
729
+ \`\`\`
730
+
731
+ ## Benefits
732
+
733
+ - **Fresh data**: Always current, not stale from file generation
734
+ - **Precise**: Only get the data you need
735
+ - **Token-efficient**: ~100 tokens per query vs ~2000 upfront
736
+ `}generateCommitsInstructions(){return `# Paradigm Commit Conventions
737
+
738
+ ${v()}
739
+ `}},L=new H;var Q=class{name="windsurf";displayName="Windsurf";outputPath=".windsurfrules";detect(s){return !!(r.existsSync(c.join(s,".windsurfrules"))||r.existsSync(c.join(s,".windsurf")))}generate(s){let{config:n,projectName:a}=s,t=[];t.push(se(a,this.displayName)),t.push(P(n)),t.push(C(n));let i=w(n);i&&t.push(i);let o=ne(n);return o&&t.push(o),t.push(S(n)),t.push(b(n)),t.push(v()),t.push(x()),t.push(pe()),t.filter(p=>p.trim()).join(`
740
+ `)}},W=new Q;var Y=class{name="claude";displayName="Claude";outputPath="CLAUDE.md";detect(s){return !!r.existsSync(c.join(s,"CLAUDE.md"))}generate(s){let{config:n,projectName:a}=s,t=[];t.push(`# ${a} - Claude Context`),t.push(""),t.push("> **Paradigm v2.0** | For Claude Code, Claude API, and Claude-native interfaces"),t.push(">"),t.push("> **Author:** Matt Canoy ([@ascend42](https://github.com/ascend42)) | **Repo:** [github.com/ascend42/a-paradigm](https://github.com/ascend42/a-paradigm) | **npm:** [@a-company/paradigm](https://www.npmjs.com/package/@a-company/paradigm) | **Plugin:** `paradigm` via Claude Code marketplace"),t.push(""),t.push("## Project Overview"),t.push(""),n["agent-guidelines"]?.overview&&t.push(n["agent-guidelines"].overview),t.push(""),t.push("## Quick Orientation"),t.push(""),t.push("```"),t.push(".paradigm/config.yaml \u2192 Project configuration"),t.push(".paradigm/specs/ \u2192 Detailed specifications"),t.push(".paradigm/docs/ \u2192 Commands, patterns, troubleshooting"),t.push(".cursorrules \u2192 IDE instructions (if using Cursor)"),t.push("portal.yaml \u2192 Security/auth definitions"),t.push(".paradigm/lore/ \u2192 Project timeline and history"),t.push("```"),t.push(""),t.push("## Symbol System"),t.push(""),t.push("Use these prefixes in documentation and commits:"),t.push(""),t.push("| Symbol | Meaning | Example |"),t.push("|--------|---------|---------|");let i=n["symbol-system"];if(i)for(let[p,u]of Object.entries(i)){let d=u.examples?.[0]||`${p}example`;t.push(`| \`${p}\` | ${u.name} | \`${d}\` |`);}t.push("");let o=b(n);if(o&&t.push(o),t.push(v()),t.push("## Agent Onboarding"),t.push(""),t.push("**First session:** Call `paradigm_status` \u2192 read `.paradigm/config.yaml` \u2192 check `portal.yaml`"),t.push(""),t.push("**Before each task:** `paradigm_ripple` for impact, `paradigm_gates_for_route` for new endpoints"),t.push(""),t.push("**Resuming:** Call `paradigm_session_recover`"),t.push(""),t.push("## Before Implementing"),t.push(""),t.push("0. Call `paradigm_protocol_search` \u2014 if a protocol matches, follow it"),t.push('1. Complex task (3+ files)? \u2192 `paradigm_orchestrate_inline` mode="plan"'),t.push("2. Affects symbols? \u2192 `paradigm_ripple`"),t.push("3. Adds endpoints? \u2192 `paradigm_gates_for_route`"),t.push(""),t.push("## Automatic Enforcement (Hooks)"),t.push(""),t.push("The stop hook **BLOCKS** if source files were modified without .purpose updates."),t.push(""),t.push("| Hook | Behavior |"),t.push("|------|----------|"),t.push("| **Stop** | Blocks on: missing .purpose, missing portal.yaml gates, aspect drift, stale purposes |"),t.push("| **Pre-commit** | Auto-rebuilds index \u2014 never blocks |"),t.push("| **Post-write** | Advisory reminder for .purpose coverage |"),t.push(""),t.push("**If blocked:** Update .purpose files \u2192 update portal.yaml if needed \u2192 `paradigm_reindex` \u2192 finish"),t.push(""),t.push("## Maintaining Paradigm Files"),t.push(""),t.push("**You MUST update Paradigm files when making code changes:**"),t.push(""),t.push("- Add feature \u2192 create `.purpose` in directory"),t.push("- Add protected route \u2192 update `portal.yaml` with gates"),t.push("- Add signal/event \u2192 add to `.purpose`"),t.push("- Add multi-step flow \u2192 document as `$flow`"),t.push("- Rename/delete symbol \u2192 update all references"),t.push("- Record lore via `paradigm_lore_record` for sessions modifying 3+ files"),t.push("- Use Paradigm logger (`log.component()`, `log.gate()`, etc.) \u2014 never raw console.log"),t.push(""),t.push("**Auth requires portal.yaml** if your code has JWT, role checks, ownership checks, or protected endpoints."),t.push(""),t.push("## On-Demand Guidance"),t.push(""),t.push("Detailed guidance is available via MCP resources \u2014 load only what you need:"),t.push(""),t.push("| Topic | Resource |"),t.push("|-------|----------|"),t.push("| Logging rules & directory mapping | `paradigm://guidance/logging` |"),t.push("| Portal protocol & gate patterns | `paradigm://guidance/portal` |"),t.push("| MCP workflow & token budgets | `paradigm://guidance/mcp-workflow` |"),t.push("| Flow-first development | `paradigm://guidance/flows` |"),t.push("| Multi-agent orchestration | `paradigm://guidance/orchestration` |"),t.push("| Workspaces (multi-project) | `paradigm://guidance/workspaces` |"),t.push("| University (knowledge base) | `paradigm://guidance/university` |"),t.push("| Confidence calibration | `paradigm://guidance/calibration` |"),t.push("| Session checkpoints | `paradigm://guidance/checkpoints` |"),t.push("| Navigation & task recipes | `paradigm://guidance/navigation` |"),t.push("| Component types & hierarchy | `paradigm://guidance/component-types` |"),t.push("| Troubleshooting | `paradigm://guidance/troubleshooting` |"),t.push(""),s.agents?.length){let p=s.agents.flatMap(u=>(u.context?.contributions||[]).filter(d=>d.priority==="high"&&d.content).map(d=>({agent:u.id,section:d.section,content:d.content})));if(p.length>0){t.push("## Agent Contributions"),t.push("");for(let u of p)t.push(`### ${u.section} (${u.agent})`),t.push(""),t.push(u.content),t.push("");}}if(n["purpose-required"]?.length){t.push("## Directory Structure"),t.push(""),t.push("`.purpose` files exist in:");for(let p of n["purpose-required"])t.push(`- \`${p.pattern}\``);t.push("");}return t.push("---"),t.push(""),t.push("*See `.paradigm/specs/` for specifications. Run `paradigm sync` to regenerate.*"),t.filter(p=>p!==void 0).join(`
741
+ `)}generateMcpConfig(s){return {mcpServers:{paradigm:{command:"paradigm-mcp",args:["."],cwd:s}}}}generateNestedContexts(s,n){let a=[],t=me(s);for(let i of t){let o=c.dirname(i),p=c.relative(s,o);if(p===""||p===".")continue;let u=r.readFileSync(i,"utf8"),d=this.generateDirectoryContext(p,u,n);a.push({path:c.join(p,"CLAUDE.md"),content:d});}return a}generateDirectoryContext(s,n,a){let t=[],i=c.basename(s);return t.push(`# ${i} - Directory Context`),t.push(""),t.push(`> Part of ${a.projectName} | See root CLAUDE.md for project overview`),t.push(""),t.push("## Purpose"),t.push(""),t.push("```yaml"),t.push(n.trim()),t.push("```"),t.push(""),t.push("## Quick Reference"),t.push(""),t.push(`- **Path**: \`${s}\``),t.push("- **Config**: See `.paradigm/config.yaml`"),t.push("- **Patterns**: See `.paradigm/docs/patterns.md`"),t.push(""),t.push("## Symbols"),t.push(""),t.push("`#` component | `$` flow | `^` gate | `!` signal | `~` aspect"),t.push(""),t.push("---"),t.push(""),t.push("*Auto-generated by `paradigm sync claude`. Edit .purpose file to update.*"),t.join(`
742
+ `)}};function me(e){let s=[];function n(a){let t=r.readdirSync(a,{withFileTypes:true});for(let i of t){let o=c.join(a,i.name);if(i.isDirectory()){if(i.name.startsWith(".")||i.name==="node_modules")continue;n(o);}else i.name===".purpose"&&s.push(o);}}return n(e),s}var J=new Y;var K=class{name="agents";displayName="AGENTS.md";outputPath="AGENTS.md";multiFile=false;detect(s){return r.existsSync(c.join(s,"AGENTS.md"))}generate(s){let{config:n,projectName:a}=s,t=[];t.push(`# ${a} - AI Agent Instructions`),t.push(""),t.push("> Generated by [Paradigm](https://github.com/anthropics/paradigm) v2.0 | Universal AI agent instruction file"),t.push(""),t.push(P(n)),t.push(C(n));let i=b(n);i&&t.push(i);let o=w(n);o&&t.push(o),t.push(ie()),t.push(ae()),t.push(re()),t.push(v()),t.push(oe()),t.push($()),t.push(E()),t.push(D()),t.push(U());let p=S(n);return p&&t.push(p),t.push(x()),t.push("---"),t.push(""),t.push("*Generated by Paradigm. Run `paradigm sync agents` to regenerate.*"),t.filter(u=>u!==void 0&&u!=="").join(`
743
+ `)}},X=new K;var Z=new Map([["cursor",O],["copilot",L],["windsurf",W],["claude",J],["agents",X]]);function ee(e){return Z.get(e.toLowerCase())}function he(){return Array.from(Z.keys())}function Ee(e){return O.detect(e)?{detected:"cursor",confidence:"high",reason:"Found .cursor directory or .cursorrules file"}:W.detect(e)?{detected:"windsurf",confidence:"high",reason:"Found .windsurf directory or .windsurfrules file"}:L.detect(e)?{detected:"copilot",confidence:"medium",reason:"Found .github/copilot-instructions.md file"}:r.existsSync(c.join(e,".vscode"))?{detected:"cursor",confidence:"low",reason:"Found .vscode directory, defaulting to Cursor format"}:{detected:null,confidence:"low",reason:"No IDE markers found"}}function De(e$1){let s=c.join(e$1,".paradigm"),n=c.join(e$1,".paradigm"),a,t,i;if(r.existsSync(s)&&r.statSync(s).isDirectory())a=c.join(s,"config.yaml"),t=c.join(s,"specs"),i=c.join(s,"docs");else if(r.existsSync(n)&&r.statSync(n).isFile())a=n,t="",i="";else return null;if(!r.existsSync(a))return null;let o;try{let f=r.readFileSync(a,"utf8");o=e(f);}catch{return null}let p={};if(t&&r.existsSync(t)){let f=["logger.md","scan.md","symbols.md"];for(let h of f){let y=c.join(t,h);if(r.existsSync(y)){let _=h.replace(".md","");p[_]=r.readFileSync(y,"utf8");}}}let u={};if(i&&r.existsSync(i)){let f=["commands.md","patterns.md","troubleshooting.md"];for(let h of f){let y=c.join(i,h);if(r.existsSync(y)){let _=h.replace(".md","");u[_]=r.readFileSync(y,"utf8");}}}let d,l=c.join(e$1,".paradigm","agents");if(r.existsSync(l))try{let f=r.readdirSync(l).filter(y=>y.endsWith(".agent")),h=[];for(let y of f)try{let _=r.readFileSync(c.join(l,y),"utf8"),F=N.load(_);F?.id&&h.push({id:F.id,role:F.role,context:F.context});}catch{}h.length>0&&(d=h);}catch{}let m,I=N.load(r.readFileSync(a,"utf8")).workspace;if(typeof I=="string"){let f=c.resolve(e$1,I);if(r.existsSync(f))try{let h=N.load(r.readFileSync(f,"utf8")),y=c.dirname(f),_=h.members?.find(F=>c.resolve(y,F.path)===e$1)?.name||c.basename(e$1);m={name:h.name,currentMember:_,members:h.members||[]};}catch{}}return {config:o,specs:p,docs:u,projectName:c.basename(e$1),workspace:m,agents:d}}function fe(e,s,n,a=false){let t=ee(s);if(!t)return {success:false,ide:s,outputPath:"",message:`Unknown IDE: ${s}. Available: ${he().join(", ")}`};let i=c.join(e,t.outputPath);try{if(t.multiFile&&t.generateFiles)return ye(e,t,n,a);!a&&r.existsSync(i);let o=c.dirname(i);r.existsSync(o)||r.mkdirSync(o,{recursive:!0});let p=t.generate(n);return r.writeFileSync(i,p,"utf8"),{success:!0,ide:s,outputPath:i,message:`Generated ${t.outputPath}`}}catch(o){return {success:false,ide:s,outputPath:i,message:`Failed to write ${t.outputPath}: ${o.message}`}}}function ye(e,s,n,a){let t=c.join(e,s.outputPath);r.existsSync(t)||r.mkdirSync(t,{recursive:true});let i=s.generateFiles(n,e),o=[];for(let l of i){let m;l.path.startsWith("../")?m=c.join(t,l.path):m=c.join(t,l.path);let j=c.dirname(m);r.existsSync(j)||r.mkdirSync(j,{recursive:true}),!a&&r.existsSync(m),r.writeFileSync(m,l.content,"utf8"),o.push(l.path);}if(s.name==="cursor"){let l=c.join(e,".cursorrules");if(r.existsSync(l)){let m=c.join(e,".cursorrules.bak");r.existsSync(m)||r.renameSync(l,m);}}let p=o.filter(l=>!l.startsWith("../")),u=o.filter(l=>l.startsWith("../")),d=`Generated ${p.length} files in ${s.outputPath}/`;return u.length>0&&(d+=` + ${u.length} additional file(s)`),{success:true,ide:s.name,outputPath:t,message:d}}function Ue(e,s,n=false){let a=[];for(let[t]of Z)a.push(fe(e,t,s,n));return a}function Oe(e,s){let n=ee(s);if(!n||!n.generateMcpConfig)return {success:false,path:"",message:`IDE ${s} does not support MCP configuration`};let a=n.generateMcpConfig(e),t;switch(s){case "cursor":t=c.join(e,".cursor","mcp.json");break;case "claude":t=c.join(e,".mcp.json");break;default:return {success:false,path:"",message:`Unknown MCP config path for ${s}`}}try{let i=c.dirname(t);r.existsSync(i)||r.mkdirSync(i,{recursive:!0});let o={};if(r.existsSync(t)){let u=r.readFileSync(t,"utf8");o=JSON.parse(u);}let p={...o,mcpServers:{...o.mcpServers||{},...a.mcpServers}};if(s==="claude"){let u=o.permissions||{},d=u.allow||[],l="Bash(paradigm *)";d.includes(l)||(p.permissions={...u,allow:[...d,l]});}return r.writeFileSync(t,JSON.stringify(p,null,2)),{success:!0,path:t,message:`MCP configuration written to ${c.relative(e,t)}`}}catch(i){return {success:false,path:t,message:`Failed to write MCP config: ${i.message}`}}}function Le(e,s,n){let a=ee(s);if(!a||!a.generateNestedContexts)return {success:false,count:0,message:`IDE ${s} does not support nested contexts`};try{let t=a.generateNestedContexts(e,n);for(let i of t){let o=c.join(e,i.path),p=c.dirname(o);r.existsSync(p)||r.mkdirSync(p,{recursive:!0}),r.writeFileSync(o,i.content,"utf8");}return {success:!0,count:t.length,message:`Generated ${t.length} nested context files`}}catch(t){return {success:false,count:0,message:`Failed to write nested contexts: ${t.message}`}}}export{ee as a,he as b,Ee as c,De as d,fe as e,Ue as f,Oe as g,Le as h};