codemini-cli 0.5.0 → 0.5.1

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 (404) hide show
  1. package/LICENSE +0 -0
  2. package/OPERATIONS.md +0 -0
  3. package/README.md +0 -0
  4. package/bin/coder.js +0 -0
  5. package/codemini-web/dist/assets/Geist-Italic_wght_-vKc54d3Z.woff2 +0 -0
  6. package/codemini-web/dist/assets/Geist-Variable-CrgPqtmy.woff2 +0 -0
  7. package/codemini-web/dist/assets/GeistMono-Variable-BNLlm6Cd.woff2 +0 -0
  8. package/codemini-web/dist/assets/abap-BRbAAyvE.js +0 -0
  9. package/codemini-web/dist/assets/actionscript-3-Cj-0sM4g.js +0 -0
  10. package/codemini-web/dist/assets/ada-DhEA_nP5.js +0 -0
  11. package/codemini-web/dist/assets/andromeeda-CWmR-N6V.js +0 -0
  12. package/codemini-web/dist/assets/angular-html-Cde9qVP5.js +0 -0
  13. package/codemini-web/dist/assets/angular-ts-DefScAWP.js +0 -0
  14. package/codemini-web/dist/assets/apache-D5R2GKIs.js +0 -0
  15. package/codemini-web/dist/assets/apex-Qu8W4hal.js +0 -0
  16. package/codemini-web/dist/assets/apl-w753UHCW.js +0 -0
  17. package/codemini-web/dist/assets/applescript-CBey3ErE.js +0 -0
  18. package/codemini-web/dist/assets/ara-CRKnUAN1.js +0 -0
  19. package/codemini-web/dist/assets/asciidoc-1KYZEB6-.js +0 -0
  20. package/codemini-web/dist/assets/asm-DAaViY0U.js +0 -0
  21. package/codemini-web/dist/assets/astro-DBA9Da7s.js +0 -0
  22. package/codemini-web/dist/assets/aurora-x-LPpmXm4i.js +0 -0
  23. package/codemini-web/dist/assets/awk-ButuPTaW.js +0 -0
  24. package/codemini-web/dist/assets/ayu-dark-Dv4ngVMP.js +0 -0
  25. package/codemini-web/dist/assets/ayu-light-CxeOePuA.js +0 -0
  26. package/codemini-web/dist/assets/ayu-mirage-i2YLXKmY.js +0 -0
  27. package/codemini-web/dist/assets/ballerina-DodmBVwR.js +0 -0
  28. package/codemini-web/dist/assets/bat-jA-YqDhG.js +0 -0
  29. package/codemini-web/dist/assets/beancount-BCkjWTs-.js +0 -0
  30. package/codemini-web/dist/assets/berry-DjEHm1kC.js +0 -0
  31. package/codemini-web/dist/assets/bibtex-aOfmXHFj.js +0 -0
  32. package/codemini-web/dist/assets/bicep-BZLx0b6B.js +0 -0
  33. package/codemini-web/dist/assets/bird2-Bs7YDhA3.js +0 -0
  34. package/codemini-web/dist/assets/blade-B-u5p0Rp.js +0 -0
  35. package/codemini-web/dist/assets/bsl-CPV9KqsG.js +0 -0
  36. package/codemini-web/dist/assets/c-Bv0tI3pq.js +0 -0
  37. package/codemini-web/dist/assets/c3-BDcFIiRd.js +0 -0
  38. package/codemini-web/dist/assets/cadence-DaglWUgA.js +0 -0
  39. package/codemini-web/dist/assets/cairo-CyiRuu7R.js +0 -0
  40. package/codemini-web/dist/assets/catppuccin-frappe-CSAC76is.js +0 -0
  41. package/codemini-web/dist/assets/catppuccin-latte-Jt6sqtds.js +0 -0
  42. package/codemini-web/dist/assets/catppuccin-macchiato-HM96_05s.js +0 -0
  43. package/codemini-web/dist/assets/catppuccin-mocha-CXgIAGBL.js +0 -0
  44. package/codemini-web/dist/assets/clarity-DS5YLe8G.js +0 -0
  45. package/codemini-web/dist/assets/clojure-BVGPdaE2.js +0 -0
  46. package/codemini-web/dist/assets/cmake-CCC7tP43.js +0 -0
  47. package/codemini-web/dist/assets/cobol-CkQrskif.js +0 -0
  48. package/codemini-web/dist/assets/codeowners-DXhoR5Ap.js +0 -0
  49. package/codemini-web/dist/assets/codeql-BGjlu3KC.js +0 -0
  50. package/codemini-web/dist/assets/coffee-rY-gkJy7.js +0 -0
  51. package/codemini-web/dist/assets/common-lisp-BE6wRQeA.js +0 -0
  52. package/codemini-web/dist/assets/coq-CRT8yML1.js +0 -0
  53. package/codemini-web/dist/assets/cpp-Bw-qV0P6.js +0 -0
  54. package/codemini-web/dist/assets/crystal-Dh09vXLx.js +0 -0
  55. package/codemini-web/dist/assets/csharp-Ca2kU4Te.js +0 -0
  56. package/codemini-web/dist/assets/css-BTi88BmP.js +0 -0
  57. package/codemini-web/dist/assets/csv-DUpZC5ZD.js +0 -0
  58. package/codemini-web/dist/assets/cue-DlXQ7arx.js +0 -0
  59. package/codemini-web/dist/assets/cypher-D6dhuZbo.js +0 -0
  60. package/codemini-web/dist/assets/d-BUgyoY6k.js +0 -0
  61. package/codemini-web/dist/assets/dark-plus-DNkJKrcZ.js +0 -0
  62. package/codemini-web/dist/assets/dart-Czrjv-nr.js +0 -0
  63. package/codemini-web/dist/assets/dax-sEzq00Tq.js +0 -0
  64. package/codemini-web/dist/assets/desktop-3VGbzlmJ.js +0 -0
  65. package/codemini-web/dist/assets/diff-D4HSRbRn.js +0 -0
  66. package/codemini-web/dist/assets/docker-DkLGgDMo.js +0 -0
  67. package/codemini-web/dist/assets/dotenv-BWp1FaLo.js +0 -0
  68. package/codemini-web/dist/assets/dracula-Donvxzd6.js +0 -0
  69. package/codemini-web/dist/assets/dracula-soft-BqL-kkUg.js +0 -0
  70. package/codemini-web/dist/assets/dream-maker-DtLD6KM3.js +0 -0
  71. package/codemini-web/dist/assets/edge-CCRtknu5.js +0 -0
  72. package/codemini-web/dist/assets/elixir-5EYbFEoC.js +0 -0
  73. package/codemini-web/dist/assets/elm-Cezz_HNz.js +0 -0
  74. package/codemini-web/dist/assets/emacs-lisp-D4W-_rAk.js +0 -0
  75. package/codemini-web/dist/assets/erb-C6pPz4fX.js +0 -0
  76. package/codemini-web/dist/assets/erlang-BC8wryba.js +0 -0
  77. package/codemini-web/dist/assets/everforest-dark-pZNhY4MK.js +0 -0
  78. package/codemini-web/dist/assets/everforest-light-BijKClkf.js +0 -0
  79. package/codemini-web/dist/assets/fennel-Cd-BhZ0S.js +0 -0
  80. package/codemini-web/dist/assets/fish-CpsjJ6FK.js +0 -0
  81. package/codemini-web/dist/assets/fluent-D1peBFgx.js +0 -0
  82. package/codemini-web/dist/assets/fortran-fixed-form-CyrImzNA.js +0 -0
  83. package/codemini-web/dist/assets/fortran-free-form-CIAQqF5W.js +0 -0
  84. package/codemini-web/dist/assets/fsharp-OCW_PZ4J.js +0 -0
  85. package/codemini-web/dist/assets/gdresource-Cl3bohRI.js +0 -0
  86. package/codemini-web/dist/assets/gdscript-B_XVILZe.js +0 -0
  87. package/codemini-web/dist/assets/gdshader-BOrkFM_X.js +0 -0
  88. package/codemini-web/dist/assets/genie-BE7nKhIq.js +0 -0
  89. package/codemini-web/dist/assets/gherkin-DzGJhdqS.js +0 -0
  90. package/codemini-web/dist/assets/git-commit-DJZpdBwB.js +0 -0
  91. package/codemini-web/dist/assets/git-rebase-BJE30GTP.js +0 -0
  92. package/codemini-web/dist/assets/github-dark-BB9G20EV.js +0 -0
  93. package/codemini-web/dist/assets/github-dark-default-CBFNEU03.js +0 -0
  94. package/codemini-web/dist/assets/github-dark-dimmed-sQhEp72S.js +0 -0
  95. package/codemini-web/dist/assets/github-dark-high-contrast-C8GVvrcM.js +0 -0
  96. package/codemini-web/dist/assets/github-light-default-iyEXWnoa.js +0 -0
  97. package/codemini-web/dist/assets/github-light-high-contrast-DLnsZL7l.js +0 -0
  98. package/codemini-web/dist/assets/github-light-pT7U8Cnd.js +0 -0
  99. package/codemini-web/dist/assets/gleam-B9ISJjDl.js +0 -0
  100. package/codemini-web/dist/assets/glimmer-js-C4PTXfaW.js +0 -0
  101. package/codemini-web/dist/assets/glimmer-ts-Df1V6YK_.js +0 -0
  102. package/codemini-web/dist/assets/glsl-C8VPaAWs.js +0 -0
  103. package/codemini-web/dist/assets/gn-RQRMslrP.js +0 -0
  104. package/codemini-web/dist/assets/gnuplot-CfIGZWjt.js +0 -0
  105. package/codemini-web/dist/assets/go-BTh90-YS.js +0 -0
  106. package/codemini-web/dist/assets/graphql-WZCiqIl-.js +0 -0
  107. package/codemini-web/dist/assets/groovy-lvGC2zUz.js +0 -0
  108. package/codemini-web/dist/assets/gruvbox-dark-hard-CC38iqQ4.js +0 -0
  109. package/codemini-web/dist/assets/gruvbox-dark-medium-DaS0IqFN.js +0 -0
  110. package/codemini-web/dist/assets/gruvbox-dark-soft-C4niJipy.js +0 -0
  111. package/codemini-web/dist/assets/gruvbox-light-hard-DTfv4LmB.js +0 -0
  112. package/codemini-web/dist/assets/gruvbox-light-medium-m1VBpvsE.js +0 -0
  113. package/codemini-web/dist/assets/gruvbox-light-soft-CiE1IJdk.js +0 -0
  114. package/codemini-web/dist/assets/hack-zJL_tEH0.js +0 -0
  115. package/codemini-web/dist/assets/haml-qjVLLTZk.js +0 -0
  116. package/codemini-web/dist/assets/handlebars-B3RyMMk0.js +0 -0
  117. package/codemini-web/dist/assets/haskell-DdaZtXdd.js +0 -0
  118. package/codemini-web/dist/assets/haxe-Df79h8x1.js +0 -0
  119. package/codemini-web/dist/assets/hcl-BibREsa1.js +0 -0
  120. package/codemini-web/dist/assets/{highlighted-body-OFNGDK62-CJHWad2r.js → highlighted-body-OFNGDK62-0FuBVb0_.js} +1 -1
  121. package/codemini-web/dist/assets/hjson-D-iSecYq.js +0 -0
  122. package/codemini-web/dist/assets/hlsl-CckLjo_3.js +0 -0
  123. package/codemini-web/dist/assets/horizon-BG-OH9yH.js +0 -0
  124. package/codemini-web/dist/assets/horizon-bright-CpoqdULz.js +0 -0
  125. package/codemini-web/dist/assets/houston-C8DdNIgg.js +0 -0
  126. package/codemini-web/dist/assets/html-DP-V-rfg.js +0 -0
  127. package/codemini-web/dist/assets/html-derivative-DB9UhNDN.js +0 -0
  128. package/codemini-web/dist/assets/http-Deln4Vyb.js +0 -0
  129. package/codemini-web/dist/assets/hurl-CYSuhGkj.js +0 -0
  130. package/codemini-web/dist/assets/hxml-BmF7ngDz.js +0 -0
  131. package/codemini-web/dist/assets/hy-6acR1htR.js +0 -0
  132. package/codemini-web/dist/assets/imba-I9bJJvhi.js +0 -0
  133. package/codemini-web/dist/assets/index-CSYMjBeT.css +2 -0
  134. package/codemini-web/dist/assets/{index-BZ01DHrh.js → index-DtiSt5vh.js} +64 -64
  135. package/codemini-web/dist/assets/ini-ovi-wMtM.js +0 -0
  136. package/codemini-web/dist/assets/java-X0I2c5Az.js +0 -0
  137. package/codemini-web/dist/assets/javascript-WC6XFf_S.js +0 -0
  138. package/codemini-web/dist/assets/jinja-BcRTlqOI.js +0 -0
  139. package/codemini-web/dist/assets/jison-DuNOGix6.js +0 -0
  140. package/codemini-web/dist/assets/json-CmuSmrUv.js +0 -0
  141. package/codemini-web/dist/assets/json5-JNG5kh3j.js +0 -0
  142. package/codemini-web/dist/assets/jsonc-Bo6bgSpa.js +0 -0
  143. package/codemini-web/dist/assets/jsonl-eDmbsRcr.js +0 -0
  144. package/codemini-web/dist/assets/jsonnet-BrmnmEy9.js +0 -0
  145. package/codemini-web/dist/assets/jssm-C-QfdDgD.js +0 -0
  146. package/codemini-web/dist/assets/jsx-Bl4e1-KE.js +0 -0
  147. package/codemini-web/dist/assets/julia-Cqc1ADyw.js +0 -0
  148. package/codemini-web/dist/assets/just-O9z-zIlY.js +0 -0
  149. package/codemini-web/dist/assets/kanagawa-dragon-Dc8jzBf8.js +0 -0
  150. package/codemini-web/dist/assets/kanagawa-lotus-DglQpAHb.js +0 -0
  151. package/codemini-web/dist/assets/kanagawa-wave-CTxJC692.js +0 -0
  152. package/codemini-web/dist/assets/kdl-CPujEk7a.js +0 -0
  153. package/codemini-web/dist/assets/kotlin-GNGS6f4G.js +0 -0
  154. package/codemini-web/dist/assets/kusto-ByPWIc1b.js +0 -0
  155. package/codemini-web/dist/assets/laserwave-BLDq6SCM.js +0 -0
  156. package/codemini-web/dist/assets/latex-BEPTKliI.js +0 -0
  157. package/codemini-web/dist/assets/lean-CQ4oht2M.js +0 -0
  158. package/codemini-web/dist/assets/less-DgluPI4Z.js +0 -0
  159. package/codemini-web/dist/assets/light-plus-Ce6vIMrA.js +0 -0
  160. package/codemini-web/dist/assets/liquid-BK2PyMjt.js +0 -0
  161. package/codemini-web/dist/assets/llvm-C_Bk8N51.js +0 -0
  162. package/codemini-web/dist/assets/log-Cqyx7kYB.js +0 -0
  163. package/codemini-web/dist/assets/logo-BMyACSNp.js +0 -0
  164. package/codemini-web/dist/assets/lua-BroxvhVt.js +0 -0
  165. package/codemini-web/dist/assets/luau-Dw3qkd4h.js +0 -0
  166. package/codemini-web/dist/assets/make-DRoG6w-e.js +0 -0
  167. package/codemini-web/dist/assets/markdown-DMIvNSB1.js +0 -0
  168. package/codemini-web/dist/assets/marko-CTEKS39A.js +0 -0
  169. package/codemini-web/dist/assets/material-theme-D1yzOeFY.js +0 -0
  170. package/codemini-web/dist/assets/material-theme-darker-DhWqiNtj.js +0 -0
  171. package/codemini-web/dist/assets/material-theme-lighter-PKoq0Soa.js +0 -0
  172. package/codemini-web/dist/assets/material-theme-ocean-TtH-ZZAj.js +0 -0
  173. package/codemini-web/dist/assets/material-theme-palenight-DPEAidnA.js +0 -0
  174. package/codemini-web/dist/assets/matlab-Buftnej6.js +0 -0
  175. package/codemini-web/dist/assets/mdc-BOaCYzzL.js +0 -0
  176. package/codemini-web/dist/assets/mdx-COL7Vpwq.js +0 -0
  177. package/codemini-web/dist/assets/mermaid-GHXKKRXX-BQrwnoIu.js +1 -0
  178. package/codemini-web/dist/assets/mermaid-tvyj1ZQ2.js +0 -0
  179. package/codemini-web/dist/assets/min-dark-D66g901Q.js +0 -0
  180. package/codemini-web/dist/assets/min-light-CMnDj2iG.js +0 -0
  181. package/codemini-web/dist/assets/mipsasm-C6fvALrw.js +0 -0
  182. package/codemini-web/dist/assets/mojo-B3qnM1a8.js +0 -0
  183. package/codemini-web/dist/assets/monokai-DCoxt20T.js +0 -0
  184. package/codemini-web/dist/assets/moonbit-Cjo3d0oi.js +0 -0
  185. package/codemini-web/dist/assets/move-BZSDQnwS.js +0 -0
  186. package/codemini-web/dist/assets/narrat-DY5cg5OF.js +0 -0
  187. package/codemini-web/dist/assets/nextflow-Cto1mpL3.js +0 -0
  188. package/codemini-web/dist/assets/nextflow-groovy-D1X5Yd05.js +0 -0
  189. package/codemini-web/dist/assets/nginx-Da_Uewgc.js +0 -0
  190. package/codemini-web/dist/assets/night-owl-DuMFo77c.js +0 -0
  191. package/codemini-web/dist/assets/night-owl-light-DihOYNub.js +0 -0
  192. package/codemini-web/dist/assets/nim-BZyx58NM.js +0 -0
  193. package/codemini-web/dist/assets/nix-C2G-gZoY.js +0 -0
  194. package/codemini-web/dist/assets/nord-CqZqLQaJ.js +0 -0
  195. package/codemini-web/dist/assets/nushell-S11HUHTG.js +0 -0
  196. package/codemini-web/dist/assets/objective-c-D9GKvYFi.js +0 -0
  197. package/codemini-web/dist/assets/objective-cpp-SqrtXFXh.js +0 -0
  198. package/codemini-web/dist/assets/ocaml-C_PTi_Pz.js +0 -0
  199. package/codemini-web/dist/assets/odin-BWpZDKBG.js +0 -0
  200. package/codemini-web/dist/assets/one-dark-pro-DpWTHpwg.js +0 -0
  201. package/codemini-web/dist/assets/one-light-Cu0d64Hp.js +0 -0
  202. package/codemini-web/dist/assets/openscad-BM4fjXzn.js +0 -0
  203. package/codemini-web/dist/assets/pascal-DYsRufgb.js +0 -0
  204. package/codemini-web/dist/assets/perl-BW8t13Xq.js +0 -0
  205. package/codemini-web/dist/assets/php-Cq5FOhfR.js +0 -0
  206. package/codemini-web/dist/assets/pkl-Djf8ANrI.js +0 -0
  207. package/codemini-web/dist/assets/plastic-CmjIC4JL.js +0 -0
  208. package/codemini-web/dist/assets/plsql-B1bmZxUF.js +0 -0
  209. package/codemini-web/dist/assets/po-BvnTR3_f.js +0 -0
  210. package/codemini-web/dist/assets/poimandres-BTndTogr.js +0 -0
  211. package/codemini-web/dist/assets/polar-CAj5SJyd.js +0 -0
  212. package/codemini-web/dist/assets/postcss-DrpvRGGG.js +0 -0
  213. package/codemini-web/dist/assets/powerquery-I1Ei5hrS.js +0 -0
  214. package/codemini-web/dist/assets/powershell-Coc0WruX.js +0 -0
  215. package/codemini-web/dist/assets/prisma-Ojgxt2lx.js +0 -0
  216. package/codemini-web/dist/assets/prolog-C1UOAv4v.js +0 -0
  217. package/codemini-web/dist/assets/proto-D07RTuB5.js +0 -0
  218. package/codemini-web/dist/assets/pug-B4WHazil.js +0 -0
  219. package/codemini-web/dist/assets/puppet-D_zyrMo2.js +0 -0
  220. package/codemini-web/dist/assets/purescript-CV-DVmZj.js +0 -0
  221. package/codemini-web/dist/assets/python-DcnbpNOV.js +0 -0
  222. package/codemini-web/dist/assets/qml-DWxWu28U.js +0 -0
  223. package/codemini-web/dist/assets/qmldir-BBNnU9RJ.js +0 -0
  224. package/codemini-web/dist/assets/qss-CC0PKRbL.js +0 -0
  225. package/codemini-web/dist/assets/r-B4lG5syH.js +0 -0
  226. package/codemini-web/dist/assets/racket-Cbwns2Cq.js +0 -0
  227. package/codemini-web/dist/assets/raku-CeV6tH_x.js +0 -0
  228. package/codemini-web/dist/assets/razor-CQPYUgex.js +0 -0
  229. package/codemini-web/dist/assets/red-CVEaJbMR.js +0 -0
  230. package/codemini-web/dist/assets/reg-C_WE1pkC.js +0 -0
  231. package/codemini-web/dist/assets/regexp-da3KYCEG.js +0 -0
  232. package/codemini-web/dist/assets/rel-CpHQF4b7.js +0 -0
  233. package/codemini-web/dist/assets/riscv-Co5eiPIZ.js +0 -0
  234. package/codemini-web/dist/assets/rolldown-runtime-S-ySWqyJ.js +0 -0
  235. package/codemini-web/dist/assets/ron-CgTit1dG.js +0 -0
  236. package/codemini-web/dist/assets/rose-pine-BDTwvYHf.js +0 -0
  237. package/codemini-web/dist/assets/rose-pine-dawn-CAIk_wLV.js +0 -0
  238. package/codemini-web/dist/assets/rose-pine-moon-C5gdiznP.js +0 -0
  239. package/codemini-web/dist/assets/rosmsg-C0tpzWlc.js +0 -0
  240. package/codemini-web/dist/assets/rst-B-OS2pa5.js +0 -0
  241. package/codemini-web/dist/assets/ruby-BM15fmxz.js +0 -0
  242. package/codemini-web/dist/assets/rust-BWAfVMY4.js +0 -0
  243. package/codemini-web/dist/assets/sas-DYNukvU9.js +0 -0
  244. package/codemini-web/dist/assets/sass-MovLey2R.js +0 -0
  245. package/codemini-web/dist/assets/scala-C2w7y2mZ.js +0 -0
  246. package/codemini-web/dist/assets/scheme-Bf85FNnm.js +0 -0
  247. package/codemini-web/dist/assets/scss-C0BQ8YVM.js +0 -0
  248. package/codemini-web/dist/assets/sdbl-DoQ_zDzo.js +0 -0
  249. package/codemini-web/dist/assets/shaderlab-TbUUdmUb.js +0 -0
  250. package/codemini-web/dist/assets/shellscript-KUJZnuCi.js +0 -0
  251. package/codemini-web/dist/assets/shellsession-BeWGuVoR.js +0 -0
  252. package/codemini-web/dist/assets/slack-dark-BnOYKTBJ.js +0 -0
  253. package/codemini-web/dist/assets/slack-ochin-43udxtUg.js +0 -0
  254. package/codemini-web/dist/assets/smalltalk-Mlf5-xbr.js +0 -0
  255. package/codemini-web/dist/assets/snazzy-light-kw-pZEiM.js +0 -0
  256. package/codemini-web/dist/assets/solarized-dark-BDezFa9V.js +0 -0
  257. package/codemini-web/dist/assets/solarized-light-CkoenhS2.js +0 -0
  258. package/codemini-web/dist/assets/solidity-DYHGECBw.js +0 -0
  259. package/codemini-web/dist/assets/soy-C6D0Ibo9.js +0 -0
  260. package/codemini-web/dist/assets/sparql-DIFvSn1n.js +0 -0
  261. package/codemini-web/dist/assets/splunk-DOdklC0I.js +0 -0
  262. package/codemini-web/dist/assets/sql-CZAMrWdL.js +0 -0
  263. package/codemini-web/dist/assets/ssh-config-DwwFW7AS.js +0 -0
  264. package/codemini-web/dist/assets/stata-C5mLa_ER.js +0 -0
  265. package/codemini-web/dist/assets/stylus-BO6mlOab.js +0 -0
  266. package/codemini-web/dist/assets/surrealql-DyoUfV6n.js +0 -0
  267. package/codemini-web/dist/assets/svelte-DJ-0FpL2.js +0 -0
  268. package/codemini-web/dist/assets/swift-D9A08YU9.js +0 -0
  269. package/codemini-web/dist/assets/synthwave-84-C69NN2j9.js +0 -0
  270. package/codemini-web/dist/assets/system-verilog-DjR3sN6w.js +0 -0
  271. package/codemini-web/dist/assets/systemd-CJWuVSJU.js +0 -0
  272. package/codemini-web/dist/assets/talonscript-CXqq0wX-.js +0 -0
  273. package/codemini-web/dist/assets/tasl-GVNf7pB7.js +0 -0
  274. package/codemini-web/dist/assets/tcl-DNlfRSl5.js +0 -0
  275. package/codemini-web/dist/assets/templ-7Bvm-rei.js +0 -0
  276. package/codemini-web/dist/assets/terraform-DUK0FOOj.js +0 -0
  277. package/codemini-web/dist/assets/tex-ezg8IclB.js +0 -0
  278. package/codemini-web/dist/assets/tokyo-night-DWTtuXS3.js +0 -0
  279. package/codemini-web/dist/assets/toml-X5n3zjEH.js +0 -0
  280. package/codemini-web/dist/assets/ts-tags-BfuR6EQ0.js +0 -0
  281. package/codemini-web/dist/assets/tsv-Bqs_rchc.js +0 -0
  282. package/codemini-web/dist/assets/tsx-CfyUE2pW.js +0 -0
  283. package/codemini-web/dist/assets/turtle-BsUuoeVK.js +0 -0
  284. package/codemini-web/dist/assets/twig-_uxJ-QmX.js +0 -0
  285. package/codemini-web/dist/assets/typescript-C6LvTgbf.js +0 -0
  286. package/codemini-web/dist/assets/typespec-8nkhqWz6.js +0 -0
  287. package/codemini-web/dist/assets/typst-CPL77SDw.js +0 -0
  288. package/codemini-web/dist/assets/v-CoJD3IPx.js +0 -0
  289. package/codemini-web/dist/assets/vala-C42IfotU.js +0 -0
  290. package/codemini-web/dist/assets/vb-CVMKTK26.js +0 -0
  291. package/codemini-web/dist/assets/verilog-P63PhzSt.js +0 -0
  292. package/codemini-web/dist/assets/vesper-BGr95374.js +0 -0
  293. package/codemini-web/dist/assets/vhdl-2WwUdgX8.js +0 -0
  294. package/codemini-web/dist/assets/viml-CGPGWJA6.js +0 -0
  295. package/codemini-web/dist/assets/vitesse-black-cI0k84-I.js +0 -0
  296. package/codemini-web/dist/assets/vitesse-dark-SouM0FMW.js +0 -0
  297. package/codemini-web/dist/assets/vitesse-light-WiCy6lDO.js +0 -0
  298. package/codemini-web/dist/assets/vue-DkOBu49o.js +0 -0
  299. package/codemini-web/dist/assets/vue-html-Bx2Sgp8M.js +0 -0
  300. package/codemini-web/dist/assets/vue-vine-veyFk6GJ.js +0 -0
  301. package/codemini-web/dist/assets/vyper-DP_vqZO9.js +0 -0
  302. package/codemini-web/dist/assets/wasm-Db7VBw0n.js +0 -0
  303. package/codemini-web/dist/assets/wasm-DiIFv9DE.js +0 -0
  304. package/codemini-web/dist/assets/wenyan-ZEcjghA1.js +0 -0
  305. package/codemini-web/dist/assets/wgsl-CdusuPLe.js +0 -0
  306. package/codemini-web/dist/assets/wikitext-CBIB6hmW.js +0 -0
  307. package/codemini-web/dist/assets/wit-ZhUbVeze.js +0 -0
  308. package/codemini-web/dist/assets/wolfram-HyMOyERF.js +0 -0
  309. package/codemini-web/dist/assets/xml-BkdunjRC.js +0 -0
  310. package/codemini-web/dist/assets/xsl-C66i1pDH.js +0 -0
  311. package/codemini-web/dist/assets/yaml-D_uvhEF7.js +0 -0
  312. package/codemini-web/dist/assets/zenscript-C6ZuzgrL.js +0 -0
  313. package/codemini-web/dist/assets/zig-Do2h8XKj.js +0 -0
  314. package/codemini-web/dist/index.html +2 -2
  315. package/codemini-web/lib/approval-manager.js +0 -0
  316. package/codemini-web/lib/runtime-bridge.js +0 -0
  317. package/codemini-web/server.js +49 -15
  318. package/deployment.md +5 -5
  319. package/package.json +1 -1
  320. package/skills/brainstorm/SKILL.md +3 -1
  321. package/skills/grill-me/SKILL.md +0 -0
  322. package/skills/project-requirements/SKILL.md +293 -291
  323. package/skills/superpowers-lite/SKILL.md +18 -32
  324. package/skills/writing-plans/SKILL.md +67 -67
  325. package/souls/anime.md +0 -0
  326. package/souls/caveman.md +0 -0
  327. package/souls/ceo.md +0 -0
  328. package/souls/default.md +0 -0
  329. package/souls/pirate.md +0 -0
  330. package/souls/playful.md +0 -0
  331. package/souls/professional.md +0 -0
  332. package/src/cli.js +0 -0
  333. package/src/commands/chat.js +0 -0
  334. package/src/commands/config.js +0 -0
  335. package/src/commands/doctor.js +0 -0
  336. package/src/commands/run.js +0 -0
  337. package/src/commands/skill.js +0 -0
  338. package/src/commands/web.js +0 -0
  339. package/src/core/agent-loop.js +0 -0
  340. package/src/core/ast.js +0 -0
  341. package/src/core/bounded-cache.js +0 -0
  342. package/src/core/chat-runtime.js +114 -6
  343. package/src/core/checkpoint-store.js +0 -0
  344. package/src/core/command-evaluator.js +0 -0
  345. package/src/core/command-loader.js +0 -0
  346. package/src/core/command-policy.js +0 -0
  347. package/src/core/command-risk.js +0 -0
  348. package/src/core/config-store.js +0 -0
  349. package/src/core/constants.js +0 -0
  350. package/src/core/context-compact.js +0 -0
  351. package/src/core/crypto-utils.js +0 -0
  352. package/src/core/default-system-prompt.js +0 -0
  353. package/src/core/dream-audit.js +0 -0
  354. package/src/core/dream-consolidate.js +0 -0
  355. package/src/core/dream-evaluator.js +0 -0
  356. package/src/core/fff-adapter.js +1 -1
  357. package/src/core/fs-utils.js +0 -0
  358. package/src/core/input-history-store.js +0 -0
  359. package/src/core/input-parser.js +0 -0
  360. package/src/core/memory-policy.js +0 -0
  361. package/src/core/memory-prompt.js +0 -0
  362. package/src/core/memory-store.js +0 -0
  363. package/src/core/paths.js +0 -0
  364. package/src/core/plan-state.js +0 -0
  365. package/src/core/project-index.js +0 -0
  366. package/src/core/provider/anthropic.js +0 -0
  367. package/src/core/provider/index.js +0 -0
  368. package/src/core/provider/openai-compatible.js +0 -0
  369. package/src/core/reflect-skill.js +0 -0
  370. package/src/core/reply-language.js +10 -1
  371. package/src/core/session-store.js +0 -0
  372. package/src/core/shell-profile.js +0 -0
  373. package/src/core/shell.js +0 -0
  374. package/src/core/skill-registry.js +0 -0
  375. package/src/core/soul.js +0 -0
  376. package/src/core/string-utils.js +0 -0
  377. package/src/core/todo-state.js +0 -0
  378. package/src/core/tool-args.js +0 -0
  379. package/src/core/tool-output.js +0 -0
  380. package/src/core/tool-result-store.js +0 -0
  381. package/src/core/tools.js +0 -0
  382. package/src/tui/chat-app.js +0 -0
  383. package/src/tui/input-escape.js +0 -0
  384. package/src/tui/skill-activity/index.js +0 -0
  385. package/src/tui/tool-activity/common.js +0 -0
  386. package/src/tui/tool-activity/index.js +0 -0
  387. package/src/tui/tool-activity/presenters/command.js +0 -0
  388. package/src/tui/tool-activity/presenters/files.js +0 -0
  389. package/src/tui/tool-activity/presenters/misc.js +0 -0
  390. package/src/tui/tool-activity/presenters/system.js +0 -0
  391. package/src/tui/tool-narration/common.js +0 -0
  392. package/src/tui/tool-narration/presenters/change.js +0 -0
  393. package/src/tui/tool-narration/presenters/edit.js +0 -0
  394. package/src/tui/tool-narration/presenters/generic.js +0 -0
  395. package/src/tui/tool-narration/presenters/glob.js +0 -0
  396. package/src/tui/tool-narration/presenters/grep.js +0 -0
  397. package/src/tui/tool-narration/presenters/list.js +0 -0
  398. package/src/tui/tool-narration/presenters/read.js +0 -0
  399. package/src/tui/tool-narration/presenters/run.js +0 -0
  400. package/src/tui/tool-narration/presenters/write.js +0 -0
  401. package/src/tui/tool-narration.js +0 -0
  402. package/templates/project-requirements/report-shell.html +46 -46
  403. package/codemini-web/dist/assets/index-Dq1mwNaQ.css +0 -2
  404. package/codemini-web/dist/assets/mermaid-GHXKKRXX-BuB6-G4r.js +0 -1
