@phake/lanework 0.1.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 (370) hide show
  1. package/cli.mjs +58 -0
  2. package/dist-local/client/android-chrome-192x192.png +0 -0
  3. package/dist-local/client/android-chrome-512x512.png +0 -0
  4. package/dist-local/client/apple-touch-icon.png +0 -0
  5. package/dist-local/client/assets/Tag01Icon-DNgtGZ3r.js +1 -0
  6. package/dist-local/client/assets/abap-CLvhMVsD.js +1 -0
  7. package/dist-local/client/assets/actionscript-3--17pq3dv.js +1 -0
  8. package/dist-local/client/assets/ada-C5qYipkI.js +1 -0
  9. package/dist-local/client/assets/andromeeda-vGVdxbeo.js +1 -0
  10. package/dist-local/client/assets/angular-html-DrvEcI8G.js +1 -0
  11. package/dist-local/client/assets/angular-ts-D8CUV3s9.js +1 -0
  12. package/dist-local/client/assets/apache-U0d_L8uA.js +1 -0
  13. package/dist-local/client/assets/apex-VAyPSnFM.js +1 -0
  14. package/dist-local/client/assets/apl-PcM4Dp7k.js +1 -0
  15. package/dist-local/client/assets/app-DMYVKfjU.css +2 -0
  16. package/dist-local/client/assets/applescript-CCn79oCD.js +1 -0
  17. package/dist-local/client/assets/ara-4CJ0cIlV.js +1 -0
  18. package/dist-local/client/assets/asciidoc-DE70LPWp.js +1 -0
  19. package/dist-local/client/assets/asm-Cmm7eHzH.js +1 -0
  20. package/dist-local/client/assets/astro-DcteBnKj.js +1 -0
  21. package/dist-local/client/assets/aurora-x-CDeNXAV0.js +1 -0
  22. package/dist-local/client/assets/awk-BWXHIvNe.js +1 -0
  23. package/dist-local/client/assets/ayu-dark-DluEY0Gj.js +1 -0
  24. package/dist-local/client/assets/ayu-light-C3h-C4tm.js +1 -0
  25. package/dist-local/client/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  26. package/dist-local/client/assets/ballerina-B7ZEbQpA.js +1 -0
  27. package/dist-local/client/assets/bat-Bo4NYOV-.js +1 -0
  28. package/dist-local/client/assets/beancount-D-usSTwE.js +1 -0
  29. package/dist-local/client/assets/berry-DKpUyyne.js +1 -0
  30. package/dist-local/client/assets/bibtex-Ci_nEsc7.js +1 -0
  31. package/dist-local/client/assets/bicep-CUHmPFLl.js +1 -0
  32. package/dist-local/client/assets/bird2-C6vDhewU.js +1 -0
  33. package/dist-local/client/assets/blade-6YnoPBU8.js +1 -0
  34. package/dist-local/client/assets/board._owner._repo-DyrvTwhk.js +1 -0
  35. package/dist-local/client/assets/board._owner._repo-hvj6B94q.js +38 -0
  36. package/dist-local/client/assets/bsl-BkkzgIyY.js +1 -0
  37. package/dist-local/client/assets/c-PpPxyn8g.js +1 -0
  38. package/dist-local/client/assets/c3-BFHwR3_K.js +1 -0
  39. package/dist-local/client/assets/cadence-CQ2zXKGN.js +1 -0
  40. package/dist-local/client/assets/cairo-DLTphjLi.js +1 -0
  41. package/dist-local/client/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
  42. package/dist-local/client/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
  43. package/dist-local/client/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
  44. package/dist-local/client/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
  45. package/dist-local/client/assets/chunk-Cyuzqnbw.js +1 -0
  46. package/dist-local/client/assets/clarity-SemFz856.js +1 -0
  47. package/dist-local/client/assets/clojure-DqKBuwfJ.js +1 -0
  48. package/dist-local/client/assets/cmake-Bj61d0ZC.js +1 -0
  49. package/dist-local/client/assets/cobol-IOjEjPmG.js +1 -0
  50. package/dist-local/client/assets/codeowners-C8r90Shi.js +1 -0
  51. package/dist-local/client/assets/codeql-oeQT6MSM.js +1 -0
  52. package/dist-local/client/assets/coffee-B5TREocO.js +1 -0
  53. package/dist-local/client/assets/common-lisp-Cv5bFMCO.js +1 -0
  54. package/dist-local/client/assets/coq-BrsZFFmf.js +1 -0
  55. package/dist-local/client/assets/cpp-C4ceAJBi.js +1 -0
  56. package/dist-local/client/assets/crystal-CgtjlE18.js +1 -0
  57. package/dist-local/client/assets/csharp-oqKa8noW.js +1 -0
  58. package/dist-local/client/assets/css-Dflf0SUa.js +1 -0
  59. package/dist-local/client/assets/csv-Dx-8-gkx.js +1 -0
  60. package/dist-local/client/assets/cue-CE9AQfxI.js +1 -0
  61. package/dist-local/client/assets/cypher-ClKdZ_lG.js +1 -0
  62. package/dist-local/client/assets/d-qD-0Kul2.js +1 -0
  63. package/dist-local/client/assets/dark-plus-Cs2F2srj.js +1 -0
  64. package/dist-local/client/assets/dart-CnvKMtbv.js +1 -0
  65. package/dist-local/client/assets/dax-BkyTk9wS.js +1 -0
  66. package/dist-local/client/assets/desktop-Dlh5hvp9.js +1 -0
  67. package/dist-local/client/assets/diff-woXpYk--.js +1 -0
  68. package/dist-local/client/assets/dist-DZ2bn-Z6.js +153 -0
  69. package/dist-local/client/assets/docker-IyjqRm3v.js +1 -0
  70. package/dist-local/client/assets/dotenv-_5a1GRtc.js +1 -0
  71. package/dist-local/client/assets/dracula-BHWKrbxM.js +1 -0
  72. package/dist-local/client/assets/dracula-soft-5eyTD99u.js +1 -0
  73. package/dist-local/client/assets/dream-maker-DW3nJb8Q.js +1 -0
  74. package/dist-local/client/assets/edge-DoVTVjme.js +1 -0
  75. package/dist-local/client/assets/elixir-CzgPtVDf.js +1 -0
  76. package/dist-local/client/assets/elm-Cm7sFdI1.js +1 -0
  77. package/dist-local/client/assets/emacs-lisp-B4R74twV.js +1 -0
  78. package/dist-local/client/assets/erb-p0q977En.js +1 -0
  79. package/dist-local/client/assets/erlang-Cphh6RMH.js +1 -0
  80. package/dist-local/client/assets/everforest-dark-sB-x3p7T.js +1 -0
  81. package/dist-local/client/assets/everforest-light-Df2xbC6M.js +1 -0
  82. package/dist-local/client/assets/fennel-DQxkIbk2.js +1 -0
  83. package/dist-local/client/assets/fish-BJitypiv.js +1 -0
  84. package/dist-local/client/assets/fluent-C03EYrpw.js +1 -0
  85. package/dist-local/client/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
  86. package/dist-local/client/assets/fortran-free-form-CYNrtFtB.js +1 -0
  87. package/dist-local/client/assets/fsharp-D13ZGOAj.js +1 -0
  88. package/dist-local/client/assets/gdresource-C0sCabJj.js +1 -0
  89. package/dist-local/client/assets/gdscript-Cp2uCuqX.js +1 -0
  90. package/dist-local/client/assets/gdshader-CBce3t8t.js +1 -0
  91. package/dist-local/client/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  92. package/dist-local/client/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  93. package/dist-local/client/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  94. package/dist-local/client/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  95. package/dist-local/client/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
  96. package/dist-local/client/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
  97. package/dist-local/client/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
  98. package/dist-local/client/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
  99. package/dist-local/client/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
  100. package/dist-local/client/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
  101. package/dist-local/client/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  102. package/dist-local/client/assets/gemini-2_FJD5P-.js +1 -0
  103. package/dist-local/client/assets/genie-CV2tkWYe.js +1 -0
  104. package/dist-local/client/assets/gherkin-DExj1W_8.js +1 -0
  105. package/dist-local/client/assets/git-commit-BSykSTBG.js +1 -0
  106. package/dist-local/client/assets/git-rebase-D2tSwjJb.js +1 -0
  107. package/dist-local/client/assets/github-dark-C-LZuMrd.js +1 -0
  108. package/dist-local/client/assets/github-dark-default-DXG-b-1a.js +1 -0
  109. package/dist-local/client/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  110. package/dist-local/client/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  111. package/dist-local/client/assets/github-light-EUqPIrTm.js +1 -0
  112. package/dist-local/client/assets/github-light-default-BXViO-2h.js +1 -0
  113. package/dist-local/client/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  114. package/dist-local/client/assets/gleam-CSRkHgEL.js +1 -0
  115. package/dist-local/client/assets/glimmer-js-JMWzPMQ2.js +1 -0
  116. package/dist-local/client/assets/glimmer-ts-DG5GCT78.js +1 -0
  117. package/dist-local/client/assets/glsl-MPwHyiXQ.js +1 -0
  118. package/dist-local/client/assets/gn-ilITqXS6.js +1 -0
  119. package/dist-local/client/assets/gnuplot-7GGW24-e.js +1 -0
  120. package/dist-local/client/assets/go-rLFTqkRN.js +1 -0
  121. package/dist-local/client/assets/graphql-NW854Khs.js +1 -0
  122. package/dist-local/client/assets/groovy-CacY0gHj.js +1 -0
  123. package/dist-local/client/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  124. package/dist-local/client/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  125. package/dist-local/client/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  126. package/dist-local/client/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  127. package/dist-local/client/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  128. package/dist-local/client/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  129. package/dist-local/client/assets/guide-BXJBZbQA.js +115 -0
  130. package/dist-local/client/assets/hack-C4J_0T1S.js +1 -0
  131. package/dist-local/client/assets/haml-qGg_91I2.js +1 -0
  132. package/dist-local/client/assets/handlebars-BU7OV8YS.js +1 -0
  133. package/dist-local/client/assets/haskell-D8IpX4py.js +1 -0
  134. package/dist-local/client/assets/haxe-OTjmBuCE.js +1 -0
  135. package/dist-local/client/assets/hcl-Dh228itO.js +1 -0
  136. package/dist-local/client/assets/hjson-CxZEssPk.js +1 -0
  137. package/dist-local/client/assets/hlsl-Cvrh5tZx.js +1 -0
  138. package/dist-local/client/assets/horizon-CE9ld1lL.js +1 -0
  139. package/dist-local/client/assets/horizon-bright-DSNQnXHK.js +1 -0
  140. package/dist-local/client/assets/houston-CsvMBhTu.js +1 -0
  141. package/dist-local/client/assets/html-derivative-CWPAmHEG.js +1 -0
  142. package/dist-local/client/assets/html-x4KE3xEi.js +1 -0
  143. package/dist-local/client/assets/http-HvMG3K54.js +1 -0
  144. package/dist-local/client/assets/hurl-CLh1t2ES.js +1 -0
  145. package/dist-local/client/assets/hxml-B0Qn7Nwc.js +1 -0
  146. package/dist-local/client/assets/hy-CZbG8q4J.js +1 -0
  147. package/dist-local/client/assets/imba-DsUTQ-LC.js +1 -0
  148. package/dist-local/client/assets/index-TbIMjf2L.js +12 -0
  149. package/dist-local/client/assets/ini-B5eOa1yu.js +1 -0
  150. package/dist-local/client/assets/java-Cst_eZTE.js +1 -0
  151. package/dist-local/client/assets/javascript-i_rUTyCW.js +1 -0
  152. package/dist-local/client/assets/jinja-ISwn25cN.js +1 -0
  153. package/dist-local/client/assets/jison-D9Fg2JgN.js +1 -0
  154. package/dist-local/client/assets/json-DS5j4FfK.js +1 -0
  155. package/dist-local/client/assets/json5-BR5RXkoi.js +1 -0
  156. package/dist-local/client/assets/jsonc-CYpm1nAK.js +1 -0
  157. package/dist-local/client/assets/jsonl-CmCQp5Yx.js +1 -0
  158. package/dist-local/client/assets/jsonnet-CJTPZ8u_.js +1 -0
  159. package/dist-local/client/assets/jssm-DXw9l8Rf.js +1 -0
  160. package/dist-local/client/assets/jsx-CFyhNHav.js +1 -0
  161. package/dist-local/client/assets/julia-BRnC1exM.js +1 -0
  162. package/dist-local/client/assets/just-BWbKChh7.js +1 -0
  163. package/dist-local/client/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
  164. package/dist-local/client/assets/kanagawa-lotus-BN08jTvb.js +1 -0
  165. package/dist-local/client/assets/kanagawa-wave-CTweb8Dz.js +1 -0
  166. package/dist-local/client/assets/kdl-CsD5j6eV.js +1 -0
  167. package/dist-local/client/assets/kotlin-DhhofPvG.js +1 -0
  168. package/dist-local/client/assets/kusto-C7mF5XQf.js +1 -0
  169. package/dist-local/client/assets/laserwave-C_8bwKvT.js +1 -0
  170. package/dist-local/client/assets/latex-DoFV6f5B.js +1 -0
  171. package/dist-local/client/assets/lean-CewbzKMR.js +1 -0
  172. package/dist-local/client/assets/less-DVTAwKKz.js +1 -0
  173. package/dist-local/client/assets/light-plus-DVQuIRkW.js +1 -0
  174. package/dist-local/client/assets/link-CUk1Z0N6.js +1 -0
  175. package/dist-local/client/assets/liquid-BGxpJKqJ.js +1 -0
  176. package/dist-local/client/assets/llvm-Cm23YOpf.js +1 -0
  177. package/dist-local/client/assets/log-BNLmms1o.js +1 -0
  178. package/dist-local/client/assets/logo-Cluzi2Zq.js +1 -0
  179. package/dist-local/client/assets/lua-VoGSg0xb.js +1 -0
  180. package/dist-local/client/assets/luau-FMPmPwt6.js +1 -0
  181. package/dist-local/client/assets/make-Dixweg8N.js +1 -0
  182. package/dist-local/client/assets/markdown-BYOwaDjH.js +1 -0
  183. package/dist-local/client/assets/marko-E8KxKzjy.js +1 -0
  184. package/dist-local/client/assets/material-theme-Bm3Qr25_.js +1 -0
  185. package/dist-local/client/assets/material-theme-darker-2IIEA8gg.js +1 -0
  186. package/dist-local/client/assets/material-theme-lighter-uhdI0v04.js +1 -0
  187. package/dist-local/client/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  188. package/dist-local/client/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  189. package/dist-local/client/assets/matlab-D7qyCx1q.js +1 -0
  190. package/dist-local/client/assets/mdc-ytrN0-8H.js +1 -0
  191. package/dist-local/client/assets/mdx-DQZ5AkYe.js +1 -0
  192. package/dist-local/client/assets/mermaid-Bk4SNUv9.js +1 -0
  193. package/dist-local/client/assets/min-dark-BSWPekZh.js +1 -0
  194. package/dist-local/client/assets/min-light-DDpmG2fV.js +1 -0
  195. package/dist-local/client/assets/mipsasm-BMqwQI7S.js +1 -0
  196. package/dist-local/client/assets/mojo-BgCJLMeH.js +1 -0
  197. package/dist-local/client/assets/monokai-CdkpiU2Y.js +1 -0
  198. package/dist-local/client/assets/moonbit-CaWjb8XO.js +1 -0
  199. package/dist-local/client/assets/move-B1IS1UjX.js +1 -0
  200. package/dist-local/client/assets/narrat-_X_XdTYD.js +1 -0
  201. package/dist-local/client/assets/nextflow-BJtWHP5T.js +1 -0
  202. package/dist-local/client/assets/nextflow-groovy-DJMQeKeT.js +1 -0
  203. package/dist-local/client/assets/nginx-CgHaWcsO.js +1 -0
  204. package/dist-local/client/assets/night-owl-DhmEMT88.js +1 -0
  205. package/dist-local/client/assets/night-owl-light-eJ-hLW7d.js +1 -0
  206. package/dist-local/client/assets/nim-xKCzf2o0.js +1 -0
  207. package/dist-local/client/assets/nix-IvuFDN5E.js +1 -0
  208. package/dist-local/client/assets/nord-Cb4Vim4T.js +1 -0
  209. package/dist-local/client/assets/nushell-DcLAeLz5.js +1 -0
  210. package/dist-local/client/assets/objective-c-D1A_Heim.js +1 -0
  211. package/dist-local/client/assets/objective-cpp-BsSzOQcm.js +1 -0
  212. package/dist-local/client/assets/ocaml-O90oeIOV.js +1 -0
  213. package/dist-local/client/assets/odin-B1RWQWA5.js +1 -0
  214. package/dist-local/client/assets/one-dark-pro-CLwyXe_n.js +1 -0
  215. package/dist-local/client/assets/one-light-D7Lr4KcI.js +1 -0
  216. package/dist-local/client/assets/openscad-BUDT5pXO.js +1 -0
  217. package/dist-local/client/assets/pascal-4ZHwLPI5.js +1 -0
  218. package/dist-local/client/assets/perl-CAUsHq6V.js +1 -0
  219. package/dist-local/client/assets/php-Cn4rjz2P.js +1 -0
  220. package/dist-local/client/assets/pkl-ot-7Btpt.js +1 -0
  221. package/dist-local/client/assets/plastic-DQwYfKfQ.js +1 -0
  222. package/dist-local/client/assets/plsql-DGHpHOYJ.js +1 -0
  223. package/dist-local/client/assets/po-BiJDBrnU.js +1 -0
  224. package/dist-local/client/assets/poimandres-DRFjx7u4.js +1 -0
  225. package/dist-local/client/assets/polar-C7UOKdEL.js +1 -0
  226. package/dist-local/client/assets/postcss-BXeXVLqQ.js +1 -0
  227. package/dist-local/client/assets/powerquery-DNMTfnFr.js +1 -0
  228. package/dist-local/client/assets/powershell-DshXNtvi.js +1 -0
  229. package/dist-local/client/assets/prisma-BsRQq5mF.js +1 -0
  230. package/dist-local/client/assets/prolog-iXnhIJG7.js +1 -0
  231. package/dist-local/client/assets/proto-DB4EqR-F.js +1 -0
  232. package/dist-local/client/assets/pug-DD9HHTGS.js +1 -0
  233. package/dist-local/client/assets/puppet-CDv2pdJW.js +1 -0
  234. package/dist-local/client/assets/purescript-9MfHhQsQ.js +1 -0
  235. package/dist-local/client/assets/python-gzcpVVnB.js +1 -0
  236. package/dist-local/client/assets/qml-DcW_sT3t.js +1 -0
  237. package/dist-local/client/assets/qmldir-DCQb3MpD.js +1 -0
  238. package/dist-local/client/assets/qss-Fe1Jh2GI.js +1 -0
  239. package/dist-local/client/assets/r-D2d3McyU.js +1 -0
  240. package/dist-local/client/assets/racket-DcIDlBhZ.js +1 -0
  241. package/dist-local/client/assets/raku-B3gFvitq.js +1 -0
  242. package/dist-local/client/assets/razor-30Cugjh2.js +1 -0
  243. package/dist-local/client/assets/red-CJ3rzSJv.js +1 -0
  244. package/dist-local/client/assets/reg-CRGYupPL.js +1 -0
  245. package/dist-local/client/assets/regexp-Bu0flJgP.js +1 -0
  246. package/dist-local/client/assets/rel-BtDbiS_P.js +1 -0
  247. package/dist-local/client/assets/review-status-RAnd_eAC.js +43 -0
  248. package/dist-local/client/assets/reviews-core-BKrjFeCa.js +1 -0
  249. package/dist-local/client/assets/riscv-Ckw8ddFX.js +1 -0
  250. package/dist-local/client/assets/ron-VUp2lXgN.js +1 -0
  251. package/dist-local/client/assets/rose-pine-BthvhNj6.js +1 -0
  252. package/dist-local/client/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
  253. package/dist-local/client/assets/rose-pine-moon-hon4tzzS.js +1 -0
  254. package/dist-local/client/assets/rosmsg-CAekHB0j.js +1 -0
  255. package/dist-local/client/assets/routes-DhFdKFMi.js +12 -0
  256. package/dist-local/client/assets/rst-BIOjc2k6.js +1 -0
  257. package/dist-local/client/assets/ruby-BA7kcl5p.js +1 -0
  258. package/dist-local/client/assets/rust-Cfkwpbl8.js +1 -0
  259. package/dist-local/client/assets/sas-BHVT2N5I.js +1 -0
  260. package/dist-local/client/assets/sass-DXrisJhu.js +1 -0
  261. package/dist-local/client/assets/scala-DKOlJaKm.js +1 -0
  262. package/dist-local/client/assets/scheme-DQCgrYNe.js +1 -0
  263. package/dist-local/client/assets/scss-DdIrFDxD.js +1 -0
  264. package/dist-local/client/assets/sdbl-bTVj8UrX.js +1 -0
  265. package/dist-local/client/assets/shaderlab-TOUzSsQk.js +1 -0
  266. package/dist-local/client/assets/shellscript-BbTp1yjG.js +1 -0
  267. package/dist-local/client/assets/shellsession-BmAC8SMF.js +1 -0
  268. package/dist-local/client/assets/slack-dark-DnToyrRv.js +1 -0
  269. package/dist-local/client/assets/slack-ochin-B2OO5cIa.js +1 -0
  270. package/dist-local/client/assets/smalltalk-B16xEiuN.js +1 -0
  271. package/dist-local/client/assets/snazzy-light-4G7pJPwS.js +1 -0
  272. package/dist-local/client/assets/solarized-dark-DV17i1UV.js +1 -0
  273. package/dist-local/client/assets/solarized-light-DSh2HLQt.js +1 -0
  274. package/dist-local/client/assets/solidity-CKzVLygQ.js +1 -0
  275. package/dist-local/client/assets/soy-B5vCsGAN.js +1 -0
  276. package/dist-local/client/assets/sparql-D_iOobhT.js +1 -0
  277. package/dist-local/client/assets/splunk-BC2Px7Mm.js +1 -0
  278. package/dist-local/client/assets/sql-DCFvu5RM.js +1 -0
  279. package/dist-local/client/assets/ssh-config-BgfXC-Er.js +1 -0
  280. package/dist-local/client/assets/stata-h02h04e7.js +1 -0
  281. package/dist-local/client/assets/stylus-B6D30XZt.js +1 -0
  282. package/dist-local/client/assets/surrealql-DxccxuMd.js +1 -0
  283. package/dist-local/client/assets/svelte-CsxBlEum.js +1 -0
  284. package/dist-local/client/assets/swift-DonLKvLd.js +1 -0
  285. package/dist-local/client/assets/synthwave-84-nFMaYfgc.js +1 -0
  286. package/dist-local/client/assets/system-verilog-DJ5XKQeo.js +1 -0
  287. package/dist-local/client/assets/systemd-BxMlprV5.js +1 -0
  288. package/dist-local/client/assets/talonscript-CohzipZa.js +1 -0
  289. package/dist-local/client/assets/tasl-DMoTqEGO.js +1 -0
  290. package/dist-local/client/assets/tcl-CZd0xW_V.js +1 -0
  291. package/dist-local/client/assets/templ-DmkwoHql.js +1 -0
  292. package/dist-local/client/assets/terraform-DswuEJGm.js +1 -0
  293. package/dist-local/client/assets/tex-B0f_hYr8.js +1 -0
  294. package/dist-local/client/assets/tokyo-night-oM2G3aXe.js +1 -0
  295. package/dist-local/client/assets/toml-CcmNWLt0.js +1 -0
  296. package/dist-local/client/assets/ts-tags-CTs7_HT0.js +1 -0
  297. package/dist-local/client/assets/tsv-sltzmVWM.js +1 -0
  298. package/dist-local/client/assets/tsx-DFvk7AwW.js +1 -0
  299. package/dist-local/client/assets/turtle-ByJddavk.js +1 -0
  300. package/dist-local/client/assets/twig-DgtEA5Er.js +1 -0
  301. package/dist-local/client/assets/typescript-DHTLvXzV.js +1 -0
  302. package/dist-local/client/assets/typespec-BRdr0IET.js +1 -0
  303. package/dist-local/client/assets/typst-DI99ib-x.js +1 -0
  304. package/dist-local/client/assets/v-DETTlOr0.js +1 -0
  305. package/dist-local/client/assets/vala-zf12oZj6.js +1 -0
  306. package/dist-local/client/assets/vb-Djn5o6TS.js +1 -0
  307. package/dist-local/client/assets/verilog-CiiDBU1e.js +1 -0
  308. package/dist-local/client/assets/vesper-DdrHHSXu.js +1 -0
  309. package/dist-local/client/assets/vhdl-BroJfC0k.js +1 -0
  310. package/dist-local/client/assets/viml-DvXPmvsu.js +1 -0
  311. package/dist-local/client/assets/vitesse-black-fwtXNY1n.js +1 -0
  312. package/dist-local/client/assets/vitesse-dark-BZCL-v6S.js +1 -0
  313. package/dist-local/client/assets/vitesse-light-VbXTXTou.js +1 -0
  314. package/dist-local/client/assets/vue-CUpaeZ-j.js +1 -0
  315. package/dist-local/client/assets/vue-html-DQch_7VQ.js +1 -0
  316. package/dist-local/client/assets/vue-vine-BCPDker4.js +1 -0
  317. package/dist-local/client/assets/vyper-CgoNMtux.js +1 -0
  318. package/dist-local/client/assets/wasm-BnjxR4X6.js +1 -0
  319. package/dist-local/client/assets/wasm-ByWQv1Qj.js +1 -0
  320. package/dist-local/client/assets/wenyan-C8pVoKbM.js +1 -0
  321. package/dist-local/client/assets/wgsl-BsKzXJz4.js +1 -0
  322. package/dist-local/client/assets/wikitext-ClFFjSW2.js +1 -0
  323. package/dist-local/client/assets/wit-DdvCle-K.js +1 -0
  324. package/dist-local/client/assets/wolfram-DLL8P-h_.js +1 -0
  325. package/dist-local/client/assets/xml-C33zriiW.js +1 -0
  326. package/dist-local/client/assets/xsl-BFS2wyMt.js +1 -0
  327. package/dist-local/client/assets/yaml-w0rMsuN4.js +1 -0
  328. package/dist-local/client/assets/zenscript-BnlCZFoB.js +1 -0
  329. package/dist-local/client/assets/zig-CMLA9XwU.js +1 -0
  330. package/dist-local/client/favicon-16x16.png +0 -0
  331. package/dist-local/client/favicon-32x32.png +0 -0
  332. package/dist-local/client/favicon.ico +0 -0
  333. package/dist-local/client/logo.png +0 -0
  334. package/dist-local/client/og.png +0 -0
  335. package/dist-local/client/og.svg +46 -0
  336. package/dist-local/client/robots.txt +4 -0
  337. package/dist-local/client/site.webmanifest +11 -0
  338. package/dist-local/client/sitemap.xml +13 -0
  339. package/dist-local/server/assets/__root-DimVnCpV.js +17 -0
  340. package/dist-local/server/assets/_tanstack-start-manifest_v-CNDxZb5c.js +56 -0
  341. package/dist-local/server/assets/auth-CtuIV0ur.js +40490 -0
  342. package/dist-local/server/assets/board._owner._repo-BgLMPzjG.js +832 -0
  343. package/dist-local/server/assets/board._owner._repo-BxCYRjn3.js +25 -0
  344. package/dist-local/server/assets/board._owner._repo-WPs_mhzX.js +128 -0
  345. package/dist-local/server/assets/bun-sqlite-dialect-BW9W1_Ps-C3nGW4Q3.js +163 -0
  346. package/dist-local/server/assets/core-RrmWoKne.js +5 -0
  347. package/dist-local/server/assets/createServerRpc-CpE5MlHa.js +12 -0
  348. package/dist-local/server/assets/d1-sqlite-dialect-BLC8LXE6-DXI0R5Oj.js +112 -0
  349. package/dist-local/server/assets/default-query-compiler-PEcjLdrv.js +1719 -0
  350. package/dist-local/server/assets/dist-CMO4nMbf.js +342 -0
  351. package/dist-local/server/assets/empty-plugin-adapters-CrnNP3b2.js +5 -0
  352. package/dist-local/server/assets/env-impl-DoaQIVbP.js +297 -0
  353. package/dist-local/server/assets/gemini-DkmTawm4.js +514 -0
  354. package/dist-local/server/assets/github-cUIlMgs7.js +251 -0
  355. package/dist-local/server/assets/guide--QQ0qbuz.js +534 -0
  356. package/dist-local/server/assets/guide-DZLtOn4o.js +49 -0
  357. package/dist-local/server/assets/kysely-adapter-RaEPPBf_.js +2 -0
  358. package/dist-local/server/assets/kysely-migration-tables-JkVUjPF_-DAJvukps.js +19 -0
  359. package/dist-local/server/assets/local-fs-BDgGK9ve.js +61 -0
  360. package/dist-local/server/assets/node-sqlite-dialect-COyVl62m.js +163 -0
  361. package/dist-local/server/assets/review-status-CdlhgE_Y.js +1501 -0
  362. package/dist-local/server/assets/reviews-BOK_eOYa.js +194 -0
  363. package/dist-local/server/assets/router-CaG3M3Zu.js +188 -0
  364. package/dist-local/server/assets/routes-BBbg2JyL.js +1036 -0
  365. package/dist-local/server/assets/routes-BlJSk7OV.js +27 -0
  366. package/dist-local/server/assets/skeleton-Cpl83ip3.js +93 -0
  367. package/dist-local/server/assets/start-BJllm2D8.js +4 -0
  368. package/dist-local/server/server.js +5778 -0
  369. package/package.json +62 -0
  370. package/server.mjs +160 -0