@@ -4,9 +4,9 @@ description: Concise workflow skill tuned for 30B-class models: prefer structure
4
4
  version: 0.3.0
5
5
  ---
6
6
 
7
- Use this skill as the default lightweight operating style for all coding work.
7
+ Use this skill as the default operating style for all coding work, preferring lightweight approaches but invoking specialized skills when needed.
8
8
 
9
- This is the default, not an interrogation mode. Keep help calm and direct. For high-risk decisions only, add a light Grill Me pass: ask 1-3 sharp questions about assumptions, failure modes, or verification before proceeding. Challenge the plan, not the person.
9
+ This is the default, not an interrogation mode. Keep help calm and direct. For decisions that affect multiple systems, involve irreversible changes, or have significant user impact only, add a light Grill Me pass: ask 1-3 sharp questions about assumptions, failure modes, or verification before proceeding. Challenge the plan, not the person.
10
10
 
11
11
  **Announce when using a skill:** Before following any route below, say "Using [skill name] to [purpose]" in your response. This signals intent and prevents silent skill skipping.
12
12
 
@@ -15,6 +15,7 @@ This is the default, not an interrogation mode. Keep help calm and direct. For h
15
15
  Before responding to ANY user message, check whether a skill applies. If there is even a small chance a skill is relevant, YOU MUST invoke it. This is not optional.
16
16
 
17
17
  **Skill check comes BEFORE:**
18
+
18
19
  - Clarifying questions
19
20
  - Code exploration
20
21
  - Writing code
@@ -24,43 +25,28 @@ Before responding to ANY user message, check whether a skill applies. If there i
24
25
 
25
26
  If you catch yourself thinking any of the following, STOP — you are about to skip a skill incorrectly:
26
27
 
27
- | Thought | Reality |
28
- |---|---|
29
- | "This is too simple for a skill" | Simple tasks derail too. Use the skill. |
30
- | "I need more context first" | Skills tell you HOW to gather context. Check first. |
31
- | "The skill is overkill here" | A lightweight pass is cheaper than rework. |
32
- | "I'll just do this one thing first" | Do the skill check BEFORE anything. |
33
- | "I already know what to do" | Knowing the concept ≠ following the process. |
28
+ | Thought | Reality |
29
+ | ----------------------------------- | --------------------------------------------------- |
30
+ | "This is too simple for a skill" | Simple tasks derail too. Use the skill. |
31
+ | "I need more context first" | Skills tell you HOW to gather context. Check first. |
32
+ | "The skill is overkill here" | A lightweight pass is cheaper than rework. |
33
+ | "I'll just do this one thing first" | Do the skill check BEFORE anything. |
34
+ | "I already know what to do" | Knowing the concept ≠ following the process. |
34
35
 