@@ -0,0 +1,534 @@
1
+ import { a as REVIEW_COLUMNS } from "./github-cUIlMgs7.js";
2
+ import { s as cn } from "./skeleton-Cpl83ip3.js";
3
+ import { a as TooltipTrigger, n as Tooltip, r as TooltipContent, t as Route } from "./guide-DZLtOn4o.js";
4
+ import { n as AppShell, t as STATUS_META } from "./review-status-CdlhgE_Y.js";
5
+ import { a as CodexLight, h as SiteHeader, i as CodexDark, l as CardContent, m as GitHubLoginButton, n as CursorDark, o as ClaudeAiIcon, r as CursorLight, s as Card, t as Gemini } from "./gemini-DkmTawm4.js";
6
+ import { useEffect, useState } from "react";
7
+ import { Link } from "@tanstack/react-router";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import { HugeiconsIcon } from "@hugeicons/react";
10
+ import { ArrowLeft01Icon, ArrowRight01Icon, Copy01Icon, FileDownloadIcon, FileEditIcon, Folder01Icon, Rocket01Icon, Tick02Icon } from "@hugeicons/core-free-icons";
11
+ //#region ../../packages/shared/src/content/agents-template.ts
12
+ var AGENTS_TEMPLATE = `# Instructions for AI agents
13
+
14
+ These guidelines define how AI agents (Claude Code, Codex, Cursor, …) should work
15
+ on this repository. Follow them for code-related tasks while respecting the user's
16
+ latest explicit instructions.
17
+
18
+ **Conflict order:** the user's latest explicit request wins, then the most specific
19
+ local repository instruction, then these general rules.
20
+
21
+ ## Where artifacts go
22
+
23
+ All agent working files live under \`.agents/\`. Use \`YYYY-MM-DD\` for every dated
24
+ filename so it sorts chronologically.
25
+
26
+ | Artifact | Path | When to write it |
27
+ | --- | --- | --- |
28
+ | Plan | \`.agents/todo.md\` | Before any substantial edit (3–5 concrete steps). |
29
+ | Review checklist | \`.agents/reviews/<status>/YYYY-MM-DD-<slug>.md\` | Behavior-changing work with real design decisions. |
30
+ | Lesson | \`.agents/lessons/YYYY-MM-DD/<slug>.md\` | After a durable correction likely to recur. |
31
+ | Bug report | \`.agents/bugs/YYYY-MM-DD/<slug>.md\` | Ambiguous / recurring / production-impacting bug. |
32
+
33
+ For **read-only requests** (review, translation, explanation), do not create, edit,
34
+ or delete these files unless the user explicitly authorizes it.
35
+
36
+ ## Review gate
37
+
38
+ Before implementing behavior-changing work, write a review checklist to
39
+ \`.agents/reviews/<status>/YYYY-MM-DD-<slug>.md\` and wait for the user to check every
40
+ box. **Implementation starts ONLY after all items are \`[x]\`.**
41
+
42
+ Reviews are bucketed by **status** (the folder), not by date:
43
+
44
+ | status | meaning |
45
+ | --- | --- |
46
+ | \`todo\` | Plan written, boxes not all checked — awaiting review. New checklists start here. |
47
+ | \`processing\` | Approved (all gating boxes \`[x]\`) and being implemented. |
48
+ | \`done\` | Shipped and verified. |
49
+ | \`dropped\` | Superseded or abandoned. |
50
+
51
+ **Lifecycle:** create in \`todo/\` → move to \`processing/\` when approved → move to
52
+ \`done/\` once shipped (or \`dropped/\`). Moving a file is a plain rename — keep the
53
+ \`YYYY-MM-DD-<slug>.md\` name so it still sorts. The creation date never changes.
54
+
55
+ ### Checklist frontmatter
56
+
57
+ Start each file with a YAML frontmatter block, then a \`# Review: …\` heading:
58
+
59
+ \`\`\`yaml
60
+ ---
61
+ assignees: ["your-github-login"]
62
+ created_at: YYYY-MM-DD 00:00:00Z # the filename date
63
+ priority: medium # low | medium | high
64
+ tags: ["area-a", "area-b"] # your own controlled vocabulary
65
+ ---
66
+ \`\`\`
67
+
68
+ Do **not** add a \`status:\` field — the folder encodes it. After the frontmatter,
69
+ add a "How to review" note (the user flips \`- [ ]\` to \`- [x]\` per item and writes
70
+ \`> notes\` under items they disagree with), group items by topic, include a Context
71
+ section, an explicit **out of scope** section, and a **files touched** table.
72
+ Mutually-exclusive options appear as separate "pick ONE" boxes with a recommendation.
73
+ If the user edits the checklist directly, treat their edits as decisions.
74
+
75
+ > The Kanban board reads exactly these signals: the **column** from the folder, and
76
+ > **date / priority / assignees / tags / progress** from the frontmatter + the
77
+ > \`- [ ]\` / \`- [x]\` checkboxes.
78
+
79
+ ## Workflow
80
+
81
+ 1. **Clarify & plan** — write \`.agents/todo.md\` (3–5 steps) before substantial edits; ask when ambiguous.
82
+ 2. **Review gate** — for behavior-changing work with real design decisions (above).
83
+ 3. **Subagents** — offload bounded research/exploration; keep the critical path in the main agent.
84
+ 4. **Self-improvement** — record durable corrections in \`.agents/lessons/…\`.
85
+ 5. **Verify before done** — never mark complete without proving it works; report changed files, verification result, and remaining risk; end with a "What's next for you" handoff.
86
+ 6. **Demand elegance, balanced** — smallest correct change that fits the project style; don't over-engineer.
87
+ 7. **Bug reports before fixes** — for ambiguous / recurring / production bugs, write \`.agents/bugs/…\` first and confirm before editing code.
88
+
89
+ ## Gotchas
90
+
91
+ - Don't start edits without \`.agents/todo.md\`.
92
+ - Don't declare test failures "pre-existing" without proof (diff against the original).
93
+ - Don't implement full scope on a vague "ok" — confirm the exact scope first.
94
+ - Implement in reviewable chunks; pause for review between them.
95
+
96
+ ---
97
+
98
+ <!-- Add your project-specific Domain Rules and Gotchas below this line. -->
99
+ `;
100
+ var EXAMPLE_REVIEW = `---
101
+ assignees: ["your-github-login"]
102
+ created_at: 2026-06-21 00:00:00Z
103
+ priority: high
104
+ tags: ["auth", "api"]
105
+ ---
106
+
107
+ # Review: Add rate limiting to the public API
108
+
109
+ **How to review:** flip \`- [ ]\` to \`- [x]\` for each item you agree with. Under any
110
+ item you disagree with, add a \`> ...\` note. I implement only after every box is \`[x]\`.
111
+
112
+ ## Context (what exists)
113
+ - Current endpoints, no limits, token-based auth…
114
+
115
+ ## Decisions
116
+ - [ ] **D1.** Limit to 100 requests/min per token (sliding window).
117
+ - [ ] **D2.** Respond with \`429\` + a \`Retry-After\` header when exceeded.
118
+
119
+ ## Out of scope
120
+ - Per-route custom limits, billing-tier quotas.
121
+
122
+ ## Files touched
123
+ | File | Change |
124
+ | --- | --- |
125
+ | \`src/...\` | … |
126
+ `;
127
+ //#endregion
128
+ //#region ../../packages/shared/src/routes/guide.tsx?tsr-split=component
129
+ function GuidePage() {
130
+ const { user } = Route.useLoaderData();
131
+ if (user) return /* @__PURE__ */ jsxs(AppShell, {
132
+ user,
133
+ children: [/* @__PURE__ */ jsx(GuideHeader, {}), /* @__PURE__ */ jsx("div", {
134
+ className: "min-h-0 flex-1 overflow-y-auto",
135
+ children: /* @__PURE__ */ jsx(GuideBody, {})
136
+ })]
137
+ });
138
+ return /* @__PURE__ */ jsxs("div", {
139
+ className: "min-h-screen overflow-y-auto",
140
+ children: [/* @__PURE__ */ jsx(SiteHeader, { actions: /* @__PURE__ */ jsx(GitHubLoginButton, {
141
+ size: "sm",
142
+ children: "Continue with GitHub"
143
+ }) }), /* @__PURE__ */ jsx("div", {
144
+ className: "pt-16",
145
+ children: /* @__PURE__ */ jsx(GuideBody, {})
146
+ })]
147
+ });
148
+ }
149
+ function GuideHeader() {
150
+ return /* @__PURE__ */ jsxs("div", {
151
+ className: "px-6 pt-5 pb-4",
152
+ children: [
153
+ /* @__PURE__ */ jsxs(Link, {
154
+ to: "/",
155
+ className: "mb-3 inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-sm font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
156
+ children: [/* @__PURE__ */ jsx(HugeiconsIcon, {
157
+ icon: ArrowLeft01Icon,
158
+ className: "size-4"
159
+ }), "Back to board"]
160
+ }),
161
+ /* @__PURE__ */ jsx("div", {
162
+ className: "text-sm text-muted-foreground",
163
+ children: "Documentation"
164
+ }),
165
+ /* @__PURE__ */ jsx("h1", {
166
+ className: "mt-1 font-heading text-2xl font-semibold tracking-tight",
167
+ children: "How to use"
168
+ })
169
+ ]
170
+ });
171
+ }
172
+ function GuideBody() {
173
+ return /* @__PURE__ */ jsxs("div", {
174
+ className: "mx-auto w-full max-w-3xl animate-in space-y-10 px-6 py-8 fade-in duration-500 motion-reduce:animate-none",
175
+ children: [
176
+ /* @__PURE__ */ jsxs("section", {
177
+ className: "space-y-3",
178
+ children: [/* @__PURE__ */ jsx("h2", {
179
+ className: "font-heading text-xl font-semibold",
180
+ children: "Turn agent reviews into a board"
181
+ }), /* @__PURE__ */ jsxs("p", {
182
+ className: "text-sm leading-relaxed text-muted-foreground",
183
+ children: [
184
+ "This app visualizes the",
185
+ " ",
186
+ /* @__PURE__ */ jsx("code", {
187
+ className: "rounded bg-muted px-1.5 py-0.5 text-xs",
188
+ children: ".agents/reviews"
189
+ }),
190
+ " folder of a GitHub repo. Your coding agent — Claude Code, Codex, Cursor, … — writes a review checklist per piece of work; the board groups them into columns and reads their metadata. Set it up once by adding an instructions file to your repo."
191
+ ]
192
+ })]
193
+ }),
194
+ /* @__PURE__ */ jsxs("section", {
195
+ className: "space-y-3",
196
+ children: [/* @__PURE__ */ jsx(SectionTitle, {
197
+ icon: Folder01Icon,
198
+ children: "How files map to the board"
199
+ }), /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(CardContent, {
200
+ className: "space-y-4 pt-6 text-sm",
201
+ children: [
202
+ /* @__PURE__ */ jsx("p", {
203
+ className: "font-mono text-xs text-muted-foreground",
204
+ children: ".agents/reviews/"
205
+ }),
206
+ /* @__PURE__ */ jsx("div", {
207
+ className: "flex flex-col gap-2",
208
+ children: REVIEW_COLUMNS.map((col) => {
209
+ const m = STATUS_META[col];
210
+ return /* @__PURE__ */ jsxs("div", {
211
+ className: "flex items-center gap-3",
212
+ children: [
213
+ /* @__PURE__ */ jsxs("code", {
214
+ className: "w-28 font-mono text-xs text-foreground",
215
+ children: [col, "/"]
216
+ }),
217
+ /* @__PURE__ */ jsx(HugeiconsIcon, {
218
+ icon: ArrowRight01Icon,
219
+ className: "size-4 text-muted-foreground"
220
+ }),
221
+ /* @__PURE__ */ jsxs("span", {
222
+ className: "inline-flex items-center gap-1.5 rounded-full bg-muted px-2.5 py-1 text-xs font-medium",
223
+ children: [/* @__PURE__ */ jsx(HugeiconsIcon, {
224
+ icon: m.icon,
225
+ className: cn("size-3.5", m.color)
226
+ }), m.label]
227
+ })
228
+ ]
229
+ }, col);
230
+ })
231
+ }),
232
+ /* @__PURE__ */ jsxs("p", {
233
+ className: "text-muted-foreground",
234
+ children: [
235
+ "Each card reads its ",
236
+ /* @__PURE__ */ jsx("strong", { children: "column" }),
237
+ " from the folder, and",
238
+ " ",
239
+ /* @__PURE__ */ jsx("strong", { children: "date · priority · assignees · tags · progress" }),
240
+ " from the file's YAML frontmatter plus its ",
241
+ /* @__PURE__ */ jsx("code", {
242
+ className: "rounded bg-muted px-1 py-0.5 text-xs",
243
+ children: "- [ ]"
244
+ }),
245
+ " ",
246
+ "/ ",
247
+ /* @__PURE__ */ jsx("code", {
248
+ className: "rounded bg-muted px-1 py-0.5 text-xs",
249
+ children: "- [x]"
250
+ }),
251
+ " checkboxes."
252
+ ]
253
+ })
254
+ ]
255
+ }) })]
256
+ }),
257
+ /* @__PURE__ */ jsxs("section", {
258
+ className: "space-y-4",
259
+ children: [
260
+ /* @__PURE__ */ jsx(SectionTitle, {
261
+ icon: Rocket01Icon,
262
+ children: "Set it up"
263
+ }),
264
+ /* @__PURE__ */ jsxs(Step, {
265
+ n: 1,
266
+ title: "Add an instructions file to your repo",
267
+ children: [/* @__PURE__ */ jsxs("p", {
268
+ className: "text-sm text-muted-foreground",
269
+ children: [/* @__PURE__ */ jsx("code", {
270
+ className: "rounded bg-muted px-1.5 py-0.5 text-xs",
271
+ children: "AGENTS.md"
272
+ }), " is the cross-tool standard. Drop it at your repo root — most agents pick it up automatically."]
273
+ }), /* @__PURE__ */ jsxs("div", {
274
+ className: "mt-4 grid gap-3 sm:grid-cols-2",
275
+ children: [
276
+ /* @__PURE__ */ jsx(ToolRow, {
277
+ index: 0,
278
+ icon: /* @__PURE__ */ jsx(ClaudeAiIcon, { className: "size-5" }),
279
+ tool: "Claude Code",
280
+ file: "CLAUDE.md or AGENTS.md"
281
+ }),
282
+ /* @__PURE__ */ jsx(ToolRow, {
283
+ index: 1,
284
+ icon: /* @__PURE__ */ jsx(ThemedIcon, {
285
+ Light: CodexLight,
286
+ Dark: CodexDark
287
+ }),
288
+ tool: "OpenAI Codex",
289
+ file: "AGENTS.md"
290
+ }),
291
+ /* @__PURE__ */ jsx(ToolRow, {
292
+ index: 2,
293
+ icon: /* @__PURE__ */ jsx(ThemedIcon, {
294
+ Light: CursorLight,
295
+ Dark: CursorDark
296
+ }),
297
+ tool: "Cursor",
298
+ file: "AGENTS.md / .cursor/rules"
299
+ }),
300
+ /* @__PURE__ */ jsx(ToolRow, {
301
+ index: 3,
302
+ icon: /* @__PURE__ */ jsx(Gemini, { className: "size-5" }),
303
+ tool: "Gemini CLI & others",
304
+ file: "AGENTS.md / GEMINI.md"
305
+ })
306
+ ]
307
+ })]
308
+ }),
309
+ /* @__PURE__ */ jsxs(Step, {
310
+ n: 2,
311
+ title: "Paste this standardized template",
312
+ children: [/* @__PURE__ */ jsx("p", {
313
+ className: "mb-3 text-sm text-muted-foreground",
314
+ children: "Project-agnostic. Add your own Domain Rules & Gotchas below the marked line, and swap in your own tag vocabulary."
315
+ }), /* @__PURE__ */ jsx(CodeBlock, {
316
+ code: AGENTS_TEMPLATE,
317
+ filename: "AGENTS.md",
318
+ icon: /* @__PURE__ */ jsx(ClaudeAiIcon, { className: "size-5" })
319
+ })]
320
+ }),
321
+ /* @__PURE__ */ jsx(Step, {
322
+ n: 3,
323
+ title: "Let the agent write a review",
324
+ children: /* @__PURE__ */ jsxs("p", {
325
+ className: "text-sm text-muted-foreground",
326
+ children: [
327
+ "Ask your agent to plan a behavior-changing task. Following the rules above, it writes a checklist to",
328
+ " ",
329
+ /* @__PURE__ */ jsx("code", {
330
+ className: "rounded bg-muted px-1.5 py-0.5 text-xs",
331
+ children: ".agents/reviews/todo/YYYY-MM-DD-<slug>.md"
332
+ }),
333
+ ". You approve by flipping every ",
334
+ /* @__PURE__ */ jsx("code", {
335
+ className: "rounded bg-muted px-1 py-0.5 text-xs",
336
+ children: "- [ ]"
337
+ }),
338
+ " ",
339
+ "to ",
340
+ /* @__PURE__ */ jsx("code", {
341
+ className: "rounded bg-muted px-1 py-0.5 text-xs",
342
+ children: "- [x]"
343
+ }),
344
+ "; it then moves the file to ",
345
+ /* @__PURE__ */ jsx("code", {
346
+ className: "rounded bg-muted px-1 py-0.5 text-xs",
347
+ children: "processing/"
348
+ }),
349
+ /* @__PURE__ */ jsx(HugeiconsIcon, {
350
+ icon: ArrowRight01Icon,
351
+ className: "mx-1 inline size-3.5 align-[-0.2em]"
352
+ }),
353
+ /* @__PURE__ */ jsx("code", {
354
+ className: "rounded bg-muted px-1 py-0.5 text-xs",
355
+ children: "done/"
356
+ }),
357
+ "."
358
+ ]
359
+ })
360
+ }),
361
+ /* @__PURE__ */ jsx(Step, {
362
+ n: 4,
363
+ title: "Open the repo here",
364
+ children: /* @__PURE__ */ jsxs("p", {
365
+ className: "text-sm text-muted-foreground",
366
+ children: [
367
+ "Use the repo switcher (top-left) or the",
368
+ " ",
369
+ /* @__PURE__ */ jsx(Link, {
370
+ to: "/",
371
+ className: "underline underline-offset-2 hover:text-foreground",
372
+ children: "projects page"
373
+ }),
374
+ " ",
375
+ "to open the board. Cards appear as the agent creates and moves review files."
376
+ ]
377
+ })
378
+ })
379
+ ]
380
+ }),
381
+ /* @__PURE__ */ jsxs("section", {
382
+ className: "space-y-3",
383
+ children: [/* @__PURE__ */ jsx(SectionTitle, {
384
+ icon: FileEditIcon,
385
+ children: "Example review file"
386
+ }), /* @__PURE__ */ jsx(CodeBlock, {
387
+ code: EXAMPLE_REVIEW,
388
+ filename: "2026-06-21-rate-limiting.md"
389
+ })]
390
+ })
391
+ ]
392
+ });
393
+ }
394
+ function SectionTitle({ icon, children }) {
395
+ return /* @__PURE__ */ jsxs("h2", {
396
+ className: "flex items-center gap-2 font-heading text-lg font-semibold",
397
+ children: [/* @__PURE__ */ jsx(HugeiconsIcon, {
398
+ icon,
399
+ className: "size-5 text-primary"
400
+ }), children]
401
+ });
402
+ }
403
+ function Step({ n, title, children }) {
404
+ return /* @__PURE__ */ jsxs("div", {
405
+ className: "flex gap-3",
406
+ children: [/* @__PURE__ */ jsx("span", {
407
+ className: "mt-0.5 grid size-6 shrink-0 place-items-center rounded-full bg-primary text-xs font-semibold text-primary-foreground",
408
+ children: n
409
+ }), /* @__PURE__ */ jsxs("div", {
410
+ className: "min-w-0 flex-1",
411
+ children: [/* @__PURE__ */ jsx("h3", {
412
+ className: "font-medium",
413
+ children: title
414
+ }), /* @__PURE__ */ jsx("div", {
415
+ className: "mt-1",
416
+ children
417
+ })]
418
+ })]
419
+ });
420
+ }
421
+ function ToolRow({ icon, tool, file, index = 0 }) {
422
+ return /* @__PURE__ */ jsxs(Card, {
423
+ size: "sm",
424
+ style: { animationDelay: `${index * 60}ms` },
425
+ className: "group relative animate-in gap-0 overflow-hidden p-4 fade-in slide-in-from-bottom-2 fill-mode-both duration-500 ease-out transition-[box-shadow,transform,--tw-ring-color] hover:-translate-y-0.5 hover:shadow-md hover:ring-foreground/20 motion-reduce:animate-none",
426
+ children: [/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute -right-8 -top-8 size-20 rounded-full bg-primary/10 opacity-0 blur-2xl transition-opacity duration-300 group-hover:opacity-100" }), /* @__PURE__ */ jsxs("div", {
427
+ className: "flex items-center gap-3",
428
+ children: [/* @__PURE__ */ jsx("span", {
429
+ className: "grid size-10 shrink-0 place-items-center rounded-xl bg-gradient-to-b from-background to-muted ring-1 ring-foreground/10 transition-transform duration-200 group-hover:scale-105",
430
+ children: icon
431
+ }), /* @__PURE__ */ jsxs("div", {
432
+ className: "min-w-0 flex-1",
433
+ children: [/* @__PURE__ */ jsx("div", {
434
+ className: "truncate text-sm font-medium",
435
+ children: tool
436
+ }), /* @__PURE__ */ jsxs("div", {
437
+ className: "mt-1 inline-flex max-w-full items-center gap-1.5 rounded-md bg-muted px-1.5 py-0.5 font-mono text-[11px] text-muted-foreground",
438
+ children: [/* @__PURE__ */ jsx(HugeiconsIcon, {
439
+ icon: FileEditIcon,
440
+ className: "size-3 shrink-0"
441
+ }), /* @__PURE__ */ jsx("span", {
442
+ className: "truncate",
443
+ children: file
444
+ })]
445
+ })]
446
+ })]
447
+ })]
448
+ });
449
+ }
450
+ function ThemedIcon({ Light, Dark }) {
451
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Light, { className: "size-5 dark:hidden" }), /* @__PURE__ */ jsx(Dark, { className: "hidden size-5 dark:block" })] });
452
+ }
453
+ function CodeBlock({ code, filename, lang = "markdown", icon }) {
454
+ const [copied, setCopied] = useState(false);
455
+ const [html, setHtml] = useState(null);
456
+ useEffect(() => {
457
+ let active = true;
458
+ import("shiki").then(({ codeToHtml }) => codeToHtml(code, {
459
+ lang,
460
+ themes: {
461
+ light: "github-light",
462
+ dark: "github-dark"
463
+ }
464
+ })).then((out) => active && setHtml(out)).catch(() => active && setHtml(null));
465
+ return () => {
466
+ active = false;
467
+ };
468
+ }, [code, lang]);
469
+ const ext = filename.split(".").pop()?.toUpperCase() ?? "TXT";
470
+ function copy() {
471
+ navigator.clipboard.writeText(code).then(() => {
472
+ setCopied(true);
473
+ setTimeout(() => setCopied(false), 1500);
474
+ });
475
+ }
476
+ function download() {
477
+ const url = URL.createObjectURL(new Blob([code], { type: "text/plain;charset=utf-8" }));
478
+ const a = document.createElement("a");
479
+ a.href = url;
480
+ a.download = filename;
481
+ a.click();
482
+ URL.revokeObjectURL(url);
483
+ }
484
+ return /* @__PURE__ */ jsxs("div", {
485
+ className: "overflow-hidden rounded-xl border bg-card",
486
+ children: [/* @__PURE__ */ jsxs("div", {
487
+ className: "flex items-center justify-between gap-2 border-b bg-muted/40 px-3 py-2",
488
+ children: [/* @__PURE__ */ jsxs("div", {
489
+ className: "flex min-w-0 items-center gap-2",
490
+ children: [icon ? /* @__PURE__ */ jsx("span", {
491
+ className: "grid size-5 shrink-0 place-items-center",
492
+ children: icon
493
+ }) : /* @__PURE__ */ jsx("span", {
494
+ className: "grid size-5 shrink-0 place-items-center rounded bg-foreground/85 font-mono text-[9px] font-bold text-background",
495
+ children: ext
496
+ }), /* @__PURE__ */ jsx("span", {
497
+ className: "truncate font-mono text-xs text-muted-foreground",
498
+ children: filename
499
+ })]
500
+ }), /* @__PURE__ */ jsxs("div", {
501
+ className: "flex items-center gap-0.5",
502
+ children: [/* @__PURE__ */ jsx(CodeAction, {
503
+ onClick: download,
504
+ icon: FileDownloadIcon,
505
+ label: "Download"
506
+ }), /* @__PURE__ */ jsx(CodeAction, {
507
+ onClick: copy,
508
+ icon: copied ? Tick02Icon : Copy01Icon,
509
+ label: copied ? "Copied" : "Copy"
510
+ })]
511
+ })]
512
+ }), /* @__PURE__ */ jsx("div", {
513
+ className: "shiki-block max-h-[460px] overflow-auto",
514
+ children: html ? /* @__PURE__ */ jsx("div", { dangerouslySetInnerHTML: { __html: html } }) : /* @__PURE__ */ jsx("pre", {
515
+ className: "m-0 p-4 font-mono text-xs leading-relaxed text-foreground",
516
+ children: code
517
+ })
518
+ })]
519
+ });
520
+ }
521
+ function CodeAction({ onClick, icon, label }) {
522
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: /* @__PURE__ */ jsx("button", {
523
+ type: "button",
524
+ onClick,
525
+ "aria-label": label,
526
+ className: "grid size-7 place-items-center rounded-md text-muted-foreground transition-colors hover:bg-foreground/10 hover:text-foreground",
527
+ children: /* @__PURE__ */ jsx(HugeiconsIcon, {
528
+ icon,
529
+ className: "size-4"
530
+ })
531
+ }) }), /* @__PURE__ */ jsx(TooltipContent, { children: label })] });
532
+ }
533
+ //#endregion
534
+ export { GuidePage as component };
@@ -0,0 +1,49 @@
1
+ import { o as getSessionUser, s as cn } from "./skeleton-Cpl83ip3.js";
2
+ import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { Tooltip } from "@base-ui/react/tooltip";
5
+ //#region ../../packages/shared/src/components/ui/tooltip.tsx
6
+ function TooltipProvider({ delay = 0, ...props }) {
7
+ return /* @__PURE__ */ jsx(Tooltip.Provider, {
8
+ "data-slot": "tooltip-provider",
9
+ delay,
10
+ ...props
11
+ });
12
+ }
13
+ function Tooltip$1({ ...props }) {
14
+ return /* @__PURE__ */ jsx(Tooltip.Root, {
15
+ "data-slot": "tooltip",
16
+ ...props
17
+ });
18
+ }
19
+ function TooltipTrigger({ ...props }) {
20
+ return /* @__PURE__ */ jsx(Tooltip.Trigger, {
21
+ "data-slot": "tooltip-trigger",
22
+ ...props
23
+ });
24
+ }
25
+ function TooltipContent({ className, side = "top", sideOffset = 4, align = "center", alignOffset = 0, children, ...props }) {
26
+ return /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
27
+ align,
28
+ alignOffset,
29
+ side,
30
+ sideOffset,
31
+ className: "isolate z-50",
32
+ children: /* @__PURE__ */ jsxs(Tooltip.Popup, {
33
+ "data-slot": "tooltip-content",
34
+ className: cn("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-xl bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-lg data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
35
+ ...props,
36
+ children: [children, /* @__PURE__ */ jsx(Tooltip.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:translate-x-[1.5px] data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:translate-x-[-1.5px] data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:translate-x-[-1.5px] data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:translate-x-[1.5px] data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" })]
37
+ })
38
+ }) });
39
+ }
40
+ //#endregion
41
+ //#region ../../packages/shared/src/routes/guide.tsx
42
+ var $$splitComponentImporter = () => import("./guide--QQ0qbuz.js");
43
+ var Route = createFileRoute("/guide")({
44
+ loader: async () => ({ user: await getSessionUser() }),
45
+ head: () => ({ meta: [{ title: "How to use - Lanework" }] }),
46
+ component: lazyRouteComponent($$splitComponentImporter, "component")
47
+ });
48
+ //#endregion
49
+ export { TooltipTrigger as a, TooltipProvider as i, Tooltip$1 as n, TooltipContent as r, Route as t };
@@ -0,0 +1,2 @@
1
+ import { l as kyselyAdapter, s as createKyselyAdapter } from "./auth-CtuIV0ur.js";
2
+ export { createKyselyAdapter, kyselyAdapter };
@@ -0,0 +1,19 @@
1
+ //#region ../../node_modules/.bun/@better-auth+kysely-adapter@1.6.20+4fd37f7b742805ac/node_modules/@better-auth/kysely-adapter/dist/kysely-migration-tables-JkVUjPF_.mjs
2
+ /**
3
+ * Kysely's internal migration table names, mirrored as local constants.
4
+ *
5
+ * Kysely 0.29 moved these from its main entry to the `kysely/migration`
6
+ * subpath (which 0.28 lacks), and the main entry now exports only type stubs
7
+ * with no runtime value, which breaks strict ESM bundlers such as Turbopack.
8
+ * The values are a stable part of Kysely's public migration contract, so
9
+ * mirroring them lets the SQLite dialects run on both Kysely 0.28 and 0.29
10
+ * without importing from a moving path.
11
+ * TODO: Revisit this mirror if Better Auth drops Kysely 0.28 support and can
12
+ * depend on Kysely's `kysely/migration` export.
13
+ *
14
+ * @see https://github.com/better-auth/better-auth/issues/9810
15
+ */
16
+ var DEFAULT_MIGRATION_TABLE = "kysely_migration";
17
+ var DEFAULT_MIGRATION_LOCK_TABLE = "kysely_migration_lock";
18
+ //#endregion
19
+ export { DEFAULT_MIGRATION_TABLE as n, DEFAULT_MIGRATION_LOCK_TABLE as t };
@@ -0,0 +1,61 @@
1
+ import { a as REVIEW_COLUMNS, o as REVIEW_ROOT, s as buildReviewCard } from "./github-cUIlMgs7.js";
2
+ import { readFile, readdir } from "node:fs/promises";
3
+ import { join, resolve, sep } from "node:path";
4
+ import { createHash } from "node:crypto";
5
+ //#region ../../packages/shared/src/lib/local-fs.ts
6
+ /** Target directory: the dir the CLI was launched in (or LANEWORK_DIR). */
7
+ function localRoot() {
8
+ return process.env.LANEWORK_DIR || process.cwd();
9
+ }
10
+ /** A short, human-friendly name for the local "repo" (the folder name). */
11
+ function localRepoName() {
12
+ const parts = localRoot().split(sep).filter(Boolean);
13
+ return parts[parts.length - 1] || "local";
14
+ }
15
+ /** Absolute path to `<root>/.agents/reviews`. */
16
+ function reviewsDir() {
17
+ return join(localRoot(), REVIEW_ROOT);
18
+ }
19
+ /** Short content hash used as the card's `sha` (changes when the file changes). */
20
+ function contentSha(text) {
21
+ return createHash("sha1").update(text).digest("hex").slice(0, 12);
22
+ }
23
+ /** Every review card under `<root>/.agents/reviews/<column>/*.md`. */
24
+ async function listLocalReviewCards() {
25
+ const base = reviewsDir();
26
+ const cards = [];
27
+ for (const column of REVIEW_COLUMNS) {
28
+ const dir = join(base, column);
29
+ let entries;
30
+ try {
31
+ entries = await readdir(dir, { withFileTypes: true });
32
+ } catch {
33
+ continue;
34
+ }
35
+ for (const entry of entries) {
36
+ if (!entry.isFile() || !entry.name.endsWith(".md")) continue;
37
+ const text = await readFile(join(dir, entry.name), "utf8").catch(() => void 0);
38
+ cards.push(buildReviewCard({
39
+ path: `${REVIEW_ROOT}/${column}/${entry.name}`,
40
+ column,
41
+ fileName: entry.name,
42
+ sha: text ? contentSha(text) : entry.name,
43
+ text
44
+ }));
45
+ }
46
+ }
47
+ return cards;
48
+ }
49
+ /**
50
+ * Markdown content of a single review file. `repoPath` is the repo-relative path
51
+ * (e.g. `.agents/reviews/todo/foo.md`) already validated by the caller; we still
52
+ * re-anchor it under the root and reject any path that escapes it.
53
+ */
54
+ async function getLocalCardContent(repoPath) {
55
+ const root = resolve(localRoot());
56
+ const full = resolve(root, repoPath);
57
+ if (full !== root && !full.startsWith(root + sep)) throw new Error("path outside project root");
58
+ return readFile(full, "utf8");
59
+ }
60
+ //#endregion
61
+ export { getLocalCardContent, listLocalReviewCards, localRepoName };