35
36
  ## Routing
36
37
 
37
38
  Evaluate the user's request and YOU MUST follow exactly one route:
38
39
 
39
- 1. **Task is clear, small, and obvious path:**
40
- - Execute directly
41
- - Do NOT invoke brainstorming
42
-
43
- 2. **Non-trivial implementation that needs codebase exploration, touches multiple areas, or changes shared behavior:**
44
- - YOU MUST invoke `writing-plans` skill
45
- - Inspect first, then present an implementation plan for approval
46
- - Do NOT jump straight into coding
47
-
48
- 3. **Goal is clear but multiple reasonable approaches exist and the missing piece is user preference or tradeoff choice:**
49
- - YOU MUST invoke `brainstorm` skill
50
- - Follow brainstorm process — do NOT substitute it with ad-hoc questions
51
-
52
- 4. **Request is missing a key constraint or success condition:**
53
- - Ask exactly one clarifying question
54
- - Do NOT give options or write code
55
- - Stop and wait for the answer
56
-
57
- 5. **Request is greenfield and underspecified** ("build a page", "make a site", "generate an app"):
58
- - Treat as missing key constraints
59
- - Ask one high-value question
60
- - Do NOT assume features, scope, or storage model
61
- - Stop and wait for the answer
40
+ | Condition | Action |
41
+ | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
42
+ | Task is clear, small, and obvious path | Execute directly. Do NOT invoke brainstorming. |
43
+ | Non-trivial implementation that needs codebase exploration, touches multiple areas, or changes shared behavior | YOU MUST invoke `writing-plans` skill. Inspect first, then present an implementation plan for approval. Do NOT jump straight into coding. |
44
+ | Goal is clear but multiple reasonable approaches exist and the missing piece is user preference or tradeoff choice | YOU MUST invoke `brainstorm` skill. Follow brainstorm process — do NOT substitute it with ad-hoc questions. |
45
+ | Request is missing a key constraint or success condition | Ask exactly one clarifying question. Do NOT give options or write code. Stop and wait for the answer. |
46
+ | Request is greenfield and underspecified ("build a page", "make a site", "generate an app") | Treat as missing key constraints. Ask one high-value question. Do NOT assume features, scope, or storage model. Stop and wait for the answer. |
62
47
 
63
48
  **Decision boundary:**
49
+
64
50
  - Use `brainstorm` when one focused user answer will determine the direction.
65
51
  - Use `writing-plans` when the task is implementation-shaped but needs a plan before coding.
66
52
  - If both could apply, prefer `brainstorm` first when the core uncertainty is user intent; prefer `writing-plans` first when the core uncertainty is codebase impact.
@@ -1,67 +1,67 @@
1
- ---
2
- name: writing-plans
3
- description: Use when you have a clear goal or approved design for a non-trivial task, before touching code. Creates a step-by-step implementation plan with exact file paths, code, and verification steps.
4
- version: 0.1.0
5
- ---
6
-
7
- Use this skill when the task is implementation-shaped but large enough that jumping straight into coding is risky.
8
-
9
- **Announce:** When entering writing-plans, say "Using writing-plans to create an implementation plan."
10
-
11
- ## When to Use
12
-
13
- - Task touches 3+ files or multiple areas of the codebase
14
- - Task changes shared behavior, APIs, or data flow
15
- - Task has interdependent steps where order matters
16
- - You need user sign-off before starting work
17
-
18
- ## When NOT to Use
19
-
20
- - Single-file fix with a clear solution → just do it
21
- - Task is a direct extension of an existing pattern → just do it
22
- - User explicitly says to skip planning → respect that
23
-
24
- ## Plan Format
25
-
26
- Write the plan as a markdown checklist. Each step is one action (2-5 minutes of work).
27
-
28
- ```markdown
29
- # [Task Name] Plan
30
-
31
- **Goal:** [one sentence]
32
- **Files:** [list files that will be created or modified]
33
-
34
- ### Phase 1: [Phase name]
35
-
36
- - [ ] **Step N: [action verb + what]**
37
- - File: `exact/path/to/file.ext`
38
- - What: [specific change]
39
- - Verify: [how to confirm it works]
40
-
41
- ### Phase 2: [Phase name]
42
-
43
- - [ ] ...
44
- ```
45
-
46
- ## Rules
47
-
48
- 1. **Exact file paths always.** No "the relevant file" or "in the component directory".
49
- 2. **Show code in steps that change code.** No "add appropriate error handling" without showing the code.
50
- 3. **No placeholders.** No "TBD", "TODO", "implement later", "similar to step N". If a step needs code, write the code.
51
- 4. **Every step is verifiable.** Include a test command, expected output, or visual check.
52
- 5. **YAGNI.** Only plan what was asked for. Do not add "nice to have" steps.
53
- 6. **DRY.** If two steps share logic, plan the shared piece first.
54
-
55
- ## Self-Review
56
-
57
- After writing the plan, check:
58
- - Can you point to a step for every requirement? If not, add the missing step.
59
- - Any placeholders or vague descriptions? Replace with specifics.
60
- - Do types and function names match across steps? Fix inconsistencies.
61
- - Is the order correct? Steps that depend on earlier work must come after.
62
-
63
- ## Exit
64
-
65
- After the user approves the plan → proceed to implement step by step.
66
- After each step → verify before moving to the next.
67
- If a step reveals the plan is wrong → stop, explain, and update the plan before continuing.
1
+ ---
2
+ name: writing-plans
3
+ description: Use when you have a clear goal or approved design for a non-trivial task, before touching code. Creates a step-by-step implementation plan with exact file paths, code, and verification steps.
4
+ version: 0.1.0
5
+ ---
6
+
7
+ Use this skill when the task is implementation-shaped but large enough that jumping straight into coding is risky.
8
+
9
+ **Announce:** When entering writing-plans, say "Using writing-plans to create an implementation plan."
10
+
11
+ ## When to Use
12
+
13
+ - Task touches 3+ files or multiple areas of the codebase
14
+ - Task changes shared behavior, APIs, or data flow
15
+ - Task has interdependent steps where order matters
16
+ - You need user sign-off before starting work
17
+
18
+ ## When NOT to Use
19
+
20
+ - Single-file fix with a clear solution → just do it
21
+ - Task is a direct extension of an existing pattern → just do it
22
+ - User explicitly says to skip planning → respect that
23
+
24
+ ## Plan Format
25
+
26
+ Write the plan as a markdown checklist. Each step is one action (2-5 minutes of work).
27
+
28
+ ```markdown
29
+ # [Task Name] Plan
30
+
31
+ **Goal:** [one sentence]
32
+ **Files:** [list files that will be created or modified]
33
+
34
+ ### Phase 1: [Phase name]
35
+
36
+ - [ ] **Step N: [action verb + what]**
37
+ - File: `exact/path/to/file.ext`
38
+ - What: [specific change]
39
+ - Verify: [how to confirm it works]
40
+
41
+ ### Phase 2: [Phase name]
42
+
43
+ - [ ] ...
44
+ ```
45
+
46
+ ## Rules
47
+
48
+ 1. **Exact file paths always.** No "the relevant file" or "in the component directory".
49
+ 2. **Show code in steps that change code.** No "add appropriate error handling" without showing the code.
50
+ 3. **No placeholders.** No "TBD", "TODO", "implement later", "similar to step N". If a step needs code, write the code.
51
+ 4. **Every step is verifiable.** Include a test command, expected output, or visual check.
52
+ 5. **YAGNI.** Only plan what was asked for. Do not add "nice to have" steps.
53
+ 6. **DRY.** If two steps share logic, plan the shared piece first.
54
+
55
+ ## Self-Review
56
+
57
+ After writing the plan, check:
58
+ - Can you point to a step for every requirement? If not, add the missing step.
59
+ - Any placeholders or vague descriptions? Replace with specifics.
60
+ - Do types and function names match across steps? Fix inconsistencies.
61
+ - Is the order correct? Steps that depend on earlier work must come after.
62
+
63
+ ## Exit
64
+
65
+ After the user approves the plan → proceed to implement step by step.
66
+ After each step → verify before moving to the next.
67
+ If a step reveals the plan is wrong → stop, explain, and update the plan before continuing.
package/souls/anime.md CHANGED
File without changes
package/souls/caveman.md CHANGED
File without changes
package/souls/ceo.md CHANGED
File without changes
package/souls/default.md CHANGED
File without changes
package/souls/pirate.md CHANGED
File without changes
package/souls/playful.md CHANGED
File without changes
File without changes
package/src/cli.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/src/core/ast.js CHANGED
File without changes
File without changes
@@ -22,7 +22,7 @@ import {
22
22
  estimateMessagesTokens,
23
23
  parseCompactArgs
24
24
  } from './context-compact.js';
25
- import { buildSystemPromptWithReplyLanguage } from './reply-language.js';
25
+ import { buildSystemPromptWithReplyLanguage, getReplyLanguage, getReplyLanguageName } from './reply-language.js';
26
26
  import { buildSystemPromptWithSoul } from './soul.js';
27
27
  import { getProjectPlansDir, getProjectSpecsDir, getProjectWorkspaceDir, getSessionsDir } from './paths.js';
28
28
  import { buildProjectContextSnippet, initializeProjectIndex } from './project-index.js';
@@ -341,6 +341,104 @@ const PROJECT_REQUIREMENTS_SECTION_MARKERS = [
341
341
  { key: 'questions', marker: 'REQUIREMENTS_OPEN_QUESTIONS', labels: ['10', 'open questions', 'unknowns', '待确认问题', '待确认', '问题'] },
342
342
  { key: 'evidence', marker: 'REQUIREMENTS_EVIDENCE_INDEX', labels: ['11', 'evidence', 'source evidence', 'source evidence index', '源码证据索引', '证据索引', '源码证据'] }
343
343
  ];
344
+ const PROJECT_REQUIREMENTS_SHELL_COPY = {
345
+ en: {
346
+ html_lang: 'en',
347
+ title: 'Project Requirements Report',
348
+ meta_workspace: 'Workspace',
349
+ meta_date: 'Date',
350
+ meta_generated: 'Generated',
351
+ nav_label: 'Report sections',
352
+ nav_summary: 'Summary',
353
+ nav_architecture: 'Architecture',
354
+ nav_interfaces: 'Interfaces',
355
+ nav_requirements: 'Requirements',
356
+ nav_flows: 'Flows',
357
+ nav_domain: 'Domain Model',
358
+ nav_security: 'Security',
359
+ nav_errors: 'Errors',
360
+ nav_nonfunctional: 'Non-functional',
361
+ nav_questions: 'Open Questions',
362
+ nav_evidence: 'Evidence',
363
+ search_placeholder: 'Search APIs, modules, evidence...',
364
+ expand_all: 'Expand all',
365
+ collapse_all: 'Collapse all',
366
+ questions_only: 'Questions only',
367
+ show_all_sections: 'Show all sections',
368
+ no_results: 'No matching content found.',
369
+ heading_summary: 'Executive Summary',
370
+ heading_architecture: 'System Architecture',
371
+ heading_interfaces: 'Interface Inventory',
372
+ heading_requirements: 'Requirement Cards',
373
+ heading_flows: 'Core Flows',
374
+ heading_domain: 'Domain Model And Data Ownership',
375
+ heading_security: 'Permissions, Security, And Compliance',
376
+ heading_errors: 'Error Handling And Edge Cases',
377
+ heading_nonfunctional: 'Non-functional Requirements',
378
+ heading_questions: 'Open Questions',
379
+ heading_evidence: 'Source Evidence Index',
380
+ pending_summary: 'Pending summary.',
381
+ pending_architecture: 'Pending architecture map.',
382
+ pending_interfaces: 'Pending interface inventory.',
383
+ pending_requirements: 'Pending requirement cards.',
384
+ pending_flows: 'Pending flow diagrams.',
385
+ pending_domain: 'Pending domain model and data ownership.',
386
+ pending_security: 'Pending permissions, security, and compliance notes.',
387
+ pending_errors: 'Pending error handling and edge cases.',
388
+ pending_nonfunctional: 'Pending non-functional requirements.',
389
+ pending_questions: 'Pending open questions.',
390
+ pending_evidence: 'Pending evidence index.',
391
+ back_to_top: 'Back to top'
392
+ },
393
+ zh: {
394
+ html_lang: 'zh-CN',
395
+ title: '项目需求报告',
396
+ meta_workspace: '工作区',
397
+ meta_date: '日期',
398
+ meta_generated: '生成时间',
399
+ nav_label: '报告章节',
400
+ nav_summary: '摘要',
401
+ nav_architecture: '系统架构',
402
+ nav_interfaces: '接口清单',
403
+ nav_requirements: '需求卡片',
404
+ nav_flows: '核心流程',
405
+ nav_domain: '领域模型',
406
+ nav_security: '权限与安全',
407
+ nav_errors: '异常与边界',
408
+ nav_nonfunctional: '非功能需求',
409
+ nav_questions: '开放问题',
410
+ nav_evidence: '证据索引',
411
+ search_placeholder: '搜索 API、模块、证据...',
412
+ expand_all: '全部展开',
413
+ collapse_all: '全部收起',
414
+ questions_only: '仅看问题',
415
+ show_all_sections: '显示全部章节',
416
+ no_results: '未找到匹配内容。',
417
+ heading_summary: '执行摘要',
418
+ heading_architecture: '系统架构',
419
+ heading_interfaces: '接口清单',
420
+ heading_requirements: '需求卡片',
421
+ heading_flows: '核心流程',
422
+ heading_domain: '领域模型与数据归属',
423
+ heading_security: '权限、安全与合规',
424
+ heading_errors: '异常处理与边界情况',
425
+ heading_nonfunctional: '非功能需求',
426
+ heading_questions: '开放问题',
427
+ heading_evidence: '源码证据索引',
428
+ pending_summary: '等待填写摘要。',
429
+ pending_architecture: '等待填写架构图。',
430
+ pending_interfaces: '等待填写接口清单。',
431
+ pending_requirements: '等待填写需求卡片。',
432
+ pending_flows: '等待填写流程图。',
433
+ pending_domain: '等待填写领域模型与数据归属。',
434
+ pending_security: '等待填写权限、安全与合规说明。',
435
+ pending_errors: '等待填写异常处理与边界情况。',
436
+ pending_nonfunctional: '等待填写非功能需求。',
437
+ pending_questions: '等待填写开放问题。',
438
+ pending_evidence: '等待填写证据索引。',
439
+ back_to_top: '返回顶部'
440
+ }
441
+ };
344
442
  const PLAN_MEMORY_MARKERS = {
345
443
  findings: ['<!-- plan-findings-start -->', '<!-- plan-findings-end -->'],
346
444
  progress: ['<!-- plan-progress-start -->', '<!-- plan-progress-end -->']
@@ -2150,6 +2248,11 @@ function buildRuntimeStateSnapshot({ currentSession, config, model, executionMod
2150
2248
  value: currentSession?.planState?.status === 'pending_reflect_skill',
2151
2249
  enumerable: false,
2152
2250
  writable: false
2251
+ },
2252
+ replyLanguage: {
2253
+ value: getReplyLanguage(config),
2254
+ enumerable: false,
2255
+ writable: false
2153
2256
  }
2154
2257
  });
2155
2258
  return snapshot;
@@ -3288,15 +3391,17 @@ function renderProjectRequirementsSectionContract(ignoredSections = []) {
3288
3391
  return lines.join('\n');
3289
3392
  }
3290
3393
 
3291
- function buildProjectRequirementsSteps(renderedSkillPrompt, args = []) {
3394
+ function buildProjectRequirementsSteps(renderedSkillPrompt, args = [], config = {}) {
3292
3395
  const options = parseProjectRequirementsOptions(args);
3293
3396
  const userArgs = options.raw;
3294
3397
  const requestedFocus = userArgs ? `User request/focus: ${userArgs}` : 'User request/focus: full workspace requirements report.';
3398
+ const replyLanguageName = getReplyLanguageName(config);
3295
3399
  const reportDate = formatLocalDate();
3296
3400
  const reportPath = `docs/requirements/${reportDate}-project-requirements.html`;
3297
3401
  const companionPath = `docs/requirements/${reportDate}-project-requirements.md`;
3298
3402
  const reportContract = [
3299
3403
  requestedFocus,
3404
+ `Reply language: write generated report prose, UI labels inserted into the report, review notes, and final user-facing status in ${replyLanguageName} unless the user explicitly requested a different language. Do not translate REQUIREMENTS_* marker names or source code identifiers.`,
3300
3405
  `Primary report path: ${reportPath}`,
3301
3406
  `Optional companion Markdown path: ${companionPath}`,
3302
3407
  'A pre-created HTML shell already exists at the primary report path.',
@@ -3531,7 +3636,8 @@ async function createProjectRequirementsShell({
3531
3636
  planFile,
3532
3637
  goal,
3533
3638
  steps,
3534
- depth = 'standard'
3639
+ depth = 'standard',
3640
+ config = {}
3535
3641
  }) {
3536
3642
  const workspaceRoot = process.cwd();
3537
3643
  const absoluteReportPath = path.resolve(workspaceRoot, reportPath);
@@ -3539,8 +3645,9 @@ async function createProjectRequirementsShell({
3539
3645
  await fs.mkdir(path.dirname(absoluteReportPath), { recursive: true });
3540
3646
  const template = await fs.readFile(PROJECT_REQUIREMENTS_TEMPLATE, 'utf8');
3541
3647
  const now = new Date().toISOString();
3648
+ const shellCopy = PROJECT_REQUIREMENTS_SHELL_COPY[getReplyLanguage(config)] || PROJECT_REQUIREMENTS_SHELL_COPY.zh;
3542
3649
  const html = replaceTemplateVariables(template, {
3543
- title: 'Project Requirements Report',
3650
+ ...shellCopy,
3544
3651
  workspace_name: path.basename(workspaceRoot) || workspaceRoot,
3545
3652
  date: formatLocalDate(),
3546
3653
  generated_at: now
@@ -3617,7 +3724,7 @@ async function runProjectRequirementsPipeline({
3617
3724
  const reportPath = `docs/requirements/${reportDate}-project-requirements.html`;
3618
3725
  const companionPath = `docs/requirements/${reportDate}-project-requirements.md`;
3619
3726
  const manifestPath = `docs/requirements/${reportDate}-project-requirements.manifest.json`;
3620
- const steps = buildProjectRequirementsSteps(renderedSkillPrompt, parsedInput.args);
3727
+ const steps = buildProjectRequirementsSteps(renderedSkillPrompt, parsedInput.args, config);
3621
3728
  const planFile = await writeMarkdownInProjectDir(
3622
3729
  'plans',
3623
3730
  'project-requirements-pipeline',
@@ -3632,7 +3739,8 @@ async function runProjectRequirementsPipeline({
3632
3739
  planFile,
3633
3740
  goal,
3634
3741
  steps,
3635
- depth: options.depth
3742
+ depth: options.depth,
3743
+ config
3636
3744
  });
3637
3745
  const planState = {
3638
3746
  status: 'approved',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -111,7 +111,7 @@ class FffMcpClient {
111
111
  capabilities: {},
112
112
  clientInfo: {
113
113
  name: 'codemini-cli',
114
- version: '0.5.0'
114
+ version: '0.5.1'
115
115
  }
116
116
  });
117
117
  this.sendNotification('notifications/initialized', {});
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/src/core/paths.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -6,8 +6,17 @@ export function normalizeReplyLanguage(value) {
6
6
  return 'zh';
7
7
  }
8
8
 
9
+ export function getReplyLanguage(config = {}) {
10
+ if (typeof config === 'string') return normalizeReplyLanguage(config);
11
+ return normalizeReplyLanguage(config?.ui?.reply_language);
12
+ }
13
+
14
+ export function getReplyLanguageName(config = {}) {
15
+ return getReplyLanguage(config) === 'en' ? 'English' : 'Simplified Chinese';
16
+ }
17
+
9
18
  export function buildSystemPromptWithReplyLanguage(baseSystemPrompt, config = {}) {
10
- const replyLanguage = normalizeReplyLanguage(config?.ui?.reply_language);
19
+ const replyLanguage = getReplyLanguage(config);
11
20
  const directive =
12
21
  replyLanguage === 'en'
13
22
  ? [
File without changes
File without changes
package/src/core/shell.js CHANGED
File without changes
File without changes
package/src/core/soul.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/src/core/tools.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes